templates/cronjob-backup.yaml を追加

This commit is contained in:
2026-02-07 00:22:08 +00:00
parent 3fe9f2e648
commit 87664af9f9

View File

@@ -0,0 +1,55 @@
{{- if .Values.backup.enabled }}
apiVersion: batch/v1
kind: CronJob
metadata:
name: {{ include "postgresql.fullname" . }}-backup
labels:
{{- include "postgresql.labels" . | nindent 4 }}
app.kubernetes.io/component: backup
spec:
schedule: {{ .Values.backup.schedule | quote }}
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 3
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
metadata:
labels:
{{- include "postgresql.selectorLabels" . | nindent 12 }}
app.kubernetes.io/component: backup
spec:
restartPolicy: OnFailure
containers:
- name: backup
image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
command:
- /bin/bash
- /config/backup.sh
env:
- name: POSTGRES_USER
value: {{ .Values.postgres.user | quote }}
- name: PGPASSWORD
valueFrom:
secretKeyRef:
name: {{ .Values.postgres.existingSecret | default (include "postgresql.fullname" .) }}
key: {{ .Values.postgres.passwordKey }}
- name: PGHOST
value: {{ include "postgresql.fullname" . }}-primary
volumeMounts:
- name: backup
mountPath: /backup
- name: config
mountPath: /config
resources:
{{- toYaml .Values.backup.resources | nindent 14 }}
volumes:
- name: backup
persistentVolumeClaim:
claimName: {{ include "postgresql.fullname" . }}-backup
- name: config
configMap:
name: {{ include "postgresql.fullname" . }}-config
defaultMode: 0755
{{- end }}