78 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| {{ if .Values.mastodon.cron.removeMedia.enabled }}
 | |
| apiVersion: batch/v1
 | |
| kind: CronJob
 | |
| metadata:
 | |
|   name: {{ include "mastodon.fullname" . }}-media-remove
 | |
|   labels:
 | |
|     {{- include "mastodon.labels" . | nindent 4 }}
 | |
| spec:
 | |
|   schedule: {{ .Values.mastodon.cron.removeMedia.schedule }}
 | |
|   jobTemplate:
 | |
|     spec:
 | |
|       template:
 | |
|         metadata:
 | |
|           name: {{ include "mastodon.fullname" . }}-media-remove
 | |
|         {{- with .Values.jobAnnotations }}
 | |
|           annotations:
 | |
|             {{- toYaml . | nindent 12 }}
 | |
|         {{- end }}
 | |
|         spec:
 | |
|           restartPolicy: OnFailure
 | |
|           {{- 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.mastodon.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
 | |
|           {{- end }}
 | |
|           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.secretName" . }}
 | |
|               env:
 | |
|                 - name: "DB_PASS"
 | |
|                   valueFrom:
 | |
|                     secretKeyRef:
 | |
|                       name: {{ template "mastodon.postgresql.secretName" . }}
 | |
|                       key: postgres-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 }}
 |