blob: 85b1111e654a7d75f6975dbd73c289dc80a49121 [file] [log] [blame]
Sylvain Desbureaux47eb4d22020-12-10 12:15:27 +01001{{/*
Sylvain Desbureaux70070412020-11-09 21:58:48 +01002# Copyright (c) 2018 Amdocs, Bell Canada, AT&T
Sylvain Desbureaux5b651322020-12-07 15:34:15 +01003# Modifications Copyright (c) 2020 Nokia, Orange
Sylvain Desbureaux70070412020-11-09 21:58:48 +01004#
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.
Sylvain Desbureaux47eb4d22020-12-10 12:15:27 +010016*/}}
Sylvain Desbureaux70070412020-11-09 21:58:48 +010017
18apiVersion: apps/v1
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 "+" "_" }}
26 release: {{ include "common.release" . }}
27 heritage: {{ .Release.Service }}
28spec:
29 selector:
30 matchLabels:
31 app: {{ include "common.name" . }}
32 replicas: {{ .Values.replicaCount }}
33 template:
34 metadata:
35 labels:
36 app: {{ include "common.name" . }}
37 release: {{ include "common.release" . }}
38 name: {{ include "common.release" . }}
39 annotations:
40 checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
41 spec:
Sylvain Desbureaux87f49af2020-12-15 11:56:51 +010042 initContainers: {{ include "common.certInitializer.initContainer" . | nindent 6 }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +010043 - command:
44 - /app/ready.py
45 args:
46 - --container-name
47 - aai-resources
48 - --container-name
49 - aai-traversal
50 - --container-name
51 - aai-graphadmin
52 env:
53 - name: NAMESPACE
54 valueFrom:
55 fieldRef:
56 apiVersion: v1
57 fieldPath: metadata.namespace
Sylvain Desbureaux5b651322020-12-07 15:34:15 +010058 image: {{ include "repositoryGenerator.image.readiness" . }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +010059 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
60 name: {{ include "common.name" . }}-readiness
61 containers:
62 - name: {{ include "common.name" . }}
Sylvain Desbureaux5b651322020-12-07 15:34:15 +010063 image: "{{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image }}"
Sylvain Desbureaux70070412020-11-09 21:58:48 +010064 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
65 volumeMounts:
66 - mountPath: /etc/localtime
67 name: localtime
68 readOnly: true
69 - mountPath: /dev/log
70 name: aai-service-log
71 - mountPath: /usr/local/etc/haproxy/haproxy.cfg
72 {{ if .Values.global.installSidecarSecurity }}
73 subPath: haproxy-pluggable-security.cfg
74 {{ else }}
75 subPath: haproxy.cfg
76 {{ end }}
77 name: haproxy-cfg
Sylvain Desbureaux87f49af2020-12-15 11:56:51 +010078 {{- include "common.certInitializer.volumeMount" . | nindent 8 }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +010079 ports:
80 - containerPort: {{ .Values.service.internalPort }}
osk1146127fd7d82021-06-18 00:51:17 +020081 - containerPort: {{ .Values.service.internalPlainPort }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +010082 # 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:
osk1146127fd7d82021-06-18 00:51:17 +020087 port: {{ (eq "true" (include "common.needTLS" .)) | ternary .Values.service.internalPort .Values.service.internalPlainPort }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +010088 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
89 periodSeconds: {{ .Values.liveness.periodSeconds }}
90 {{ end -}}
91 readinessProbe:
92 httpGet:
93 path: /aai/util/echo
osk1146127fd7d82021-06-18 00:51:17 +020094 port: {{ (eq "true" (include "common.needTLS" .)) | ternary .Values.service.internalPort .Values.service.internalPlainPort }}
95 #scheme: HTTPS
96 scheme: {{ (eq "true" (include "common.needTLS" .)) | ternary "HTTPS" "HTTP" }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +010097 httpHeaders:
98 - name: X-FromAppId
99 value: OOM_ReadinessCheck
100 {{ if .Values.global.installSidecarSecurity }}
101 - name: Authorization
102 value: Basic YWFpQGFhaS5vbmFwLm9yZzpkZW1vMTIzNDU2IQ==
103 {{ end }}
104 - name: X-TransactionId
105 value: OOM_ReadinessCheck_TID
106 - name: Accept
107 value: application/json
108 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
109 periodSeconds: {{ .Values.readiness.periodSeconds }}
110 resources:
111{{ include "common.resources" . }}
112 {{- if .Values.nodeSelector }}
113 nodeSelector:
114{{ toYaml .Values.nodeSelector | indent 8 }}
115 {{- end -}}
116 {{- if .Values.affinity }}
117 affinity:
118{{ toYaml .Values.affinity | indent 8 }}
119 {{- end }}
120
121 volumes:
122 - name: localtime
123 hostPath:
124 path: /etc/localtime
125 - name: aai-service-log
126 hostPath:
127 path: "/dev/log"
128 - name: haproxy-cfg
129 configMap:
130 name: aai-deployment-configmap
Sylvain Desbureaux87f49af2020-12-15 11:56:51 +0100131 {{ include "common.certInitializer.volumes" . | nindent 8 }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +0100132 imagePullSecrets:
133 - name: "{{ include "common.namespace" . }}-docker-registry-key"