blob: a39c4d27a143da31405969e4e2172b6764c25c63 [file] [log] [blame]
Jack Lucas6fae7632019-01-25 11:46:00 -05001#============LICENSE_START========================================================
2# ================================================================================
3# Copyright (c) 2019 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
Krzysztof Kuzmickiaef70072020-07-24 14:47:43 +020018apiVersion: apps/v1
Jack Lucas6fae7632019-01-25 11:46:00 -050019kind: Deployment
20metadata:
21 name: {{ include "common.fullname" . }}
22 namespace: {{ include "common.namespace" . }}
23 labels:
24 app: {{ include "common.name" . }}
25 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010026 release: {{ include "common.release" . }}
Jack Lucas6fae7632019-01-25 11:46:00 -050027 heritage: {{ .Release.Service }}
28spec:
29 replicas: 1
Krzysztof Kuzmickiaef70072020-07-24 14:47:43 +020030 selector:
31 matchLabels:
32 app: {{ include "common.name" . }}
Jack Lucas6fae7632019-01-25 11:46:00 -050033 template:
34 metadata:
35 labels:
36 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010037 release: {{ include "common.release" . }}
Jack Lucas6fae7632019-01-25 11:46:00 -050038 spec:
39 initContainers:
Krzysztof Opasiakbb48fc82020-05-05 11:36:30 +020040 - command:
41 - sh
42 args:
43 - -c
44 - "cd /config-input && for PFILE in `find . -not -type d | grep -v -F ..`; do envsubst <${PFILE} >/config/${PFILE}; done"
45 env:
46 - name: PG_USER
47 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "login") | indent 12 }}
48 - name: PG_PASSWORD
49 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "password") | indent 12 }}
50 volumeMounts:
51 - mountPath: /config-input
52 name: {{ include "common.fullname" . }}-inv-config-input
53 - mountPath: /config
54 name: {{ include "common.fullname" . }}-inv-config
55 image: "{{ .Values.global.envsubstImage }}"
56 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
57 name: {{ include "common.name" . }}-update-config
58
Jack Lucas6fae7632019-01-25 11:46:00 -050059 - name: {{ include "common.name" . }}-readiness
Sylvain Desbureaux1694e1d2020-08-21 09:58:25 +020060 image: {{ include "common.repository" . }}/{{ .Values.global.readinessImage }}
Jack Lucas6fae7632019-01-25 11:46:00 -050061 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
62 command:
Sylvain Desbureaux1694e1d2020-08-21 09:58:25 +020063 - /app/ready.py
Jack Lucas6fae7632019-01-25 11:46:00 -050064 args:
65 - --container-name
66 - {{ .Values.postgres.nameOverride }}
Jack Lucas8c3463e2020-06-12 18:36:55 -040067 - --container-name
68 - aaf-cm
Jack Lucas6fae7632019-01-25 11:46:00 -050069 - "-t"
70 - "15"
71 env:
72 - name: NAMESPACE
73 valueFrom:
74 fieldRef:
75 apiVersion: v1
76 fieldPath: metadata.namespace
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +000077 - name: init-tls
78 env:
Jack Lucasc6861312020-03-03 15:57:59 -050079 - name: aaf_locator_fqdn
80 value: dcae
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +000081 - name: POD_IP
82 valueFrom:
83 fieldRef:
84 apiVersion: v1
85 fieldPath: status.podIP
86 image: {{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}
87 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
88 resources: {}
89 volumeMounts:
Jack Lucasc6861312020-03-03 15:57:59 -050090 - mountPath: /opt/app/osaaf
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +000091 name: tls-info
Jack Lucas6fae7632019-01-25 11:46:00 -050092 containers:
93 - name: {{ include "common.name" . }}
Jack Lucas4c4ba442019-02-12 17:09:46 -050094 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
Jack Lucas6fae7632019-01-25 11:46:00 -050095 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
Jack Lucas4c4ba442019-02-12 17:09:46 -050096 # Assumes that the Docker image is built with ENTRYPOINT set to
97 # ["java", "-jar", "/opt/inventory-api-x.y.z.jar", "server"]
98 # where "x.y.z" is the version number (matches the Docker image version number)
99 # The arg below adds a parameter, the path to a config file.
100 # This tells the inventory-api app to get its configuration from the file
101 # rather than querying Consul.
Jack Lucas6fae7632019-01-25 11:46:00 -0500102 args:
Jack Lucas6fae7632019-01-25 11:46:00 -0500103 - "/opt/config.json"
104 resources:
105{{ include "common.resources" . | indent 12 }}
106 ports:
107 - containerPort: {{ .Values.service.internalPort }}
108 # disable liveness probe when breakpoints set in debugger
109 # so K8s doesn't restart unresponsive container
110 {{- if eq .Values.liveness.enabled true }}
111 livenessProbe:
112 tcpSocket:
113 port: {{ .Values.service.internalPort }}
114 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
115 periodSeconds: {{ .Values.liveness.periodSeconds }}
116 {{ end }}
117 readinessProbe:
118 httpGet:
119 path: {{ .Values.readiness.path }}
120 port: {{ .Values.service.internalPort }}
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +0000121 scheme: {{ .Values.readiness.scheme }}
Jack Lucas6fae7632019-01-25 11:46:00 -0500122 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
123 periodSeconds: {{ .Values.readiness.periodSeconds }}
124 volumeMounts:
125 - name: {{ include "common.fullname" . }}-inv-config
126 mountPath: /opt/config.json
127 subPath: config.json
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +0000128 - mountPath: /opt/cert/
129 name: tls-info
Vijay Venkatesh Kumar694394b2020-02-20 21:50:14 +0000130 - mountPath: /opt/logs/
131 name: component-log
Jack Lucas6fae7632019-01-25 11:46:00 -0500132 env:
133 - name: CONSUL_HOST
134 value: consul.{{ include "common.namespace" . }}
Vijay Venkatesh Kumar694394b2020-02-20 21:50:14 +0000135 - name: {{ include "common.name" . }}-filebeat
136 env:
137 - name: POD_IP
138 valueFrom:
139 fieldRef:
140 apiVersion: v1
141 fieldPath: status.podIP
142 image: {{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}
143 imagePullPolicy: IfNotPresent
144 resources: {}
145 volumeMounts:
146 - mountPath: /var/log/onap/inventory
147 name: component-log
148 - mountPath: /usr/share/filebeat/data
149 name: filebeat-data
150 - mountPath: /usr/share/filebeat/filebeat.yml
151 name: filebeat-conf
152 subPath: filebeat.yml
Jack Lucas6fae7632019-01-25 11:46:00 -0500153 volumes:
Vijay Venkatesh Kumar694394b2020-02-20 21:50:14 +0000154 - emptyDir: {}
155 name: component-log
156 - emptyDir: {}
157 name: filebeat-data
158 - configMap:
159 defaultMode: 420
160 name: {{ include "common.fullname" . }}-filebeat-configmap
161 name: filebeat-conf
Krzysztof Opasiakbb48fc82020-05-05 11:36:30 +0200162 - name: {{ include "common.fullname" . }}-inv-config-input
Jack Lucas6fae7632019-01-25 11:46:00 -0500163 configMap:
164 name: {{ include "common.fullname" . }}-configmap
Krzysztof Opasiakbb48fc82020-05-05 11:36:30 +0200165 - name: {{ include "common.fullname" . }}-inv-config
166 emptyDir:
167 medium: Memory
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +0000168 - emptyDir: {}
169 name: tls-info
Jack Lucas6fae7632019-01-25 11:46:00 -0500170 imagePullSecrets:
171 - name: "{{ include "common.namespace" . }}-docker-registry-key"