3
0
mirror of https://github.com/mastodon/chart synced 2024-10-22 19:02:44 +00:00

Add job template to deploy search

This commit is contained in:
Matthew Abbott 2023-10-09 12:55:17 -05:00
parent 3da4e6d611
commit fbd87c94dc
No known key found for this signature in database
2 changed files with 95 additions and 0 deletions

View File

@ -0,0 +1,90 @@
{{- if and .Values.mastodon.deploySearch.enabled .Values.elasticsearch.enabled -}}
apiVersion: batch/v1
kind: Job
metadata:
name: {{ include "oliphaunt.fullname" . }}-deploy-search
labels:
{{- include "oliphaunt.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 "oliphaunt.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 "oliphaunt.fullname" . }}-assets
- name: system
persistentVolumeClaim:
claimName: {{ template "oliphaunt.fullname" . }}-system
{{- end }}
containers:
- name: {{ include "oliphaunt.fullname" . }}-deploy-search
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
resources:
requests:
cpu: 700m
memory: 768Mi
command:
- bin/tootctl
- search
- deploy
{{- with .Values.mastodon.deploySearch.concurrency }}
- '--concurrency'
- {{ . | quote }}
{{- end }}
{{- if .Values.mastodon.deploySearch.resetChewy }}
- '--reset-chewy'
{{- end }}
envFrom:
- configMapRef:
name: {{ include "oliphaunt.fullname" . }}-mastodon-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 }}

View File

@ -30,6 +30,11 @@ mastodon:
enabled: true
# Custom labels to add to kubernetes resources
#labels:
# -- deploy search to elastsicsearch. Requires .elasticsearch.enabled = true
deploySearch:
enabled: false
concurrency: 5
resetChewy: true
cron:
# -- run `tootctl media remove` every week
removeMedia: