blob: 2722412bb6b4ed28a8ee874d64103e80bb2c6d5d [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
efiacord12c1672023-03-23 12:10:50 +00004# Modifications Copyright © 2023 Nordix Foundation
Sylvain Desbureaux70070412020-11-09 21:58:48 +01005#
6# Licensed under the Apache License, Version 2.0 (the "License");
7# you may not use this file except in compliance with the License.
8# You may obtain a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS,
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15# See the License for the specific language governing permissions and
16# limitations under the License.
Sylvain Desbureaux47eb4d22020-12-10 12:15:27 +010017*/}}
Sylvain Desbureaux70070412020-11-09 21:58:48 +010018
19apiVersion: apps/v1
20kind: Deployment
21metadata:
22 name: {{ include "common.fullname" . }}
23 namespace: {{ include "common.namespace" . }}
24 labels:
25 app: {{ include "common.name" . }}
26 chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
27 release: {{ include "common.release" . }}
28 heritage: {{ .Release.Service }}
29spec:
30 selector:
31 matchLabels:
32 app: {{ include "common.name" . }}
33 replicas: {{ .Values.replicaCount }}
Rommel Pawar63db7162022-11-16 10:11:24 -080034 strategy:
35 type: {{ .Values.updateStrategy.type }}
36 {{- if (eq "RollingUpdate" .Values.updateStrategy.type) }}
37 rollingUpdate:
38 maxUnavailable: {{ .Values.updateStrategy.maxUnavailable }}
39 maxSurge: {{ .Values.updateStrategy.maxSurge }}
40 {{- end }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +010041 template:
42 metadata:
43 labels:
44 app: {{ include "common.name" . }}
45 release: {{ include "common.release" . }}
46 name: {{ include "common.release" . }}
47 annotations:
48 checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
49 spec:
Rommel Pawar63db7162022-11-16 10:11:24 -080050 terminationGracePeriodSeconds: {{ .Values.service.terminationGracePeriodSeconds }}
efiacord12c1672023-03-23 12:10:50 +000051 initContainers:
Sylvain Desbureaux70070412020-11-09 21:58:48 +010052 - command:
53 - /app/ready.py
54 args:
55 - --container-name
56 - aai-resources
57 - --container-name
58 - aai-traversal
59 - --container-name
60 - aai-graphadmin
61 env:
62 - name: NAMESPACE
63 valueFrom:
64 fieldRef:
65 apiVersion: v1
66 fieldPath: metadata.namespace
Sylvain Desbureaux5b651322020-12-07 15:34:15 +010067 image: {{ include "repositoryGenerator.image.readiness" . }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +010068 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
69 name: {{ include "common.name" . }}-readiness
leila8bd5bf32022-11-16 19:42:09 -050070 resources:
71 requests:
72 memory: {{ .Values.haproxy.initContainers.resources.memory }}
73 cpu: {{ .Values.haproxy.initContainers.resources.cpu }}
74 limits:
75 memory: {{ .Values.haproxy.initContainers.resources.memory }}
76 cpu: {{ .Values.haproxy.initContainers.resources.cpu }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +010077 containers:
78 - name: {{ include "common.name" . }}
Sylvain Desbureaux5b651322020-12-07 15:34:15 +010079 image: "{{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.image }}"
Sylvain Desbureaux70070412020-11-09 21:58:48 +010080 imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
81 volumeMounts:
82 - mountPath: /etc/localtime
83 name: localtime
84 readOnly: true
85 - mountPath: /dev/log
86 name: aai-service-log
87 - mountPath: /usr/local/etc/haproxy/haproxy.cfg
88 {{ if .Values.global.installSidecarSecurity }}
89 subPath: haproxy-pluggable-security.cfg
90 {{ else }}
91 subPath: haproxy.cfg
92 {{ end }}
93 name: haproxy-cfg
Sylvain Desbureaux70070412020-11-09 21:58:48 +010094 ports:
95 - containerPort: {{ .Values.service.internalPort }}
leila8bd5bf32022-11-16 19:42:09 -050096 - containerPort: {{ .Values.metricsService.internalPort }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +010097 # disable liveness probe when breakpoints set in debugger
98 # so K8s doesn't restart unresponsive container
99 {{- if eq .Values.liveness.enabled true }}
100 livenessProbe:
101 tcpSocket:
Andreas Geissler5846a6e2023-03-30 17:26:14 +0200102 port: {{ .Values.service.internalPort }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +0100103 initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
104 periodSeconds: {{ .Values.liveness.periodSeconds }}
105 {{ end -}}
106 readinessProbe:
107 httpGet:
108 path: /aai/util/echo
Andreas Geissler5846a6e2023-03-30 17:26:14 +0200109 port: {{ .Values.service.internalPort }}
efiacord12c1672023-03-23 12:10:50 +0000110 scheme: HTTP
Sylvain Desbureaux70070412020-11-09 21:58:48 +0100111 httpHeaders:
112 - name: X-FromAppId
113 value: OOM_ReadinessCheck
114 {{ if .Values.global.installSidecarSecurity }}
115 - name: Authorization
116 value: Basic YWFpQGFhaS5vbmFwLm9yZzpkZW1vMTIzNDU2IQ==
117 {{ end }}
118 - name: X-TransactionId
119 value: OOM_ReadinessCheck_TID
120 - name: Accept
121 value: application/json
122 initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
123 periodSeconds: {{ .Values.readiness.periodSeconds }}
miroslavmasaryka7ac7f02023-03-01 14:12:26 +0100124 resources: {{ include "common.resources" . | nindent 10 }}
Sylvain Desbureaux70070412020-11-09 21:58:48 +0100125 {{- if .Values.nodeSelector }}
126 nodeSelector:
127{{ toYaml .Values.nodeSelector | indent 8 }}
128 {{- end -}}
129 {{- if .Values.affinity }}
130 affinity:
131{{ toYaml .Values.affinity | indent 8 }}
132 {{- end }}
farida azmyd8937332021-03-09 12:20:42 +0200133 serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
Sylvain Desbureaux70070412020-11-09 21:58:48 +0100134 volumes:
135 - name: localtime
136 hostPath:
137 path: /etc/localtime
138 - name: aai-service-log
139 hostPath:
140 path: "/dev/log"
141 - name: haproxy-cfg
142 configMap:
143 name: aai-deployment-configmap
Sylvain Desbureaux70070412020-11-09 21:58:48 +0100144 imagePullSecrets:
145 - name: "{{ include "common.namespace" . }}-docker-registry-key"