Files
Backup_kube/Gitea/gitea_backup_repositories.cronjob.yaml
T
2024-10-24 16:12:04 +01:00

112 lines
2.6 KiB
YAML

---
apiVersion: v1
kind: ServiceAccount
metadata:
name: backup-service-account
namespace: gitea
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: role:service-acc
namespace: gitea
rules:
- apiGroups: [""]
resources:
- pods
- pods/exec
verbs:
- create
- list
- apiGroups: ["apps"]
resources:
- deployments
verbs:
- get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: rolebinding:service-acc
namespace: gitea
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: role:service-acc
subjects:
- kind: ServiceAccount
name: backup-service-account
namespace: gitea
---
apiVersion: batch/v1
kind: CronJob
metadata:
name: gitea-documents-backup
namespace: gitea
spec:
schedule: "0 0 * * *"
jobTemplate:
spec:
ttlSecondsAfterFinished: 100
template:
spec:
serviceAccountName: "backup-service-account"
containers:
- name: export-attachements
command:
- "/bin/sh"
- "-c"
args: ['
echo "start the export";
# kubectl exec -it deploy/gitea-webserver -n gitea -- document_exporter -z /usr/src/gitea/export;
kubectl exec -it deploy/gitea-webserver -- su -c "/app/gitea/gitea dump -c /data/gitea/conf/app.ini -f /data/backup/backup_$(date "+%Y-%m-%d_%Hh-%m").zip" git
echo "Export done"
']
image: "bitnami/kubectl:1.21"
volumeMounts:
- name: gitea-data
mountPath: /data
- name: gitea-documents-backup
mountPath: /backup
# - name: move-attachements
# command:
# - "/bin/sh"
# - "-c"
# args: ['echo "sleep 5 min"; sleep 300;echo "end of sleep"; mv /data/backup/* /documents/ ;echo "move done"']
# image: "busybox"
# volumeMounts:
# - name: gitea-data
# mountPath: /data
# - name: documents
# mountPath: /documents
volumes:
- name: gitea-data
persistentVolumeClaim:
claimName: gitea-data
- name: documents
persistentVolumeClaim:
claimName: gitea-documents-backup
restartPolicy: Never
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: gitea-documents-backup
namespace: gitea
annotations:
fileType: Backup
spec:
storageClassName: nfs-storage-fastaccess
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi