42 lines
1.5 KiB
YAML
42 lines
1.5 KiB
YAML
# https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/
|
|
{{- $kubeTargetVersion := .Capabilities.KubeVersion.GitVersion }}
|
|
{{- if semverCompare ">=1.22.0-0" $kubeTargetVersion }}
|
|
apiVersion: batch/v1
|
|
{{- else }}
|
|
apiVersion: batch/v1beta1
|
|
{{- end }}
|
|
kind: CronJob
|
|
metadata:
|
|
name: clickhouse-backup
|
|
namespace: {{ .Release.Namespace }}
|
|
labels:
|
|
{{- include "clickhouse.labels" . | nindent 4 }}
|
|
spec:
|
|
schedule: "5 11 * * */4"
|
|
jobTemplate:
|
|
spec:
|
|
backoffLimit: 0 # Don't restart the failed jobs
|
|
template:
|
|
spec:
|
|
containers:
|
|
- name: clickhouse-backup
|
|
image: alpine/curl
|
|
command:
|
|
- /bin/sh
|
|
- -c
|
|
args:
|
|
- |
|
|
set -x
|
|
BACKUP_NAME=openreplay_clickhouse_backup$(date -u +%Y-%m-%dT%H-%M-%S)
|
|
curl -XPOST http://clickhouse-openreplay-clickhouse:7171/backup/create?name=$BACKUP_NAME
|
|
sleep 10
|
|
# Upload backup
|
|
# curl -XPOST http://clickhouse-openreplay-clickhouse:7171/backup/upload/$BACKUP_NAME
|
|
|
|
# Get the backup status
|
|
echo "Backup Status:"
|
|
curl http://clickhouse-openreplay-clickhouse:7171/backup/status?name=$BACKUP_NAME
|
|
# List active backups
|
|
echo "Active backup in machine"
|
|
curl http://clickhouse-openreplay-clickhouse:7171/backup/list
|
|
restartPolicy: Never
|