---
apiVersion: v1
kind: Namespace
metadata:
  name: grafana-backuper
---
apiVersion: batch/v1
kind: CronJob
metadata:
  name: grafana-backuper
  namespace: grafana-backuper
spec:
  schedule: "0 * * * *"
  successfulJobsHistoryLimit: 1
  failedJobsHistoryLimit: 3
  jobTemplate:
    spec:
      ttlSecondsAfterFinished: 1800
      template:
        spec:
          containers:
            - name: grafana-backuper
              image: git.ar21.de/yolokube/grafana-backuper:latest
              env:
                - name: GRAFANA_URL
                  value: "http://prometheus-grafana.prometheus"
                - name: GRAFANA_AUTH_TOKEN
                  valueFrom:
                    secretKeyRef:
                      name: grafana-secrets
                      key: grafana-auth-token
                - name: GIT_REPO_URL
                  value: "https://git.ar21.de/yolokube/grafana-dashboards.git"
                - name: GIT_USER
                  valueFrom:
                    secretKeyRef:
                      name: git-secrets
                      key: git-user
                - name: GIT_EMAIL
                  valueFrom:
                    secretKeyRef:
                      name: git-secrets
                      key: git-email
                - name: GIT_PASS
                  valueFrom:
                    secretKeyRef:
                      name: git-secrets
                      key: git-pass
                - name: GIT_SIGNING_KEY
                  value: /app/keys/signing-key.asc
              volumeMounts:
                - name: key-volume
                  mountPath: /app/keys
              imagePullPolicy: IfNotPresent
          volumes:
            - name: key-volume
              secret:
                secretName: gpg-key
          restartPolicy: Never