add gitea cronjob
This commit is contained in:
@@ -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
|
||||||
Reference in New Issue
Block a user