Fix spacing issues in YAML files in vnfs
[demo.git] / vnfs / DAaaS / sample-apps / training / sample-horovod-app / templates / job.yaml
1 ---
2 apiVersion: batch/v1
3 kind: Job
4 metadata:
5   name: {{ template "horovod.fullname" . }}
6   labels:
7     app: {{ template "horovod.name" . }}
8     chart: {{ template "horovod.chart" . }}
9     release: {{ .Release.Name }}
10     heritage: {{ .Release.Service }}
11     role: master
12 spec:
13   template:
14     metadata:
15       labels:
16         app: {{ template "horovod.name" . }}
17         release: {{ .Release.Name }}
18         role: master
19     spec:
20       {{- if .Values.useHostNetwork }}
21       hostNetwork: {{ .Values.useHostNetwork }}
22       dnsPolicy: ClusterFirstWithHostNet
23       {{- end }}
24       {{- if .Values.useHostPID }}
25       hostPID: {{ .Values.useHostPID }}
26       {{- end }}
27       restartPolicy: OnFailure
28       volumes:
29       - name: {{ template "horovod.fullname" . }}-cm
30         configMap:
31           name: {{ template "horovod.fullname" . }}
32           items:
33           - key: hostfile.config
34             path: hostfile
35             mode: 438
36           - key: master.waitWorkerReady
37             path: waitWorkersReady.sh
38             mode: 365
39           - key: master.run
40             path: run.sh
41             mode: 365
42       {{- if .Values.ssh.useSecrets }}
43       - name: {{ template "horovod.fullname" . }}-secret
44         secret:
45           secretName: {{ template "horovod.fullname" . }}
46           defaultMode: 448
47           items:
48           - key: host-key
49             path: id_rsa
50           - key: host-key-pub
51             path: authorized_keys
52       {{- end }}
53 {{- if .Values.volumes }}
54 {{ toYaml .Values.volumes | indent  6 }}
55 {{- end }}
56       containers:
57       - name: horovod-master
58         image: "{{ .Values.master.image.repository }}:{{ .Values.master.image.tag }}"
59         imagePullPolicy: {{ .Values.master.image.pullPolicy }}
60         env:
61          - name: SSHPORT
62            value: "{{ .Values.ssh.port }}"
63        {{- if .Values.ssh.useSecrets }}
64          - name: USESECRETS
65            value: "{{ .Values.ssh.useSecrets }}"
66        {{- end }}
67        {{- if .Values.master.env }}
68        {{- range $key, $value := .Values.master.env }}
69          - name: "{{ $key }}"
70            value: "{{ $value }}"
71        {{- end }}
72        {{- end }}
73          - name: AWS_ACCESS_KEY_ID
74            valueFrom:
75              secretKeyRef:
76                name: {{ if .Values.minio.existingSecret }}{{ .Values.minio.existingSecret }}{{ else }}{{ template "horovod.fullname" . }}-minio{{ end }}
77                key: accesskey
78          - name: AWS_SECRET_ACCESS_KEY
79            valueFrom:
80              secretKeyRef:
81                name: {{ if .Values.minio.existingSecret }}{{ .Values.minio.existingSecret }}{{ else }}{{ template "horovod.fullname" . }}-minio{{ end }}
82                key: secretkey
83          {{- range $key, $val := .Values.minio.environment }}
84          - name: {{ $key }}
85            value: {{ $val | quote }}
86          {{- end}}
87 {{- if .Values.master.privileged }}
88         securityContext:
89           privileged: true
90 {{- end }}
91         ports:
92         - containerPort: {{ .Values.ssh.port }}
93         volumeMounts:
94         - name: {{ template "horovod.fullname" . }}-cm
95           mountPath: /horovod/generated
96         {{- if .Values.ssh.useSecrets }}
97         - name: {{ template "horovod.fullname" . }}-secret
98           readOnly: true
99           mountPath: "/etc/secret-volume"
100         {{- end }}
101 {{- if .Values.volumeMounts }}
102 {{ toYaml .Values.volumeMounts | indent 8 }}
103 {{- end }}
104         command:
105         - /horovod/generated/run.sh
106         args:
107 {{ toYaml .Values.master.args | indent 10 }}
108         resources:
109 {{ toYaml .Values.resources | indent 10 }}
110 {{- if .Values.ssh.useSecrets }}
111       initContainers:
112       - name: wait-workers
113         image: "{{ .Values.master.image.repository }}:{{ .Values.master.image.tag }}"
114         imagePullPolicy: {{ .Values.master.image.pullPolicy }}
115         env:
116         - name: SSHPORT
117           value: "{{ .Values.ssh.port }}"
118         {{- if .Values.ssh.useSecrets }}
119         - name: USESECRETS
120           value: "{{ .Values.ssh.useSecrets }}"
121         {{- end }}
122         {{- if .Values.master.env }}
123         {{- range $key, $value := .Values.master.env }}
124         - name: "{{ $key }}"
125           value: "{{ $value }}"
126         {{- end }}
127         {{- end }}
128         command:
129         - /horovod/generated/waitWorkersReady.sh
130         args:
131         - /horovod/generated/hostfile
132         volumeMounts:
133         - name: {{ template "horovod.fullname" . }}-cm
134           mountPath: /horovod/generated
135         {{- if .Values.ssh.useSecrets }}
136         - name: {{ template "horovod.fullname" . }}-secret
137           readOnly: true
138           mountPath: "/etc/secret-volume"
139         {{- end }}
140 {{- end }}