blob: 2bfb01d970558066cdff56fc5bd7f8246cc7c2f4 [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:
37 - name: {{ include "common.name" . }}-readiness
38 image: {{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}
39 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
40 command:
41 - /root/ready.py
42 args:
43 - --container-name
44 - {{ .Values.postgres.nameOverride }}
45 - "-t"
46 - "15"
47 env:
48 - name: NAMESPACE
49 valueFrom:
50 fieldRef:
51 apiVersion: v1
52 fieldPath: metadata.namespace
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +000053 - name: init-tls
54 env:
55 - name: POD_IP
56 valueFrom:
57 fieldRef:
58 apiVersion: v1
59 fieldPath: status.podIP
60 image: {{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}
61 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
62 resources: {}
63 volumeMounts:
64 - mountPath: /opt/tls/shared
65 name: tls-info
Jack Lucas6fae7632019-01-25 11:46:00 -050066 containers:
67 - name: {{ include "common.name" . }}
Jack Lucas4c4ba442019-02-12 17:09:46 -050068 image: "{{ include "common.repository" . }}/{{ .Values.image }}"
Jack Lucas6fae7632019-01-25 11:46:00 -050069 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
Jack Lucas4c4ba442019-02-12 17:09:46 -050070 # Assumes that the Docker image is built with ENTRYPOINT set to
71 # ["java", "-jar", "/opt/inventory-api-x.y.z.jar", "server"]
72 # where "x.y.z" is the version number (matches the Docker image version number)
73 # The arg below adds a parameter, the path to a config file.
74 # This tells the inventory-api app to get its configuration from the file
75 # rather than querying Consul.
Jack Lucas6fae7632019-01-25 11:46:00 -050076 args:
Jack Lucas6fae7632019-01-25 11:46:00 -050077 - "/opt/config.json"
78 resources:
79{{ include "common.resources" . | indent 12 }}
80 ports:
81 - containerPort: {{ .Values.service.internalPort }}
82 # disable liveness probe when breakpoints set in debugger
83 # so K8s doesn't restart unresponsive container
84 {{- if eq .Values.liveness.enabled true }}
85 livenessProbe:
86 tcpSocket:
87 port: {{ .Values.service.internalPort }}
88 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
89 periodSeconds: {{ .Values.liveness.periodSeconds }}
90 {{ end }}
91 readinessProbe:
92 httpGet:
93 path: {{ .Values.readiness.path }}
94 port: {{ .Values.service.internalPort }}
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +000095 scheme: {{ .Values.readiness.scheme }}
Jack Lucas6fae7632019-01-25 11:46:00 -050096 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
97 periodSeconds: {{ .Values.readiness.periodSeconds }}
98 volumeMounts:
99 - name: {{ include "common.fullname" . }}-inv-config
100 mountPath: /opt/config.json
101 subPath: config.json
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +0000102 - mountPath: /opt/cert/
103 name: tls-info
Jack Lucas6fae7632019-01-25 11:46:00 -0500104 env:
105 - name: CONSUL_HOST
106 value: consul.{{ include "common.namespace" . }}
107 volumes:
108 - name: {{ include "common.fullname" . }}-inv-config
109 configMap:
110 name: {{ include "common.fullname" . }}-configmap
Vijay Venkatesh Kumara4535c92019-08-02 01:45:23 +0000111 - emptyDir: {}
112 name: tls-info
Jack Lucas6fae7632019-01-25 11:46:00 -0500113 imagePullSecrets:
114 - name: "{{ include "common.namespace" . }}-docker-registry-key"