apiVersion: apps/v1 kind: Deployment metadata: name: backup-restore namespace: forgejo spec: replicas: 0 selector: matchLabels: app: backup-restore strategy: type: Recreate template: metadata: labels: app: backup-restore app.kubernetes.io/name: backup-restore app.kubernetes.io/part-of: forgejo spec: containers: - image: domaindrivenarchitecture/c4k-forgejo-backup name: backup-app imagePullPolicy: IfNotPresent command: ["wait.bb"] env: - name: POSTGRES_USER valueFrom: secretKeyRef: name: postgres-secret key: postgres-user - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: postgres-secret key: postgres-password - name: POSTGRES_DB valueFrom: configMapKeyRef: name: postgres-config key: postgres-db - name: POSTGRES_HOST value: "postgresql-service:5432" - name: POSTGRES_SERVICE value: "postgresql-service" - name: POSTGRES_PORT value: "5432" - name: AWS_DEFAULT_REGION value: eu-central-1 - name: AWS_ACCESS_KEY_ID_FILE value: /var/run/secrets/backup-secrets/aws-access-key-id - name: AWS_SECRET_ACCESS_KEY_FILE value: /var/run/secrets/backup-secrets/aws-secret-access-key - name: RESTIC_REPOSITORY valueFrom: configMapKeyRef: name: backup-config key: restic-repository - name: RESTIC_PASSWORD_FILE value: /var/run/secrets/backup-secrets/restic-password - name: RESTIC_NEW_PASSWORD_FILE value: /var/run/secrets/backup-secrets/restic-new-password - name: CERTIFICATE_FILE value: "" volumeMounts: - name: forgejo-data-volume mountPath: /var/backups - name: backup-secret-volume mountPath: /var/run/secrets/backup-secrets readOnly: true volumes: - name: forgejo-data-volume persistentVolumeClaim: claimName: forgejo-data-pvc - name: backup-secret-volume secret: secretName: backup-secret