Merge "[POLICY] Update docker images to latest versions" master
authorLukasz Rajewski <lukasz.rajewski@t-mobile.pl>
Thu, 23 May 2024 13:54:59 +0000 (13:54 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 23 May 2024 13:54:59 +0000 (13:54 +0000)
62 files changed:
kubernetes/aai/components/aai-babel/resources/config/logback.xml
kubernetes/aai/components/aai-babel/values.yaml
kubernetes/aai/components/aai-graphadmin/resources/config/application.properties
kubernetes/aai/components/aai-graphadmin/resources/config/logback.xml
kubernetes/aai/components/aai-graphadmin/templates/aai-graph-kafka-user.yml [new file with mode: 0644]
kubernetes/aai/components/aai-graphadmin/templates/deployment.yaml
kubernetes/aai/components/aai-graphadmin/values.yaml
kubernetes/aai/components/aai-modelloader/resources/application.properties [new file with mode: 0644]
kubernetes/aai/components/aai-modelloader/resources/config/log/logback.xml
kubernetes/aai/components/aai-modelloader/templates/configmap.yaml
kubernetes/aai/components/aai-modelloader/templates/deployment.yaml
kubernetes/aai/components/aai-modelloader/values.yaml
kubernetes/aai/components/aai-resources/resources/config/application.properties
kubernetes/aai/components/aai-resources/resources/config/logback.xml
kubernetes/aai/components/aai-resources/templates/aai-kafka-user.yml [new file with mode: 0644]
kubernetes/aai/components/aai-resources/templates/deployment.yaml
kubernetes/aai/components/aai-resources/values.yaml
kubernetes/aai/components/aai-traversal/resources/config/application.properties
kubernetes/aai/components/aai-traversal/resources/config/logback.xml
kubernetes/aai/components/aai-traversal/templates/aai-trav-kafka-user.yml [new file with mode: 0644]
kubernetes/aai/components/aai-traversal/templates/deployment.yaml
kubernetes/aai/components/aai-traversal/values.yaml
kubernetes/aai/values.yaml
kubernetes/common/mongodb/Chart.yaml
kubernetes/common/mongodb/templates/arbiter/statefulset.yaml
kubernetes/common/mongodb/templates/backup/cronjob.yaml
kubernetes/common/mongodb/templates/hidden/statefulset.yaml
kubernetes/common/mongodb/templates/replicaset/statefulset.yaml
kubernetes/common/mongodb/templates/standalone/dep-sts.yaml
kubernetes/common/mongodb/values.yaml
kubernetes/cps/components/cps-core/resources/config/application-helm.yml
kubernetes/cps/components/cps-core/values.yaml
kubernetes/cps/components/ncmp-dmi-plugin/values.yaml
kubernetes/dcaegen2-services/components/dcae-tcagen2/Chart.yaml
kubernetes/multicloud/components/multicloud-k8s/Chart.yaml
kubernetes/nbi/Chart.yaml
kubernetes/policy/components/policy-apex-pdp/values.yaml
kubernetes/policy/components/policy-api/values.yaml
kubernetes/policy/components/policy-clamp-ac-a1pms-ppnt/values.yaml
kubernetes/policy/components/policy-clamp-ac-http-ppnt/values.yaml
kubernetes/policy/components/policy-clamp-ac-k8s-ppnt/values.yaml
kubernetes/policy/components/policy-clamp-ac-kserve-ppnt/values.yaml
kubernetes/policy/components/policy-clamp-ac-pf-ppnt/values.yaml
kubernetes/policy/components/policy-clamp-runtime-acm/values.yaml
kubernetes/policy/components/policy-distribution/values.yaml
kubernetes/policy/components/policy-drools-pdp/values.yaml
kubernetes/policy/components/policy-gui/values.yaml
kubernetes/policy/components/policy-pap/values.yaml
kubernetes/policy/components/policy-xacml-pdp/values.yaml
kubernetes/policy/values.yaml
kubernetes/portal-ng/components/portal-ng-bff/Chart.yaml
kubernetes/portal-ng/components/portal-ng-history/Chart.yaml
kubernetes/portal-ng/components/portal-ng-preferences/Chart.yaml
kubernetes/portal-ng/components/portal-ng-ui/Chart.yaml
kubernetes/portal-ng/components/portal-ng-ui/resources/assets/env.js [new file with mode: 0644]
kubernetes/portal-ng/components/portal-ng-ui/resources/assets/version.json [new file with mode: 0644]
kubernetes/portal-ng/components/portal-ng-ui/resources/default.conf [new file with mode: 0644]
kubernetes/portal-ng/components/portal-ng-ui/templates/configmap-env-js.yaml [new file with mode: 0644]
kubernetes/portal-ng/components/portal-ng-ui/templates/configmap-nginx-config.yaml [new file with mode: 0644]
kubernetes/portal-ng/components/portal-ng-ui/templates/configmap-version-json.yaml [new file with mode: 0644]
kubernetes/portal-ng/components/portal-ng-ui/templates/deployment.yaml
kubernetes/portal-ng/components/portal-ng-ui/values.yaml

index 125731c..686423b 100644 (file)
   <!-- This determines the logging level for 3rd party code -->
   <!-- ============================================================================ -->
 
-  <root level="INFO">
+  <root level={{ .Values.log.level.root | upper | quote }}>
     <appender-ref ref="asyncEELF" />
     <appender-ref ref="asyncEELFDebug" />
     <appender-ref ref="AsyncSysOut" />
index e058d82..579289a 100644 (file)
@@ -104,4 +104,6 @@ serviceAccount:
 #Log configuration
 log:
   path: /var/log/onap
+  level:
+    root: INFO
 logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
index b63cd83..83689da 100644 (file)
@@ -55,8 +55,15 @@ server.ssl.enabled=false
 
 # JMS bind address host port
 jms.bind.address=tcp://localhost:61649
-dmaap.ribbon.listOfServers=message-router.{{ include "common.namespace" . }}:3904
-dmaap.ribbon.transportType=http
+
+# dmaap is deprecated now kafka is used
+spring.kafka.producer.bootstrap-servers=${BOOTSTRAP_SERVERS}
+spring.kafka.producer.properties.security.protocol=SASL_PLAINTEXT
+spring.kafka.producer.properties.sasl.mechanism=SCRAM-SHA-512
+spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
+spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
+spring.kafka.producer.properties.sasl.jaas.config=${JAAS_CONFIG}
+spring.kafka.producer.retries=3
 
 # Schema related attributes for the oxm and edges
 # Any additional schema related attributes should start with prefix schema
index fd79f70..5825a72 100644 (file)
           <includeCallerData>true</includeCallerData>
           <appender-ref ref="translog"/>
         </appender>
-        <appender name="dmaapAAIEventConsumer" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <appender name="kafkaAAIEventConsumer" class="ch.qos.logback.core.rolling.RollingFileAppender">
           <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
             <level>WARN</level>
           </filter>
-          <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
+          <File>${logDirectory}/kafkaAAIEventConsumer/error.log</File>
           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}</fileNamePattern>
+            <fileNamePattern>${logDirectory}/kafkaAAIEventConsumer/error.log.%d{yyyy-MM-dd}</fileNamePattern>
             <maxHistory>${maxHistory}</maxHistory>
             <totalSizeCap>${totalSizeCap}</totalSizeCap>
           </rollingPolicy>
             <pattern>${"errorPattern"}</pattern>
           </encoder>
         </appender>
-        <appender name="dmaapAAIEventConsumerInfo" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <appender name="kafkaAAIEventConsumerInfo" class="ch.qos.logback.core.rolling.RollingFileAppender">
           <filter class="ch.qos.logback.classic.filter.LevelFilter">
             <level>INFO</level>
             <onMatch>ACCEPT</onMatch>
             <onMismatch>DENY</onMismatch>
           </filter>
-          <File>${logDirectory}/dmaapAAIEventConsumer/dmaap-transaction.log</File>
+          <File>${logDirectory}/kafkaAAIEventConsumer/kafka-transaction.log</File>
           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/dmaap-transaction.log.%d{yyyy-MM-dd}
+            <fileNamePattern>${logDirectory}/kafkaAAIEventConsumer/kafka-transaction.log.%d{yyyy-MM-dd}
             </fileNamePattern>
             <maxHistory>${maxHistory}</maxHistory>
             <totalSizeCap>${totalSizeCap}</totalSizeCap>
             <pattern>${debugPattern}</pattern>
           </encoder>
         </appender>
-        <appender name="dmaapAAIEventConsumerDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <appender name="kafkaAAIEventConsumerDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
           <filter class="ch.qos.logback.classic.filter.LevelFilter">
             <level>DEBUG</level>
             <onMatch>ACCEPT</onMatch>
             <onMismatch>DENY</onMismatch>
           </filter>
-          <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
+          <File>${logDirectory}/kafkaAAIEventConsumer/debug.log</File>
           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
+            <fileNamePattern>${logDirectory}/kafkaAAIEventConsumer/debug.log.%d{yyyy-MM-dd}</fileNamePattern>
             <maxHistory>${maxHistory}</maxHistory>
             <totalSizeCap>${totalSizeCap}</totalSizeCap>
           </rollingPolicy>
             <pattern>${debugPattern}</pattern>
           </encoder>
         </appender>
-        <appender name="dmaapAAIEventConsumerMetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <appender name="kafkaAAIEventConsumerMetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
           <filter class="ch.qos.logback.classic.filter.LevelFilter">
             <level>INFO</level>
             <onMatch>ACCEPT</onMatch>
             <onMismatch>DENY</onMismatch>
           </filter>
-          <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
+          <File>${logDirectory}/kafkaAAIEventConsumer/metrics.log</File>
           <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-            <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
+            <fileNamePattern>${logDirectory}/kafkaAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}</fileNamePattern>
             <maxHistory>${maxHistory}</maxHistory>
             <totalSizeCap>${totalSizeCap}</totalSizeCap>
           </rollingPolicy>
     </then>
   </if>
 
-  <logger name="org.onap.aai" level="DEBUG" additivity="false">
+  <logger name="org.onap.aai" level={{ .Values.log.level.base | upper | quote }} additivity="false">
     <if condition='property("logToFileEnabled").contains("true")'>
       <then>
         <appender-ref ref="asyncDEBUG"/>
     </if>
     <appender-ref ref="STDOUT"/>
   </logger>
-  <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
+  <logger name="org.onap.aai.kafka" level="DEBUG" additivity="false">
     <if condition='property("logToFileEnabled").contains("true")'>
       <then>
-        <appender-ref ref="dmaapAAIEventConsumer"/>
-        <appender-ref ref="dmaapAAIEventConsumerDebug"/>
-        <appender-ref ref="dmaapAAIEventConsumerMetric"/>
+        <appender-ref ref="kafkaAAIEventConsumer"/>
+        <appender-ref ref="kafkaAAIEventConsumerDebug"/>
+        <appender-ref ref="kafkaAAIEventConsumerMetric"/>
       </then>
     </if>
     <appender-ref ref="STDOUT"/>
     </if>
     <appender-ref ref="STDOUT"/>
   </logger>
-  <root level="DEBUG">
+  <root level={{ .Values.log.level.root | upper | quote }}>
     <if condition='property("logToFileEnabled").contains("true")'>
       <then>
         <appender-ref ref="external"/>
diff --git a/kubernetes/aai/components/aai-graphadmin/templates/aai-graph-kafka-user.yml b/kubernetes/aai/components/aai-graphadmin/templates/aai-graph-kafka-user.yml
new file mode 100644 (file)
index 0000000..b028df7
--- /dev/null
@@ -0,0 +1,31 @@
+{{/*
+# Copyright © 2022-23 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: kafka.strimzi.io/v1beta2
+kind: KafkaUser
+metadata:
+  name: {{ include "common.release" . }}-{{ .Values.global.aaiGraphKafkaUser }}
+  labels:
+    strimzi.io/cluster: {{ include "common.release" . }}-strimzi
+spec:
+  authentication:
+    type: scram-sha-512
+  authorization:
+    type: simple
+    acls:
+    - resource:
+        type: topic
+        name: AAI-EVENT
+      operation: All
\ No newline at end of file
index cad213a..9a0ca76 100644 (file)
@@ -118,6 +118,13 @@ spec:
           value: {{ .Values.service.internalPort2 | quote }}
         - name: INTERNAL_PORT_3
           value: {{ .Values.service.internalPort3 | quote }}
+        - name: BOOTSTRAP_SERVERS
+          value: {{ include "common.release" . }}-strimzi-kafka-bootstrap:9092
+        - name: JAAS_CONFIG
+          valueFrom:
+            secretKeyRef:
+              name: {{ include "common.release" . }}-{{ .Values.global.aaiGraphKafkaUser }}
+              key: sasl.jaas.config
         volumeMounts:
         - mountPath: /opt/app/aai-graphadmin/resources/etc/appprops/janusgraph-realtime.properties
           name: config
index 8b6b5f9..89d27a8 100644 (file)
@@ -25,6 +25,8 @@
 # Declare variables to be passed into your templates.
 global: # global defaults
   nodePortPrefix: 302
+  kafkaBootstrap: strimzi-kafka-bootstrap
+  aaiGraphKafkaUser: aai-graph-kafka-user
   cassandra:
     #This will instantiate AAI cassandra cluster, default:shared cassandra.
     localCluster: false
@@ -123,9 +125,11 @@ config:
 
   # Specify the profiles for the graphadmin microservice
   profiles:
-
-    active: dmaap
-
+    active: kafka
+    kafkaBootstrap: strimzi-kafka-bootstrap
+    jaasConfExternalSecret: '{{ include "common.release" . }}-{{ .Values.global.aaiGraphKafkaUser }}'
+    someConfig: graphrandom
+    aaiTopic: AAI-EVENT
   # Specifies the timeout limit for the REST API requests
   timeout:
     enabled: true
@@ -291,4 +295,24 @@ serviceAccount:
 #Log configuration
 log:
   path: /var/log/onap
+  level:
+    root: DEBUG
+    base: DEBUG
 logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
+#################################################################
+# Secrets metaconfig
+#################################################################
+secrets:
+  - uid: aai-graph-kafka-user
+    externalSecret: '{{ tpl (default "" .Values.config.jaasConfExternalSecret) . }}'
+    type: genericKV
+    envs:
+      - name: sasl.jaas.config
+        value: '{{ .Values.config.someConfig }}'
+        policy: generate
+kafkaUser:
+  authenticationType: scram-sha-512
+  acls:
+    - name: AAI-EVENT
+      type: topic
+      operations: [Read, Write]
\ No newline at end of file
diff --git a/kubernetes/aai/components/aai-modelloader/resources/application.properties b/kubernetes/aai/components/aai-modelloader/resources/application.properties
new file mode 100644 (file)
index 0000000..f910af1
--- /dev/null
@@ -0,0 +1,31 @@
+# Note that the start.sh script sets the following System Properties
+# We provide default values here for testing purposes
+AJSC_HOME=.
+CONFIG_HOME=appconfig-local
+com.att.eelf.logging.path=src/main/resources
+com.att.eelf.logging.file=logback.xml
+logback.configurationFile=${com.att.eelf.logging.path}/${com.att.eelf.logging.file}
+
+server.port=9500
+#server.ssl.key-store=
+#server.ssl.key-store-password=
+#server.ssl.keyStoreType=
+#server.ssl.keyAlias=
+
+spring.application.name=aai-model-loader
+
+spring.sleuth.enabled={{ .Values.tracing.enabled }}
+spring.zipkin.baseUrl={{ .Values.tracing.collector.baseUrl }}
+spring.sleuth.messaging.jms.enabled=false
+spring.sleuth.trace-id128=true
+spring.sleuth.sampler.probability={{ .Values.tracing.sampling.probability }}
+spring.sleuth.propagation.type=w3c,b3
+spring.sleuth.supports-join=false
+spring.sleuth.web.skip-pattern={{ join "," .Values.tracing.ignorePatterns }}
+
+server.tomcat.threads.max=200
+# The minimum number of threads always kept alive
+server.tomcat.threads.min-spare=25
+
+# Spring Boot logging
+logging.config=${logback.configurationFile}
index 129af8f..dd8da59 100644 (file)
   <logger name="ch.qos.logback.classic" level="WARN" />
   <logger name="ch.qos.logback.core" level="WARN" />
 
-  <root>
+  <root level={{ .Values.log.level.root | upper | quote }}>
     <appender-ref ref="asyncEELF" />
     <appender-ref ref="AsyncSysOut" />
-    <!-- <appender-ref ref="asyncEELFDebug" /> -->
   </root>
 
 </configuration>
index 534fd02..d3fd509 100644 (file)
@@ -26,6 +26,7 @@ metadata:
     heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/config/model-loader.properties").AsConfig . | indent 2 }}
+{{ tpl (.Files.Glob "resources/application.properties").AsConfig . | indent 2 }}
 ---
 apiVersion: v1
 kind: ConfigMap
index 139c254..8dee92f 100644 (file)
@@ -80,6 +80,9 @@ spec:
         - mountPath: /opt/app/model-loader/config/model-loader.properties
           subPath: model-loader.properties
           name: prop-config
+        - mountPath: /opt/app/model-loader/application.properties
+          subPath: application.properties
+          name: prop-config
         - mountPath: {{ .Values.log.path }}
           name: logs
         - mountPath: /opt/app/model-loader/logback.xml
index aa62f60..97f489f 100644 (file)
@@ -21,7 +21,7 @@ global: # global defaults
   nodePortPrefix: 302
 
 # application image
-image: onap/model-loader:1.12.0
+image: onap/model-loader:1.13.6
 pullPolicy: Always
 restartPolicy: Always
 flavor: small
@@ -79,6 +79,15 @@ resources:
       memory: "2Gi"
   unlimited: {}
 
+tracing:
+  enabled: true
+  collector:
+    baseUrl: http://jaeger-collector.istio-system:9411
+  sampling:
+    probability: 1.0 # percentage of requests that are sampled (between 0-1/0%-100%)
+  ignorePatterns:
+    - /aai/util.*
+
 #Pods Service Account
 serviceAccount:
   nameOverride: aai-modelloader
@@ -93,4 +102,6 @@ securityContext:
 #Log configuration
 log:
   path: /var/log/onap
+  level:
+    root: INFO
 logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
index 1b7bdf8..5762460 100644 (file)
@@ -58,8 +58,15 @@ server.ssl.enabled=false
 
 # JMS bind address host port
 jms.bind.address=tcp://localhost:61647
-dmaap.ribbon.listOfServers=message-router.{{ include "common.namespace" . }}:3904
-dmaap.ribbon.transportType=http
+
+# dmaap is deprecated now kafka is used
+spring.kafka.producer.bootstrap-servers=${BOOTSTRAP_SERVERS}
+spring.kafka.producer.properties.security.protocol=SASL_PLAINTEXT
+spring.kafka.producer.properties.sasl.mechanism=SCRAM-SHA-512
+spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
+spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
+spring.kafka.producer.properties.sasl.jaas.config=${JAAS_CONFIG}
+spring.kafka.producer.retries=3
 
 # Schema related attributes for the oxm and edges
 # Any additional schema related attributes should start with prefix schema
index b523185..4415393 100644 (file)
         <appender-ref ref="translog"/>
       </appender>
 
-      <appender name="dmaapAAIEventConsumer"
+      <appender name="kafkaAAIEventConsumer"
                 class="ch.qos.logback.core.rolling.RollingFileAppender">
         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
           <level>WARN</level>
         </filter>
-        <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
+        <File>${logDirectory}/kafkaAAIEventConsumer/error.log</File>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-          <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}.zip
+          <fileNamePattern>${logDirectory}/kafkaAAIEventConsumer/error.log.%d{yyyy-MM-dd}.zip
           </fileNamePattern>
           <maxHistory>${maxHistory}</maxHistory>
           <totalSizeCap>${totalSizeCap}</totalSizeCap>
 
       </appender>
 
-      <appender name="dmaapAAIEventConsumerDebug"
+      <appender name="kafkaAAIEventConsumerDebug"
                 class="ch.qos.logback.core.rolling.RollingFileAppender">
         <filter class="ch.qos.logback.classic.filter.LevelFilter">
           <level>DEBUG</level>
           <onMatch>ACCEPT</onMatch>
           <onMismatch>DENY</onMismatch>
         </filter>
-        <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
+        <File>${logDirectory}/kafkaAAIEventConsumer/debug.log</File>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-          <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}.zip
+          <fileNamePattern>${logDirectory}/kafkaAAIEventConsumer/debug.log.%d{yyyy-MM-dd}.zip
           </fileNamePattern>
           <maxHistory>${maxHistory}</maxHistory>
           <totalSizeCap>${totalSizeCap}</totalSizeCap>
           <pattern>${debugPattern}</pattern>
         </encoder>
       </appender>
-      <appender name="dmaapAAIEventConsumerInfo"
+      <appender name="kafkaAAIEventConsumerInfo"
                 class="ch.qos.logback.core.rolling.RollingFileAppender">
         <filter class="ch.qos.logback.classic.filter.LevelFilter">
           <level>INFO</level>
           <onMatch>ACCEPT</onMatch>
           <onMismatch>DENY</onMismatch>
         </filter>
-        <File>${logDirectory}/dmaapAAIEventConsumer/dmaap-transaction.log</File>
+        <File>${logDirectory}/kafkaAAIEventConsumer/kafka-transaction.log</File>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-          <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/dmaap-transaction.log.%d{yyyy-MM-dd}.zip
+          <fileNamePattern>${logDirectory}/kafkaAAIEventConsumer/kafka-transaction.log.%d{yyyy-MM-dd}.zip
           </fileNamePattern>
           <maxHistory>${maxHistory}</maxHistory>
           <totalSizeCap>${totalSizeCap}</totalSizeCap>
           <pattern>${auditPattern}</pattern>
         </encoder>
       </appender>
-      <appender name="dmaapAAIEventConsumerMetric"
+      <appender name="kafkaAAIEventConsumerMetric"
                 class="ch.qos.logback.core.rolling.RollingFileAppender">
         <filter class="ch.qos.logback.classic.filter.LevelFilter">
           <level>INFO</level>
           <onMatch>ACCEPT</onMatch>
           <onMismatch>DENY</onMismatch>
         </filter>
-        <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
+        <File>${logDirectory}/kafkaAAIEventConsumer/metrics.log</File>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-          <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}.zip
+          <fileNamePattern>${logDirectory}/kafkaAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}.zip
           </fileNamePattern>
           <maxHistory>${maxHistory}</maxHistory>
           <totalSizeCap>${totalSizeCap}</totalSizeCap>
   <logger name="org.zookeeper" level="OFF" />
 
 
-  <logger name="org.onap.aai" level="DEBUG" additivity="false">
+  <logger name="org.onap.aai" level={{ .Values.log.level.base | upper | quote }} additivity="false">
     <if condition='property("logToFileEnabled").contains("true")'>
       <then>
         <appender-ref ref="asyncDEBUG"/>
         <appender-ref ref="asyncMETRIC"/>
       </logger>
       <logger name="org.onap.aai.aailog.logs.AaiDmaapMetricLog" level="INFO">
-        <appender-ref ref="dmaapAAIEventConsumerMetric"/>
+        <appender-ref ref="kafkaAAIEventConsumerMetric"/>
       </logger>
       <logger name="org.onap.aai.logging.ErrorLogHelper" level="WARN">
         <appender-ref ref="asyncERROR"/>
       </logger>
       <logger name="com.att.nsa.mr" level="INFO">
-        <appender-ref ref="dmaapAAIEventConsumerInfo"/>
+        <appender-ref ref="kafkaAAIEventConsumerInfo"/>
       </logger>
     </then>
   </if>
     <appender-ref ref="STDOUT"/>
   </logger>
 
-  <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
+  <logger name="org.onap.aai.kafka" level="DEBUG" additivity="false">
     <if condition='property("logToFileEnabled").contains("true")'>
       <then>
-        <appender-ref ref="dmaapAAIEventConsumer"/>
-        <appender-ref ref="dmaapAAIEventConsumerDebug"/>
+        <appender-ref ref="kafkaAAIEventConsumer"/>
+        <appender-ref ref="kafkaAAIEventConsumerDebug"/>
       </then>
     </if>
     <appender-ref ref="STDOUT"/>
   </logger>
 
-  <root level="DEBUG">
+  <root level={{ .Values.log.level.root | upper | quote }}>
     <if condition='property("logToFileEnabled").contains("true")'>
       <then>
         <appender-ref ref="external"/>
diff --git a/kubernetes/aai/components/aai-resources/templates/aai-kafka-user.yml b/kubernetes/aai/components/aai-resources/templates/aai-kafka-user.yml
new file mode 100644 (file)
index 0000000..e4fa84a
--- /dev/null
@@ -0,0 +1,31 @@
+{{/*
+# Copyright © 2022-23 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: kafka.strimzi.io/v1beta2
+kind: KafkaUser
+metadata:
+  name: {{ include "common.release" . }}-{{ .Values.global.aaiKafkaUser }}
+  labels:
+    strimzi.io/cluster: {{ include "common.release" . }}-strimzi
+spec:
+  authentication:
+    type: scram-sha-512
+  authorization:
+    type: simple
+    acls:
+    - resource:
+        type: topic
+        name: AAI-EVENT
+      operation: All
\ No newline at end of file
index 122e522..7cccfb1 100644 (file)
@@ -162,6 +162,13 @@ spec:
           value: {{ .Values.service.internalPort2 | quote }}
         - name: INTERNAL_PORT_3
           value: {{ .Values.service.internalPort3 | quote }}
+        - name: BOOTSTRAP_SERVERS
+          value: {{ include "common.release" . }}-strimzi-kafka-bootstrap:9092
+        - name: JAAS_CONFIG
+          valueFrom:
+            secretKeyRef:
+              name: {{ include "common.release" . }}-{{ .Values.global.aaiKafkaUser }}
+              key: sasl.jaas.config
         volumeMounts:
         - mountPath: /opt/app/aai-resources/resources/etc/appprops/janusgraph-realtime.properties
           name: {{ include "common.fullname" . }}-config
index b1d3202..329c487 100644 (file)
@@ -20,6 +20,8 @@
 # Declare variables to be passed into your templates.
 global: # global defaults
   nodePortPrefix: 302
+  kafkaBootstrap: strimzi-kafka-bootstrap
+  aaiKafkaUser: aai-kafka-user
   cassandra:
     #Service Name of the cassandra cluster to connect to.
     #Override it to aai-cassandra if localCluster is enabled.
@@ -50,7 +52,7 @@ global: # global defaults
 
     # Active spring profiles for the resources microservice
     profiles:
-      active: production,dmaap
+      active: production,kafka
 
     # Notification event specific properties
     notification:
@@ -96,6 +98,10 @@ global: # global defaults
     # Specifies which clients should always default to realtime graph connection
     realtime:
       clients: SDNC,MSO,SO,robot-ete
+    kafkaBootstrap: strimzi-kafka-bootstrap
+    jaasConfExternalSecret: '{{ include "common.release" . }}-{{ .Values.global.aaiKafkaUser }}'
+    someConfig: random
+    aaiTopic: AAI-EVENT
 
 api_list:
   - 11
@@ -123,7 +129,7 @@ aai_enpoints:
     url: external-system
 
 # application image
-image: onap/aai-resources:1.13.0
+image: onap/aai-resources:1.13.4
 pullPolicy: Always
 restartPolicy: Always
 flavor: small
@@ -360,6 +366,9 @@ serviceAccount:
 #Log configuration
 log:
   path: /var/log/onap
+  level:
+    root: DEBUG
+    base: DEBUG # base package (org.onap.aai)
 logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
 
 # To make logback capping values configurable
@@ -374,3 +383,20 @@ accessLogback:
   logToFileEnabled: false
   maxHistory: 7
   totalSizeCap: 1GB
+#################################################################
+# Secrets metaconfig
+#################################################################
+secrets:
+  - uid: aai-kafka-user
+    externalSecret: '{{ tpl (default "" .Values.config.jaasConfExternalSecret) . }}'
+    type: genericKV
+    envs:
+      - name: sasl.jaas.config
+        value: '{{ .Values.config.someConfig }}'
+        policy: generate
+kafkaUser:
+  authenticationType: scram-sha-512
+  acls:
+    - name: AAI-EVENT
+      type: topic
+      operations: [Read, Write]
\ No newline at end of file
index 276dbfe..1b58ad6 100644 (file)
@@ -49,8 +49,15 @@ server.ssl.enabled=false
 
 # JMS bind address host port
 jms.bind.address=tcp://localhost:61647
-dmaap.ribbon.listOfServers=message-router.{{ include "common.namespace" . }}:3904
-dmaap.ribbon.transportType=http
+
+# dmaap is deprecated now kafka is used
+spring.kafka.producer.bootstrap-servers=${BOOTSTRAP_SERVERS}
+spring.kafka.producer.properties.security.protocol=SASL_PLAINTEXT
+spring.kafka.producer.properties.sasl.mechanism=SCRAM-SHA-512
+spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
+spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
+spring.kafka.producer.properties.sasl.jaas.config=${JAAS_CONFIG}
+spring.kafka.producer.retries=3
 
 # Schema related attributes for the oxm and edges
 # Any additional schema related attributes should start with prefix schema
index 3dc4867..21f48f7 100644 (file)
         <includeCallerData>true</includeCallerData>
         <appender-ref ref="translog" />
       </appender>
-      <appender name="dmaapAAIEventConsumer" class="ch.qos.logback.core.rolling.RollingFileAppender">
+      <appender name="kafkaAAIEventConsumer" class="ch.qos.logback.core.rolling.RollingFileAppender">
         <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
           <level>WARN</level>
         </filter>
-        <File>${logDirectory}/dmaapAAIEventConsumer/error.log</File>
+        <File>${logDirectory}/kafkaAAIEventConsumer/error.log</File>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-          <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/error.log.%d{yyyy-MM-dd}
+          <fileNamePattern>${logDirectory}/kafkaAAIEventConsumer/error.log.%d{yyyy-MM-dd}
           </fileNamePattern>
           <maxHistory>${maxHistory}</maxHistory>
           <totalSizeCap>${totalSizeCap}</totalSizeCap>
           <pattern>${errorPattern}</pattern>
         </encoder>
       </appender>
-      <appender name="dmaapAAIEventConsumerDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
+      <appender name="kafkaAAIEventConsumerDebug" class="ch.qos.logback.core.rolling.RollingFileAppender">
         <filter class="ch.qos.logback.classic.filter.LevelFilter">
           <level>DEBUG</level>
           <onMatch>ACCEPT</onMatch>
           <onMismatch>DENY</onMismatch>
         </filter>
-        <File>${logDirectory}/dmaapAAIEventConsumer/debug.log</File>
+        <File>${logDirectory}/kafkaAAIEventConsumer/debug.log</File>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-          <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
+          <fileNamePattern>${logDirectory}/kafkaAAIEventConsumer/debug.log.%d{yyyy-MM-dd}
           </fileNamePattern>
           <maxHistory>${maxHistory}</maxHistory>
           <totalSizeCap>${totalSizeCap}</totalSizeCap>
           <pattern>${debugPattern}</pattern>
         </encoder>
       </appender>
-      <appender name="dmaapAAIEventConsumerInfo" class="ch.qos.logback.core.rolling.RollingFileAppender">
+      <appender name="kafkaAAIEventConsumerInfo" class="ch.qos.logback.core.rolling.RollingFileAppender">
         <filter class="ch.qos.logback.classic.filter.LevelFilter">
           <level>INFO</level>
           <onMatch>ACCEPT</onMatch>
           <onMismatch>DENY</onMismatch>
         </filter>
-        <File>${logDirectory}/dmaapAAIEventConsumer/dmaap-transaction.log</File>
+        <File>${logDirectory}/kafkaAAIEventConsumer/kafka-transaction.log</File>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-          <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/dmaap-transaction.log.%d{yyyy-MM-dd}
+          <fileNamePattern>${logDirectory}/kafkaAAIEventConsumer/kafka-transaction.log.%d{yyyy-MM-dd}
           </fileNamePattern>
           <maxHistory>${maxHistory}</maxHistory>
           <totalSizeCap>${totalSizeCap}</totalSizeCap>
           <pattern>${auditPattern}</pattern>
         </encoder>
       </appender>
-      <appender name="dmaapAAIEventConsumerMetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
+      <appender name="kafkaAAIEventConsumerMetric" class="ch.qos.logback.core.rolling.RollingFileAppender">
         <filter class="ch.qos.logback.classic.filter.LevelFilter">
           <level>INFO</level>
           <onMatch>ACCEPT</onMatch>
           <onMismatch>DENY</onMismatch>
         </filter>
-        <File>${logDirectory}/dmaapAAIEventConsumer/metrics.log</File>
+        <File>${logDirectory}/kafkaAAIEventConsumer/metrics.log</File>
         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-          <fileNamePattern>${logDirectory}/dmaapAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
+          <fileNamePattern>${logDirectory}/kafkaAAIEventConsumer/metrics.log.%d{yyyy-MM-dd}
           </fileNamePattern>
           <maxHistory>${maxHistory}</maxHistory>
           <totalSizeCap>${totalSizeCap}</totalSizeCap>
   <logger name="org.zookeeper" level="OFF" />
 
 
-  <logger name="org.onap.aai" level="DEBUG" additivity="false">
+  <logger name="org.onap.aai" level={{ .Values.log.level.base | upper | quote }} additivity="false">
     <if condition='property("logToFileEnabled").contains("true")'>
       <then>
         <appender-ref ref="asyncDEBUG" />
   <logger name="org.onap.aai.aailog.logs.AaiDmaapMetricLog" level="INFO" additivity="false">
     <if condition='property("logToFileEnabled").contains("true")'>
       <then>
-        <appender-ref ref="dmaapAAIEventConsumerMetric" />
+        <appender-ref ref="kafkaAAIEventConsumerMetric" />
       </then>
     </if>
     <appender-ref ref="STDOUT" />
     <appender-ref ref="STDOUT" />
   </logger>
 
-  <logger name="org.onap.aai.dmaap" level="DEBUG" additivity="false">
+  <logger name="org.onap.aai.kafka" level="DEBUG" additivity="false">
     <if condition='property("logToFileEnabled").contains("true")'>
       <then>
-        <appender-ref ref="dmaapAAIEventConsumer" />
-        <appender-ref ref="dmaapAAIEventConsumerDebug" />
+        <appender-ref ref="kafkaAAIEventConsumer" />
+        <appender-ref ref="kafkaAAIEventConsumerDebug" />
       </then>
     </if>
     <appender-ref ref="STDOUT" />
   <logger name="com.att.nsa.mr" level="INFO">
     <if condition='property("logToFileEnabled").contains("true")'>
       <then>
-        <appender-ref ref="dmaapAAIEventConsumerInfo" />
+        <appender-ref ref="kafkaAAIEventConsumerInfo" />
       </then>
     </if>
     <appender-ref ref="STDOUT" />
   </logger>
 
-  <root level="DEBUG">
+  <root level={{ .Values.log.level.root | upper | quote }}>
     <if condition='property("logToFileEnabled").contains("true")'>
       <then>
         <appender-ref ref="external" />
diff --git a/kubernetes/aai/components/aai-traversal/templates/aai-trav-kafka-user.yml b/kubernetes/aai/components/aai-traversal/templates/aai-trav-kafka-user.yml
new file mode 100644 (file)
index 0000000..1754227
--- /dev/null
@@ -0,0 +1,31 @@
+{{/*
+# Copyright © 2022-23 Nordix Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: kafka.strimzi.io/v1beta2
+kind: KafkaUser
+metadata:
+  name: {{ include "common.release" . }}-{{ .Values.global.aaiTravKafkaUser }}
+  labels:
+    strimzi.io/cluster: {{ include "common.release" . }}-strimzi
+spec:
+  authentication:
+    type: scram-sha-512
+  authorization:
+    type: simple
+    acls:
+    - resource:
+        type: topic
+        name: AAI-EVENT
+      operation: All
\ No newline at end of file
index 6627a80..67e1b99 100644 (file)
@@ -183,6 +183,13 @@ spec:
           value: {{ .Values.service.internalPort2 | quote }}
         - name: INTERNAL_PORT_3
           value: {{ .Values.service.internalPort3 | quote }}
+        - name: BOOTSTRAP_SERVERS
+          value: {{ include "common.release" . }}-strimzi-kafka-bootstrap:9092
+        - name: JAAS_CONFIG
+          valueFrom:
+            secretKeyRef:
+              name: {{ include "common.release" . }}-{{ .Values.global.aaiTravKafkaUser }}
+              key: sasl.jaas.config
         volumeMounts:
         - mountPath: /opt/app/aai-traversal/resources/etc/appprops/janusgraph-realtime.properties
           name: {{ include "common.fullname" . }}-config
index aca1ec7..dd06a28 100644 (file)
@@ -20,7 +20,8 @@
 # Declare variables to be passed into your templates.
 global: # global defaults
   nodePortPrefix: 302
-
+  kafkaBootstrap: strimzi-kafka-bootstrap
+  aaiTravKafkaUser: aai-trav-kafka-user
   cassandra:
     #Service Name of the cassandra cluster to connect to.
     #Override it to aai-cassandra if localCluster is enabled.
@@ -59,7 +60,7 @@ global: # global defaults
 
     # Active spring profiles for the resources microservice
     profiles:
-      active: production,dmaap
+      active: production,kafka
 
     # Notification event specific properties
     notification:
@@ -105,9 +106,13 @@ global: # global defaults
     # Specifies which clients should always default to realtime graph connection
     realtime:
       clients: SDNC,MSO,SO,robot-ete
+    kafkaBootstrap: strimzi-kafka-bootstrap
+    jaasConfExternalSecret: '{{ include "common.release" . }}-{{ .Values.global.aaiTravKafkaUser }}'
+    someConfig: random
+    aaiTopic: AAI-EVENT
 
 # application image
-image: onap/aai-traversal:1.12.3
+image: onap/aai-traversal:1.13.4
 pullPolicy: Always
 restartPolicy: Always
 flavor: small
@@ -368,4 +373,24 @@ serviceAccount:
 #Log configuration
 log:
   path: /var/log/onap
+  level:
+    root: DEBUG
+    base: DEBUG # base package (org.onap.aai)
 logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
+#################################################################
+# Secrets metaconfig
+#################################################################
+secrets:
+  - uid: aai-trav-kafka-user
+    externalSecret: '{{ tpl (default "" .Values.config.jaasConfExternalSecret) . }}'
+    type: genericKV
+    envs:
+      - name: sasl.jaas.config
+        value: '{{ .Values.config.someConfig }}'
+        policy: generate
+kafkaUser:
+  authenticationType: scram-sha-512
+  acls:
+    - name: AAI-EVENT
+      type: topic
+      operations: [Read, Write]
\ No newline at end of file
index 523cd8c..a257ee0 100644 (file)
@@ -212,7 +212,7 @@ global: # global defaults
     # Active spring profiles for the resources microservice
     # aaf-auth profile will be automatically set if aaf enabled is set to true
     profiles:
-      active: production,dmaap #,aaf-auth
+      active: production,kafka #,aaf-auth
 
     # Notification event specific properties
     notification:
index 73c8bab..2d6bf4b 100644 (file)
@@ -16,7 +16,7 @@ annotations:
     - name: os-shell
       image: docker.io/bitnami/os-shell:12-debian-12-r15
 apiVersion: v2
-appVersion: 7.0.5
+appVersion: 7.0.8
 dependencies:
 - name: common
   repository: 'file://./common'
@@ -40,4 +40,4 @@ maintainers:
 name: mongodb
 sources:
 - https://github.com/bitnami/charts/tree/main/bitnami/mongodb
-version: 14.12.2
+version: 14.12.3
index 269863f..041b0cb 100644 (file)
@@ -254,6 +254,9 @@ spec:
             - name: empty-dir
               mountPath: /opt/bitnami/mongodb/logs
               subPath: app-logs-dir
+            - name: empty-dir
+              mountPath: /bitnami/mongodb
+              subPath: app-volume-dir
             {{- if or .Values.arbiter.configuration .Values.arbiter.existingConfigmap }}
             - name: config
               mountPath: /opt/bitnami/mongodb/conf/mongodb.conf
index 79466e9..2e884b1 100644 (file)
@@ -166,14 +166,16 @@ spec:
           restartPolicy: {{ .Values.backup.cronjob.restartPolicy }}
           volumes:
             - name: empty-dir
-              emptyDir: {}
+              emptyDir:
+                sizeLimit: 64Mi
             - name: common-scripts
               configMap:
                 name: {{ printf "%s-common-scripts" (include "mongodb.fullname" .) }}
                 defaultMode: 0550
             {{- if .Values.tls.enabled }}
             - name: certs
-              emptyDir: {}
+              emptyDir:
+                sizeLimit: 64Mi
             {{- if (include "mongodb.autoGenerateCerts" .) }}
             - name: certs-volume
               secret:
index 5b2a807..08a55eb 100644 (file)
@@ -514,7 +514,8 @@ spec:
         {{- end }}
       volumes:
         - name: empty-dir
-          emptyDir: {}
+          emptyDir:
+            sizeLimit: 64Mi
         - name: common-scripts
           configMap:
             name: {{ printf "%s-common-scripts" (include "mongodb.fullname" .) }}
@@ -531,7 +532,8 @@ spec:
         {{- end }}
         {{- if and .Values.externalAccess.hidden.enabled .Values.externalAccess.autoDiscovery.enabled (eq .Values.externalAccess.hidden.service.type "LoadBalancer") }}
         - name: shared
-          emptyDir: {}
+          emptyDir:
+            sizeLimit: 64Mi
         {{- end }}
         - name: scripts
           configMap:
@@ -542,7 +544,8 @@ spec:
         {{- end }}
         {{- if .Values.tls.enabled }}
         - name: certs
-          emptyDir: {}
+          emptyDir:
+            sizeLimit: 64Mi
         {{- if (include "mongodb.autoGenerateCerts" .) }}
         - name: certs-volume
           secret:
@@ -568,8 +571,10 @@ spec:
           {{- if .Values.hidden.persistence.medium }}
           emptyDir:
             medium: {{ .Values.hidden.persistence.medium | quote }}
+            sizeLimit: 64Mi
           {{- else }}
-          emptyDir: {}
+          emptyDir:
+            sizeLimit: 64Mi
           {{- end }}
   {{- else }}
   volumeClaimTemplates:
index 55158e8..b171eca 100644 (file)
@@ -512,7 +512,8 @@ spec:
         {{- end }}
       volumes:
         - name: empty-dir
-          emptyDir: {}
+          emptyDir:
+            sizeLimit: 64Mi
         - name: common-scripts
           configMap:
             name: {{ printf "%s-common-scripts" (include "mongodb.fullname" .) }}
@@ -529,7 +530,8 @@ spec:
         {{- end }}
         {{- if and .Values.externalAccess.enabled .Values.externalAccess.autoDiscovery.enabled (eq .Values.externalAccess.service.type "LoadBalancer") }}
         - name: shared
-          emptyDir: {}
+          emptyDir:
+            sizeLimit: 64Mi
         {{- end }}
         - name: scripts
           configMap:
@@ -540,7 +542,8 @@ spec:
         {{- end }}
         {{- if .Values.tls.enabled }}
         - name: certs
-          emptyDir: {}
+          emptyDir:
+            sizeLimit: 64Mi
         {{- if (include "mongodb.autoGenerateCerts" .) }}
         - name: certs-volume
           secret:
@@ -566,8 +569,10 @@ spec:
           {{- if .Values.persistence.medium }}
           emptyDir:
             medium: {{ .Values.persistence.medium | quote }}
+            sizeLimit: 64Mi
           {{- else }}
-          emptyDir: {}
+          emptyDir:
+            sizeLimit: 64Mi
           {{- end }}
   {{- else }}
   {{- if .Values.persistentVolumeClaimRetentionPolicy.enabled }}
index 29dd406..6f63f0b 100644 (file)
@@ -437,7 +437,8 @@ spec:
         {{- end }}
       volumes:
         - name: empty-dir
-          emptyDir: {}
+          emptyDir:
+            sizeLimit: 64Mi
         - name: common-scripts
           configMap:
             name: {{ printf "%s-common-scripts" (include "mongodb.fullname" .) }}
@@ -457,7 +458,8 @@ spec:
         {{- end }}
         {{- if .Values.tls.enabled }}
         - name: certs
-          emptyDir: {}
+          emptyDir:
+            sizeLimit: 64Mi
         {{- if (include "mongodb.autoGenerateCerts" .) }}
         - name: certs-volume
           secret:
@@ -481,8 +483,10 @@ spec:
           {{- if .Values.persistence.medium }}
           emptyDir:
             medium: {{ .Values.persistence.medium | quote }}
+            sizeLimit: 64Mi
           {{- else }}
-          emptyDir: {}
+          emptyDir:
+            sizeLimit: 64Mi
           {{- end }}
   {{- else if .Values.persistence.existingClaim }}
         - name: {{ .Values.persistence.name | default "datadir" }}
index 8d995ce..9612859 100644 (file)
@@ -120,7 +120,7 @@ diagnosticMode:
 image:
   registry: docker.io
   repository: bitnami/mongodb
-  tag: 7.0.5-debian-12-r5
+  tag: 7.0.8-debian-12-r2
   digest: ""
   ## Specify a imagePullPolicy
   ## ref: https://kubernetes.io/docs/concepts/containers/images/#pre-pulled-images
@@ -246,7 +246,7 @@ tls:
   image:
     registry: docker.io
     repository: bitnami/nginx
-    tag: 1.25.4-debian-12-r1
+    tag: 1.25.4-debian-12-r7
     digest: ""
     pullPolicy: IfNotPresent
     ## Optionally specify an array of imagePullSecrets.
@@ -571,15 +571,17 @@ podSecurityContext:
 ##
 containerSecurityContext:
   enabled: true
-  seLinuxOptions: null
+  seLinuxOptions: {}
   runAsUser: 1001
-  runAsGroup: 0
+  runAsGroup: 1001
   runAsNonRoot: true
   privileged: false
-  readOnlyRootFilesystem: false
+  readOnlyRootFilesystem: true
   allowPrivilegeEscalation: false
   capabilities:
-    drop: ["ALL"]
+    drop:
+      - ALL
+      - CAP_NET_RAW
   seccompProfile:
     type: "RuntimeDefault"
 ## MongoDB(&reg;) containers' resource requests and limits.
@@ -834,7 +836,7 @@ externalAccess:
     image:
       registry: docker.io
       repository: bitnami/kubectl
-      tag: 1.29.2-debian-12-r1
+      tag: 1.29.3-debian-12-r3
       digest: ""
       ## Specify a imagePullPolicy
       ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@@ -1203,15 +1205,17 @@ backup:
     ##
     containerSecurityContext:
       enabled: true
-      seLinuxOptions: null
+      seLinuxOptions: {}
       runAsUser: 1001
-      runAsGroup: 0
+      runAsGroup: 1001
       runAsNonRoot: true
       privileged: false
-      readOnlyRootFilesystem: false
+      readOnlyRootFilesystem: true
       allowPrivilegeEscalation: false
       capabilities:
-        drop: ["ALL"]
+        drop:
+        - ALL
+        - CAP_NET_RAW
       seccompProfile:
         type: "RuntimeDefault"
     ## @param backup.cronjob.command Set backup container's command to run
@@ -1382,7 +1386,7 @@ volumePermissions:
   image:
     registry: docker.io
     repository: bitnami/os-shell
-    tag: 12-debian-12-r15
+    tag: 12-debian-12-r18
     digest: ""
     ## Specify a imagePullPolicy
     ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@@ -1429,7 +1433,7 @@ volumePermissions:
   ## @param volumePermissions.securityContext.runAsUser User ID for the volumePermissions container
   ##
   securityContext:
-    seLinuxOptions: null
+    seLinuxOptions: {}
     runAsUser: 0
 ## @section Arbiter parameters
 ##
@@ -1603,15 +1607,17 @@ arbiter:
   ##
   containerSecurityContext:
     enabled: true
-    seLinuxOptions: null
+    seLinuxOptions: {}
     runAsUser: 1001
-    runAsGroup: 0
+    runAsGroup: 1001
     runAsNonRoot: true
     privileged: false
-    readOnlyRootFilesystem: false
+    readOnlyRootFilesystem: true
     allowPrivilegeEscalation: false
     capabilities:
-      drop: ["ALL"]
+      drop:
+        - ALL
+        - CAP_NET_RAW
     seccompProfile:
       type: "RuntimeDefault"
   ## MongoDB(&reg;) Arbiter containers' resource requests and limits.
@@ -1946,15 +1952,17 @@ hidden:
   ##
   containerSecurityContext:
     enabled: true
-    seLinuxOptions: null
+    seLinuxOptions: {}
     runAsUser: 1001
-    runAsGroup: 0
+    runAsGroup: 1001
     runAsNonRoot: true
     privileged: false
-    readOnlyRootFilesystem: false
+    readOnlyRootFilesystem: true
     allowPrivilegeEscalation: false
     capabilities:
-      drop: ["ALL"]
+      drop:
+        - ALL
+        - CAP_NET_RAW
     seccompProfile:
       type: "RuntimeDefault"
   ## MongoDB(&reg;) Hidden containers' resource requests and limits.
@@ -2180,7 +2188,7 @@ metrics:
   image:
     registry: docker.io
     repository: bitnami/mongodb-exporter
-    tag: 0.40.0-debian-12-r11
+    tag: 0.40.0-debian-12-r15
     digest: ""
     pullPolicy: IfNotPresent
     ## Optionally specify an array of imagePullSecrets.
index 81b8134..980be74 100644 (file)
@@ -30,7 +30,7 @@ spring:
     initialization-mode: always
   liquibase:
     change-log: classpath:changelog/changelog-master.yaml
-    labels: {{ .Values.config.liquibaseLabels }}
+    label-filter: {{ .Values.config.liquibaseLabels }}
 
   kafka:
     producer:
index d728639..a5cc7e0 100644 (file)
@@ -68,7 +68,7 @@ global:
     container:
       name: postgres
 
-image: onap/cps-and-ncmp:3.3.11
+image: onap/cps-and-ncmp:3.4.9
 
 service:
   type: ClusterIP
index e0bc868..439fdb9 100644 (file)
@@ -47,7 +47,7 @@ global:
     virtualhost:
       baseurl: "simpledemo.onap.org"
 
-image: onap/ncmp-dmi-plugin:1.4.0
+image: onap/ncmp-dmi-plugin:1.5.0
 containerPort: &svc_port 8080
 
 prometheus:
index ffddeb5..7b30414 100644 (file)
@@ -41,5 +41,5 @@ dependencies:
     version: ~13.x-0
     repository: '@local'
   - name: mongodb
-    version: 14.12.2
+    version: 14.12.3
     repository: '@local'
\ No newline at end of file
index 4099f82..8d50814 100644 (file)
@@ -27,7 +27,7 @@ dependencies:
     # be published independently to a repo (at this point)
     repository: '@local'
   - name: mongodb
-    version: 14.12.2
+    version: 14.12.3
     repository: '@local'
   - name: etcd
     version: ~13.x-0
index 25f307c..6f403f7 100644 (file)
@@ -27,7 +27,7 @@ dependencies:
     # be published independently to a repo (at this point)
     repository: '@local'
   - name: mongodb
-    version: 14.12.2
+    version: 14.12.3
     repository: '@local'
   - name: mariadb-galera
     version: ~13.x-0
index 3cea773..6070bb0 100755 (executable)
@@ -47,7 +47,7 @@ secrets:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-apex-pdp:3.1.0
+image: onap/policy-apex-pdp:3.1.3
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 530f021..70c06cc 100755 (executable)
@@ -48,7 +48,7 @@ secrets:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-api:3.1.0
+image: onap/policy-api:3.1.3
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 5954d65..6bde39d 100755 (executable)
@@ -40,7 +40,7 @@ secrets:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-clamp-ac-a1pms-ppnt:7.1.0
+image: onap/policy-clamp-ac-a1pms-ppnt:7.1.3
 pullPolicy: Always
 
 componentName: &componentName policy-clamp-ac-a1pms-ppnt
index 17e4d31..3ef8d92 100644 (file)
@@ -41,7 +41,7 @@ secrets:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-clamp-ac-http-ppnt:7.1.0
+image: onap/policy-clamp-ac-http-ppnt:7.1.3
 pullPolicy: Always
 
 componentName: &componentName policy-clamp-ac-http-ppnt
index 407f5dd..d34d0e0 100644 (file)
@@ -42,7 +42,7 @@ secrets:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-clamp-ac-k8s-ppnt:7.1.0
+image: onap/policy-clamp-ac-k8s-ppnt:7.1.3
 pullPolicy: Always
 
 componentName: &componentName policy-clamp-ac-k8s-ppnt
index 6f737a0..63ab8ad 100755 (executable)
@@ -41,7 +41,7 @@ secrets:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-clamp-ac-kserve-ppnt:7.1.0
+image: onap/policy-clamp-ac-kserve-ppnt:7.1.3
 pullPolicy: Always
 
 componentName: &componentName policy-clamp-ac-kserve-ppnt
index b763699..2112f25 100644 (file)
@@ -53,7 +53,7 @@ secrets:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-clamp-ac-pf-ppnt:7.1.0
+image: onap/policy-clamp-ac-pf-ppnt:7.1.3
 pullPolicy: Always
 
 componentName: &componentName policy-clamp-ac-pf-ppnt
index cc399d3..9f225db 100644 (file)
@@ -48,7 +48,7 @@ secrets:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-clamp-runtime-acm:7.1.0
+image: onap/policy-clamp-runtime-acm:7.1.3
 pullPolicy: Always
 
 componentName: &componentName policy-clamp-runtime-acm
index fd2fe2e..042cbd2 100755 (executable)
@@ -58,7 +58,7 @@ global:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-distribution:3.1.0
+image: onap/policy-distribution:3.1.3
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 710acd2..e35c08a 100755 (executable)
@@ -41,7 +41,7 @@ secrets:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-pdpd-cl:2.1.1
+image: onap/policy-pdpd-cl:2.1.3
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 3338d8f..1533f82 100644 (file)
@@ -29,7 +29,7 @@ subChartsOnly:
 flavor: small
 
 # application image
-image: onap/policy-gui:3.1.0
+image: onap/policy-gui:3.1.3
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 484ff64..5f6fb21 100755 (executable)
@@ -68,7 +68,7 @@ secrets:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-pap:3.1.0
+image: onap/policy-pap:3.1.3
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 15ef5e3..ae216a2 100755 (executable)
@@ -49,7 +49,7 @@ secrets:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/policy-xacml-pdp:3.1.1
+image: onap/policy-xacml-pdp:3.1.3
 pullPolicy: Always
 
 componentName: &componentName policy-xacml-pdp
index 9497c3c..cafaa8e 100755 (executable)
@@ -167,7 +167,7 @@ policy-gui:
 #################################################################
 
 dbmigrator:
-  image: onap/policy-db-migrator:3.1.0
+  image: onap/policy-db-migrator:3.1.3
   schema: policyadmin
   policy_home: "/opt/app/policy"
 
index ec9769d..d925060 100644 (file)
@@ -34,7 +34,7 @@ version: 13.0.0
 # This is the version number of the application being deployed. This version number should be
 # incremented each time you make changes to the application. Versions are not expected to
 # follow Semantic Versioning. They should reflect the version the application is using.
-appVersion: latest
+appVersion: 0.1.0
 
 dependencies:
   - name: common
index 27e7f58..ab28bf2 100644 (file)
@@ -34,7 +34,7 @@ version: 13.0.0
 # This is the version number of the application being deployed. This version number should be
 # incremented each time you make changes to the application. Versions are not expected to
 # follow Semantic Versioning. They should reflect the version the application is using.
-appVersion: latest
+appVersion: 0.1.1
 
 dependencies:
   - name: common
@@ -47,5 +47,5 @@ dependencies:
     version: ~13.x-0
     repository: '@local'
   - name: mongodb
-    version: 14.12.2
+    version: 14.12.3
     repository: '@local'
index 2ec186a..8f8c494 100644 (file)
@@ -34,7 +34,7 @@ version: 13.0.0
 # This is the version number of the application being deployed. This version number should be
 # incremented each time you make changes to the application. Versions are not expected to
 # follow Semantic Versioning. They should reflect the version the application is using.
-appVersion: latest
+appVersion: 0.1.1
 
 dependencies:
   - name: common
@@ -47,7 +47,7 @@ dependencies:
     version: ~13.x-0
     repository: '@local'
   - name: mongodb
-    version: 14.12.2
+    version: 14.12.3
     repository: '@local'
 
 
index 4dcb25c..09178d9 100644 (file)
@@ -34,7 +34,7 @@ version: 13.0.0
 # This is the version number of the application being deployed. This version number should be
 # incremented each time you make changes to the application. Versions are not expected to
 # follow Semantic Versioning. They should reflect the version the application is using.
-appVersion: latest
+appVersion: 0.1.0
 
 dependencies:
   - name: common
diff --git a/kubernetes/portal-ng/components/portal-ng-ui/resources/assets/env.js b/kubernetes/portal-ng/components/portal-ng-ui/resources/assets/env.js
new file mode 100644 (file)
index 0000000..2e21ca5
--- /dev/null
@@ -0,0 +1,11 @@
+(function(window) {
+  window["env"] = window["env"] || {};
+  window["env"]["keycloak"] = window["env"]["keycloak"] || {};
+
+  // Environment variables
+  window["env"]["customStyleEnabled"] = "{{ .Values.env.CUSTOM_STYLE_ENABLED }}";
+  window["env"]["keycloak"]["hostname"] = "{{ .Values.env.KEYCLOAK_HOSTNAME }}";
+  window["env"]["keycloak"]["realm"] = "{{ .Values.env.KEYCLOAK_REALM }}";
+  window['env']['keycloak']['clientId'] = '{{ .Values.env.KEYCLOAK_CLIENT_ID }}';
+  window["env"]["loggingEnabled"]= '{{ .Values.env.LOGGING_ENABLED }}';
+})(this);
diff --git a/kubernetes/portal-ng/components/portal-ng-ui/resources/assets/version.json b/kubernetes/portal-ng/components/portal-ng-ui/resources/assets/version.json
new file mode 100644 (file)
index 0000000..4f56a1f
--- /dev/null
@@ -0,0 +1,3 @@
+{
+    "number": "{{ .Values.image.tag | default .Chart.AppVersion }}"
+}
diff --git a/kubernetes/portal-ng/components/portal-ng-ui/resources/default.conf b/kubernetes/portal-ng/components/portal-ng-ui/resources/default.conf
new file mode 100644 (file)
index 0000000..d448e27
--- /dev/null
@@ -0,0 +1,48 @@
+resolver {{ .Values.env.CLUSTER_NAMESERVER_IP }};
+server {
+    listen       {{ .Values.env.NGINX_PORT }};
+    location / {
+        root /usr/share/nginx/html;
+        index index.html;
+        try_files $uri $uri/ /index.html =404;
+    }
+    location /api/ {
+        set                 $upstream           {{ .Values.env.BFF_URL }};
+        rewrite             /api/(.*) /$1 break;
+        add_header          Access-Control-Allow-Origin *;
+        proxy_pass                              $upstream/$1$is_args$args;
+        proxy_set_header    Host                $host;
+        proxy_set_header    X-Real-IP           $remote_addr;
+        proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
+        proxy_set_header    X-Forwarded-Host    $host;
+        proxy_set_header    X-Forwarded-Server  $host;
+        proxy_set_header    X-Forwarded-Port    $server_port;
+        proxy_set_header    X-Forwarded-Proto   $scheme;
+        proxy_http_version 1.1;
+    }
+    location /auth/ {
+            set                 $upstream           {{ .Values.env.KEYCLOAK_INTERNAL_URL }};
+            rewrite             /auth/(.*) /$1 break;
+            add_header          Access-Control-Allow-Origin *;
+            proxy_pass                              $upstream/$1$is_args$args;
+            proxy_http_version                     1.1;
+            proxy_set_header    Host               $host;
+            proxy_set_header    X-Real-IP          $remote_addr;
+            proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;
+            proxy_set_header    X-Forwarded-Host   $host;
+            proxy_set_header    X-Forwarded-Server $host;
+            proxy_set_header    X-Forwarded-Port   $server_port;
+            proxy_set_header    X-Forwarded-Proto  $scheme;
+    }
+}
+##
+# Gzip Settings
+##
+gzip on;
+gzip_vary on;
+gzip_proxied any;
+gzip_min_length 1100;
+gzip_comp_level 6;
+gzip_buffers 16 8k;
+gzip_http_version 1.1;
+gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
\ No newline at end of file
diff --git a/kubernetes/portal-ng/components/portal-ng-ui/templates/configmap-env-js.yaml b/kubernetes/portal-ng/components/portal-ng-ui/templates/configmap-env-js.yaml
new file mode 100644 (file)
index 0000000..e2244bd
--- /dev/null
@@ -0,0 +1,26 @@
+{{/*
+# Copyright © 2024 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-env-js
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ include "common.release" . }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/assets/env.js").AsConfig . | nindent 2 }}
diff --git a/kubernetes/portal-ng/components/portal-ng-ui/templates/configmap-nginx-config.yaml b/kubernetes/portal-ng/components/portal-ng-ui/templates/configmap-nginx-config.yaml
new file mode 100644 (file)
index 0000000..f8e560b
--- /dev/null
@@ -0,0 +1,26 @@
+{{/*
+# Copyright © 2024 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-nginx-config
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ include "common.release" . }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/default.conf").AsConfig . | nindent 2 }}
diff --git a/kubernetes/portal-ng/components/portal-ng-ui/templates/configmap-version-json.yaml b/kubernetes/portal-ng/components/portal-ng-ui/templates/configmap-version-json.yaml
new file mode 100644 (file)
index 0000000..79182a4
--- /dev/null
@@ -0,0 +1,26 @@
+{{/*
+# Copyright © 2024 Deutsche Telekom
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-version-json
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ include "common.release" . }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/assets/version.json").AsConfig . | nindent 2 }}
index 6a16384..a06f87b 100644 (file)
@@ -53,6 +53,22 @@ spec:
             mountPath: {{ .Values.nginx.tilesPath }}
             subPath: tiles.json
             readOnly: true
+          - name: nginx-config
+            mountPath: /etc/nginx/conf.d/default.conf
+            subPath: default.conf
+            readOnly: true
+          - name: env-js
+            mountPath: /usr/share/nginx/html/assets/env.js
+            subPath: env.js
+            readOnly: true
+          - name: version-json
+            mountPath: /usr/share/nginx/html/assets/version.json
+            subPath: version.json
+            readOnly: true
+          - name: tmp-volume
+            mountPath: /tmp
+          - name: nginx-cache-volume
+            mountPath: /var/cache/nginx
           resources: {{ include "common.resources" . | nindent 12 }}
         {{- with .Values.nodeSelector }}
         nodeSelector:
@@ -76,3 +92,18 @@ spec:
             items:
             - key: tiles.json
               path: tiles.json
+        - name: nginx-config
+          configMap:
+            name: {{ include "common.fullname" . }}-nginx-config
+        - name: env-js
+          configMap:
+            name: {{ include "common.fullname" . }}-env-js
+        - name: version-json
+          configMap:
+            name: {{ include "common.fullname" . }}-version-json
+        - name: tmp-volume
+          emptyDir:
+            sizeLimit: 64Mi
+        - name: nginx-cache-volume
+          emptyDir:
+            sizeLimit: 64Mi
index bf28766..7e154af 100644 (file)
@@ -89,6 +89,7 @@ env:
   KEYCLOAK_REALM: ONAP
   KEYCLOAK_INTERNAL_URL: http://keycloakx-http.keycloak.svc.cluster.local
   KEYCLOAK_HOSTNAME: https://keycloak-ui.simpledemo.onap.org
+  CLUSTER_NAMESERVER_IP: 1.2.3.4
 
 #Pods Service Account
 serviceAccount: