Add template support for pod labels and annotations
[pti/o2.git] / charts / templates / deployment.yaml
index d9ebf10..72e3580 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2021 Wind River Systems, Inc.
+# Copyright (C) 2021-2023 Wind River Systems, Inc.
 #
 #  Licensed under the Apache License, Version 2.0 (the "License");
 #  you may not use this file except in compliance with the License.
@@ -29,19 +29,28 @@ spec:
     metadata:
       labels:
         app: o2api
+        {{- with .Values.podLabels }}
+        {{- toYaml . | nindent 8 }}
+        {{- end }}
+      annotations:
+        {{- with .Values.podAnnotations }}
+        {{- toYaml . | nindent 8 }}
+        {{- end }}
     spec:
       serviceAccountName: {{ .Values.o2ims.serviceaccountname }}
-      # imagePullSecrets:
-      #   - name: {{ .Values.o2ims.imagePullSecrets }}
+      {{- if .Values.imagePullSecrets }}
       imagePullSecrets:
-        - name: {{ .Values.o2ims.serviceaccountname }}-registry-secret
+        {{- range .Values.imagePullSecrets }}
+        - name: {{ . }}
+        {{- end }}
+      {{- end }}
 {{- if .Values.o2ims.affinity }}
       affinity:
 {{ toYaml .Values.o2ims.affinity | indent 8 }}
 {{- end }}
       containers:
         - name: postgres
-          image: postgres:9.6
+          image: "{{ .Values.o2ims.images.tags.postgres }}"
           ports:
             - containerPort: 5432
           env:
@@ -49,20 +58,24 @@ spec:
               value: o2ims123
             - name: POSTGRES_USER
               value: o2ims
+            - name: PGDATA
+              value: /var/lib/postgresql/data/pgdata
           command: ["/bin/bash", "/opt/postgres_start.sh"]
           volumeMounts:
             - name: scripts
               mountPath: /opt
+            - name: db-pv
+              mountPath: /var/lib/postgresql/data
         - name: redis
-          image: redis:alpine
+          image: "{{ .Values.o2ims.images.tags.redis }}"
           ports:
             - containerPort: 6379
         - name: o2pubsub
-          image: "{{ .Values.o2ims.image.repository }}:{{ .Values.o2ims.image.tag }}"
+          image: "{{ .Values.o2ims.images.tags.o2service }}"
           command: ["/bin/bash", "/opt/o2pubsub_start.sh"]
           env:
             - name: DB_HOST
-              value: postgres
+              value: localhost
             - name: DB_PASSWORD
               value: o2ims123
             - name: LOGGING_CONFIG_LEVEL
@@ -76,20 +89,27 @@ spec:
             - name: PYTHONDONTWRITEBYTECODE
               value: "1"
             - name: REDIS_HOST
-              value: redis
+              value: localhost
             - name: K8S_KUBECONFIG
               value: {{ .Values.ocloud.K8S_KUBECONFIG }}
           volumeMounts:
             - name: scripts
               mountPath: /opt
+            - name: applicationconfig
+              mountPath: /configs/o2app.conf
+              subPath: config.json
+              readOnly: true
+            - name: smocacrt
+              mountPath: /configs/smoca.crt
+              subPath: config.json
         - name: watcher
-          image: "{{ .Values.o2ims.image.repository }}:{{ .Values.o2ims.image.tag }}"
+          image: "{{ .Values.o2ims.images.tags.o2service }}"
           command: ["/bin/bash", "/opt/o2watcher_start.sh"]
           env:
             - name: API_HOST_EXTERNAL_FLOATING
               value: {{ .Values.ocloud.API_HOST_EXTERNAL_FLOATING }}
             - name: DB_HOST
-              value: postgres
+              value: localhost
             - name: DB_PASSWORD
               value: o2ims123
             - name: LOGGING_CONFIG_LEVEL
@@ -103,25 +123,29 @@ spec:
             - name: PYTHONDONTWRITEBYTECODE
               value: "1"
             - name: REDIS_HOST
-              value: redis
+              value: localhost
           volumeMounts:
             - name: scripts
               mountPath: /opt
+            - name: applicationconfig
+              mountPath: /configs/o2app.conf
+              subPath: config.json
+              readOnly: true
         - name: o2api
-          image: "{{ .Values.o2ims.image.repository }}:{{ .Values.o2ims.image.tag }}"
+          image: "{{ .Values.o2ims.images.tags.o2service }}"
           ports:
             - containerPort: 80
           env:
             - name: API_HOST_EXTERNAL_FLOATING
               value: {{ .Values.ocloud.API_HOST_EXTERNAL_FLOATING }}
             - name: DB_HOST
-              value: postgres
+              value: localhost
             - name: DB_PASSWORD
               value: o2ims123
-            - name: FLASK_APP
-              value: /src/o2app/entrypoints/flask_application.py
-            - name: FLASK_DEBUG
-              value: {{ .Values.o2ims.logginglevel }}
+            - name: FLASK_APP
+              value: /src/o2app/entrypoints/flask_application.py
+            - name: FLASK_DEBUG
+              value: {{ .Values.o2ims.logginglevel }}
             - name: LOGGING_CONFIG_LEVEL
               value: {{ .Values.o2ims.logginglevel }}
             - name: OS_AUTH_URL
@@ -132,29 +156,32 @@ spec:
             - name: PYTHONUNBUFFERED
               value: "1"
             - name: REDIS_HOST
-              value: redis
+              value: localhost
             - name: HELM_USER_PASSWD
               value: {{ .Values.ocloud.HELM_USER_PASSWD }}
           command: ["/bin/bash", "/opt/o2api_start.sh"]
           volumeMounts:
             - name: scripts
               mountPath: /opt
-            - name: configs
-              mountPath: /configs
+            {{- if .Values.o2dms.helm_cli_enable }}
+            - name: share
+              mountPath: /share
+            {{- end }}
             - name: applicationconfig
               mountPath: /configs/o2app.conf
               subPath: config.json
               readOnly: true
-            - name: caconfig
-              mountPath: /configs/ca.cert
+            - name: servercrt
+              mountPath: /configs/server.crt
               subPath: config.json
               readOnly: true
-            - name: serverkeyconfig
+            - name: serverkey
               mountPath: /configs/server.key
               subPath: config.json
               readOnly: true
+        {{- if .Values.o2dms.helm_cli_enable }}
         - name: helmcli
-          image: "{{ .Values.o2ims.image.repository }}:{{ .Values.o2ims.image.tag }}"
+          image: "{{ .Values.o2ims.images.tags.o2service }}"
           ports:
             - containerPort: 22
           env:
@@ -166,20 +193,30 @@ spec:
           volumeMounts:
             - name: scripts
               mountPath: /opt
+            - name: share
+              mountPath: /share
+        {{- end }}
       volumes:
         - name: scripts
           configMap:
             name: {{ .Chart.Name }}-scripts-configmap
-        - name: configs
+        {{- if .Values.o2dms.helm_cli_enable }}
+        - name: share
           emptyDir: {}
+        {{- end }}
         - configMap:
             name: {{ .Chart.Name }}-application-config
           name: applicationconfig
         - configMap:
-            name: {{ .Chart.Name }}-serverkeyconfig
-          name: serverkeyconfig
+            name: {{ .Chart.Name }}-serverkey
+          name: serverkey
+        - configMap:
+            name: {{ .Chart.Name }}-servercrt
+          name: servercrt
         - configMap:
-            name: {{ .Chart.Name }}-caconfig
-          name: caconfig
+            name: {{ .Chart.Name }}-smocacrt
+          name: smocacrt
+        - name: db-pv
+          persistentVolumeClaim:
+            claimName: {{ .Chart.Name }}-db-pv
 ---
-