[DCAEMOD] Uses new tpls for repos / images
[oom.git] / kubernetes / vnfsdk / templates / deployment.yaml
1 {{/*
2 # Copyright © 2017 Amdocs, Bell Canada
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 apiVersion: apps/v1
18 kind: Deployment
19 metadata:
20   name: {{ include "common.fullname" . }}
21   namespace: {{ include "common.namespace" . }}
22   labels:
23     app: {{ include "common.name" . }}
24     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
25     release: {{ include "common.release" . }}
26     heritage: {{ .Release.Service }}
27 spec:
28   selector:
29     matchLabels:
30       app: {{ include "common.name" . }}
31   template:
32     metadata:
33       labels:
34         app: {{ include "common.name" . }}
35         release: {{ include "common.release" . }}
36       name: {{ include "common.name" . }}
37     spec:
38       initContainers:
39       - command:
40         - sh
41         args:
42         - -c
43         - "cd /config-input && for PFILE in `find . -not -type d | grep -v -F ..`; do envsubst <${PFILE} >/config/${PFILE}; done"
44         env:
45         - name: PG_USER
46           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "login") | indent 10 }}
47         - name: PG_PASSWORD
48           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "password") | indent 10 }}
49         volumeMounts:
50         - mountPath: /config-input
51           name: init-data-input
52         - mountPath: /config
53           name: init-data
54         image: "{{ .Values.global.envsubstImage }}"
55         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
56         name: {{ include "common.name" . }}-update-config
57
58       - command:
59         - /app/ready.py
60         args:
61         - --container-name
62         - "{{ .Values.postgres.nameOverride }}"
63         env:
64         - name: NAMESPACE
65           valueFrom:
66             fieldRef:
67               apiVersion: v1
68               fieldPath: metadata.namespace
69         image: "{{ include "common.repository" . }}/{{ .Values.global.readinessImage }}"
70         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
71         name: {{ include "common.name" . }}-readiness
72       containers:
73       - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
74         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
75         name: {{ include "common.name" . }}
76         resources:
77 {{ include "common.resources" . | indent 12 }}
78         volumeMounts:
79         - mountPath: /service/webapps/ROOT/WEB-INF/classes/mybatis/configuration/configuration.xml
80           name: init-data
81           subPath: configuration.xml
82         readinessProbe:
83           tcpSocket:
84             port: {{ .Values.service.internalPort }}
85           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
86           periodSeconds: {{ .Values.readiness.periodSeconds }}
87       imagePullSecrets:
88       - name: "{{ include "common.namespace" . }}-docker-registry-key"
89       volumes:
90       - name: init-data-input
91         configMap:
92           name: {{ include "common.fullname" . }}
93       - name: init-data
94         emptyDir:
95           medium: Memory