Issue-ID: RICAPP-169 - Inclusion of InfluxDB helm chart for KPIMON, AD, TS, QP xApps
[ric-plt/ric-dep.git] / helm / 3rdparty / influxdb / templates / backup-retention-cronjob.yaml
1 {{- if .Values.backupRetention.enabled }}
2 apiVersion: batch/v1beta1
3 kind: CronJob
4 metadata:
5   name: {{ include "influxdb.fullname" . }}-backup-retention
6   labels:
7     {{- include "influxdb.labels" . | nindent 4 }}
8     app.kubernetes.io/component: backup-retention
9   annotations:
10     {{- toYaml .Values.backupRetention.annotations | nindent 4 }}
11 spec:
12   schedule: {{ .Values.backupRetention.schedule | quote }}
13   startingDeadlineSeconds: {{ .Values.backupRetention.startingDeadlineSeconds }}
14   concurrencyPolicy: Forbid
15   jobTemplate:
16     spec:
17       template:
18         metadata:
19           {{- if .Values.backupRetention.podAnnotations }}
20           annotations:
21             {{ toYaml .Values.backupRetention.podAnnotations | nindent 12 }}
22           {{- end }}
23           labels:
24             {{- include "influxdb.selectorLabels" . | nindent 12 }}
25         spec:
26           restartPolicy: OnFailure
27           volumes:
28           - name: scripts
29             configMap:
30               name: {{ include "influxdb.fullname" . }}-backup-retention
31           {{- if .Values.backupRetention.gcs }}
32           {{- if .Values.backupRetention.gcs.serviceAccountSecret }}
33           - name: google-cloud-key
34             secret:
35               secretName: {{ .Values.backupRetention.gcs.serviceAccountSecret | quote }}
36           {{- end }}
37           {{- end }}
38           {{- if .Values.backupRetention.s3 }}
39           {{- if .Values.backupRetention.s3.credentialsSecret }}
40           - name: aws-credentials-secret
41             secret:
42               secretName: {{ .Values.backupRetention.s3.credentialsSecret | quote }}
43           {{- end }}
44           {{- end }}
45           serviceAccountName: {{ include "influxdb.serviceAccountName" . }}
46           containers:
47           {{- if .Values.backupRetention.gcs }}
48           {{- end }}
49           {{- if .Values.backupRetention.azure }}
50           {{- end }}
51           {{- if .Values.backupRetention.s3 }}
52           - name: aws-cli
53             image: amazon/aws-cli
54             command: ['/bin/bash']
55             args: ['/scripts/backup-retention.sh']
56             volumeMounts:
57             - name: scripts
58               mountPath: /scripts
59             {{- if .Values.backupRetention.s3.credentialsSecret}}
60             - name: aws-credentials-secret
61               mountPath: /var/secrets/aws/
62             {{- end }}
63             env:
64               - name: AWS_CONFIG_FILE
65                 value: /var/secrets/aws/credentials
66               - name: DAYS_TO_RETAIN
67                 value: {{ .Values.backupRetention.daysToRetain | quote }}
68               - name: S3_BUCKET
69                 value: {{ .Values.backupRetention.s3.bucketName }}
70               - name: S3_ENDPOINT
71                 value: {{ .Values.backupRetention.s3.endpointUrl }}
72             resources:
73               {{- toYaml .Values.backupRetention.resources | nindent 14 }}
74           {{- end }}
75 {{- end }}