apiVersion: batch/v1 kind: CronJob metadata: name: "terra-job" labels: app.kubernetes.io/managed-by: "{{ .Release.Service }}" app.kubernetes.io/instance: "{{ .Release.Name }}" app.kubernetes.io/version: "{{ .Chart.AppVersion }}" helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" spec: schedule: "0 0 1 * *" jobTemplate: spec: template: metadata: name: "{{ .Release.Name }}" labels: app.kubernetes.io/managed-by: "{{ .Release.Service }}" app.kubernetes.io/instance: "{{ .Release.Name }}" helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" spec: restartPolicy: Never serviceAccountName: "{{.Values.config.prefix}}-sa" containers: - name: apply-terraform image: hashicorp/terraform:latest imagePullPolicy: IfNotPresent command: - /bin/sh - -c - cd /terraform && touch anotherNAmeThatsoudnothing.tf && rm *.tf && cp /app/*.tf . && terraform init && terraform apply -auto-approve volumeMounts: - name: terra-job mountPath: /terraform - name: terraform-sa mountPath: /app/ volumes: - name: terra-job persistentVolumeClaim: claimName: terra-job - name: terraform-sa configMap: name: terraform-sa