mirror of
https://github.com/mastodon/chart
synced 2025-05-18 04:53:21 +00:00
Merge branch 'main' into upgrade-v4-2-13
This commit is contained in:
commit
b5a210aa37
|
@ -203,6 +203,8 @@ spec:
|
|||
value: {{ coalesce $context.Values.mastodon.sidekiq.otel.endpointUri $context.Values.mastodon.otel.endpointUri }}
|
||||
- name: OTEL_SERVICE_NAME_PREFIX
|
||||
value: {{ coalesce $context.Values.mastodon.sidekiq.otel.namePrefix $context.Values.mastodon.otel.namePrefix }}
|
||||
- name: OTEL_SERVICE_NAME_SEPARATOR
|
||||
value: "{{ coalesce $context.Values.mastodon.sidekiq.otel.nameSeparator $context.Values.mastodon.otel.nameSeparator }}"
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
{{- if (not $context.Values.mastodon.s3.enabled) }}
|
||||
|
|
|
@ -193,6 +193,8 @@ spec:
|
|||
value: {{ coalesce .Values.mastodon.web.otel.endpointUri .Values.mastodon.otel.endpointUri }}
|
||||
- name: OTEL_SERVICE_NAME_PREFIX
|
||||
value: {{ coalesce .Values.mastodon.web.otel.namePrefix .Values.mastodon.otel.namePrefix }}
|
||||
- name: OTEL_SERVICE_NAME_SEPARATOR
|
||||
value: "{{ coalesce .Values.mastodon.web.otel.nameSeparator .Values.mastodon.otel.nameSeparator }}"
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
{{- if (not .Values.mastodon.s3.enabled) }}
|
||||
|
|
90
templates/job-assets-copy.yaml
Normal file
90
templates/job-assets-copy.yaml
Normal file
|
@ -0,0 +1,90 @@
|
|||
{{- if .Values.mastodon.hooks.s3Upload.enabled -}}
|
||||
apiVersion: batch/v1
|
||||
kind: Job
|
||||
metadata:
|
||||
name: {{ include "mastodon.fullname" . }}-assets-upload
|
||||
labels:
|
||||
{{- include "mastodon.labels" . | nindent 4 }}
|
||||
annotations:
|
||||
"helm.sh/hook": pre-install,pre-upgrade
|
||||
"helm.sh/hook-delete-policy": before-hook-creation
|
||||
"helm.sh/hook-weight": "-1"
|
||||
spec:
|
||||
template:
|
||||
metadata:
|
||||
name: {{ include "mastodon.fullname" . }}-assets-upload
|
||||
{{- with .Values.jobAnnotations }}
|
||||
annotations:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- with .Values.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
restartPolicy: Never
|
||||
initContainers:
|
||||
- name: extract-assets
|
||||
image: "{{ coalesce .Values.mastodon.web.image.repository .Values.image.repository }}:{{ coalesce .Values.mastodon.web.image.tag .Values.image.tag .Chart.AppVersion }}"
|
||||
imagePullPolicy: Always
|
||||
command:
|
||||
- cp
|
||||
args:
|
||||
- -rv
|
||||
- public
|
||||
- /assets
|
||||
volumeMounts:
|
||||
- mountPath: /assets
|
||||
name: assets
|
||||
containers:
|
||||
- name: upload-assets
|
||||
image: rclone/rclone:1
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: RCLONE_S3_NO_CHECK_BUCKET
|
||||
value: "true"
|
||||
- name: RCLONE_CONFIG_REMOTE_TYPE
|
||||
value: s3
|
||||
- name: RCLONE_CONFIG_REMOTE_PROVIDER
|
||||
value: AWS
|
||||
- name: RCLONE_CONFIG_REMOTE_ENDPOINT
|
||||
value: {{ required "Please specify an endpoint for S3 asset uploads" .Values.mastodon.hooks.s3Upload.endpoint }}
|
||||
- name: RCLONE_CONFIG_REMOTE_ACCESS_KEY_ID
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ required "Please specify a secret with S3 credentials for S3 asset uploads" .Values.mastodon.hooks.s3Upload.secretRef.name }}
|
||||
key: {{ .Values.mastodon.hooks.s3Upload.secretRef.keys.accesKeyId }}
|
||||
- name: RCLONE_CONFIG_REMOTE_SECRET_ACCESS_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ required "Please specify a secret with S3 credentials for S3 asset uploads" .Values.mastodon.hooks.s3Upload.secretRef.name }}
|
||||
key: {{ .Values.mastodon.hooks.s3Upload.secretRef.keys.secretAccessKey }}
|
||||
{{- with .Values.mastodon.hooks.s3Upload.rclone.env }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
command:
|
||||
- rclone
|
||||
args:
|
||||
- copy
|
||||
- /assets/public
|
||||
- "remote:{{ required "Please specify a bucket for S3 asset uploads" .Values.mastodon.hooks.s3Upload.bucket }}"
|
||||
- --fast-list
|
||||
- --transfers=32
|
||||
- --include
|
||||
- "{assets,packs}/**"
|
||||
- --progress
|
||||
- -vv
|
||||
volumeMounts:
|
||||
- mountPath: /assets
|
||||
name: assets
|
||||
resources:
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 256Mi
|
||||
limits:
|
||||
memory: 500Mi
|
||||
volumes:
|
||||
- name: assets
|
||||
emptyDir: {}
|
||||
{{- end -}}
|
24
values.yaml
24
values.yaml
|
@ -28,6 +28,27 @@ mastodon:
|
|||
enabled: true
|
||||
assetsPrecompile:
|
||||
enabled: true
|
||||
# Upload website assets to S3 before deploying using rclone.
|
||||
# Whenever there is an update to Mastodon, sometimes there are assets files
|
||||
# that are renamed. As the pods are getting redeployed, and old/new pods are
|
||||
# present simultaneously, there is a chance that old asset files are
|
||||
# requested from pods that don't have them anymore, or new asset files are
|
||||
# requested from old pods. Uploading asset files to S3 in this manner solves
|
||||
# this potential conflict.
|
||||
# Note that you will need to CDN/proxy to send all requests to /assets and
|
||||
# /packs to this bucket.
|
||||
s3Upload:
|
||||
enabled: false
|
||||
endpoint:
|
||||
bucket:
|
||||
secretRef:
|
||||
name:
|
||||
keys:
|
||||
accesKeyId: acces-key-id
|
||||
secretAccessKey: secret-access-key
|
||||
rclone:
|
||||
# Any additional environment variables to pass to rclone.
|
||||
env: {}
|
||||
# Custom labels to add to kubernetes resources
|
||||
#labels:
|
||||
cron:
|
||||
|
@ -185,6 +206,7 @@ mastodon:
|
|||
enabled:
|
||||
exporterUri:
|
||||
namePrefix:
|
||||
nameSeparator:
|
||||
|
||||
workers:
|
||||
- name: all-queues
|
||||
|
@ -384,6 +406,7 @@ mastodon:
|
|||
enabled:
|
||||
exporterUri:
|
||||
namePrefix:
|
||||
nameSeparator:
|
||||
|
||||
# HTTP cache buster configuration.
|
||||
# See the documentation for more information about this feature:
|
||||
|
@ -413,6 +436,7 @@ mastodon:
|
|||
enabled: false
|
||||
exporterUri:
|
||||
namePrefix: mastodon
|
||||
nameSeparator: "-"
|
||||
|
||||
# Sets the PREPARED_STATEMENTS environment variable: https://docs.joinmastodon.org/admin/config/#prepared_statements
|
||||
preparedStatements: true
|
||||
|
|
Loading…
Reference in New Issue
Block a user