helm/timebase/templates/cleaner-cronjob.yaml (58 lines of code) (raw):
{{- if and .Values.cleaner.enabled }}
apiVersion: batch/v1
kind: CronJob
metadata:
name: {{ template "chart.fullname" . }}-cleaner
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/component: cleaner
{{- include "chart.labels" $ | nindent 4 }}
spec:
concurrencyPolicy: Forbid
successfulJobsHistoryLimit: 1
schedule: {{ .Values.cleaner.schedule | default "0 7 * * *" | quote }}
jobTemplate:
spec:
backoffLimit: 5
template:
metadata:
labels:
app.kubernetes.io/component: cleaner
{{- include "chart.labels" . | nindent 12 }}
{{- if .Values.cleaner.podAnnotations }}
annotations: {{- toYaml .Values.cleaner.podAnnotations | nindent 12 }}
{{- end }}
spec:
{{- if .Values.global.imagePullSecrets }}
imagePullSecrets: {{ include "chart.imagePullSecrets" . | trim | nindent 10 }}
{{- end }}
restartPolicy: Never
containers:
- name: timebase-cleaner
image: {{ .Values.cleaner.image }}
imagePullPolicy: {{ .Values.cleaner.imagePullPolicy }}
command:
- /bin/sh
args:
- -c
- /timebase-client/bin/purge.sh
env:
- name: PURGE_TIMEBASE_URL
valueFrom:
secretKeyRef:
name: {{ template "chart.fullname" . }}-server
key: TIMEBASE_URL
- name: PURGE_DAYS_TO_KEEP
value: {{ .Values.cleaner.daystoKeep | quote }}
{{- if .Values.cleaner.streams }}
- name: PURGE_STREAMS
value: |
{{- range $stream, $day := .Values.cleaner.streams }}
{{- printf "%s:%v;" $stream $day | nindent 20 -}}
{{ end -}}
{{- end -}}
{{- if .Values.cleaner.exceptStreams }}
- name: PURGE_EXCEPT_STREAMS
value: {{- include "cleanExceptScripts" $ | quote | indent 1 -}}
{{- end -}}
{{- end }}