44 lines
1.5 KiB
YAML
44 lines
1.5 KiB
YAML
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
|