Merge "[POLICY] Enable cluster role for k8s-ppnt"
authorFiachra Corcoran <fiachra.corcoran@est.tech>
Tue, 12 Apr 2022 15:53:41 +0000 (15:53 +0000)
committerGerrit Code Review <gerrit@onap.org>
Tue, 12 Apr 2022 15:53:41 +0000 (15:53 +0000)
52 files changed:
.gitignore
docs/helm-search.txt
docs/oom_quickstart_guide.rst
docs/oom_setup_paas.rst
docs/oom_user_guide.rst
kubernetes/common/mariadb-galera/values.yaml
kubernetes/common/postgres/templates/_deployment.tpl
kubernetes/common/repositoryGenerator/templates/_repository.tpl
kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl
kubernetes/dcaegen2-services/components/dcae-pm-mapper/values.yaml
kubernetes/dmaap/components/message-router/components/message-router-kafka/values.yaml
kubernetes/dmaap/components/message-router/components/message-router-zookeeper/values.yaml
kubernetes/helm/plugins/deploy/deploy.sh
kubernetes/modeling/components/modeling-etsicatalog/values.yaml
kubernetes/multicloud/components/multicloud-fcaps/resources/config/log/log.yml
kubernetes/multicloud/components/multicloud-fcaps/templates/deployment.yaml
kubernetes/multicloud/components/multicloud-fcaps/values.yaml
kubernetes/multicloud/components/multicloud-k8s/values.yaml
kubernetes/multicloud/components/multicloud-pike/resources/config/log/log.yml
kubernetes/multicloud/components/multicloud-pike/templates/deployment.yaml
kubernetes/multicloud/components/multicloud-pike/values.yaml
kubernetes/multicloud/components/multicloud-starlingx/resources/config/log/log.yml
kubernetes/multicloud/components/multicloud-starlingx/templates/deployment.yaml
kubernetes/multicloud/components/multicloud-starlingx/values.yaml
kubernetes/multicloud/components/multicloud-windriver/resources/config/log/log.yml
kubernetes/multicloud/components/multicloud-windriver/templates/deployment.yaml
kubernetes/multicloud/components/multicloud-windriver/values.yaml
kubernetes/multicloud/values.yaml
kubernetes/onap/Chart.yaml
kubernetes/onap/resources/overrides/onap-all-ingress-nginx-vhost.yaml
kubernetes/onap/resources/overrides/onap-all.yaml
kubernetes/onap/resources/overrides/onap-vfw.yaml
kubernetes/onap/resources/overrides/sm-onap.yaml
kubernetes/onap/values.yaml
kubernetes/robot/Chart.yaml
kubernetes/robot/demo-k8s.sh
kubernetes/robot/values.yaml
kubernetes/so/components/so-bpmn-infra/values.yaml
kubernetes/so/components/so-catalog-db-adapter/values.yaml
kubernetes/so/components/so-cnf-adapter/values.yaml
kubernetes/so/components/so-openstack-adapter/values.yaml
kubernetes/so/components/so-request-db-adapter/values.yaml
kubernetes/so/components/so-sdc-controller/values.yaml
kubernetes/so/components/so-sdnc-adapter/values.yaml
kubernetes/so/values.yaml
kubernetes/strimzi/.helmignore [new file with mode: 0644]
kubernetes/strimzi/Chart.yaml [new file with mode: 0644]
kubernetes/strimzi/Makefile [new file with mode: 0644]
kubernetes/strimzi/templates/pv-kafka.yaml [new file with mode: 0644]
kubernetes/strimzi/templates/pv-zk.yaml [new file with mode: 0644]
kubernetes/strimzi/templates/strimzi-kafka.yaml [new file with mode: 0644]
kubernetes/strimzi/values.yaml [new file with mode: 0644]

index 71fed48..bb11f06 100644 (file)
@@ -14,7 +14,7 @@ kubernetes/config/onap-parameters.yaml
 kubernetes/dist/*
 kubernetes/common/dist/*
 Chart.lock
-#**/charts/*.tgz
+**/charts/*.tgz
 *.orig
 
 # AAI Schema
index 035b9a6..4e357b6 100644 (file)
@@ -35,6 +35,7 @@ local/sdnc                    10.0.0                    SDN Controller
 local/sdnc-prom               10.0.0                    ONAP SDNC Policy Driven Ownership Management
 local/sniro-emulator          10.0.0                    ONAP Mock Sniro Emulator
 local/so                      10.0.0                    ONAP Service Orchestrator
+local/strimzi                 10.0.0                    ONAP Strimzi Apache Kafka
 local/uui                     10.0.0                    ONAP uui
 local/vfc                     10.0.0                    ONAP Virtual Function Controller (VF-C)
 local/vid                     10.0.0                    ONAP Virtual Infrastructure Deployment
index 79a3056..a38c6f4 100644 (file)
@@ -53,6 +53,18 @@ where <BRANCH> can be an official release tag, such as
 
 More details can be found :doc:`here <oom_setup_paas>`.
 
+**Step 4.1** Install Strimzi Kafka Operator:
+
+- Add the helm repo::
+
+    > helm repo add strimzi https://strimzi.io/charts/
+
+- Install the operator::
+
+    > helm install strimzi-kafka-operator strimzi/strimzi-kafka-operator --namespace strimzi-system --version 0.28.0 --set watchAnyNamespace=true --create-namespace
+
+More details can be found :doc:`here <oom_setup_paas>`.
+
 **Step 5.** Customize the Helm charts like `oom/kubernetes/onap/values.yaml` or
 an override file like `onap-all.yaml`, `onap-vfw.yaml` or `openstack.yaml` file
 to suit your deployment with items like the OpenStack tenant information.
index ed632da..2dabcb1 100644 (file)
@@ -6,6 +6,7 @@
 .. Links
 .. _Cert-Manager Installation documentation: https://cert-manager.io/docs/installation/kubernetes/
 .. _Cert-Manager kubectl plugin documentation: https://cert-manager.io/docs/usage/kubectl-plugin/
+.. _Strimzi Apache Kafka Operator helm Installation documentation: https://strimzi.io/docs/operators/in-development/deploying.html#deploying-cluster-operator-helm-chart-str
 
 .. _oom_setup_paas:
 
@@ -15,17 +16,20 @@ ONAP PaaS set-up
 Starting from Honolulu release, Cert-Manager and Prometheus Stack are a part
 of k8s PaaS for ONAP operations and can be installed to provide
 additional functionality for ONAP engineers.
+Starting from Jakarta release, Strimzi Apache Kafka is deployed to provide
+Apache kafka as the default messaging bus for ONAP.
 
 The versions of PaaS components that are supported by OOM are as follows:
 
 .. table:: ONAP PaaS components
 
-  ==============     =============  =================
-  Release            Cert-Manager   Prometheus Stack
-  ==============     =============  =================
+  ==============     =============  =================  =======
+  Release            Cert-Manager   Prometheus Stack   Strimzi
+  ==============     =============  =================  =======
   honolulu           1.2.0          13.x
   istanbul           1.5.4          19.x
-  ==============     =============  =================
+  jakarta                                              0.28.0
+  ==============     =============  =================  =======
 
 This guide provides instructions on how to install the PaaS
 components for ONAP.
@@ -35,6 +39,40 @@ components for ONAP.
    :local:
 ..
 
+Strimzi Apache Kafka Operator
+=============================
+
+Strimzi provides a way to run an Apache Kafka cluster on Kubernetes
+in various deployment configurations by using kubernetes operators.
+Operators are a method of packaging, deploying, and managing a
+Kubernetes application.
+Strimzi Operators extend Kubernetes functionality, automating common
+and complex tasks related to a Kafka deployment. By implementing
+knowledge of Kafka operations in code, Kafka administration
+tasks are simplified and require less manual intervention.
+
+Installation steps
+------------------
+
+The recommended version of Strimzi for Kubernetes 1.19 is v0.28.0.
+The Strimzi cluster operator is deployed using helm to install the parent chart
+containing all of the required custom resource definitions. This should be done
+by a kubernetes administrator to allow for deployment of custom resources in to
+any kubernetes namespace within the cluster.
+
+Full installation instructions can be found in the
+`Strimzi Apache Kafka Operator helm Installation documentation`_.
+
+Installation can be as simple as:
+
+- Add the helm repo::
+
+    > helm repo add strimzi https://strimzi.io/charts/
+
+- Install the operator::
+
+    > helm install strimzi-kafka-operator strimzi/strimzi-kafka-operator --namespace strimzi-system --version 0.28.0 --set watchAnyNamespace=true --create-namespace
+
 Cert-Manager
 ============
 
index 019d843..10b57dc 100644 (file)
@@ -55,7 +55,7 @@ ONAP with a few simple commands.
 
 Pre-requisites
 --------------
-Your environment must have the Kubernetes `kubectl` with Cert-Manager
+Your environment must have the Kubernetes `kubectl` with Strimzi Apache Kafka, Cert-Manager
 and Helm setup as a one time activity.
 
 Install Kubectl
@@ -78,11 +78,6 @@ Verify that the Kubernetes config is correct::
 
 At this point you should see Kubernetes pods running.
 
-Install Cert-Manager
-~~~~~~~~~~~~~~~~~~~~
-Details on how to install Cert-Manager can be found
-:doc:`here <oom_setup_paas>`.
-
 Install Helm
 ~~~~~~~~~~~~
 Helm is used by OOM for package and configuration management. To install Helm,
@@ -96,6 +91,16 @@ Verify the Helm version with::
 
   > helm version
 
+Install Strimzi Apache Kafka Operator
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Details on how to install Strimzi Apache Kafka can be found
+:doc:`here <oom_setup_paas>`.
+
+Install Cert-Manager
+~~~~~~~~~~~~~~~~~~~~
+Details on how to install Cert-Manager can be found
+:doc:`here <oom_setup_paas>`.
+
 Install the Helm Repo
 ---------------------
 Once kubectl and Helm are setup, one needs to setup a local Helm server to
index d65c4f7..112b8c0 100644 (file)
@@ -465,7 +465,7 @@ persistence:
   accessMode: ReadWriteOnce
   ## Persistent Volume size
   ##
-  size: 2Gi
+  size: 3Gi
 
 ## Additional pod labels
 ##
index 341b4c8..1051aaf 100644 (file)
@@ -33,6 +33,8 @@ metadata:
     name: "{{ index $dot.Values "container" "name" $pgMode }}"
 spec:
   replicas: 1
+  strategy:
+    type: Recreate
   selector:
     matchLabels:
       app: {{ include "common.name" $dot }}-{{ $pgMode }}
index f57d390..1b99285 100644 (file)
     mail: email (optional)
   You can also set the same things for dockerHub, elastic and googleK8s if
   needed.
+  if not needed, set global.repositoryCred.user to empty value.
 */}}
 {{- define "repositoryGenerator.secret" -}}
   {{- $dot := default . .dot -}}
   {{- if $subchartDot.Values.global.repositoryCred }}
   {{-   $repo := $subchartDot.Values.global.repository }}
   {{-   $cred := $subchartDot.Values.global.repositoryCred }}
-  {{-   $mail := default "@" $cred.mail }}
-  {{-   $auth := printf "%s:%s" $cred.user $cred.password | b64enc }}
-  {{-   $repoCreds = printf "\"%s\": {\"username\":\"%s\",\"password\":\"%s\",\"email\":\"%s\",\"auth\":\"%s\"}" $repo $cred.user $cred.password $mail $auth }}
+  {{-   if $cred.user }}
+  {{-     $mail := default "@" $cred.mail }}
+  {{-     $auth := printf "%s:%s" $cred.user $cred.password | b64enc }}
+  {{-     $repoCreds = printf "\"%s\": {\"username\":\"%s\",\"password\":\"%s\",\"email\":\"%s\",\"auth\":\"%s\"}" $repo $cred.user $cred.password $mail $auth }}
+  {{-   end }}
   {{- end }}
   {{- if $subchartDot.Values.global.dockerHubRepositoryCred }}
   {{-   $dhRepo := $subchartDot.Values.global.dockerHubRepository }}
index 5a45fa1..fbaaedf 100644 (file)
@@ -366,12 +366,12 @@ spec:
         - name: POLICY_SYNC_PDP_USER
           valueFrom:
             secretKeyRef:
-              name: {{ $policyRls }}-policy-xacml-pdp-api-creds
+              name: {{ $policyRls }}-policy-xacml-pdp-restserver-creds
               key: login
         - name: POLICY_SYNC_PDP_PASS
           valueFrom:
             secretKeyRef:
-              name: {{ $policyRls }}-policy-xacml-pdp-api-creds
+              name: {{ $policyRls }}-policy-xacml-pdp-restserver-creds
               key: password
         - name: POLICY_SYNC_PDP_URL
           value : http{{ if (include "common.needTLS" .) }}s{{ end }}://policy-xacml-pdp:6969
index 6099d0c..e023d81 100644 (file)
@@ -135,10 +135,10 @@ applicationConfig:
   aaf_identity: ""
   aaf_password: ""
   pm-mapper-filter: "{ \"filters\":[] }"
-  key_store_path: ""
-  key_store_pass_path: ""
-  trust_store_path: ""
-  trust_store_pass_path: ""
+  key_store_path: /opt/app/pm-mapper/etc/cert/cert.jks
+  key_store_pass_path: /opt/app/pm-mapper/etc/cert/jks.pass
+  trust_store_path: /opt/app/pm-mapper/etc/cert/trust.jks
+  trust_store_pass_path: /opt/app/pm-mapper/etc/cert/trust.pass
   dmaap_dr_delete_endpoint: https://dmaap-dr-node:8443/delete
   streams_publishes:
     dmaap_publisher:
@@ -158,7 +158,7 @@ applicationConfig:
         username: ${DR_USERNAME}
         password: ${DR_PASSWORD}
         location: san-francisco
-        delivery_url: https://dcae-pm-mapper:8443/delivery
+        delivery_url: http://dcae-pm-mapper:8081/delivery
 
 # DataRouter Feed Configuration
 drFeedConfig:
@@ -176,7 +176,7 @@ drSubConfig:
     userpwd: ${DR_PASSWORD}
     dcaeLocationName: loc00
     privilegedSubscriber: true
-    deliveryURL: https://dcae-pm-mapper:8443/delivery
+    deliveryURL: http://dcae-pm-mapper:8081/delivery
 
 # MessageRouter Topic, Publisher Configuration
 mrTopicsConfig:
index be0de96..c998e9e 100644 (file)
@@ -60,7 +60,7 @@ pullPolicy: Always
 zookeeper:
   name: message-router-zookeeper
   port: 2181
-  replicaCount: 3
+  replicaCount: 1
 
 kafka:
   heapOptions: -Xmx5G -Xms1G
@@ -129,7 +129,7 @@ secrets:
 debugEnabled: false
 
 # default number of instances
-replicaCount: 3
+replicaCount: 1
 
 
 # To access Kafka outside cluster, this value must be set to hard and the number of nodes in K8S cluster must be equal or greater then replica count
index 13b0ed8..36853ba 100755 (executable)
@@ -67,6 +67,8 @@ generate_overrides() {
     fi
   done
 }
+
+
 resolve_deploy_flags() {
   flags=($1)
   n=${#flags[*]}
@@ -87,6 +89,54 @@ resolve_deploy_flags() {
   echo "$DEPLOY_FLAGS"
 }
 
+
+check_for_dep() {
+    try=0
+    retries=60
+    until (kubectl get deployment -n $HELM_NAMESPACE | grep -P "\b$1\b") &>/dev/null; do
+        (( ++try > retries )) && exit 1
+        echo "$1 not found. Retry $try/$retries"
+        sleep 10
+    done
+    echo "$1 found. Waiting for pod intialisation"
+    sleep 15
+}
+
+deploy_strimzi() {
+  #Deploy the srtimzi-kafka chart in advance. Dependent charts require the entity-operator
+  #for management of the strimzi crds
+  deploy_subchart
+  echo "waiting for ${RELEASE}-strimzi-entity-operator to be deployed"
+  check_for_dep ${RELEASE}-strimzi-entity-operator
+}
+
+deploy_subchart() {
+  if [ -z "$SUBCHART_RELEASE" ] || [ "$SUBCHART_RELEASE" = "$subchart" ]; then
+        LOG_FILE=$LOG_DIR/"${RELEASE}-${subchart}".log
+        :> $LOG_FILE
+
+        helm upgrade -i "${RELEASE}-${subchart}" $CACHE_SUBCHART_DIR/$subchart \
+         $DEPLOY_FLAGS -f $GLOBAL_OVERRIDES -f $SUBCHART_OVERRIDES \
+         > $LOG_FILE 2>&1
+
+        if [ "$VERBOSE" = "true" ]; then
+          cat $LOG_FILE
+        else
+          echo "release \"${RELEASE}-${subchart}\" deployed"
+        fi
+        # Add annotation last-applied-configuration if set-last-applied flag is set
+        if [ "$SET_LAST_APPLIED" = "true" ]; then
+          helm get manifest "${RELEASE}-${subchart}" \
+          | kubectl apply set-last-applied --create-annotation -n $HELM_NAMESPACE -f - \
+          > $LOG_FILE.log 2>&1
+        fi
+      fi
+      if [ "$DELAY" = "true" ]; then
+        echo sleep 3m
+        sleep 180
+      fi
+}
+
 deploy() {
   # validate params
   if [ -z "$1" ] || [ -z "$2" ]; then
@@ -209,7 +259,7 @@ deploy() {
     # Add annotation last-applied-configuration if set-last-applied flag is set
     if [ "$SET_LAST_APPLIED" = "true" ]; then
       helm get manifest ${RELEASE} \
-      | kubectl apply set-last-applied --create-annotation -n onap -f - \
+      | kubectl apply set-last-applied --create-annotation -n $HELM_NAMESPACE -f - \
       > $LOG_FILE.log 2>&1
     fi
   fi
@@ -219,47 +269,50 @@ deploy() {
   #“helm ls” is an expensive command in that it can take a long time to execute.
   #So cache the results to prevent repeated execution.
   ALL_HELM_RELEASES=$(helm ls -q)
-  for subchart in * ; do
-    SUBCHART_OVERRIDES=$CACHE_SUBCHART_DIR/$subchart/subchart-overrides.yaml
 
-    SUBCHART_ENABLED=0
-    if [ -f $SUBCHART_OVERRIDES ]; then
-      SUBCHART_ENABLED=$(cat $SUBCHART_OVERRIDES | grep -c "^enabled: true")
-    fi
+    for subchart in strimzi cassandra mariadb-galera postgres ; do
+      SUBCHART_OVERRIDES=$CACHE_SUBCHART_DIR/$subchart/subchart-overrides.yaml
 
-    if [ $SUBCHART_ENABLED -eq 1 ]; then
-      if [ -z "$SUBCHART_RELEASE" ] || [ "$SUBCHART_RELEASE" = "$subchart" ]; then
-        LOG_FILE=$LOG_DIR/"${RELEASE}-${subchart}".log
-        :> $LOG_FILE
+      SUBCHART_ENABLED=0
+      if [ -f $SUBCHART_OVERRIDES ]; then
+        SUBCHART_ENABLED=$(cat $SUBCHART_OVERRIDES | grep -c "^enabled: true")
+      fi
+      if [ "${subchart}" = "strimzi" ] && [ $SUBCHART_ENABLED -eq 1 ]; then
+        deploy_strimzi
+      fi
+      # Deploy them at first
+      if [ $SUBCHART_ENABLED -eq 1 ]; then
+        deploy_subchart
+      else
+        array=($(echo "$ALL_HELM_RELEASES" | grep "${RELEASE}-${subchart}"))
+        n=${#array[*]}
+        for i in $(seq $(($n-1)) -1 0); do
+          helm del "${array[i]}"
+        done
+      fi
+    done
 
-        helm upgrade -i "${RELEASE}-${subchart}" $CACHE_SUBCHART_DIR/$subchart \
-         $DEPLOY_FLAGS -f $GLOBAL_OVERRIDES -f $SUBCHART_OVERRIDES \
-         > $LOG_FILE 2>&1
+    for subchart in * ; do
+      SUBCHART_OVERRIDES=$CACHE_SUBCHART_DIR/$subchart/subchart-overrides.yaml
 
-        if [ "$VERBOSE" = "true" ]; then
-          cat $LOG_FILE
-        else
-          echo "release \"${RELEASE}-${subchart}\" deployed"
-        fi
-        # Add annotation last-applied-configuration if set-last-applied flag is set
-        if [ "$SET_LAST_APPLIED" = "true" ]; then
-          helm get manifest "${RELEASE}-${subchart}" \
-          | kubectl apply set-last-applied --create-annotation -n onap -f - \
-          > $LOG_FILE.log 2>&1
-        fi
+      SUBCHART_ENABLED=0
+      if [ -f $SUBCHART_OVERRIDES ]; then
+        SUBCHART_ENABLED=$(cat $SUBCHART_OVERRIDES | grep -c "^enabled: true")
       fi
-      if [ "$DELAY" = "true" ]; then
-        echo sleep 3m
-        sleep 180
+      if [ "${subchart}" = "strimzi" ] || [ "${subchart}" = "cassandra" ] || [ "${subchart}" = "mariadb-galera" ] || [ "${subchart}" = "postgres" ]; then
+        SUBCHART_ENABLED=0
       fi
-    else
-      array=($(echo "$ALL_HELM_RELEASES" | grep "${RELEASE}-${subchart}"))
-      n=${#array[*]}
-      for i in $(seq $(($n-1)) -1 0); do
-        helm del "${array[i]}"
-      done
-    fi
-  done
+      # Deploy the others
+      if [ $SUBCHART_ENABLED -eq 1 ]; then
+        deploy_subchart
+      else
+        array=($(echo "$ALL_HELM_RELEASES" | grep "${RELEASE}-${subchart}"))
+        n=${#array[*]}
+        for i in $(seq $(($n-1)) -1 0); do
+          helm del "${array[i]}"
+        done
+      fi
+    done
 
   # report on success/failures of installs/upgrades
   helm ls --all-namespaces | grep -i FAILED | grep $RELEASE
index b4d8837..1b1bb38 100644 (file)
@@ -102,7 +102,7 @@ config:
 # application image
 flavor: small
 
-image: onap/modeling/etsicatalog:1.0.11
+image: onap/modeling/etsicatalog:1.0.13
 pullPolicy: Always
 
 #Istio sidecar injection policy
index fe2eb68..889dabe 100644 (file)
@@ -18,20 +18,24 @@ disable_existing_loggers: False
 
 loggers:
     fcaps:
-      handlers: [fcaps_handler]
+      handlers: [console_handler, file_handler]
       level: "DEBUG"
       propagate: False
     newton_base:
-      handlers: [fcaps_handler]
+      handlers: [console_handler, file_handler]
       level: "DEBUG"
       propagate: False
     common:
-      handlers: [fcaps_handler]
+      handlers: [console_handler, file_handler]
       level: "DEBUG"
       propagate: False
 
 handlers:
-    fcaps_handler:
+    console_handler:
+        level: "DEBUG"
+        class: "logging.StreamHandler"
+        formatter: "standard"
+    file_handler:
         level: "DEBUG"
         class: "logging.handlers.RotatingFileHandler"
         filename: "/var/log/onap/multicloud/openstack/fcaps/fcaps.log"
index fc46a65..f71255b 100644 (file)
@@ -90,6 +90,9 @@ spec:
      - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.rabbitmq }}
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
        name: rabbit-mq
+     - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.memcached }}
+       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+       name: memcached
      serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
      volumes:
      - name: fcaps-log
index b664498..21be9d3 100644 (file)
@@ -22,7 +22,7 @@ global:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/multicloud/openstack-fcaps:1.5.6
+image: onap/multicloud/openstack-fcaps:1.5.7
 pullPolicy: Always
 
 #Istio sidecar injection policy
@@ -90,6 +90,9 @@ resources:
 # rabbit-mq image resource
 rabbitmq: rabbitmq:alpine
 
+# memcached image resource
+memcached: memcached:alpine3.15
+
 #Pods Service Account
 serviceAccount:
   nameOverride: multicloud-fcaps
index bf9dbf5..844ac5e 100644 (file)
 global:
   nodePortPrefixExt: 304
   persistence: {}
-  artifactImage: onap/multicloud/framework-artifactbroker:1.7.2
+  artifactImage: onap/multicloud/framework-artifactbroker:1.7.3
 
 #################################################################
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/multicloud/k8s:0.9.3
+image: onap/multicloud/k8s:0.10.0
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index e740dcc..9c82852 100644 (file)
@@ -18,20 +18,24 @@ disable_existing_loggers: False
 
 loggers:
     pike:
-      handlers: [pike_handler]
+      handlers: [console_handler, file_handler]
       level: "DEBUG"
       propagate: False
     newton_base:
-      handlers: [pike_handler]
+      handlers: [console_handler, file_handler]
       level: "DEBUG"
       propagate: False
     common:
-      handlers: [pike_handler]
+      handlers: [console_handler, file_handler]
       level: "DEBUG"
       propagate: False
 
 handlers:
-    pike_handler:
+    console_handler:
+        level: "DEBUG"
+        class: "logging.StreamHandler"
+        formatter: "standard"
+    file_handler:
         level: "DEBUG"
         class: "logging.handlers.RotatingFileHandler"
         filename: "/var/log/onap/multicloud/openstack/pike/pike.log"
index ebebaac..a802cb1 100644 (file)
@@ -89,6 +89,9 @@ spec:
        {{ end }}
      # side car containers
      {{ include "common.log.sidecar" . | nindent 5 }}
+     - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.memcached }}
+       imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+       name: memcached
      serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
      volumes:
      - name: pike-log
index 45c7309..7b606a5 100644 (file)
@@ -22,7 +22,7 @@ global:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/multicloud/openstack-pike:1.5.6
+image: onap/multicloud/openstack-pike:1.5.7
 pullPolicy: Always
 
 #Istio sidecar injection policy
@@ -87,6 +87,9 @@ resources:
       memory: 2Gi
   unlimited: {}
 
+# memcached image resource
+memcached: memcached:alpine3.15
+
 #Pods Service Account
 serviceAccount:
   nameOverride: multicloud-pike
index 05989ac..243e51e 100644 (file)
@@ -18,24 +18,28 @@ disable_existing_loggers: False
 
 loggers:
     starlingx_base:
-      handlers: [starlingx_handler]
+      handlers: [console_handler, file_handler]
       level: "DEBUG"
       propagate: False
     starlingx:
-      handlers: [starlingx_handler]
+      handlers: [console_handler, file_handler]
       level: "DEBUG"
       propagate: False
     newton_base:
-      handlers: [starlingx_handler]
+      handlers: [console_handler, file_handler]
       level: "DEBUG"
       propagate: False
     common:
-      handlers: [starlingx_handler]
+      handlers: [console_handler, file_handler]
       level: "DEBUG"
       propagate: False
 
 handlers:
-    starlingx_handler:
+    console_handler:
+        level: "DEBUG"
+        class: "logging.StreamHandler"
+        formatter: "standard"
+    file_handler:
         level: "DEBUG"
         class: "logging.handlers.RotatingFileHandler"
         filename: "/var/log/onap/multicloud/openstack/starlingx/starlingx.log"
index c9209a0..2524cd8 100644 (file)
@@ -88,6 +88,9 @@ spec:
         {{ end }}
       # side car containers
       {{ include "common.log.sidecar" . | nindent 7 }}
+      - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.memcached }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: memcached
       - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.artifactImage }}
         name: framework-artifactbroker
         command: ["/opt/app/distribution/bin/artifact-dist.sh"]
index b3387c6..e59f34a 100644 (file)
 #################################################################
 global:
   nodePortPrefixExt: 304
-  artifactImage: onap/multicloud/framework-artifactbroker:1.7.2
+  artifactImage: onap/multicloud/framework-artifactbroker:1.7.3
 
 #################################################################
 # Application configuration defaults.
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/multicloud/openstack-starlingx:1.5.6
+image: onap/multicloud/openstack-starlingx:1.5.7
 pullPolicy: Always
 
 #Istio sidecar injection policy
@@ -89,6 +89,9 @@ resources:
       memory: 2Gi
   unlimited: {}
 
+# memcached image resource
+memcached: memcached:alpine3.15
+
 #Pods Service Account
 serviceAccount:
   nameOverride: multicloud-starlingx
index 7488188..80792c9 100644 (file)
@@ -18,20 +18,24 @@ disable_existing_loggers: False
 
 loggers:
     titanium_cloud:
-      handlers: [titanium_cloud_handler]
+      handlers: [console_handler, file_handler]
       level: "DEBUG"
       propagate: False
     newton_base:
-      handlers: [titanium_cloud_handler]
+      handlers: [console_handler, file_handler]
       level: "DEBUG"
       propagate: False
     common:
-      handlers: [titanium_cloud_handler]
+      handlers: [console_handler, file_handler]
       level: "DEBUG"
       propagate: False
 
 handlers:
-    titanium_cloud_handler:
+    console_handler:
+        level: "DEBUG"
+        class: "logging.StreamHandler"
+        formatter: "standard"
+    file_handler:
         level: "DEBUG"
         class: "logging.handlers.RotatingFileHandler"
         filename: "/var/log/onap/multicloud/openstack/windriver/titanium_cloud.log"
index dfb4bbc..7656632 100644 (file)
@@ -97,6 +97,9 @@ spec:
         {{ end }}
       # side car containers
       {{ include "common.log.sidecar" . | nindent 7 }}
+      - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.memcached }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        name: memcached
       - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.artifactImage }}
         name: framework-artifactbroker
         command: ["/opt/app/distribution/bin/artifact-dist.sh"]
index ad50b40..1a6527b 100644 (file)
 #################################################################
 global:
   nodePortPrefix: 302
-  artifactImage: onap/multicloud/framework-artifactbroker:1.7.2
+  artifactImage: onap/multicloud/framework-artifactbroker:1.7.3
   persistence: {}
 
 #################################################################
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/multicloud/openstack-windriver:1.5.6
+image: onap/multicloud/openstack-windriver:1.5.7
 pullPolicy: Always
 
 #Istio sidecar injection policy
@@ -98,6 +98,9 @@ resources:
       memory: 2Gi
   unlimited: {}
 
+# memcached image resource
+memcached: memcached:alpine3.15
+
 #Pods Service Account
 serviceAccount:
   nameOverride: multicloud-windriver
index c4c95a4..977de08 100644 (file)
@@ -18,7 +18,7 @@
 #################################################################
 global:
   nodePortPrefix: 302
-  artifactImage: onap/multicloud/framework-artifactbroker:1.7.2
+  artifactImage: onap/multicloud/framework-artifactbroker:1.7.3
   prometheus:
     enabled: false
   persistence: {}
@@ -28,7 +28,7 @@ global:
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/multicloud/framework:1.7.1
+image: onap/multicloud/framework:1.7.3
 pullPolicy: Always
 
 #Istio sidecar injection policy
index 4754f9f..371bc71 100644 (file)
@@ -143,6 +143,10 @@ dependencies:
     version: ~10.x-0
     repository: '@local'
     condition: so.enabled
+  - name: strimzi
+    version: ~10.x-0
+    repository: '@local'
+    condition: strimzi.enabled
   - name: uui
     version: ~10.x-0
     repository: '@local'
index 9306985..f16813f 100644 (file)
@@ -73,7 +73,7 @@ nbi:
 policy:
   enabled: true
 portal:
-  enabled: true
+  enabled: false
 robot:
   enabled: true
 sdc:
@@ -82,6 +82,8 @@ sdnc:
   enabled: true
 so:
   enabled: true
+strimzi:
+  enabled: true
 uui:
   enabled: true
 vfc:
index 181a1d1..f9da136 100644 (file)
@@ -57,5 +57,7 @@ sdnc:
   enabled: true
 so:
   enabled: true
+strimzi:
+  enabled: true
 vid:
   enabled: true
index b07b6d3..37080b8 100644 (file)
@@ -134,6 +134,8 @@ so:
     openStackKeyStoneUrl: "$OPENSTACK_KEYSTONE_URL"
     openStackServiceTenantName: "$OPENSTACK_TENANT_NAME"
     openStackEncryptedPasswordHere: "$OPENSTACK_ENCRYPTED_PASSWORD"
+strimzi:
+  enabled: false
 uui:
   enabled: false
 vid:
index f5b5c8e..0e8dd21 100755 (executable)
@@ -372,6 +372,8 @@ so:
   #   server:
   #     monitoring:
   #       password: demo123456!
+strimzi:
+  enabled: false
 uui:
   enabled: false
 vfc:
index d28b5ae..23610dd 100644 (file)
@@ -29,3 +29,6 @@ dependencies:
   - name: repositoryGenerator
     version: ~10.x-0
     repository: '@local'
+  - name: serviceAccount
+    version: ~10.x-0
+    repository: '@local'
index 3cbfb76..3beef06 100755 (executable)
@@ -295,6 +295,8 @@ if [ $dcaeRegistrySynch ]; then
      ./registry-initialize.sh -h dcaegen2-services-common -n $NAMESPACE -r $HELM_RELEASE
      ./registry-initialize.sh -h postgres -n $NAMESPACE -r $HELM_RELEASE
      ./registry-initialize.sh -h serviceAccount -n $NAMESPACE -r $HELM_RELEASE
+     ./registry-initialize.sh -h mongo -n $NAMESPACE -r $HELM_RELEASE
+     ./registry-initialize.sh -h common -n $NAMESPACE -r $HELM_RELEASE
    fi
    cd $CURRENT_DIR
 fi
index b057fc7..7bba71f 100644 (file)
@@ -462,3 +462,9 @@ persistence:
   size: 2Gi
   mountPath: /dockerdata-nfs
   mountSubPath: robot/logs
+
+#Pods Service Account
+serviceAccount:
+  nameOverride: robot
+  roles:
+    - read
\ No newline at end of file
index ec6f440..d5ff829 100755 (executable)
@@ -63,7 +63,7 @@ secrets:
 #################################################################
 # Application configuration defaults.
 #################################################################
-image: onap/so/bpmn-infra:1.9.2
+image: onap/so/bpmn-infra:1.10.0
 pullPolicy: Always
 
 bpmn:
index 57c4902..a5961ee 100755 (executable)
@@ -62,7 +62,7 @@ secrets:
 #################################################################
 # Application configuration defaults.
 #################################################################
-image: onap/so/catalog-db-adapter:1.9.2
+image: onap/so/catalog-db-adapter:1.10.0
 pullPolicy: Always
 
 db:
index 2b6fff6..6d7eec4 100755 (executable)
@@ -76,7 +76,7 @@ secrets:
 #################################################################
 # Application configuration defaults.
 #################################################################
-image: onap/so/so-cnf-adapter:1.9.2
+image: onap/so/so-cnf-adapter:1.10.0
 pullPolicy: Always
 
 readinessCheck:
index 1faf890..057f8a0 100755 (executable)
@@ -58,7 +58,7 @@ secrets:
 #################################################################
 # Application configuration defaults.
 #################################################################
-image: onap/so/openstack-adapter:1.9.2
+image: onap/so/openstack-adapter:1.10.0
 pullPolicy: Always
 
 db:
index d49210f..e932a0b 100755 (executable)
@@ -58,7 +58,7 @@ secrets:
 #################################################################
 # Application configuration defaults.
 #################################################################
-image: onap/so/request-db-adapter:1.9.2
+image: onap/so/request-db-adapter:1.10.0
 pullPolicy: Always
 
 db:
index e613950..58e93f5 100755 (executable)
@@ -58,7 +58,7 @@ secrets:
 #################################################################
 # Application configuration defaults.
 #################################################################
-image: onap/so/sdc-controller:1.9.2
+image: onap/so/sdc-controller:1.10.0
 pullPolicy: Always
 
 db:
index d087b15..cb9d02a 100755 (executable)
@@ -72,7 +72,7 @@ secrets:
 #################################################################
 # Application configuration defaults.
 #################################################################
-image: onap/so/sdnc-adapter:1.9.2
+image: onap/so/sdnc-adapter:1.10.0
 pullPolicy: Always
 
 org:
index 18455e4..1f454f6 100755 (executable)
@@ -182,7 +182,7 @@ dbCreds:
   userName: so_user
   adminName: so_admin
 
-image: onap/so/api-handler-infra:1.9.2
+image: onap/so/api-handler-infra:1.10.0
 
 server:
   aaf:
diff --git a/kubernetes/strimzi/.helmignore b/kubernetes/strimzi/.helmignore
new file mode 100644 (file)
index 0000000..0f976e9
--- /dev/null
@@ -0,0 +1,22 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+Chart.lock
diff --git a/kubernetes/strimzi/Chart.yaml b/kubernetes/strimzi/Chart.yaml
new file mode 100644 (file)
index 0000000..6ce866b
--- /dev/null
@@ -0,0 +1,33 @@
+# Copyright © 2022 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: v2
+description: ONAP Strimzi kafka
+name: strimzi
+version: 10.0.0
+
+dependencies:
+  - name: common
+    version: ~10.x-0
+    # local reference to common chart, as it is
+    # a part of this chart's package and will not
+    # be published independently to a repo (at this point)
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~10.x-0
+    repository: '@local'
+  - name: serviceAccount
+    version: ~10.x-0
+    repository: '@local'
+
diff --git a/kubernetes/strimzi/Makefile b/kubernetes/strimzi/Makefile
new file mode 100644 (file)
index 0000000..51d7de1
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright © 2020 Samsung Electronics
+#
+# 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.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES := dist resources templates charts docker
+HELM_BIN := helm
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+       @echo "\n[$@]"
+       @make package-$@
+
+make-%:
+       @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) lint $*; fi
+
+package-%: lint-%
+       @mkdir -p $(PACKAGE_DIR)
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi
+       @$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+       @rm -f */Chart.lock
+       @rm -f *tgz */charts/*tgz
+       @rm -rf $(PACKAGE_DIR)
+%:
+       @:
diff --git a/kubernetes/strimzi/templates/pv-kafka.yaml b/kubernetes/strimzi/templates/pv-kafka.yaml
new file mode 100644 (file)
index 0000000..616f03e
--- /dev/null
@@ -0,0 +1,16 @@
+{{/*
+# Copyright © 2022 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.
+*/}}
+{{ include "common.replicaPV" (dict "dot" . "suffix" "kafka" "persistenceInfos" .Values.persistenceKafka) }}
diff --git a/kubernetes/strimzi/templates/pv-zk.yaml b/kubernetes/strimzi/templates/pv-zk.yaml
new file mode 100644 (file)
index 0000000..60f4ca6
--- /dev/null
@@ -0,0 +1,17 @@
+{{/*
+# Copyright © 2022 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.
+*/}}
+
+{{ include "common.replicaPV" (dict "dot" . "suffix" "zk" "persistenceInfos" .Values.persistenceZk) }}
diff --git a/kubernetes/strimzi/templates/strimzi-kafka.yaml b/kubernetes/strimzi/templates/strimzi-kafka.yaml
new file mode 100644 (file)
index 0000000..a94879b
--- /dev/null
@@ -0,0 +1,98 @@
+{{/*
+# Copyright © 2022 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: Kafka
+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 }}
+spec:
+  kafka:
+    version: {{ .Values.version }}
+    replicas: {{ .Values.replicaCount }}
+    listeners:
+      - name: plain
+        port: {{ .Values.kafkaInternalPort }}
+        type: internal
+        tls: false
+        authentication:
+          type: {{ .Values.saslMechanism }}
+      - name: tls
+        port: 9093
+        type: internal
+        tls: true
+        authentication:
+          type: tls
+      - name: external
+        port: 9094
+        type: nodeport
+        tls: true
+        authentication:
+          type: tls
+        configuration:
+          bootstrap:
+            nodePort: {{ .Values.global.nodePortPrefixExt }}91
+          brokers:
+            - broker: 0
+              nodePort: {{ .Values.global.nodePortPrefixExt }}92
+            - broker: 1
+              nodePort: {{ .Values.global.nodePortPrefixExt }}93
+    authorization:
+      type: simple
+      superUsers:
+        - {{ include "common.release" . }}-{{ .Values.kafkaStrimziAdminUser }}
+    template:
+      pod:
+        securityContext:
+          runAsUser: 0
+          fsGroup: 0
+    config:
+      offsets.topic.replication.factor: {{ .Values.replicaCount }}
+      transaction.state.log.replication.factor: {{ .Values.replicaCount }}
+      transaction.state.log.min.isr: 2
+      log.message.format.version: "3.0"
+      inter.broker.protocol.version: "3.0"
+    storage:
+      type: jbod
+      class: {{ include "common.storageClass" (dict "dot" . "suffix" "kafka" "persistenceInfos" .Values.persistenceKafka) }}
+      volumes:
+      - id: 0
+        type: persistent-claim
+        size: {{ .Values.persistenceKafka.size }}
+        deleteClaim: true
+        class: {{ include "common.storageClass" (dict "dot" . "suffix" "kafka" "persistenceInfos" .Values.persistenceKafka) }}
+  zookeeper:
+    template:
+      pod:
+        securityContext:
+          runAsUser: 0
+          fsGroup: 0
+    replicas: {{ .Values.replicaCount }}
+    config:
+      ssl.hostnameVerification: false
+    storage:
+      type: persistent-claim
+      size: {{ .Values.persistenceZk.size }}
+      deleteClaim: true
+      class: {{ include "common.storageClass" (dict "dot" . "suffix" "zk" "persistenceInfos" .Values.persistenceZk) }}
+  entityOperator:
+    topicOperator: {}
+    userOperator: {}
+
diff --git a/kubernetes/strimzi/values.yaml b/kubernetes/strimzi/values.yaml
new file mode 100644 (file)
index 0000000..9e63c2c
--- /dev/null
@@ -0,0 +1,52 @@
+# Copyright © 2022 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.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefixExt: 304
+  persistence:
+    mountPath: /dockerdata-nfs
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+replicaCount: 2
+kafkaInternalPort: 9092
+saslMechanism: scram-sha-512
+version: 3.0.0
+kafkaStrimziAdminUser: strimzi-kafka-admin
+persistence: {}
+
+persistenceKafka:
+  enabled: true
+  size: 2Gi
+  volumeReclaimPolicy: Retain
+  accessMode: ReadWriteOnce
+  mountPath: /dockerdata-nfs
+  mountSubPath: strimzi-kafka/kafka
+persistenceZk:
+  enabled: true
+  size: 2Gi
+  volumeReclaimPolicy: Retain
+  accessMode: ReadWriteOnce
+  mountPath: /dockerdata-nfs
+  mountSubPath: strimzi-kafka/zk
+
+#Pods Service Account
+serviceAccount:
+  nameOverride: strimzi-kafka
+  roles:
+    - read