mastodon / chart

Helm chart for Mastodon deployment in Kubernetes
GNU Affero General Public License v3.0
154 stars 89 forks source link

Migrate away from using Bitnami for dependencies in Helm chart. No support for arm64 containers. #25

Open nodesocket opened 2 years ago

nodesocket commented 2 years ago

Pitch

The Helm chart Bitnami dependencies (PostgreSQL, Redis, ElastiCache) all don't support arm64 platform even though the Bitnami community has been asking for this support forever.

https://github.com/mastodon/mastodon/blob/ef196c913c77338be5ebb1e02af2f6225f857080/chart/Chart.yaml#L25-L36

Is it possible to migrate to another provider for these dependencies who maintain arm64 containers?

Motivation

Run Kubernetes cluster on arm64.

dustinrue commented 1 year ago

I actually would vote for removing dependencies entirely and require users install these items separately. How to do so could be documented but as it is currently implemented, this helm chart is reliant on common functionality provided by those charts. I feel like this binds the chart too tightly to these other charts. That said, there are a number of outstanding PR that are in progress and some of the issues I am seeing are resolved in those charts.

nikdoof commented 1 year ago

To further @dustinrue's comment, further issues can occur when updating these dependencies, for example the PostgreSQL chart provides no automated solution for upgrading between major releases, leaving it to the user to manage the migration themselves. This could present a problem in the future, either of having the charts pinned at an old and potentially EOL version, or updating and causing users headaches for what they expected as a straight Mastodon upgrade.

deepy commented 1 year ago

I've not tested redis personally yet, but the current functionality supports disabling all the bitnami charts

magsol commented 1 year ago

I'm currently working on a series of (unofficial) blog posts detailing how I got Mastodon running by first disabling all the dependencies (redis, postgres, elasticsearch) and spinning them up separately. Would be happy to help transfer them over to official documentation, if that's an effort deemed worthy of some of the devs' time?

slapula commented 1 year ago

This may be of interest to folks here: https://github.com/ZCube/bitnami-compat

I haven't given these images a shot yet but apparently they work. All of the charts referenced here are supported (redis, ES, postgres, etc). I'm going to test them myself in the next few days.

magsol commented 1 year ago

I can confirm the Zcube images work.

However some of the devs have mentioned factoring out the dependencies entirely, so that may render this discussion academic.

On Sat, Dec 17, 2022 at 19:25 Aaron Smith @.***> wrote:

This may be of interest to folks here: https://github.com/ZCube/bitnami-compat

I haven't given these images a shot yet but apparently they work. All of the charts referenced here are supported (redis, ES, postgres, etc). I'm going to test them myself in the next few days.

— Reply to this email directly, view it on GitHub https://github.com/mastodon/chart/issues/25#issuecomment-1356547975, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABBB6JWIKT4VK2FECZHVGLWNZKZPANCNFSM6AAAAAAS5ZQ5KQ . You are receiving this because you commented.Message ID: @.***>

-- iPhone’d

renchap commented 1 year ago

Hi there 👋

I am slowly going through the open PR and issues on this repo.

We are intending on splitting this chart in 2, one pure Mastodon chart, and a bigger "full stack" chart which will allow to (optionally) install the various dependencies to get a full Mastodon deployment in one go.

The new Mastodon chart should work well on ARM containers, and we will check what we can do for the fullstack one.

I am keeping this issue open for now, but will close it once we have one describing the change I just discussed above.

carrodher commented 1 year ago

Hi all, we are more than happy to announce that from now on the Bitnami container catalog is available as multi-arch in Docker Hub 🎉 🎉

Screenshot 2023-02-24 at 08 16 50

This means you don’t need to specify anything when pulling the container images from Docker Hub, Docker (or any other software) will automatically pull the container image matching the host platform from which the pull command was issued.

Here you can find more info about this announcement.

magsol commented 1 year ago

Feel like this issue can probably be closed! Thanks @carrodher!