backup-cronjob.yaml (3504B)
1 apiVersion: batch/v1 2 kind: CronJob 3 metadata: 4 name: matrix-backup 5 namespace: matrix-backup 6 spec: 7 schedule: "0 * * * *" 8 concurrencyPolicy: Forbid 9 successfulJobsHistoryLimit: 3 10 failedJobsHistoryLimit: 3 11 jobTemplate: 12 spec: 13 template: 14 spec: 15 automountServiceAccountToken: false 16 enableServiceLinks: false 17 restartPolicy: OnFailure 18 securityContext: 19 runAsNonRoot: true 20 runAsUser: 65532 21 runAsGroup: 65532 22 fsGroup: 65532 23 seccompProfile: 24 type: RuntimeDefault 25 containers: 26 - name: backup 27 image: registry.midnightthoughts.space/mtrnord/cluster/matrix-backup:main 28 imagePullPolicy: Always 29 securityContext: 30 allowPrivilegeEscalation: false 31 readOnlyRootFilesystem: true 32 capabilities: 33 drop: 34 - ALL 35 resources: 36 requests: 37 cpu: 100m 38 memory: 128Mi 39 limits: 40 cpu: 500m 41 memory: 512Mi 42 env: 43 - name: HOMESERVER 44 value: "https://matrix.mtrnord.blog" 45 - name: S3_ENDPOINT 46 value: "hel1.your-objectstorage.com" 47 - name: S3_BUCKET 48 value: "midnightthoughts-matrix-backup" 49 - name: MTRNORD_PASSWORD 50 valueFrom: 51 secretKeyRef: 52 name: matrix-backup-secret 53 key: mtrnord_password 54 - name: MTRNORD_SSSS_KEY 55 valueFrom: 56 secretKeyRef: 57 name: matrix-backup-secret 58 key: mtrnord_ssss_recovery_key 59 - name: LEXI_PASSWORD 60 valueFrom: 61 secretKeyRef: 62 name: matrix-backup-secret 63 key: lexi_password 64 - name: LEXI_SSSS_KEY 65 valueFrom: 66 secretKeyRef: 67 name: matrix-backup-secret 68 key: lexi_ssss_recovery_key 69 - name: S3_ACCESS_KEY 70 valueFrom: 71 secretKeyRef: 72 name: matrix-backup-secret 73 key: s3_access_key 74 - name: S3_SECRET_KEY 75 valueFrom: 76 secretKeyRef: 77 name: matrix-backup-secret 78 key: s3_secret_key 79 - name: KEY_EXPORT_PASSPHRASE 80 valueFrom: 81 secretKeyRef: 82 name: matrix-backup-secret 83 key: key_export_passphrase 84 - name: AGE_RECIPIENTS 85 valueFrom: 86 secretKeyRef: 87 name: matrix-backup-secret 88 key: age_recipients 89 - name: AGE_PRIVATE_KEY 90 valueFrom: 91 secretKeyRef: 92 name: matrix-backup-secret 93 key: age_private_key 94 volumeMounts: 95 - name: data 96 mountPath: /data 97 - name: tmp 98 mountPath: /tmp 99 volumes: 100 - name: data 101 emptyDir: {} 102 - name: tmp 103 emptyDir: {}