From b907871604dbaef131ecc407b8ad29b754e3b1ac Mon Sep 17 00:00:00 2001 From: Alex Nordlund Date: Thu, 10 Nov 2022 19:09:54 +0100 Subject: [PATCH] Helm update readme.md (#20154) * gitignore packaged helm charts * Add upgrade instructions to helm chart/readme.md * Note Helm secret changes that are necessary on failed upgrades --- .gitignore | 3 +++ chart/readme.md | 36 ++++++++++++++++++++++++++++++++++++ chart/values.yaml | 6 ++++-- 3 files changed, 43 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 25c8388e16a..7d76b827511 100644 --- a/.gitignore +++ b/.gitignore @@ -44,6 +44,9 @@ /redis /elasticsearch +# ignore Helm charts +/chart/*.tgz + # ignore Helm dependency charts /chart/charts/*.tgz diff --git a/chart/readme.md b/chart/readme.md index edcc973bcdf..19a1c4ff090 100644 --- a/chart/readme.md +++ b/chart/readme.md @@ -47,3 +47,39 @@ Sidekiq deployments, it’s possible they will occur in the wrong order. After upgrading Mastodon versions, it may sometimes be necessary to manually delete the Rails and Sidekiq pods so that they are recreated against the latest migration. + +# Upgrades in 2.0.0 + +## Fixed labels +Because of the changes in [#19706](https://github.com/mastodon/mastodon/pull/19706) the upgrade may fail with the following error: +```Error: UPGRADE FAILED: cannot patch "mastodon-sidekiq"``` + +If you want an easy upgrade and you're comfortable with some downtime then +simply delete the -sidekiq, -web, and -streaming Deployments manually. + +If you require a no-downtime upgrade then: +1. run `helm template` instead of `helm upgrade` +2. Copy the new -web and -streaming services into `services.yml` +3. Copy the new -web and -streaming deployments into `deployments.yml` +4. Append -temp to the name of each deployment in `deployments.yml` +5. `kubectl apply -f deployments.yml` then wait until all pods are ready +6. `kubectl apply -f services.yml` +7. Delete the old -sidekiq, -web, and -streaming deployments manually +8. `helm upgrade` like normal +9. `kubectl delete -f deployments.yml` to clear out the temporary deployments + +## PostgreSQL passwords +If you've previously installed the chart and you're having problems with +postgres not accepting your password then make sure to set `username` to +`postgres` and `password` and `postgresPassword` to the same passwords. +```yaml +postgresql: + auth: + username: postgres + password: + postgresPassword: +``` + +And make sure to set `password` to the same value as `postgres-password` +in your `mastodon-postgresql` secret: +```kubectl edit secret mastodon-postgresql``` \ No newline at end of file diff --git a/chart/values.yaml b/chart/values.yaml index 170025b5047..16f319fe0b5 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -146,8 +146,10 @@ postgresql: # be rotated on each upgrade: # https://github.com/bitnami/charts/tree/master/bitnami/postgresql#upgrade password: "" - # Set same value as above - postgresPassword: "" + # Set the password for the "postgres" admin user + # set this to the same value as above if you've previously installed + # this chart and you're having problems getting mastodon to connect to the DB + # postgresPassword: "" # you can also specify the name of an existing Secret # with a key of password set to the password you want existingSecret: ""