cluster

Infrastructure files for Nordgedanken and Midnightthoughts.
git clone git://archive.git.mtrnord.blog/MTRNord/cluster.git
Log | Files | Refs | README

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: {}