mirror of
https://github.com/mastodon/chart
synced 2025-03-15 13:31:51 +00:00
Merge branch 'main' into fix-common-fullname-error
This commit is contained in:
commit
73ee161a0d
|
@ -1,3 +1,12 @@
|
||||||
|
# 6.1.0
|
||||||
|
|
||||||
|
- Added a new job to re/build elasticsearch indices as a post-upgrade hook:
|
||||||
|
```yaml
|
||||||
|
mastodon:
|
||||||
|
hooks:
|
||||||
|
deploySearch:
|
||||||
|
```
|
||||||
|
|
||||||
# 6.0.3
|
# 6.0.3
|
||||||
|
|
||||||
- Updated the Mastodon version to v4.3.5
|
- Updated the Mastodon version to v4.3.5
|
||||||
|
|
|
@ -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: 6.0.3
|
version: 6.1.0
|
||||||
|
|
||||||
# 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
|
||||||
|
|
103
templates/job-deploy-search.yaml
Normal file
103
templates/job-deploy-search.yaml
Normal file
|
@ -0,0 +1,103 @@
|
||||||
|
{{- if and .Values.mastodon.hooks.deploySearch.enabled .Values.elasticsearch.enabled -}}
|
||||||
|
apiVersion: batch/v1
|
||||||
|
kind: Job
|
||||||
|
metadata:
|
||||||
|
name: {{ include "mastodon.fullname" . }}-deploy-search
|
||||||
|
labels:
|
||||||
|
{{- include "mastodon.labels" . | nindent 4 }}
|
||||||
|
annotations:
|
||||||
|
"helm.sh/hook": post-install,post-upgrade
|
||||||
|
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
|
||||||
|
"helm.sh/hook-weight": "-2"
|
||||||
|
spec:
|
||||||
|
suspend: false
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
name: {{ include "mastodon.fullname" . }}-deploy-search
|
||||||
|
{{- with .Values.jobAnnotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
restartPolicy: Never
|
||||||
|
{{- if (not .Values.mastodon.s3.enabled) }}
|
||||||
|
# ensure we run on the same node as the other rails components; only
|
||||||
|
# required when using PVCs that are ReadWriteOnce
|
||||||
|
{{- if or (eq "ReadWriteOnce" .Values.mastodon.persistence.assets.accessMode) (eq "ReadWriteOnce" .Values.persistence.system.accessMode) }}
|
||||||
|
affinity:
|
||||||
|
podAffinity:
|
||||||
|
requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
- labelSelector:
|
||||||
|
matchExpressions:
|
||||||
|
- key: app.kubernetes.io/part-of
|
||||||
|
operator: In
|
||||||
|
values:
|
||||||
|
- rails
|
||||||
|
topologyKey: kubernetes.io/hostname
|
||||||
|
{{- end }}
|
||||||
|
volumes:
|
||||||
|
- name: assets
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: {{ template "mastodon.fullname" . }}-assets
|
||||||
|
- name: system
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: {{ template "mastodon.fullname" . }}-system
|
||||||
|
{{- end }}
|
||||||
|
containers:
|
||||||
|
- name: {{ include "mastodon.fullname" . }}-deploy-search
|
||||||
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
||||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
|
{{- with .Values.mastodon.hooks.deploySearch }}
|
||||||
|
{{- with .resources }}
|
||||||
|
resources:
|
||||||
|
{{- toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
command:
|
||||||
|
- bin/tootctl
|
||||||
|
- search
|
||||||
|
- deploy
|
||||||
|
{{- with .concurrency }}
|
||||||
|
- '--concurrency'
|
||||||
|
- {{ . | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .resetChewy }}
|
||||||
|
- '--reset-chewy'
|
||||||
|
{{- end }}
|
||||||
|
{{- with .batchSize }}
|
||||||
|
- '--batch-size'
|
||||||
|
- {{ . | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .only }}
|
||||||
|
{{- if not (has . (list "instances" "accounts" "tags" "statuses" "public_statuses")) -}}
|
||||||
|
{{ fail "mastodon.hooks.deploySearch.only: Value must be one of the following words: instances, accounts, tags, statuses, public_statuses"}}
|
||||||
|
{{- end }}
|
||||||
|
- '--only'
|
||||||
|
- {{ . | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
envFrom:
|
||||||
|
- configMapRef:
|
||||||
|
name: {{ include "mastodon.fullname" . }}-env
|
||||||
|
- secretRef:
|
||||||
|
name: {{ template "mastodon.secretName" $ }}
|
||||||
|
env:
|
||||||
|
- name: "DB_PASS"
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: {{ template "mastodon.postgresql.secretName" . }}
|
||||||
|
key: password
|
||||||
|
- name: "REDIS_PASSWORD"
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: {{ template "mastodon.redis.secretName" . }}
|
||||||
|
key: redis-password
|
||||||
|
- name: "PORT"
|
||||||
|
value: {{ .Values.mastodon.web.port | quote }}
|
||||||
|
{{- if (not .Values.mastodon.s3.enabled) }}
|
||||||
|
volumeMounts:
|
||||||
|
- name: assets
|
||||||
|
mountPath: /opt/mastodon/public/assets
|
||||||
|
- name: system
|
||||||
|
mountPath: /opt/mastodon/public/system
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
31
values.yaml
31
values.yaml
|
@ -35,6 +35,36 @@ mastodon:
|
||||||
# Whether to perform DB migrations on `helm upgrade`.
|
# Whether to perform DB migrations on `helm upgrade`.
|
||||||
dbMigrate:
|
dbMigrate:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
||||||
|
# WARNING: deploySearch is potentially a very expensive job!
|
||||||
|
# Only enable this once at a time, when you deploy elasticsearch or when
|
||||||
|
# the upgrade notes for a new mastodon version request rebuilding search.
|
||||||
|
# Recommended use is via `-f mastodon.hooks.deploySearch.enabled=true`
|
||||||
|
# to ensure the job is only dispatched for a single upgrade when required.
|
||||||
|
# This job may take days to run on very large instances. Even small
|
||||||
|
# instances may take long enough to trigger helm's completion timeout, so
|
||||||
|
# DO NOT PANIC if helm complains; simply verify the job is still running.
|
||||||
|
#
|
||||||
|
# Builds or rebuilds the elasticsearch indices via `tootctl deploy search`
|
||||||
|
# with timing hooks to ensure the job runs immediately after install/upgrade
|
||||||
|
# and will be restarted if another, corrective upgrade is triggered.
|
||||||
|
# Please check the tootctl documentation and upgrade notes to pick values.
|
||||||
|
#
|
||||||
|
# NOTE: The resource stanza set below is intentionally very conservative.
|
||||||
|
# Consider assigning a liberal chunk of your cluster's typical headroom.
|
||||||
|
deploySearch:
|
||||||
|
enabled: false
|
||||||
|
resetChewy: true
|
||||||
|
# one index name. Possible values: instances, accounts, tags, statuses, public_statuses
|
||||||
|
only: ""
|
||||||
|
concurrency: 5
|
||||||
|
resources: # this accepts any keys in a full container resources stanza.
|
||||||
|
requests:
|
||||||
|
cpu: 250m
|
||||||
|
memory: 256Mi
|
||||||
|
limits:
|
||||||
|
cpu: 500m
|
||||||
|
|
||||||
# Upload website assets to S3 before deploying using rclone.
|
# Upload website assets to S3 before deploying using rclone.
|
||||||
# Whenever there is an update to Mastodon, sometimes there are assets files
|
# 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
|
# that are renamed. As the pods are getting redeployed, and old/new pods are
|
||||||
|
@ -59,6 +89,7 @@ mastodon:
|
||||||
env: {}
|
env: {}
|
||||||
# Custom labels to add to kubernetes resources
|
# Custom labels to add to kubernetes resources
|
||||||
#labels:
|
#labels:
|
||||||
|
# -- deploy search to elastsicsearch. Requires .elasticsearch.enabled = true
|
||||||
cron:
|
cron:
|
||||||
# -- run `tootctl media remove` every week
|
# -- run `tootctl media remove` every week
|
||||||
removeMedia:
|
removeMedia:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user