blob: 9b0ec6383e0ddf126eacac0578f2679f95401650 [file] [log] [blame]
Kajur, Harish (vk250x)00107b52018-09-06 14:44:40 -04001#
2# ============LICENSE_START=======================================================
3# org.onap.aai
4# ================================================================================
5# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
6# ================================================================================
7# Licensed under the Apache License, Version 2.0 (the "License");
8# you may not use this file except in compliance with the License.
9# You may obtain a copy of the License at
10#
11# http://www.apache.org/licenses/LICENSE-2.0
12#
13# Unless required by applicable law or agreed to in writing, software
14# distributed under the License is distributed on an "AS IS" BASIS,
15# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16# See the License for the specific language governing permissions and
17# limitations under the License.
18# ============LICENSE_END=========================================================
19
20apiVersion: extensions/v1beta1
21kind: Deployment
22metadata:
23 name: {{ include "common.fullname" . }}
24 namespace: {{ include "common.namespace" . }}
25 labels:
26 app: {{ include "common.name" . }}
27 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
28 release: {{ .Release.Name }}
29 heritage: {{ .Release.Service }}
30spec:
31 replicas: {{ .Values.replicaCount }}
32 selector:
33 matchLabels:
34 app: {{ include "common.name" . }}
35 template:
36 metadata:
37 labels:
38 app: {{ include "common.name" . }}
39 release: {{ .Release.Name }}
40 name: {{ include "common.name" . }}
41 annotations:
42 checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
43 spec:
44 hostname: aai-graphadmin
45 {{ if .Values.global.initContainers.enabled }}
46 initContainers:
47 - command:
48 {{ if .Values.global.jobs.createSchema.enabled }}
49 - /root/job_complete.py
50 args:
51 - --job-name
52 - {{ .Release.Name }}-aai-graphadmin-create-db-schema
53 {{ else }}
54 - /root/ready.py
55 args:
56 - --container-name
57 - aai-cassandra
58 {{ end }}
59 env:
60 - name: NAMESPACE
61 valueFrom:
62 fieldRef:
63 apiVersion: v1
64 fieldPath: metadata.namespace
65 image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
66 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
67 name: {{ include "common.name" . }}-readiness
68 {{ end }}
69 containers:
70 - name: {{ include "common.name" . }}
71 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
72 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
73 env:
74 - name: LOCAL_USER_ID
75 value: {{ .Values.config.userId | quote }}
76 - name: LOCAL_GROUP_ID
77 value: {{ .Values.config.groupId | quote }}
78 volumeMounts:
79 - mountPath: /etc/localtime
80 name: localtime
81 readOnly: true
82 - mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/janusgraph-realtime.properties
83 name: {{ include "common.fullname" . }}-db-real-conf
84 subPath: janusgraph-realtime.properties
85 - mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/janusgraph-cached.properties
86 name: {{ include "common.fullname" . }}-db-cached-conf
87 subPath: janusgraph-cached.properties
88 - mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/aaiconfig.properties
89 name: {{ include "common.fullname" . }}-aaiconfig-conf
90 subPath: aaiconfig.properties
91 - mountPath: /opt/aai/logroot/AAI-RES
92 name: {{ include "common.fullname" . }}-logs
93 - mountPath: /opt/app/aai-graphadmin/resources/logback.xml
94 name: {{ include "common.fullname" . }}-log-conf
95 subPath: logback.xml
96 - mountPath: /opt/app/aai-graphadmin/resources/localhost-access-logback.xml
97 name: {{ include "common.fullname" . }}-localhost-access-log-conf
98 subPath: localhost-access-logback.xml
99 - mountPath: /opt/app/aai-graphadmin/resources/application.properties
100 name: {{ include "common.fullname" . }}-springapp-conf
101 subPath: application.properties
102 {{ $global := . }}
103 {{ range $job := .Values.global.config.auth.files }}
104 - mountPath: /opt/app/aai-graphadmin/resources/etc/auth/{{ . }}
105 name: {{ include "common.fullname" $global }}-auth-truststore-sec
106 subPath: {{ . }}
107 {{ end }}
108 ports:
109 - containerPort: {{ .Values.service.internalPort }}
110 - containerPort: {{ .Values.service.internalPort2 }}
111 # disable liveness probe when breakpoints set in debugger
112 # so K8s doesn't restart unresponsive container
113 {{ if .Values.liveness.enabled }}
114 livenessProbe:
115 tcpSocket:
116 port: {{ .Values.service.internalPort }}
117 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
118 periodSeconds: {{ .Values.liveness.periodSeconds }}
119 {{ end }}
120 readinessProbe:
121 tcpSocket:
122 port: {{ .Values.service.internalPort }}
123 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
124 periodSeconds: {{ .Values.readiness.periodSeconds }}
125 resources:
126{{ toYaml .Values.resources | indent 10 }}
127 {{- if .Values.nodeSelector }}
128 nodeSelector:
129{{ toYaml .Values.nodeSelector | indent 8 }}
130 {{- end -}}
131 {{- if .Values.affinity }}
132 affinity:
133{{ toYaml .Values.affinity | indent 8 }}
134 {{- end }}
135
136 # side car containers
137 - name: filebeat-onap
138 image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
139 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
140 volumeMounts:
141 - mountPath: /usr/share/filebeat/filebeat.yml
142 subPath: filebeat.yml
143 name: filebeat-conf
144 - mountPath: /var/log/onap
145 name: {{ include "common.fullname" . }}-logs
146 - mountPath: /usr/share/filebeat/data
147 name: {{ include "common.fullname" . }}-filebeat
148
149 volumes:
150 - name: localtime
151 hostPath:
152 path: /etc/localtime
153 - name: filebeat-conf
154 configMap:
155 name: aai-filebeat
156 - name: {{ include "common.fullname" . }}-logs
157 emptyDir: {}
158 - name: {{ include "common.fullname" . }}-filebeat
159 emptyDir: {}
160 - name: {{ include "common.fullname" . }}-log-conf
161 configMap:
162 name: {{ include "common.fullname" . }}-log
163 - name: {{ include "common.fullname" . }}-localhost-access-log-conf
164 configMap:
165 name: {{ include "common.fullname" . }}-localhost-access-log-configmap
166 - name: {{ include "common.fullname" . }}-db-real-conf
167 configMap:
168 name: {{ include "common.fullname" . }}-db-real-configmap
169 - name: {{ include "common.fullname" . }}-db-cached-conf
170 configMap:
171 name: {{ include "common.fullname" . }}-db-cached-configmap
172 - name: {{ include "common.fullname" . }}-aaiconfig-conf
173 configMap:
174 name: {{ include "common.fullname" . }}-aaiconfig-configmap
175 - name: {{ include "common.fullname" . }}-springapp-conf
176 configMap:
177 name: {{ include "common.fullname" . }}-springapp-configmap
178 - name: {{ include "common.fullname" . }}-realm-conf
179 configMap:
180 name: {{ include "common.fullname" . }}-realm-configmap
181 - name: {{ include "common.fullname" . }}-auth-truststore-sec
182 secret:
183 secretName: aai-auth-truststore-secret
184 items:
185 {{ range $job := .Values.global.config.auth.files }}
186 - key: {{ . }}
187 path: {{ . }}
188 {{ end }}
189 restartPolicy: {{ .Values.restartPolicy }}
190 imagePullSecrets:
191 - name: "{{ include "common.namespace" . }}-docker-registry-key"