helmfile.yaml 2.14 KB
bases:
  - ../common/environments.yaml

---

releases:
  - name: {{ .Values.name }}-backup-secrets-base
    chart: charts/base
    namespace: {{ .Values.namespace }}
    values:
      - namePrefix: "{{ .Values.name }}-"
    strategicMergePatches:
      - apiVersion: v1
        kind: ConfigMap
        metadata:
          namespace: {{ .Values.namespace }}
          name: {{ .Values.name }}-backup-secrets-config
        data: {{ .Values.config | toYaml | nindent 10 }}
      - apiVersion: v1
        kind: ConfigMap
        metadata:
          namespace: {{ .Values.namespace }}
          name: {{ .Values.name }}-backup-secrets-aws-config
        data:
          config: {{ .Values.aws.config | quote }}
      - apiVersion: v1
        kind: Secret
        metadata:
          namespace: {{ .Values.namespace }}
          name: {{ .Values.name }}-backup-secrets-aws-credentials
        stringData:
          credentials: {{ .Values.aws.credentials | quote }}

  - name: {{ .Values.name }}-backup-secrets-restore
    chart: charts/restore
    namespace: {{ .Values.namespace }}
    needs:
      - {{ .Values.name }}-backup-secrets-base
    values:
      - namePrefix: "{{ .Values.name }}-"

    strategicMergePatches:
      # Have to adjust these namePrefix manually because helmfile/chartify doesn't work correctly with kustomize/helm-hooks
      - apiVersion: batch/v1
        kind: Job
        metadata:
          namespace: {{ .Values.namespace }}
          name: {{ .Values.name }}-backup-secrets-do-restore
        spec:
          template:
            spec:
              serviceAccountName: {{ .Values.name }}-backup-secrets
              volumes:
                - name: aws-config
                  configMap:
                    name: {{ .Values.name }}-backup-secrets-aws-config
                - name: aws-credentials
                  secret:
                    secretName: {{ .Values.name }}-backup-secrets-aws-credentials
                - name: config
                  configMap:
                    name: {{ .Values.name }}-backup-secrets-config
                - name: scripts
                  configMap:
                    name: {{ .Values.name }}-backup-secrets-scripts