blob: 47b331272668c54ba917d3e01c4b94472059f7f1 [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
18apiVersion: extensions/v1beta1
19kind: 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
30 template:
31 metadata:
32 labels:
33 app: {{ include "common.name" . }}
Krzysztof Opasiak137d7cc2020-01-24 23:49:11 +010034 release: {{ include "common.release" . }}
Jack Lucas6fae7632019-01-25 11:46:00 -050035 spec:
36 initContainers:
Krzysztof Opasiakbb48fc82020-05-05 11:36:30 +020037 - command:
38 - sh
39 args:
40 - -c
41 - "cd /config-input && for PFILE in `find . -not -type d | grep -v -F ..`; do envsubst <${PFILE} >/config/${PFILE}; done"
42 env:
43 - name: PG_USER
44 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "login") | indent 12 }}
45 - name: PG_PASSWORD
46 {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "pg-user-creds" "key" "password") | indent 12 }}
47 volumeMounts:
48 - mountPath: /config-input
49 name: {{ include "common.fullname" . }}-inv-config-input
50 - mountPath: /config
51 name: {{ include "common.fullname" . }}-inv-config
52 image: "{{ .Values.global.envsubstImage }}"
53 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
54 name: {{ include "common.name" . }}-update-config
55
Jack Lucas6fae7632019-01-25 11:46:00 -050056 - name: {{ include "common.name" . }}-readiness
57 image: {{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}
58 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
59 command:
60 - /root/ready.py
61 args:
62 - --container-name
63 - {{ .Values.postgres.nameOverride }}
Jack Lucas8c3463e2020-06-12 18:36:55 -040064 - --container-name
65 - aaf-cm
Jack Lucas6fae7632019-01-25 11:46:00 -050066 - "-t"
67 - "15"
68 env:
69 - name: NAMESPACE
70 valueFrom:
71 fieldRef:
72 apiVersion: v1
73 fieldPath: metadata.namespace
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +000074 - name: init-tls
75 env:
Jack Lucasc6861312020-03-03 15:57:59 -050076 - name: aaf_locator_fqdn
77 value: dcae
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +000078 - name: POD_IP
79 valueFrom:
80 fieldRef:
81 apiVersion: v1
82 fieldPath: status.podIP
83 image: {{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}
84 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
85 resources: {}
86 volumeMounts:
Jack Lucasc6861312020-03-03 15:57:59 -050087 - mountPath: /opt/app/osaaf
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +000088 name: tls-info
Jack Lucas6fae7632019-01-25 11:46:00 -050089 containers:
90 - name: {{ include "common.name" . }}
Jack Lucas4c4ba442019-02-12 17:09:46 -050091 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
Jack Lucas6fae7632019-01-25 11:46:00 -050092 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
Jack Lucas4c4ba442019-02-12 17:09:46 -050093 # Assumes that the Docker image is built with ENTRYPOINT set to
94 # ["java", "-jar", "/opt/inventory-api-x.y.z.jar", "server"]
95 # where "x.y.z" is the version number (matches the Docker image version number)
96 # The arg below adds a parameter, the path to a config file.
97 # This tells the inventory-api app to get its configuration from the file
98 # rather than querying Consul.
Jack Lucas6fae7632019-01-25 11:46:00 -050099 args:
Jack Lucas6fae7632019-01-25 11:46:00 -0500100 - "/opt/config.json"
101 resources:
102{{ include "common.resources" . | indent 12 }}
103 ports:
104 - containerPort: {{ .Values.service.internalPort }}
105 # disable liveness probe when breakpoints set in debugger
106 # so K8s doesn't restart unresponsive container
107 {{- if eq .Values.liveness.enabled true }}
108 livenessProbe:
109 tcpSocket:
110 port: {{ .Values.service.internalPort }}
111 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
112 periodSeconds: {{ .Values.liveness.periodSeconds }}
113 {{ end }}
114 readinessProbe:
115 httpGet:
116 path: {{ .Values.readiness.path }}
117 port: {{ .Values.service.internalPort }}
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +0000118 scheme: {{ .Values.readiness.scheme }}
Jack Lucas6fae7632019-01-25 11:46:00 -0500119 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
120 periodSeconds: {{ .Values.readiness.periodSeconds }}
121 volumeMounts:
122 - name: {{ include "common.fullname" . }}-inv-config
123 mountPath: /opt/config.json
124 subPath: config.json
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +0000125 - mountPath: /opt/cert/
126 name: tls-info
Vijay Venkatesh Kumar694394b2020-02-20 21:50:14 +0000127 - mountPath: /opt/logs/
128 name: component-log
Jack Lucas6fae7632019-01-25 11:46:00 -0500129 env:
130 - name: CONSUL_HOST
131 value: consul.{{ include "common.namespace" . }}
Vijay Venkatesh Kumar694394b2020-02-20 21:50:14 +0000132 - name: {{ include "common.name" . }}-filebeat
133 env:
134 - name: POD_IP
135 valueFrom:
136 fieldRef:
137 apiVersion: v1
138 fieldPath: status.podIP
139 image: {{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}
140 imagePullPolicy: IfNotPresent
141 resources: {}
142 volumeMounts:
143 - mountPath: /var/log/onap/inventory
144 name: component-log
145 - mountPath: /usr/share/filebeat/data
146 name: filebeat-data
147 - mountPath: /usr/share/filebeat/filebeat.yml
148 name: filebeat-conf
149 subPath: filebeat.yml
Jack Lucas6fae7632019-01-25 11:46:00 -0500150 volumes:
Vijay Venkatesh Kumar694394b2020-02-20 21:50:14 +0000151 - emptyDir: {}
152 name: component-log
153 - emptyDir: {}
154 name: filebeat-data
155 - configMap:
156 defaultMode: 420
157 name: {{ include "common.fullname" . }}-filebeat-configmap
158 name: filebeat-conf
Krzysztof Opasiakbb48fc82020-05-05 11:36:30 +0200159 - name: {{ include "common.fullname" . }}-inv-config-input
Jack Lucas6fae7632019-01-25 11:46:00 -0500160 configMap:
161 name: {{ include "common.fullname" . }}-configmap
Krzysztof Opasiakbb48fc82020-05-05 11:36:30 +0200162 - name: {{ include "common.fullname" . }}-inv-config
163 emptyDir:
164 medium: Memory
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +0000165 - emptyDir: {}
166 name: tls-info
Jack Lucas6fae7632019-01-25 11:46:00 -0500167 imagePullSecrets:
168 - name: "{{ include "common.namespace" . }}-docker-registry-key"