Merge "[DMAAP] DMaaP ServiceMesh compatibility"
[oom.git] / kubernetes / aaf / components / aaf-sshsm / components / aaf-sshsm-abrmd / templates / job.yaml
1 {{/*
2 # Copyright 2018 Intel Corporation, Inc
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 */}}
16
17 {{- if .Values.global.tpm.enabled -}}
18
19 apiVersion: batch/v1
20 kind: Job
21 metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
22 spec:
23   backoffLimit: 2
24   template:
25     metadata: {{- include "common.templateMetadata" . | nindent 6 }}
26     spec:
27       restartPolicy: Never
28       containers:
29       - name: {{ include "common.name" . }}-job
30         image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
31         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
32         command: ["/abrmd/bin/initialize_tpm.sh"]
33         workingDir: /abrmd/bin
34         securityContext:
35           privileged: true
36         env:
37         - name: TPM_NODE_NAME
38           valueFrom:
39             fieldRef:
40               fieldPath: spec.nodeName
41         - name: ABRMD_DATA
42           value: /abrmd/data
43         volumeMounts:
44         - name: {{ include "common.fullname" . }}-data
45           mountPath: /abrmd/data
46         - name: {{ include "common.fullname" . }}-tpm-device
47           mountPath: /dev/tpm0
48         - name: {{ include "common.fullname" . }}-tpmconfig
49           mountPath: "/abrmd/cred/"
50           readOnly: true
51         resources: {{ include "common.resources" . | nindent 10 }}
52       {{- if .Values.nodeSelector }}
53       nodeSelector: {{ toYaml .Values.nodeSelector | nindent 8 }}
54         {{- if .Values.global.tpm.enabled }}
55         {{ (printf "%s: \"%s\"" .Values.global.tpm.nodeLabel .Values.global.tpm.nodeLabelValue) }}
56         {{- end -}}
57       {{- end -}}
58         {{- if .Values.affinity }}
59       affinity: {{ toYaml .Values.affinity | nindent 8 }}
60         {{- end }}
61       volumes:
62       - name: {{ include "common.fullname" . }}-data
63         persistentVolumeClaim:
64           claimName: {{ include "common.release" . }}-aaf-sshsm-data
65       - name: {{ include "common.fullname" . }}-tpm-device
66         hostPath:
67           path: /dev/tpm0
68       - name: {{ include "common.fullname" . }}-tpmconfig
69         secret:
70           secretName: {{ include "common.release" . }}-aaf-sshsm
71       imagePullSecrets:
72       - name: "{{ include "common.namespace" . }}-docker-registry-key"
73
74 {{- end -}}