From 5a16e2eb0d92585c947e057b0cd9d8185f7988a9 Mon Sep 17 00:00:00 2001 From: pierre Date: Thu, 24 Oct 2024 15:34:59 +0100 Subject: [PATCH] add gitea cronjob --- Gitea/gitea_backup_repositories.cronjob.yaml | 109 +++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 Gitea/gitea_backup_repositories.cronjob.yaml diff --git a/Gitea/gitea_backup_repositories.cronjob.yaml b/Gitea/gitea_backup_repositories.cronjob.yaml new file mode 100644 index 0000000..3a5f34f --- /dev/null +++ b/Gitea/gitea_backup_repositories.cronjob.yaml @@ -0,0 +1,109 @@ +--- +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" + - 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-export + mountPath: /gitea-export + - name: documents + mountPath: /documents + volumes: + - name: gitea-data + persistentVolumeClaim: + claimName: gitea-data + - name: documents + persistentVolumeClaim: + claimName: gitea-documents-backup + - name: gitea-data + persistentVolumeClaim: + claimName: gitea-data + 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