Merge "Remove redundant Ingress service config"
[oom.git] / kubernetes / common / dgbuilder / templates / deployment.yaml
1 {{/*
2 # Copyright © 2018 AT&T, 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: extensions/v1beta1
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   replicas: {{ .Values.replicaCount }}
29   template:
30     metadata:
31       labels:
32         app: {{ include "common.name" . }}
33         release: {{ include "common.release" . }}
34     spec:
35       initContainers:
36       - command:
37         - sh
38         args:
39         - -c
40         - "cd /config-input && for PFILE in `ls -1 .`; do envsubst <${PFILE} >/config/${PFILE}; done"
41         env:
42         - name: DB_USER
43           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-user-creds" "key" "login") | indent 10 }}
44         - name: DB_PASSWORD
45           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-user-creds" "key" "password") | indent 10 }}
46         - name: HTTP_USER
47           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "http-user-creds" "key" "login") | indent 10 }}
48         - name: HTTP_PASSWORD
49           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "http-user-creds" "key" "password") | indent 10 }}
50         - name: HTTP_ADMIN_USER
51           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "admin-creds" "key" "login") | indent 10 }}
52         - name: HTTP_ADMIN_PASSWORD
53           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "admin-creds" "key" "password") | indent 10 }}
54         - name: HTTP_NODE_USER
55           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "node-creds" "key" "login") | indent 10 }}
56         - name: HTTP_NODE_PASSWORD
57           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "node-creds" "key" "password") | indent 10 }}
58         - name: REST_CONF_USER
59           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "restconf-creds" "key" "login") | indent 10 }}
60         - name: REST_CONF_PASSWORD
61           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "restconf-creds" "key" "password") | indent 10 }}
62         volumeMounts:
63         - mountPath: /config-input
64           name: config-input
65         - mountPath: /config
66           name: config
67         image: "{{ .Values.global.envsubstImage }}"
68         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
69         name: {{ include "common.name" . }}-update-config
70       - command:
71         - /root/ready.py
72         args:
73         - --container-name
74         - {{ .Values.config.dbPodName }}
75         env:
76         - name: NAMESPACE
77           valueFrom:
78             fieldRef:
79               apiVersion: v1
80               fieldPath: metadata.namespace
81         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
82         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
83         name: {{ include "common.name" . }}-readiness
84       containers:
85         - name: {{ include "common.name" . }}
86           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
87           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
88           command: ["/bin/bash"]
89           args: ["-c", "cd /opt/onap/ccsdk/dgbuilder/ && ./start.sh sdnc1.0 && wait"]
90           ports:
91           - containerPort: {{ .Values.service.internalPort }}
92           readinessProbe:
93             tcpSocket:
94               port: {{ .Values.service.internalPort }}
95             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
96             periodSeconds: {{ .Values.readiness.periodSeconds }}
97           env:
98           - name: SDNC_CONFIG_DIR
99             value: /opt/onap/sdnc/data/properties
100           volumeMounts:
101           - mountPath: /etc/localtime
102             name: localtime
103             readOnly: true
104           - name: config
105             mountPath: /opt/app/application.properties
106             subPath: application.properties
107           - name: config
108             mountPath: /opt/onap/ccsdk/dgbuilder/releases/sdnc1.0/conf/svclogic.properties
109             subPath: svclogic.properties
110           - name: config
111             mountPath: /opt/onap/ccsdk/dgbuilder/svclogic/svclogic.properties
112             subPath: svclogic.properties
113           - name: config
114             mountPath: /opt/onap/ccsdk/dgbuilder/releases/sdnc1.0/customSettings.js
115             subPath: customSettings.js
116           resources:
117 {{ include "common.resources" . | indent 12 }}
118         {{- if .Values.nodeSelector }}
119         nodeSelector:
120 {{ toYaml .Values.nodeSelector | indent 10 }}
121         {{- end -}}
122         {{- if .Values.affinity }}
123         affinity:
124 {{ toYaml .Values.affinity | indent 10 }}
125         {{- end }}
126       volumes:
127         - name: localtime
128           hostPath:
129             path: /etc/localtime
130         - name: config-input
131           configMap:
132             name: {{ include "common.fullname" . }}-config
133         - name: config
134           emptyDir:
135             medium: Memory
136       imagePullSecrets:
137       - name: "{{ include "common.namespace" . }}-docker-registry-key"