diff --git a/deploy/charts/djangoninja/templates/_helpers.tpl b/deploy/charts/djangoninja/templates/_helpers.tpl index 07352b6eea78314d708de849db55dd954deaf406..ef42140df054bf6bec1e6f49ddd975a91a7e4d25 100644 --- a/deploy/charts/djangoninja/templates/_helpers.tpl +++ b/deploy/charts/djangoninja/templates/_helpers.tpl @@ -60,3 +60,13 @@ Create the name of the service account to use {{- default "default" .Values.serviceAccount.name }} {{- end }} {{- end }} + + + +{{/* +fullname for cronjob clean sessions +*/}} +{{- define "djangoninja.cleanSessionsCronName" -}} +{{- printf "%s-clean-sessions" (include "djangoninja.fullname" .) }} +{{- end }} + diff --git a/deploy/charts/djangoninja/templates/clean-session-cronjob.yaml b/deploy/charts/djangoninja/templates/clean-session-cronjob.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5ff00bf84888815bfc12f6114f12628aa217f1dd --- /dev/null +++ b/deploy/charts/djangoninja/templates/clean-session-cronjob.yaml @@ -0,0 +1,54 @@ +apiVersion: batch/v1beta1 +kind: CronJob +metadata: + name: {{ include "djangoninja.cleanSessionsCronName" . }} + labels: + {{- include "djangoninja.labels" . | nindent 4 }} + role: "clean-sessions" +spec: + successfulJobsHistoryLimit: 1 + failedJobsHistoryLimit: 2 + schedule: "0 */2 * * *" + concurrencyPolicy: Forbid + jobTemplate: + spec: + template: + spec: + restartPolicy: Never + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 12 }} + {{- end }} + containers: + - name: {{ printf "%s-clean-sessions" .Release.Name }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + command: ["python"] + args: ["manage.py", "clear-sessions-history", "--galaxyemail", "remi.planel@pasteur.fr", "--galaxyinstance", "Galaxy@Pasteur"] + imagePullPolicy: Always + env: + - name: DEBUG + value: "True" + - name: SECRET_KEY + value: {{ .Values.django.secret }} + - name: GALAXY_API_KEY + value: {{ .Values.galaxy.key }} + - name: DF_HOSTNAME + value: {{ .Release.Name }} + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: "{{ .Values.postgresql.user }}.{{ .Values.postgresql.teamId }}-postgresql.credentials.postgresql.acid.zalan.do" + key: password + - name: POSTGRES_USER + valueFrom: + secretKeyRef: + name: "{{ .Values.postgresql.user }}.{{ .Values.postgresql.teamId }}-postgresql.credentials.postgresql.acid.zalan.do" + key: username + - name: POSTGRES_DB + value: {{ .Values.postgresql.name }} + - name: DATABASE_URL + value: "psql://$(POSTGRES_USER):$(POSTGRES_PASSWORD)@{{ .Values.postgresql.teamId }}-postgresql:5432/$(POSTGRES_DB)" + + securityContext: + {{- toYaml .Values.securityContext | nindent 14 }} + \ No newline at end of file