[CPS] Remove duplicate configuration 31/120431/11
authorRenu Kumari <renu.kumari@bell.ca>
Mon, 12 Apr 2021 12:36:27 +0000 (08:36 -0400)
committerSylvain Desbureaux <sylvain.desbureaux@orange.com>
Thu, 29 Apr 2021 17:18:42 +0000 (17:18 +0000)
1. Introduced spring profiles to override default properties value
2. Added config.additional to provide an ability to add properties
   without changing chart

Issue-ID: CPS-320
Signed-off-by: Renu Kumari <renu.kumari@bell.ca>
Change-Id: If621ad7c5f69f3398a8eae54d5fa6c563cfcba22

kubernetes/cps/resources/config/application-helm.yml [moved from kubernetes/cps/resources/config/application.yml with 89% similarity]
kubernetes/cps/templates/deployment.yaml
kubernetes/cps/values.yaml

@@ -50,7 +50,7 @@ spring:
 
   liquibase:
     change-log: classpath:changelog/changelog-master.yaml
-    labels: ${LIQUIBASE_LABELS}
+    labels: {{ .Values.config.liquibaseLabels }}
 
 security:
   # comma-separated uri patterns which do not require authorization
@@ -79,3 +79,9 @@ logging:
   level:
     org:
       springframework: {{ .Values.logging.level }}
+
+{{- if .Values.config.additional }}
+{{ toYaml .Values.config.additional | nindent 2 }}
+{{- end }}
+
+# Last empty line is required otherwise the last property will be missing from application.yml file in the pod.
index 861782a..61877c3 100755 (executable)
@@ -74,6 +74,9 @@ spec:
             path: {{ .Values.readiness.path }}
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
+        env:
+          - name: SPRING_PROFILES_ACTIVE
+            value: {{ .Values.config.spring.profile }}
         resources: {{ include "common.resources" . | nindent 10 }}
         {{- if .Values.nodeSelector }}
         nodeSelector: {{ toYaml .Values.nodeSelector | nindent 12 }}
@@ -82,8 +85,8 @@ spec:
         affinity: {{ toYaml .Values.affinity | nindent 12 }}
         {{- end }}
         volumeMounts:
-          - mountPath: /app/resources/application.yml
-            subPath: application.yml
+          - mountPath: /app/resources/application-helm.yml
+            subPath: application-helm.yml
             name: init-data
           - mountPath: /app/resources/logback.xml
             subPath: logback.xml
index ea4639f..2312a49 100755 (executable)
@@ -127,8 +127,16 @@ config:
 
   # REST API basic authentication credentials (passsword is generated if not provided)
   appUserName: cpsuser
+  spring:
+    profile: helm
   #appUserPassword:
 
+# Any new property can be added in the env by setting in overrides in the format mentioned below
+# All the added properties must be in "key: value" format insead of yaml.
+#  additional:
+#    spring.config.max-size: 200
+#    spring.config.min-size: 10
+
 logging:
   level: INFO
   path: /tmp