[UUI] Update image version 16.0.1 of components of UUI
[oom.git] / kubernetes / aai / components / aai-babel / templates / deployment.yaml
index bd6b8c7..57f770b 100644 (file)
@@ -2,6 +2,7 @@
 # Copyright © 2018 Amdocs, AT&T
 # Modifications Copyright © 2018 Bell Canada
 # Modifications Copyright © 2020,2021 Orange
+# Modifications Copyright © 2023 Nordix Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 
 apiVersion: apps/v1
 kind: Deployment
-metadata:
-  name: {{ include "common.fullname" . }}
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ include "common.release" . }}
-    heritage: {{ .Release.Service }}
+metadata: {{- include "common.resourceMetadata" (dict "annotations" .Values.annotations "dot" .) | nindent 2 }}
 spec:
-  selector:
-    matchLabels:
-      app: {{ include "common.name" . }}
+  selector: {{- include "common.selectors" . | nindent 4 }}
+  {{- if .Values.debug.enabled }}
+  replicas: 1
+  {{- else }}
   replicas: {{ .Values.replicaCount }}
+  {{- end }}
+  revisionHistoryLimit: {{ .Values.revisionHistoryLimit }}
+  strategy:
+    type: {{ .Values.updateStrategy.type }}
+    {{- if (eq "RollingUpdate" .Values.updateStrategy.type) }}
+    rollingUpdate:
+      maxUnavailable: {{ .Values.updateStrategy.maxUnavailable }}
+      maxSurge: {{ .Values.updateStrategy.maxSurge }}
+    {{- end }}
   template:
-    metadata:
-      labels:
-        app: {{ include "common.name" . }}
-        release: {{ include "common.release" . }}
+    metadata: {{- include "common.templateMetadata" . | nindent 6 }}
     spec:
-      initContainers:  {{ include "common.certInitializer.initContainer" . | nindent 6 }}
+      {{ include "common.podSecurityContext" . | indent 6 | trim }}
       containers:
         - name: {{ include "common.name" . }}
           image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-          {{- if .Values.global.aafEnabled }}
-          command:
-          - sh
-          args:
-          - -c
-          - |
-            echo "*** retrieve Truststore and Keystore password"
-            export $(cat {{ .Values.certInitializer.credsPath }}/mycreds.prop | xargs -0)
-            echo "*** actual launch of AAI Babel"
-            /bin/bash /opt/app/babel/bin/start.sh
-          {{- end }}
+          {{ include "common.containerSecurityContext" . | indent 10 | trim }}
           ports:
-          - containerPort: {{ .Values.service.internalPort }}
-          # disable liveness probe when breakpoints set in debugger
-          # so K8s doesn't restart unresponsive container
-          {{ if .Values.liveness.enabled }}
+            {{- if .Values.debug.enabled }}
+            - containerPort: {{ .Values.debug.port }}
+              name: {{ .Values.debug.portName }}
+            {{- end }}
+            {{- if .Values.profiling.enabled }}
+            - containerPort: {{ .Values.profiling.port }}
+              name: {{ .Values.profiling.portName }}
+            {{- end }}
+            {{ include "common.containerPorts" . | nindent 12  }}
+          # disable liveness probe when
+          # debugging.enabled=true or profiling.enabled=true
+          {{- if and .Values.liveness.enabled (not (or .Values.debug.enabled .Values.profiling.enabled)) }}
           livenessProbe:
             tcpSocket:
               port: {{ .Values.service.internalPort }}
@@ -70,12 +69,19 @@ spec:
             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
             periodSeconds: {{ .Values.readiness.periodSeconds }}
           env:
+            - name: KEY_STORE_PASSWORD
+              value: NotUsed
             - name: CONFIG_HOME
               value: /opt/app/babel/config
-          volumeMounts:  {{ include "common.certInitializer.volumeMount" . | nindent 10 }}
-          - mountPath: /etc/localtime
-            name: localtime
-            readOnly: true
+            {{- if .Values.profiling.enabled }}
+            - name: JVM_OPTS
+              value: '{{ join " " .Values.profiling.args }}'
+            {{- end }}
+            {{- if .Values.debug.enabled }}
+            - name: JVM_OPTS
+              value: {{ .Values.debug.args | quote }}
+            {{- end }}
+          volumeMounts:
           - mountPath: /opt/app/babel/config/application.properties
             name: config
             subPath: application.properties
@@ -95,8 +101,11 @@ spec:
           - mountPath: /opt/app/babel/config/logback.xml
             name: config
             subPath: logback.xml
-          resources:
-{{ include "common.resources" . }}
+          - mountPath: /opt/app/babel/logs
+            name: babel-logs
+          - mountPath: /tmp
+            name: tmp
+          resources: {{ include "common.resources" . | nindent 12 }}
       {{- if .Values.nodeSelector }}
       nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 8 }}
@@ -109,10 +118,7 @@ spec:
         # side car containers
       {{ include "common.log.sidecar" . | nindent 8 }}
       serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
-      volumes: {{ include "common.certInitializer.volumes" . | nindent 8 }}
-        - name: localtime
-          hostPath:
-            path: /etc/localtime
+      volumes:
         - name: config
           configMap:
             name: {{ include "common.fullname" . }}-configmap
@@ -120,8 +126,14 @@ spec:
           secret:
             secretName: {{ include "common.fullname" . }}-babel-secrets
         - name: logs
-          emptyDir: {}
+          emptyDir:
+            sizeLimit: {{ .Values.volumes.artifactDataSizeLimit }}
+        - name: tmp
+          emptyDir:
+            sizeLimit: {{ .Values.volumes.tmpSizeLimit }}
+        - name: babel-logs
+          emptyDir:
+            sizeLimit: {{ .Values.volumes.babelLogsSizeLimit }}
         {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix .)) | nindent 8 }}
 
-      imagePullSecrets:
-      - name: "{{ include "common.namespace" . }}-docker-registry-key"
+      {{- include "common.imagePullSecrets" . | nindent 6 }}