Commit Graph

44 Commits

Author SHA1 Message Date
Tim Campbell
4b6fd9f7e6 Rename deployment annotations var, allow deploy-specific annotations 2023-04-21 18:16:21 +02:00
Tim Campbell
8f612abc72 Added deployment annotations to chart 2023-04-21 18:16:21 +02:00
Tim Campbell
1b503bb6b3 Added SMTP_RETURN_PATH option 2023-04-12 18:04:17 +02:00
Cees-Jan Kiewiet
3934da1d21 Add the PREPARED_STATEMENTS environment variable and set it to its default value
Being able to control it can be useful in situations where prepared statements don't work as expected. Once such case can be pgbouncer as provided by DigitalOcean for connection pooling.
2023-02-22 15:00:11 +01:00
Varac
6e6f8a36d1 Fix streaming route
Until now, only /api/v1/streaming/ was routed to the streaming
pod, while /api/v1/streaming/* was falsely routed to the web pod,
which returned 404 for each request.
Now everything below /api/v1/streaming will reach the streaming pod.

Fixes: #36
2023-02-20 11:02:37 +01:00
Alexander "Ananace" Olofsson
4fda7eea97
Fix and improve LDAP configuration (#3)
Co-authored-by: Renaud Chaput <renchap@gmail.com>
2023-02-17 22:13:19 +01:00
Roberto Santalla
9806bbc8b1 add checksum for smtp secret to sidekiq deployments 2023-02-17 21:49:55 +01:00
Roberto Santalla
b4302e04e6 store smtp credentials on a secret 2023-02-17 21:49:55 +01:00
David Sanftenberg
41152e0ed3 Fix alias_host break on bad var reference (#34) 2023-02-17 21:40:06 +01:00
Jim Myhrberg
f5e3c27ab6 feat(helm-chart): add values for various Puma related settings 2023-02-17 18:58:04 +01:00
Effy Elden
61194296af allow custom S3_PERMISSION env 2023-02-17 18:57:26 +01:00
Radim Dostál
a227f91a7f limited federation mode support 2023-02-17 18:56:35 +01:00
Roberto Santalla
890042fed8 allow to opt-out from rollme annotation 2023-02-17 18:55:21 +01:00
Alex Nordlund
ae892d539e
Refactor chart sidekiq queues (#1)
Co-authored-by: Effy Elden <effy@effy.space>
Co-authored-by: Sheogorath <sheogorath@shivering-isles.com>
Co-authored-by: Chris Funderburg <chris@funderburg.me>
2022-12-03 05:44:39 +01:00
Norman
543fdf7446
allow external redis instance (#6) 2022-12-01 06:41:51 +01:00
Erik Sundell
d74c7876c2 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
Cees-Jan Kiewiet
92f1734590 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
Alex Nordlund
349aa7746f 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
Erik Sundell
dc19e233b5 helm: fix consistent indentation, chomping, and use of with (#19918) 2022-11-10 23:24:39 +01:00
F
f0d8cc8184 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
Joe Friedl
87fca05465 Give web container time to start (#19828) 2022-11-10 19:16:49 +01:00
mickkael
3d9c22eb54 Helm chart improved for ingress (#19826)
* ingressClassName

* ingress values must be optional
2022-11-10 19:11:25 +01:00
Sheogorath
730e165b36 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
Alex Nordlund
7ddf24e65c Assign unique set of labels to k8s deployments #19703 (#19706) 2022-11-08 17:21:06 +01:00
Moritz Hedtke
dcb8147810 helm: Fix ingress pathType (#19729) 2022-11-08 17:20:09 +01:00
Alex Nordlund
4a905323c5 Roll pods to pick up db migrations even if podAnnotations is empty (#19702) 2022-11-08 17:19:14 +01:00
Alex Nordlund
992c1c559e Fix helm postgresql secret (#19678)
* Revert "Fix helm chart use of Postgres Password (#19537)"

This reverts commit ee65fb26b4.

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

This reverts commit f474fd1820.

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

This reverts commit 9abf8c9b10.

* Correct default username in postgresql auth
2022-11-08 17:18:57 +01:00
Alex Nordlund
90db36c612 Add S3 existing secret to sidekiq (#19778) 2022-11-05 17:29:20 +01:00
Ben Hardill
ee65fb26b4 Fix helm chart use of Postgres Password (#19537)
Fixes #19536
2022-10-30 01:30:16 +02:00
Kangwook Lee (이강욱)
f474fd1820 Fix PostgreSQL password reference for jobs (#19504) 2022-10-28 16:40:47 +02:00
Kangwook Lee (이강욱)
37f333da6b Add option to enable single user mode (#19503) 2022-10-28 16:29:00 +02:00
Kangwook Lee (이강욱)
9abf8c9b10 Fix PostgreSQL password reference (#19502) 2022-10-28 16:21:58 +02:00
James Smith
96f5d87ba4 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
Alex Nordlund
87c468bb28 Allow S3 to use an existing secret (#18997) 2022-08-25 04:39:11 +02:00
Alex Nordlund
e237efdb4e 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
James Smith
d48bceaad7 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
bobbyd0g
1421edb994 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
Takuya Yoshida
566b80bd41 Add support >= 1.22 (#17490) 2022-02-09 12:30:00 +01:00
Alex Dunn
78f549d2df helm: add support for S3 storage (#15748) 2021-02-19 09:52:32 +01:00
Alex Dunn
f290cec2fd 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
Alex Dunn
e850f8156f helm: add option for external db (#15722) 2021-02-14 20:16:32 +01:00
Patrice Ferlet
2ba4e1eaa5 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
Alex Dunn
90484975e1 helm: add optional cron job to run tootctl remove media (#14396) 2020-10-13 01:19:13 +02:00
Alex Dunn
b451111a46 Add Helm chart (#14090)
* add Helm chart

known issues/future work:

- SSO is unsupported

- S3/Minio/GCS is unsupported

- Swift is unsupported

- WEB_DOMAIN is unsupported

- Tor is unsupported

* helm: clarify how LOCAL_DOMAIN is set

* helm: add chart description

* helm: make DB_POOL and Sidekiq concurrency configurable

* helm: only enforce pod affinity when using ReadWriteOnce

* helm: clarify compatibility

* helm: clean up application variables

* helm: add job to create initial admin
2020-06-29 13:58:48 +02:00