Skip to content

Commit 560d4fe

Browse files
authored
Merge pull request #55 from T-Systems-MMS/feature/jobs_in_k8s_chart
Jobs and cronjobs for k8s chart
2 parents 2ddc616 + 8ca2b26 commit 560d4fe

File tree

3 files changed

+117
-1
lines changed

3 files changed

+117
-1
lines changed

k8s/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
apiVersion: v1
33
name: k8s
44
description: Kubernetes Cluster Configuration
5-
version: 0.1.5
5+
version: 0.1.6

k8s/templates/cronjob.yaml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
{{- if .Values.cronjob -}}
2+
{{- range $cronjob := .Values.cronjob }}
3+
---
4+
apiVersion: batch/v1
5+
kind: CronJob
6+
metadata:
7+
name: {{ $cronjob.name | quote }}
8+
namespace: {{ $cronjob.namespace | quote }}
9+
spec:
10+
schedule: {{ $cronjob.schedule }}
11+
concurrencyPolicy: {{ $cronjob.concurrencyPolicy }}
12+
failedJobsHistoryLimit: {{ $cronjob.failedJobsHistoryLimit }}
13+
successfulJobsHistoryLimit: {{ $cronjob.successfulJobsHistoryLimit }}
14+
suspend: {{ default false $cronjob.suspend }}
15+
jobTemplate:
16+
spec:
17+
backoffLimit: {{ $cronjob.backoffLimit }}
18+
template:
19+
metadata:
20+
name: {{ $cronjob.name | quote }}
21+
spec:
22+
containers:
23+
- name: {{ $cronjob.name | quote }}
24+
image: "{{ $cronjob.containers.image.registry }}/{{ $cronjob.containers.image.repository }}:{{ $cronjob.containers.image.tag }}"
25+
imagePullPolicy: {{ $cronjob.containers.imagePullPolicy }}
26+
env:
27+
{{- range $name, $value := $cronjob.containers.env }}
28+
- name: {{ $name }}
29+
value: {{ $value | quote }}
30+
{{- end }}
31+
{{- range $secretEnv := $cronjob.containers.secretEnv }}
32+
- name: {{ $secretEnv.name }}
33+
valueFrom:
34+
secretKeyRef:
35+
name: {{ $secretEnv.secretKeyRef.name }}
36+
key: {{ $secretEnv.secretKeyRef.key }}
37+
{{- end }}
38+
command:
39+
{{- range $cronjob.containers.command }}
40+
- {{ . | quote }}
41+
{{- end }}
42+
args:
43+
{{- range $cronjob.containers.args }}
44+
- {{ . | quote }}
45+
{{- end }}
46+
volumeMounts:
47+
{{- range $name, $volume := $cronjob.containers.volumeMounts }}
48+
- name: {{ $name }}
49+
mountPath: {{ $volume | quote }}
50+
{{- end }}
51+
restartPolicy: {{ $cronjob.restartPolicy }}
52+
volumes:
53+
{{- range $volume := $cronjob.volumes }}
54+
- name: {{ $volume.name }}
55+
azureFile:
56+
secretName: {{ $volume.azureFile.secretName }}
57+
shareName: {{ $volume.azureFile.shareName }}
58+
readOnly: {{ default false $volume.azureFile.readOnly }}
59+
{{- end }}
60+
{{- end }}
61+
{{- end -}}

k8s/templates/job.yaml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
{{- if .Values.job -}}
2+
{{- range $job := .Values.job }}
3+
---
4+
apiVersion: batch/v1
5+
kind: Job
6+
metadata:
7+
name: {{ $job.name | quote }}
8+
namespace: {{ $job.namespace | quote }}
9+
spec:
10+
backoffLimit: {{ $job.backoffLimit }}
11+
template:
12+
metadata:
13+
name: {{ $job.name | quote }}
14+
spec:
15+
containers:
16+
- name: {{ $job.name | quote }}
17+
image: "{{ $job.containers.image.registry }}/{{ $job.containers.image.repository }}:{{ $job.containers.image.tag }}"
18+
imagePullPolicy: {{ $job.containers.imagePullPolicy }}
19+
env:
20+
{{- range $name, $value := $job.containers.env }}
21+
- name: {{ $name }}
22+
value: {{ $value | quote }}
23+
{{- end }}
24+
{{- range $secretEnv := $job.containers.secretEnv }}
25+
- name: {{ $secretEnv.name }}
26+
valueFrom:
27+
secretKeyRef:
28+
name: {{ $secretEnv.secretKeyRef.name }}
29+
key: {{ $secretEnv.secretKeyRef.key }}
30+
{{- end }}
31+
command:
32+
{{- range $job.containers.command }}
33+
- {{ . | quote }}
34+
{{- end }}
35+
args:
36+
{{- range $job.containers.args }}
37+
- {{ . | quote }}
38+
{{- end }}
39+
volumeMounts:
40+
{{- range $name, $volume := $job.containers.volumeMounts }}
41+
- name: {{ $name }}
42+
mountPath: {{ $volume | quote }}
43+
{{- end }}
44+
restartPolicy: {{ $job.restartPolicy }}
45+
volumes:
46+
{{- range $volume := $job.volumes }}
47+
- name: {{ $volume.name }}
48+
azureFile:
49+
secretName: {{ $volume.azureFile.secretName }}
50+
shareName: {{ $volume.azureFile.shareName }}
51+
readOnly: {{ default false $volume.azureFile.readOnly }}
52+
{{- end }}
53+
suspend: {{ default false $job.suspend }}
54+
{{- end }}
55+
{{- end -}}

0 commit comments

Comments
 (0)