Update MOD component versions
[oom.git] / kubernetes / dcaemod / components / dcaemod-genprocessor / templates / deployment.yaml
1 #============LICENSE_START========================================================
2 # ================================================================================
3 # Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved.
4 # ================================================================================
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #     http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 # ============LICENSE_END=========================================================
17
18 apiVersion: apps/v1
19 kind: Deployment
20 metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
21 spec:
22   replicas: 1
23   selector: {{- include "common.selectors" . | nindent 4 }}
24   template:
25     metadata: {{- include "common.templateMetadata" . | nindent 6 }}
26     spec:
27       initContainers:
28         # apps run as uid 1000, gid 1000
29         # the volume is mounted with root permissions
30         # this initContainer changes ownership to uid 1000 gid 1000
31         # (tried using a securityContext in the pod spec, but it didn't seem to work)
32           - name: set-permissions
33             image: busybox:latest
34             imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
35             command:
36               - sh
37               - -c
38               - chown -R 1000:1000 /genprocessor-data
39             volumeMounts:
40             - mountPath: /genprocessor-data
41               name: genprocessor-data
42       containers:
43         - name: {{ include "common.name" . }}
44           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
45           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
46           ports: {{ include "common.containerPorts" . | nindent 12  }}
47           {{- if eq .Values.liveness.enabled true }}
48           livenessProbe:
49             tcpSocket:
50               port: {{ .Values.liveness.port }}
51             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
52             periodSeconds: {{ .Values.liveness.periodSeconds }}
53           {{ end }}
54           readinessProbe:
55             tcpSocket:
56               port: {{ .Values.readiness.port }}
57             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
58             periodSeconds: {{ .Values.readiness.periodSeconds }}
59           env:
60             - name: GENPROC_ONBOARDING_API_HOST
61               value: {{ .Values.config.onboardingAPIURL }}
62           volumeMounts:
63             - mountPath: /work/
64               name: genprocessor-data
65           resources: {{ include "common.resources" . | nindent 12 }}
66         - name: {{ include "common.name" . }}-http
67           image: "{{ include "common.repository" . }}/{{ .Values.httpImage }}"
68           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
69           volumeMounts:
70             - mountPath: /www/data
71               name: genprocessor-data
72               readOnly: true
73       volumes:
74       - name: genprocessor-data
75         persistentVolumeClaim:
76           claimName: {{ include "common.fullname" . }}
77       imagePullSecrets:
78       - name: "{{ include "common.namespace" . }}-docker-registry-key"