mastodon/chart
James Smith 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
..
templates
.helmignore
Chart.lock
Chart.yaml
readme.md
values.yaml

readme.md

Introduction

This is a Helm chart for installing Mastodon into a Kubernetes cluster. The basic usage is:

  1. edit values.yaml or create a separate yaml file for custom values
  2. helm dep update
  3. helm install --namespace mastodon --create-namespace my-mastodon ./ -f path/to/additional/values.yaml

This chart has been tested on Helm 3.0.1 and above.

Configuration

The variables that must be configured are:

  • password and keys in the mastodon.secrets, postgresql, and redis groups; if left blank, some of those values will be autogenerated, but will not persist across upgrades.

  • SMTP settings for your mailer in the mastodon.smtp group.

Missing features

Currently this chart does not support:

  • Hidden services
  • Swift

Upgrading

Because database migrations are managed as a Job separate from the Rails and Sidekiq deployments, its 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.