Commit Graph

53 Commits

Author SHA1 Message Date
87fbd08f74 helm: Add helm chart tests (#20394)
* helm: Fix consistent list indentation

* helm: Add helm lint and helm template tests

* helm: Add helm template --validate test

* helm: Add helm install test
2022-11-13 22:22:07 +01:00
ad66bbed62 Add the option to configure external postgresql port (#20370)
While the normal assumption of port `5432` for a postgresql server is pretty reliable I found that DigitalOcean puts them on a somewhat random port. This adds the ability to specify the port in the helm chart.
2022-11-13 21:06:03 +01:00
82c663300a Helm: support statsd publishing (#20455)
* Allow statsd publishing from Helm

* Apply suggestions from code review

Co-authored-by: Erik Sundell <erik.i.sundell@gmail.com>

Co-authored-by: Erik Sundell <erik.i.sundell@gmail.com>
2022-11-13 21:05:30 +01:00
628b3fa449 Uppercase chart readme.md to help tools discover it (#20438) 2022-11-12 05:11:07 +01:00
302a58c22b helm: fix consistent indentation, chomping, and use of with (#19918) 2022-11-10 23:24:39 +01:00
F
9feba112a7 Make enable_starttls configurable by envvars (#20321)
ENABLE_STARTTLS is designed to replace ENABLE_STARTTLS_AUTO by accepting
three values: 'auto' (the default), 'always', and 'never'. If
ENABLE_STARTTLS isn't provided, we fall back to ENABLE_STARTTLS_AUTO. In
this way, this change should be fully backwards compatible.

Resolves #20311
2022-11-10 21:06:21 +01:00
397845453e Update Helm README and bump version (#20346)
* Update Helm chart README and comments in values.yaml

* Bump next Helm chart to 2.2.0
2022-11-10 20:25:23 +01:00
86232e68a8 Give web container time to start (#19828) 2022-11-10 19:16:49 +01:00
6c7cdedb24 Helm chart improved for ingress (#19826)
* ingressClassName

* ingress values must be optional
2022-11-10 19:11:25 +01:00
60c4df3d1d Bump next Helm chart to 2.1.0 (#20155) 2022-11-10 19:10:49 +01:00
e868f41923 fix(chart): Fix gitops-incompatible random rolling (#20184)
This patch reworks the Pod rolling mechanism, which is supposed to update Pods
with each migration run, but since the it generates a new random value on each
helm execution, this will constantly roll all pods in a GitOps driven deployment,
which reconciles the helm release.

This is resolved by fixing the upgrade to the `.Release.Revision`, which should
stay identical, unless config or helm release version have been changed. Further
it introduces automatic rolls based on adjustments to the environment variables
and secrets.

The implementation uses a helper template, following the 1-2-N rule, and omitting
code duplication.

References:
https://helm.sh/docs/chart_template_guide/builtin_objects/
https://helm.sh/docs/howto/charts_tips_and_tricks/#automatically-roll-deployments
2022-11-10 19:10:38 +01:00
b907871604 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
2022-11-10 19:09:54 +01:00
476e74b4c4 Assign unique set of labels to k8s deployments #19703 (#19706) 2022-11-08 17:21:06 +01:00
f4b78028a3 chore(chart): Update appVersion in helm chart (#19653)
This patch updates the helm chart appVersion to the current release and
removes the additional definition in the image tag field, to reduce
duplication.

Since the image will automatically default to the Charts' app version
anyway and this is the more common place to specifiy application
versions for helm charts, this patch switches the prefering this field.

The reason why to use the tag field for the chart itself, seems to be
gone. Since renovatebot is no longer used.
2022-11-08 17:20:34 +01:00
f7613febb3 helm: Fix ingress pathType (#19729) 2022-11-08 17:20:09 +01:00
fd3c482104 Roll pods to pick up db migrations even if podAnnotations is empty (#19702) 2022-11-08 17:19:14 +01:00
d3afd7a2f1 Fix helm postgresql secret (#19678)
* Revert "Fix helm chart use of Postgres Password (#19537)"

This reverts commit 6094a916b1.

* Revert "Fix PostgreSQL password reference for jobs (#19504)"

This reverts commit dae954ef11.

* Revert "Fix PostgreSQL password reference (#19502)"

This reverts commit 9bf6a8af82.

* Correct default username in postgresql auth
2022-11-08 17:18:57 +01:00
9358fd295d Add postgresql password settings hint (#19112) 2022-11-08 17:18:22 +01:00
c64be9758f helm: Add documentation to run tootctl commands (#19791) 2022-11-05 21:19:25 +01:00
0498b106c9 Add S3 existing secret to sidekiq (#19778) 2022-11-05 17:29:20 +01:00
6094a916b1 Fix helm chart use of Postgres Password (#19537)
Fixes #19536
2022-10-30 01:30:16 +02:00
dae954ef11 Fix PostgreSQL password reference for jobs (#19504) 2022-10-28 16:40:47 +02:00
223e152312 Add option to enable single user mode (#19503) 2022-10-28 16:29:00 +02:00
9bf6a8af82 Fix PostgreSQL password reference (#19502) 2022-10-28 16:21:58 +02:00
5f79200a5e Remove/update old "tootsuite" references, except those needed for Docker (#19327) 2022-10-10 00:33:38 +02:00
1165943968 Mark job pods not to use Istio's envoy sidecar (#18415)
* Mark job pods not to use Istio's envoy sidecar

Istio injects sidecars into pods to implement mTLS between pods. Jobs
usually don't know about this, so they don't signal the Envoy process
to stop when the job finishes. Since at least one process is running
in the pod, Kubernetes doesn't consider the job to be completed, so it
lingers.

By adding the `sidecar.istio.io/inject` annotation set to `"false"`,
we let Istio know that it should not inject the sidecar. If Istio is
not installed, then this has no impact.

* Support arbitrary job annotations in the Helm chart

Rather than focus on Istio, this allows arbitrary annotations for job pods.

* Add in-line documentation for pod/job annotations
2022-08-25 04:40:38 +02:00
63a5514b29 Allow S3 to use an existing secret (#18997) 2022-08-25 04:39:11 +02:00
7ccf7a73f1 Fix broken dependencies in helm chart and allow using existing secrets in the chart (#18941)
* Add ability to specify an existing Secret (#18139)

Closes #18139

* Allow using secrets with external postgres

* Upgrade CronJob to batch/v1

* Allow using redis.auth.existingSecret

* Helmignore mastodon-*.tgz for easy local development

* Upgrade helm dependencies

* Upgrade postgresql to 11

* Allow putting SMTP password into a secret

* Add optional login to SMTP secret

This to allow setting LOGIN either in values.yaml or
in the secret.

* Switch to bitnami charts full archive

This prevents older versions from disappearing, see
https://github.com/bitnami/charts/issues/10539 for
full context.

Co-authored-by: Ted Tramonte <ted.tramonte@gmail.com>
2022-08-10 17:12:58 +02:00
98400a6887 Support STREAMING_API_BASE_URL in Helm Chart (#18408)
This adds a mastodon.streaming.base_url setting in the Helm chart values
file to allow setting the STREAMING_API_BASE_URL in the Mastodon environnment
config map.
2022-05-14 10:03:44 +02:00
014065913c Bump version to 3.5.2 (#18295)
* Bump version to 3.5.2

* Change some entries to be more clear

* Add some extra notes

* Fix line wrap

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2022-05-04 00:57:42 +02:00
331cca4015 chore(deps): update tootsuite/mastodon docker tag to v3.5.1 (#18023)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-04-12 03:26:50 +02:00
a131f06e12 Helm chart SSO support (#17205)
* Add SAML support

* move extAuth below essential components

* Add CAS, PAM, LDAP support

* Add WEB_DOMAIN and S3_ALIAS_HOST support

* SAML defaults aligned

* Bump chart version

* SSO & WEB_DOMAIN support added

* Add OIDC support

* Correct typo

* Notice for OIDC support

Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2022-02-11 15:01:40 +01:00
5533fa28b6 Add support >= 1.22 (#17490) 2022-02-09 12:30:00 +01:00
50ab3f3dcb Update tootsuite/mastodon Docker tag to v3.4.6 (#17436)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-03 21:29:20 +01:00
d0d15bf49c Update tootsuite/mastodon Docker tag to v3.4.5 (#17417)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-01 20:57:50 +01:00
3dc0357d9e helm: upgrade elasticsearch to 7.x (#17262) 2022-01-09 03:21:19 +01:00
af93d938d4 Update tootsuite/mastodon Docker tag to v3.4.4 (#17065)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-27 03:06:39 +01:00
f68ebc9819 Update Helm release elasticsearch to v15.10.3 (#16651)
this is a backwards-compatible upgrade: https://github.com/bitnami/charts/tree/master/bitnami/elasticsearch#to-1500

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-10-14 21:01:27 +02:00
062a9e3c79 helm: set default SMTP_CA_FILE (#16750)
https://github.com/mastodon/mastodon/pull/10857
2021-09-20 02:23:44 +02:00
ba8a04462a helm: upgrade elasticsearch chart to 14 (#15767) 2021-03-12 05:39:09 +01:00
38a6ae2d07 helm: pin versions, commit lockfile (#15749) 2021-02-19 09:56:40 +01:00
fca4fd1daa helm: add support for S3 storage (#15748) 2021-02-19 09:52:32 +01:00
9c273c2a59 helm: standardize yaml configuration (#15728)
- move application variables under `mastodon` namespace
- restore standard yaml structure for ingress configuration
- move values.yaml.template to values.yaml
2021-02-15 08:00:54 +01:00
55a6b54f8e helm: add option for external db (#15722) 2021-02-14 20:16:32 +01:00
3561f8fabe Forward-port v3.2.2 changelog (#15370) 2020-12-19 03:13:50 +01:00
4b2ec4a2dc Fix postrgres secret name for cronjob (#15072)
The cronjob tries to get key from `mastodon` secret instead of
`mastodon-postgresql` - so the cronjob fails with this error:

Error: couldn't find key postgresql-password in Secret [NS]/mastodon

Another solution is to save the postgres password in mastodon secret,
but that means that the password is placed in two places.

Postgresql use <fullname>-postgresql name as secret name.
2020-11-02 06:16:51 +01:00
b37c9e5660 helm: bump version to 3.2.1 (#15019) 2020-10-22 01:36:07 +02:00
53b22d247f helm: add optional cron job to run tootctl remove media (#14396) 2020-10-13 01:19:13 +02:00
9490011226 helm: bump default image tag to v3.2.0 (#14476) 2020-08-02 11:20:31 +02:00
a29080256e helm: add examples of annotation for NGINX upload limits (#14350) 2020-07-18 19:30:46 +02:00