✨ add backup for paperless
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: backup-service-account
|
||||
namespace: paperless
|
||||
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: role:service-acc
|
||||
namespace: paperless
|
||||
|
||||
rules:
|
||||
- apiGroups: [""]
|
||||
resources:
|
||||
- pods
|
||||
- pods/exec
|
||||
verbs:
|
||||
- create
|
||||
# - get
|
||||
- list
|
||||
# - watch
|
||||
- apiGroups: ["apps"]
|
||||
resources:
|
||||
- deployments
|
||||
verbs:
|
||||
- get
|
||||
# - list
|
||||
# - watch
|
||||
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: rolebinding:service-acc
|
||||
namespace: paperless
|
||||
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: role:service-acc
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: backup-service-account
|
||||
namespace: paperless
|
||||
---
|
||||
|
||||
|
||||
apiVersion: batch/v1
|
||||
kind: CronJob
|
||||
metadata:
|
||||
name: paperless-documents-backup
|
||||
namespace: paperless
|
||||
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/paperless-webserver -n paperless -- document_exporter -z /usr/src/paperless/export;
|
||||
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 /paperless-export/* /documents/ ;echo "move done"']
|
||||
image: "busybox"
|
||||
volumeMounts:
|
||||
- name: paperless-export
|
||||
mountPath: /paperless-export
|
||||
- name: documents
|
||||
mountPath: /documents
|
||||
volumes:
|
||||
- name: paperless-export
|
||||
persistentVolumeClaim:
|
||||
claimName: paperless-export
|
||||
- name: documents
|
||||
persistentVolumeClaim:
|
||||
claimName: documents
|
||||
restartPolicy: Never
|
||||
|
||||
---
|
||||
kind: PersistentVolumeClaim
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: documents
|
||||
namespace: paperless
|
||||
spec:
|
||||
storageClassName: nfs-backup-storage-intelligent
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 10Gi
|
||||
Reference in New Issue
Block a user