helm: add optional cron job to run tootctl remove media (#14396)
				
					
				
			This commit is contained in:
		
							
								
								
									
										73
									
								
								chart/templates/cronjob-media-remove.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								chart/templates/cronjob-media-remove.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,73 @@ | ||||
| {{ if .Values.cron.removeMedia.enabled }} | ||||
| apiVersion: batch/v1beta1 | ||||
| kind: CronJob | ||||
| metadata: | ||||
|   name: {{ include "mastodon.fullname" . }}-media-remove | ||||
|   labels: | ||||
|     {{- include "mastodon.labels" . | nindent 4 }} | ||||
| spec: | ||||
|   schedule: {{ .Values.cron.removeMedia.schedule }} | ||||
|   jobTemplate: | ||||
|     spec: | ||||
|       template: | ||||
|         metadata: | ||||
|           name: {{ include "mastodon.fullname" . }}-media-remove | ||||
|         spec: | ||||
|           restartPolicy: OnFailure | ||||
|           # 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.persistence.assets.accessMode) (eq "ReadWriteOnce" .Values.persistence.system.accessMode) }} | ||||
|           affinity: | ||||
|             podAffinity: | ||||
|               requiredDuringSchedulingIgnoredDuringExecution: | ||||
|               - labelSelector: | ||||
|                   matchExpressions: | ||||
|                     - key: component | ||||
|                       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 | ||||
|           containers: | ||||
|             - name: {{ include "mastodon.fullname" . }}-media-remove | ||||
|               image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" | ||||
|               imagePullPolicy: {{ .Values.image.pullPolicy }} | ||||
|               command: | ||||
|                 - bin/tootctl | ||||
|                 - media | ||||
|                 - remove | ||||
|               envFrom: | ||||
|                 - configMapRef: | ||||
|                     name: {{ include "mastodon.fullname" . }}-env | ||||
|                 - secretRef: | ||||
|                     name: {{ template "mastodon.fullname" . }} | ||||
|               env: | ||||
|                 - name: "DB_PASS" | ||||
|                   valueFrom: | ||||
|                     secretKeyRef: | ||||
|                       {{- if .Values.postgresql.enabled }} | ||||
|                       name: {{ .Release.Name }}-postgresql | ||||
|                       {{- else }} | ||||
|                       name: {{ template "mastodon.fullname" . }} | ||||
|                       {{- end }} | ||||
|                       key: postgresql-password | ||||
|                 - name: "REDIS_PASSWORD" | ||||
|                   valueFrom: | ||||
|                     secretKeyRef: | ||||
|                       name: {{ .Release.Name }}-redis | ||||
|                       key: redis-password | ||||
|                 - name: "PORT" | ||||
|                   value: {{ .Values.application.web.port | quote }} | ||||
|               volumeMounts: | ||||
|                 - name: assets | ||||
|                   mountPath: /opt/mastodon/public/assets | ||||
|                 - name: system | ||||
|                   mountPath: /opt/mastodon/public/system | ||||
| {{- end }} | ||||
| @ -39,6 +39,12 @@ createAdmin: | ||||
| # available locales: https://github.com/tootsuite/mastodon/blob/master/config/application.rb#L43 | ||||
| locale: en | ||||
|  | ||||
| cron: | ||||
|   # run `tootctl media remove` every week | ||||
|   removeMedia: | ||||
|     enabled: true | ||||
|     schedule: "0 0 * * 0" | ||||
|  | ||||
| application: | ||||
|   web: | ||||
|     port: 3000 | ||||
|  | ||||
		Reference in New Issue
	
	Block a user