--- 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