Files
auricom-home-cluster/cluster/apps/development/gitea/backup-job.yaml
2021-07-23 11:34:26 +02:00

58 lines
2.2 KiB
YAML

---
apiVersion: batch/v1
kind: CronJob
metadata:
name: gitea-repositories-backup
namespace: development
spec:
schedule: "@daily"
jobTemplate:
spec:
template:
metadata:
name: gitea-repositories-backup
spec:
serviceAccountName: jobs
imagePullSecrets:
- name: regcred
containers:
- name: gitea-repositories-backup
image: registry.${SECRET_CLUSTER_DOMAIN}/homelab/home-cluster-jobs:1.1.0
imagePullPolicy: IfNotPresent
command:
- "bin/sh"
- "-ec"
- |
#!/bin/sh
set -o nounset
set -o errexit
kubectl exec gitea-0 --container gitea --namespace development -- bash -c "\
cd /data/git/gitea-repositories && \
tar cvf /tmp/gitea-repositories-$(date +%Y%m%d).tar ./"
kubectl cp gitea-0:/tmp/gitea-repositories-$(date +%Y%m%d).tar /tmp/gitea-repositories-$(date +%Y%m%d).tar --container gitea --namespace development
zstd --rm /tmp/gitea-repositories-$(date +%Y%m%d).tar
mkdir -p ~/.ssh
cp /opt/id_rsa ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
scp -o StrictHostKeyChecking=no /tmp/gitea-repositories-$(date +%Y%m%d).tar.zst homelab@truenas:/mnt/storage/backups/gitea/
rm /tmp/gitea-repositories-$(date +%Y%m%d).tar.zst
kubectl exec gitea-0 --container gitea --namespace development -- bash -c "rm /tmp/gitea-repositories-$(date +%Y%m%d).tar"
ssh -o StrictHostKeyChecking=no homelab@truenas -C "find /mnt/storage/backups/gitea/*.tar.zst -mtime +5 -type f -delete"
curl -m 10 --retry 5 http://healthchecks.monitoring.svc.cluster.local.:8000/ping/f7ff2516-e3b5-41ae-b77f-a9dc09005422
volumeMounts:
- name: secret
mountPath: /opt/id_rsa
subPath: deployment-rsa-priv-key
volumes:
- name: secret
secret:
secretName: drone-pipelines
restartPolicy: Never