mastodon / chart

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

NOTICE: Helm chart rework + future deprecation of this chart. #129

Open timetinytim opened 4 months ago

timetinytim commented 4 months ago

We have some big plans for our official Mastodon helm chart.

The way we've been developing and distributing the current helm chart has been less than ideal in a few different ways, and since there's been a shortage of time and people to work on making this chart better & address users' issues and suggestions, development of this particular chart has not always followed best practices or used consistent conventions. So as a result, we want to move this chart to a new home, clean up the bloat, and refactor it into a couple different charts to better suit different use cases.

Our overall goals for this are:

All of this means that we will need to create a new git repository to host this. The new home for these charts will be located here once they're ready: https://github.com/mastodon/helm-charts.

This also means that this chart will eventually be deprecated, but we have no intention of doing it right away. Now that we have more resources to devote to the helm charts, we be going through all the issues and PRs in this chart, and addressing/incorporating them wherever we can, which will all be carried forward into the new chart. And this chart will continue to be supported for a while after the new charts' release to give everyone time to transition. However, because of these plans, any PRs or suggestions that result in large or fundamental changes will have to be rejected for the time being until the new repo is up and ready to go.

Please feel free to comment with any concerns or questions you might have!

24367dfa commented 4 months ago

Have you considered using the github container registry to release the helm chart?

WyriHaximus commented 3 months ago

Excited to see this, installing Mastodon through TerraForm is a pain with the current setup. Will the new chart be able to in-place update installs of this chart without any downtime?

timetinytim commented 2 months ago

@24367dfa We have! That's one thing the new repository will be able to do. The way the current repo is set up doesn't allow this.

@WyriHaximus Ideally yes, but we will have to see. One of the issues with the current chart is a lack of naming consistency, both within the code and in the resources created, and we want to fix that as well. But I personally definitely want it to be easy to update in-place, as that's what I want to do with the official instances :slightly_smiling_face:

WyriHaximus commented 2 months ago

@timetinytim Well, you could fix that with a multi step upgrade process using multiple versions to do that seamlessly. Happy to help test that

abbottmg commented 1 month ago

I have a couple things I've implemented in a wrapper chart for my instance, which may be beneficial to this new effort. I'll bring them up here since it looks like early days on the other repo:

The PGO is notable in that they actually prefer that downstream developers implement and maintain their own chart to configure the CRD, asking that you at least fork their example repo chart rather than rely on them to publish the chart. It's a strange choice, and the example chart has a pretty good values hierarchy and handles most cases well, but the choice does align with your desire to own the dependency charts. You could even fork the operator chart as well, but I think pinning particular commits within the CRD chart would be fine. Either way, this would provide access to really solid support and documentation for setting up a postgres stack with relatively little effort compared to implementing a similar stack.