blob: 20e2ffa104f2223f0604f20aced88cf16731885a [file] [log] [blame]
Mandeep Khinda51a8b1b2018-04-24 20:05:32 +00001# Copyright © 2017 Amdocs, AT&T, Bell Canada
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15apiVersion: extensions/v1beta1
16kind: Deployment
17metadata:
18 name: {{ include "common.fullname" . }}
19 namespace: {{ include "common.namespace" . }}
20 labels:
21 app: {{ include "common.name" . }}
22 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
23 release: {{ .Release.Name }}
24 heritage: {{ .Release.Service }}
25spec:
26 replicas: {{ .Values.replicaCount }}
27 template:
28 metadata:
29 labels:
30 app: {{ include "common.name" . }}
31 release: {{ .Release.Name }}
32 spec:
33 initContainers:
34 - name: {{ include "common.name" . }}-readiness
35 command:
36 - /root/ready.py
37 args:
38 - --container-name
39 - "sdc-cs"
40 env:
41 - name: NAMESPACE
42 valueFrom:
43 fieldRef:
44 apiVersion: v1
45 fieldPath: metadata.namespace
46 image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
47 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
48 - name: {{ include "common.name" . }}-job-completion
49 image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
50 imagePullPolicy: "{{ .Values.global.pullPolicy | default .Values.pullPolicy }}"
51 command:
52 - /root/job_complete.py
53 args:
54 - --job-name
55 - {{ .Release.Name }}-sdc-cs-config-cassandra
56 env:
57 - name: NAMESPACE
58 valueFrom:
59 fieldRef:
60 apiVersion: v1
61 fieldPath: metadata.namespace
62 containers:
63 - name: {{ include "common.name" . }}
64 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
65 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
66 ports:
67 - containerPort: {{ .Values.service.internalPort }}
68 - containerPort: {{ .Values.service.internalPort2 }}
69 {{ if eq .Values.liveness.enabled true }}
70 livenessProbe:
71 tcpSocket:
72 port: {{ .Values.service.internalPort }}
73 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
74 periodSeconds: {{ .Values.liveness.periodSeconds }}
75 {{ end }}
76 readinessProbe:
77 exec:
78 command:
79 - "/var/lib/ready-probe.sh"
80 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
81 periodSeconds: {{ .Values.readiness.periodSeconds }}
82 env:
83 - name: ENVNAME
84 value: {{ .Values.global.env.name }}
85 - name: JAVA_OPTIONS
86 value: {{ .Values.config.javaOptions }}
87 - name: SDC_CLUSTER_NAME
88 value: "SDC-CS-{{ .Values.global.env.name }}"
89 - name: cassandra_ssl_enabled
90 value: {{ .Values.config.cassandraSslEnabled | quote }}
91 - name: HOST_IP
92 valueFrom:
93 fieldRef:
94 fieldPath: status.podIP
95 - name: SDC_USER
96 valueFrom:
97 secretKeyRef: {name: {{ .Release.Name }}-sdc-cs-secrets, key: sdc_user}
98 - name: SDC_PASSWORD
99 valueFrom:
100 secretKeyRef: {name: {{ .Release.Name }}-sdc-cs-secrets, key: sdc_password}
101 volumeMounts:
102 - name: {{ include "common.fullname" . }}-environments
103 mountPath: /root/chef-solo/environments/
104 - name: {{ include "common.fullname" . }}-localtime
105 mountPath: /etc/localtime
106 readOnly: true
107 - name: {{ include "common.fullname" . }}-logs
108 mountPath: /var/log/onap
109 - name: {{ include "common.fullname" . }}-logback
110 mountPath: /tmp/logback.xml
111 subPath: logback.xml
112 lifecycle:
113 postStart:
114 exec:
115 command: ["/bin/sh", "-c", "export LOG=wait_logback.log; touch $LOG; export SRC=/tmp/logback.xml; export DST=/var/lib/jetty/config/onboarding-be/; while [ ! -e $DST ]; do echo 'Waiting for $DST...' >> $LOG; sleep 5; done; sleep 2; /bin/cp -f $SRC $DST; echo 'Done' >> $LOG"]
116 resources:
117{{ toYaml .Values.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
127 # side car containers
128 - name: {{ include "common.name" . }}-filebeat-onap
129 image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
130 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
131 volumeMounts:
132 - name: {{ include "common.fullname" . }}-filebeat-conf
133 mountPath: /usr/share/filebeat/filebeat.yml
134 subPath: filebeat.yml
135 - name: {{ include "common.fullname" . }}-logs
136 mountPath: /var/log/onap
137 - name: {{ include "common.fullname" . }}-data-filebeat
138 mountPath: /usr/share/filebeat/data
139 volumes:
140 - name: {{ include "common.fullname" . }}-localtime
141 hostPath:
142 path: /etc/localtime
143 - name: {{ include "common.fullname" . }}-filebeat-conf
144 configMap:
145 name: {{ .Release.Name }}-sdc-filebeat-configmap
146 - name: {{ include "common.fullname" . }}-data-filebeat
147 emptyDir: {}
148 - name: {{ include "common.fullname" . }}-logback
149 configMap:
150 name : {{ include "common.fullname" . }}-logging-configmap
151 - name: {{ include "common.fullname" . }}-environments
152 configMap:
153 name: {{ .Release.Name }}-sdc-environments-configmap
154 defaultMode: 0755
155 - name: {{ include "common.fullname" . }}-logs
156 emptyDir: {}
157 imagePullSecrets:
158 - name: "{{ include "common.namespace" . }}-docker-registry-key"