3
0
mirror of https://github.com/mastodon/chart synced 2025-05-18 13:03:21 +00:00

Merge branch 'main' into upgrade-app-to-4.2.8

This commit is contained in:
Tim Campbell 2024-04-18 06:28:13 -07:00 committed by GitHub
commit 9cd23ffe7f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 92 additions and 8 deletions

View File

@ -1,3 +1,21 @@
# 5.1.0
- Added values for Active Record Encryption in Redis:
```yaml
mastodon:
secrets:
activeRecordEncryption:
primaryKey:
deterministicKey:
keyDerivationSalt:
```
- Small bugfix related to automatic secret generation
# [5.0.0](https://github.com/mastodon/chart/commit/63a052b6a5c19dabd172c15c1fd74298dcc544b2)
- Updated major versions of chart dependencies (postgres, redis, elasticsearch)
# [4.0.0](https://github.com/mastodon/chart/compare/920cf37..ae892d5) # [4.0.0](https://github.com/mastodon/chart/compare/920cf37..ae892d5)
- adds support for multiple Sidekiq deployments to be configured to manage - adds support for multiple Sidekiq deployments to be configured to manage

View File

@ -15,7 +15,7 @@ type: application
# This is the chart version. This version number should be incremented each time # This is the chart version. This version number should be incremented each time
# you make changes to the chart and its templates, including the app version. # you make changes to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/) # Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 5.0.1 version: 5.1.1
# This is the version number of the application being deployed. This version number should be # This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to # incremented each time you make changes to the application. Versions are not expected to

View File

@ -7,6 +7,11 @@ mastodon:
vapid: vapid:
private_key: dummy-vapid-private_key private_key: dummy-vapid-private_key
public_key: dummy-vapid-public_key public_key: dummy-vapid-public_key
activeRecordEncryption:
primaryKey: dummy-are-primary_key
deterministicKey: dummy-are-deterministic_key
keyDerivationSalt: dummy-are-key_derivation_salt
# ref: https://github.com/bitnami/charts/tree/main/bitnami/redis#parameters # ref: https://github.com/bitnami/charts/tree/main/bitnami/redis#parameters
redis: redis:

View File

@ -106,7 +106,7 @@ Get the mastodon secret.
{{- if .Values.mastodon.secrets.existingSecret }} {{- if .Values.mastodon.secrets.existingSecret }}
{{- printf "%s" (tpl .Values.mastodon.secrets.existingSecret $) -}} {{- printf "%s" (tpl .Values.mastodon.secrets.existingSecret $) -}}
{{- else -}} {{- else -}}
{{- printf "%s" (include "common.names.fullname" .) -}} {{- printf "%s" (include "mastodon.fullname" .) -}}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
@ -117,7 +117,7 @@ Get the smtp secret.
{{- if .Values.mastodon.smtp.existingSecret }} {{- if .Values.mastodon.smtp.existingSecret }}
{{- printf "%s" (tpl .Values.mastodon.smtp.existingSecret $) -}} {{- printf "%s" (tpl .Values.mastodon.smtp.existingSecret $) -}}
{{- else -}} {{- else -}}
{{- printf "%s-smtp" (include "common.names.fullname" .) -}} {{- printf "%s-smtp" (include "mastodon.fullname" .) -}}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
@ -130,7 +130,7 @@ Get the postgresql secret.
{{- else if .Values.postgresql.enabled -}} {{- else if .Values.postgresql.enabled -}}
{{- printf "%s-postgresql" (tpl .Release.Name $) -}} {{- printf "%s-postgresql" (tpl .Release.Name $) -}}
{{- else -}} {{- else -}}
{{- printf "%s" (include "common.names.fullname" .) -}} {{- printf "%s" (include "mastodon.fullname" .) -}}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}

View File

@ -39,6 +39,16 @@ spec:
securityContext: securityContext:
{{- toYaml . | nindent 8 }} {{- toYaml . | nindent 8 }}
{{- end }} {{- end }}
{{- with .Values.mastodon.streaming.extraCerts }}
{{- $name := .name | default "extra-certs" }}
volumes:
- name: {{ $name }}
secret:
secretName: {{ .existingSecret }}
items:
- key: ca.crt
path: trusted-ca.crt
{{- end }}
containers: containers:
- name: {{ .Chart.Name }}-streaming - name: {{ .Chart.Name }}-streaming
{{- with (default .Values.securityContext .Values.mastodon.streaming.securityContext) }} {{- with (default .Values.securityContext .Values.mastodon.streaming.securityContext) }}
@ -50,6 +60,12 @@ spec:
command: command:
- node - node
- ./streaming - ./streaming
{{- with .Values.mastodon.streaming.extraCerts }}
{{- $name := .name | default "extra-certs" }}
volumeMounts:
- name: {{ $name }}
mountPath: "/usr/local/share/ca-certificates"
{{- end }}
envFrom: envFrom:
- configMapRef: - configMapRef:
name: {{ include "mastodon.fullname" . }}-env name: {{ include "mastodon.fullname" . }}-env
@ -58,6 +74,18 @@ spec:
name: {{ .Values.mastodon.extraEnvFrom }} name: {{ .Values.mastodon.extraEnvFrom }}
{{- end}} {{- end}}
env: env:
{{- with .Values.mastodon.streaming.extraCerts }}
- name: "NODE_EXTRA_CA_CERTS"
value: "/usr/local/share/ca-certificates/trusted-ca.crt"
{{- with .sslMode }}
- name: "DB_SSLMODE"
value: {{ . }}
{{- end }}
{{- end }}
{{- with .Values.postgresql.postgresqlReplicaHostname }}
- name: "DB_HOST"
value: {{ . }}
{{- end }}
- name: "DB_PASS" - name: "DB_PASS"
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:

View File

@ -34,6 +34,21 @@ data:
{{- else }} {{- else }}
VAPID_PUBLIC_KEY: {{ required "vapid.public_key is required" .Values.mastodon.secrets.vapid.public_key }} VAPID_PUBLIC_KEY: {{ required "vapid.public_key is required" .Values.mastodon.secrets.vapid.public_key }}
{{- end }} {{- end }}
{{- if not (empty .Values.mastodon.secrets.activeRecordEncryption.primaryKey) }}
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY: "{{ .Values.mastodon.secrets.activeRecordEncryption.primaryKey | b64enc }}"
{{- else }}
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY: {{ required "activeRecordEncryption.primaryKey is required" .Values.mastodon.secrets.activeRecordEncryption.primaryKey }}
{{- end }}
{{- if not (empty .Values.mastodon.secrets.activeRecordEncryption.deterministicKey) }}
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY: "{{ .Values.mastodon.secrets.activeRecordEncryption.deterministicKey | b64enc }}"
{{- else }}
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY: {{ required "activeRecordEncryption.deterministicKey is required" .Values.mastodon.secrets.activeRecordEncryption.deterministicKey }}
{{- end }}
{{- if not (empty .Values.mastodon.secrets.activeRecordEncryption.keyDerivationSalt) }}
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT: "{{ .Values.mastodon.secrets.activeRecordEncryption.keyDerivationSalt | b64enc }}"
{{- else }}
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT: {{ required "activeRecordEncryption.keyDerivationSalt is required" .Values.mastodon.secrets.activeRecordEncryption.keyDerivationSalt }}
{{- end }}
{{- end }} {{- end }}
{{- if not .Values.postgresql.enabled }} {{- if not .Values.postgresql.enabled }}
{{- if not .Values.postgresql.auth.existingSecret }} {{- if not .Values.postgresql.auth.existingSecret }}

View File

@ -99,9 +99,19 @@ mastodon:
vapid: vapid:
private_key: "" private_key: ""
public_key: "" public_key: ""
activeRecordEncryption:
primaryKey: ""
deterministicKey: ""
keyDerivationSalt: ""
# -- you can also specify the name of an existing Secret # -- you can also specify the name of an existing Secret
# with keys SECRET_KEY_BASE and OTP_SECRET and # with keys:
# VAPID_PRIVATE_KEY and VAPID_PUBLIC_KEY # - SECRET_KEY_BASE
# - OTP_SECRET
# - VAPID_PRIVATE_KEY
# - VAPID_PUBLIC_KEY
# - ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY
# - ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY
# - ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT
existingSecret: "" existingSecret: ""
# -- The number of old revisions to keep for each Deployment in Kubernetes. # -- The number of old revisions to keep for each Deployment in Kubernetes.
@ -220,6 +230,14 @@ mastodon:
# requests: # requests:
# cpu: 250m # cpu: 250m
# memory: 128Mi # memory: 128Mi
# -- Self-signed certificate(s) the (Node.js) needs to trust to connect to e.g. the database
extraCerts: {}
# -- Secret containing a key "ca.crt" holding one or more root certificates in PEM format
# existingSecret:
# -- Optional volume name for mounting the .crt file, defaults to "extra-certs"
# name:
# -- Optional sslMode setting. See nodejs's SSL_MODE. Consider "no-verify"
# sslMode:
web: web:
port: 3000 port: 3000
# -- Number of Web Pods running # -- Number of Web Pods running