Merge "[CLAMP] Release 5.1.4"
authorSylvain Desbureaux <sylvain.desbureaux@orange.com>
Wed, 4 Nov 2020 22:46:13 +0000 (22:46 +0000)
committerGerrit Code Review <gerrit@onap.org>
Wed, 4 Nov 2020 22:46:13 +0000 (22:46 +0000)
152 files changed:
kubernetes/Makefile
kubernetes/a1policymanagement/values.yaml
kubernetes/aai
kubernetes/common/cassandra/templates/backup/cronjob.yaml
kubernetes/common/cassandra/templates/statefulset.yaml
kubernetes/common/cassandra/values.yaml
kubernetes/common/cert-wrapper/resources/import-custom-certs.sh
kubernetes/common/certInitializer/templates/configmap.yaml
kubernetes/common/common/templates/_ingress.tpl
kubernetes/common/dgbuilder/resources/config/svclogic.properties
kubernetes/common/elasticsearch/components/master/values.yaml
kubernetes/common/mariadb-galera/resources/config/configure-mysql.sh
kubernetes/common/mariadb-init/resources/config/db_init.sh
kubernetes/common/music/charts/music/resources/config/startup.sh
kubernetes/consul/charts/consul-server/templates/statefulset.yaml
kubernetes/consul/charts/consul-server/values.yaml
kubernetes/consul/templates/deployment.yaml
kubernetes/consul/values.yaml
kubernetes/contrib/tools/check-for-staging-images.sh [new file with mode: 0755]
kubernetes/modeling/charts/modeling-etsicatalog/templates/deployment.yaml
kubernetes/modeling/charts/modeling-etsicatalog/values.yaml
kubernetes/onap/resources/environments/core-onap.yaml
kubernetes/onap/resources/environments/dev.yaml
kubernetes/onap/resources/environments/disable-allcharts.yaml
kubernetes/onap/resources/environments/minimal-onap.yaml
kubernetes/onap/resources/environments/public-cloud.yaml
kubernetes/onap/values.yaml
kubernetes/portal/components/portal-widget/resources/config/deliveries/properties/ONAPWIDGETMS/application.properties
kubernetes/portal/components/portal-widget/resources/config/deliveries/properties/ONAPWIDGETMS/application.yml
kubernetes/portal/components/portal-widget/templates/deployment.yaml
kubernetes/portal/components/portal-widget/templates/secret.yaml [moved from kubernetes/so/components/so-secrets/Chart.yaml with 82% similarity]
kubernetes/portal/components/portal-widget/values.yaml
kubernetes/sdc/components/sdc-be/values.yaml
kubernetes/sdc/components/sdc-cs/values.yaml
kubernetes/sdc/components/sdc-fe/values.yaml
kubernetes/sdc/components/sdc-onboarding-be/values.yaml
kubernetes/sdnc/templates/statefulset.yaml
kubernetes/sdnc/values.yaml
kubernetes/so/components/so-appc-orchestrator/resources/config/overrides/override.yaml
kubernetes/so/components/so-appc-orchestrator/templates/configmap.yaml
kubernetes/so/components/so-appc-orchestrator/templates/deployment.yaml
kubernetes/so/components/so-appc-orchestrator/templates/secret.yaml
kubernetes/so/components/so-appc-orchestrator/templates/service.yaml
kubernetes/so/components/so-appc-orchestrator/values.yaml
kubernetes/so/components/so-bpmn-infra/resources/config/overrides/override.yaml
kubernetes/so/components/so-bpmn-infra/templates/configmap.yaml
kubernetes/so/components/so-bpmn-infra/templates/deployment.yaml
kubernetes/so/components/so-bpmn-infra/templates/secret.yaml
kubernetes/so/components/so-bpmn-infra/templates/service.yaml
kubernetes/so/components/so-bpmn-infra/values.yaml
kubernetes/so/components/so-catalog-db-adapter/resources/config/overrides/override.yaml
kubernetes/so/components/so-catalog-db-adapter/templates/configmap.yaml
kubernetes/so/components/so-catalog-db-adapter/templates/deployment.yaml
kubernetes/so/components/so-catalog-db-adapter/templates/secret.yaml
kubernetes/so/components/so-catalog-db-adapter/templates/service.yaml
kubernetes/so/components/so-catalog-db-adapter/values.yaml
kubernetes/so/components/so-cnf-adapter/Chart.yaml [moved from kubernetes/so/components/so-db-secrets/values.yaml with 71% similarity, mode: 0755]
kubernetes/so/components/so-cnf-adapter/requirements.yaml [moved from kubernetes/so/components/so-secrets/requirements.yaml with 91% similarity]
kubernetes/so/components/so-cnf-adapter/resources/config/overrides/override.yaml [new file with mode: 0755]
kubernetes/so/components/so-cnf-adapter/templates/configmap.yaml [new file with mode: 0755]
kubernetes/so/components/so-cnf-adapter/templates/deployment.yaml [new file with mode: 0755]
kubernetes/so/components/so-cnf-adapter/templates/secret.yaml [moved from kubernetes/so/components/so-db-secrets/Chart.yaml with 82% similarity, mode: 0644]
kubernetes/so/components/so-cnf-adapter/templates/service.yaml [moved from kubernetes/so/components/so-db-secrets/requirements.yaml with 66% similarity]
kubernetes/so/components/so-cnf-adapter/values.yaml [new file with mode: 0755]
kubernetes/so/components/so-db-secrets/templates/secrets.yaml [deleted file]
kubernetes/so/components/so-etsi-nfvo-ns-lcm/resources/config/overrides/override.yaml
kubernetes/so/components/so-etsi-nfvo-ns-lcm/templates/configmap.yaml
kubernetes/so/components/so-etsi-nfvo-ns-lcm/templates/deployment.yaml
kubernetes/so/components/so-etsi-nfvo-ns-lcm/templates/ingress.yaml
kubernetes/so/components/so-etsi-nfvo-ns-lcm/templates/secret.yaml
kubernetes/so/components/so-etsi-nfvo-ns-lcm/templates/service.yaml
kubernetes/so/components/so-etsi-nfvo-ns-lcm/values.yaml
kubernetes/so/components/so-mariadb/resources/config/docker-entrypoint-initdb.d/01-create-camundabpmn.sh
kubernetes/so/components/so-mariadb/resources/config/docker-entrypoint-initdb.d/02-create-requestdb.sh
kubernetes/so/components/so-mariadb/resources/config/docker-entrypoint-initdb.d/03-create-catalogdb.sh
kubernetes/so/components/so-mariadb/resources/config/docker-entrypoint-initdb.d/04-create-nfvo-db.sh
kubernetes/so/components/so-mariadb/resources/config/docker-entrypoint-initdb.d/98-create-so-user.sh
kubernetes/so/components/so-mariadb/resources/config/docker-entrypoint-initdb.d/99-create-so-admin.sh
kubernetes/so/components/so-mariadb/templates/configmap.yaml
kubernetes/so/components/so-mariadb/templates/job.yaml
kubernetes/so/components/so-mariadb/templates/secrets.yaml
kubernetes/so/components/so-monitoring/requirements.yaml
kubernetes/so/components/so-monitoring/resources/config/overrides/override.yaml
kubernetes/so/components/so-monitoring/templates/configmap.yaml
kubernetes/so/components/so-monitoring/templates/deployment.yaml
kubernetes/so/components/so-monitoring/templates/secret.yaml
kubernetes/so/components/so-monitoring/templates/service.yaml
kubernetes/so/components/so-monitoring/values.yaml
kubernetes/so/components/so-nssmf-adapter/resources/config/overrides/override.yaml
kubernetes/so/components/so-nssmf-adapter/templates/configmap.yaml
kubernetes/so/components/so-nssmf-adapter/templates/deployment.yaml
kubernetes/so/components/so-nssmf-adapter/templates/secret.yaml
kubernetes/so/components/so-nssmf-adapter/templates/service.yaml
kubernetes/so/components/so-nssmf-adapter/values.yaml
kubernetes/so/components/so-oof-adapter/templates/deployment.yaml
kubernetes/so/components/so-oof-adapter/values.yaml
kubernetes/so/components/so-openstack-adapter/resources/config/overrides/override.yaml
kubernetes/so/components/so-openstack-adapter/templates/configmap.yaml
kubernetes/so/components/so-openstack-adapter/templates/deployment.yaml
kubernetes/so/components/so-openstack-adapter/templates/secret.yaml
kubernetes/so/components/so-openstack-adapter/templates/service.yaml
kubernetes/so/components/so-openstack-adapter/values.yaml
kubernetes/so/components/so-request-db-adapter/resources/config/overrides/override.yaml
kubernetes/so/components/so-request-db-adapter/templates/configmap.yaml
kubernetes/so/components/so-request-db-adapter/templates/deployment.yaml
kubernetes/so/components/so-request-db-adapter/templates/secret.yaml
kubernetes/so/components/so-request-db-adapter/templates/service.yaml
kubernetes/so/components/so-request-db-adapter/values.yaml
kubernetes/so/components/so-sdc-controller/resources/config/overrides/override.yaml
kubernetes/so/components/so-sdc-controller/templates/configmap.yaml
kubernetes/so/components/so-sdc-controller/templates/deployment.yaml
kubernetes/so/components/so-sdc-controller/templates/secret.yaml
kubernetes/so/components/so-sdc-controller/templates/service.yaml
kubernetes/so/components/so-sdc-controller/values.yaml
kubernetes/so/components/so-sdnc-adapter/resources/config/overrides/override.yaml
kubernetes/so/components/so-sdnc-adapter/templates/configmap.yaml
kubernetes/so/components/so-sdnc-adapter/templates/deployment.yaml
kubernetes/so/components/so-sdnc-adapter/templates/secret.yaml
kubernetes/so/components/so-sdnc-adapter/templates/service.yaml
kubernetes/so/components/so-sdnc-adapter/values.yaml
kubernetes/so/components/so-secrets/resources/certs/org.onap.so.trust.jks [deleted file]
kubernetes/so/components/so-secrets/templates/secrets.yaml [deleted file]
kubernetes/so/components/so-secrets/values.yaml [deleted file]
kubernetes/so/components/so-ve-vnfm-adapter/resources/config/overrides/override.yaml
kubernetes/so/components/so-ve-vnfm-adapter/templates/configmap.yaml
kubernetes/so/components/so-ve-vnfm-adapter/templates/deployment.yaml
kubernetes/so/components/so-ve-vnfm-adapter/templates/secret.yaml
kubernetes/so/components/so-ve-vnfm-adapter/templates/service.yaml
kubernetes/so/components/so-vfc-adapter/resources/config/overrides/override.yaml
kubernetes/so/components/so-vfc-adapter/templates/configmap.yaml
kubernetes/so/components/so-vfc-adapter/templates/deployment.yaml
kubernetes/so/components/so-vfc-adapter/templates/secret.yaml
kubernetes/so/components/so-vfc-adapter/templates/service.yaml
kubernetes/so/components/so-vfc-adapter/values.yaml
kubernetes/so/components/so-vnfm-adapter/resources/config/overrides/override.yaml
kubernetes/so/components/so-vnfm-adapter/templates/configmap.yaml
kubernetes/so/components/so-vnfm-adapter/templates/deployment.yaml
kubernetes/so/components/so-vnfm-adapter/templates/secret.yaml
kubernetes/so/components/so-vnfm-adapter/templates/service.yaml
kubernetes/so/components/soHelpers/templates/_certificates.tpl
kubernetes/so/components/soHelpers/values.yaml
kubernetes/so/requirements.yaml
kubernetes/so/resources/config/docker-files/scripts/start-jboss-server.sh
kubernetes/so/resources/config/overrides/override.yaml
kubernetes/so/templates/configmap.yaml
kubernetes/so/templates/deployment.yaml
kubernetes/so/templates/secret.yaml
kubernetes/so/templates/service.yaml
kubernetes/so/values.yaml
kubernetes/vfc/charts/vfc-nslcm/templates/service.yaml
kubernetes/vfc/charts/vfc-nslcm/values.yaml
kubernetes/vnfsdk/values.yaml

index db361fb..ca46ad8 100644 (file)
@@ -32,7 +32,7 @@ SUBMODS := robot aai
 EXCLUDES := config oneclick readiness test dist helm $(PARENT_CHART) dcae $(SUBMODS)
 HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.)))) $(PARENT_CHART)
 
-.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+.PHONY: $(EXCLUDES) $(HELM_CHARTS) check-for-staging-images
 
 all: $(COMMON_CHARTS_DIR) $(SUBMODS) $(HELM_CHARTS) plugins
 
@@ -96,5 +96,10 @@ repo:
 repo-stop:
        @pkill $(HELM_BIN)
        @$(HELM_BIN) repo remove local
+
+check-for-staging-images:
+       $(ROOT_DIR)/contrib/tools/check-for-staging-images.sh
+
 %:
        @:
+
index ac26f9b..21a86a0 100644 (file)
@@ -30,7 +30,7 @@ secrets:
     passwordPolicy: required
 
 repository: nexus3.onap.org:10001
-image: onap/ccsdk-oran-a1policymanagementservice:1.1.0
+image: onap/ccsdk-oran-a1policymanagementservice:1.0.1
 pullPolicy: IfNotPresent
 replicaCount: 1
 
index a8c4e70..bac4092 160000 (submodule)
@@ -1 +1 @@
-Subproject commit a8c4e701f9c26038a9ac9f22d5dd95fd54ebc1ca
+Subproject commit bac40922e4043c632e1a8a5fe1531a640cbfe6c2
index cabe59f..b242de2 100644 (file)
@@ -149,7 +149,7 @@ spec:
                 subPath: exec.py
           containers:
             - name: cassandra-backup-validate
-              image: "{{ .Values.image }}"
+              image: "{{ include "common.repository" . }}/{{ .Values.image }}"
               imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
               command:
               - /bin/bash
index 2bcafd9..8c49b69 100644 (file)
@@ -112,15 +112,12 @@ spec:
         {{- else }}
               command: ["/bin/sh", "-c", "PID=$(pidof java) && kill $PID && while ps -p $PID > /dev/null; do sleep 1; done"]
         {{- end }}
-        resources:
-{{ toYaml .Values.resources | indent 10 }}
+        resources: {{ toYaml .Values.resources | nindent 10 }}
       {{- if .Values.nodeSelector }}
-      nodeSelector:
-{{ toYaml .Values.nodeSelector | indent 8 }}
+      nodeSelector: {{ toYaml .Values.nodeSelector | nindent 8 }}
       {{- end -}}
       {{- if .Values.affinity }}
-      affinity:
-{{ toYaml .Values.affinity | indent 8 }}
+      affinity: {{ toYaml .Values.affinity | nindent 8 }}
       {{- end }}
       volumes:
       - name: localtime
index 959e243..d0ada59 100644 (file)
@@ -131,7 +131,7 @@ persistence:
 
 configOverrides: {}
 
-resources: {}
+resources: {}
   # We usually recommend not to specify default resources and to leave this as a conscious
   # choice for the user. This also increases chances charts run on environments with little
   # resources, such as Minikube. If you do want to specify resources, uncomment the following
@@ -142,13 +142,13 @@ resources: {}
   # ref: http://kubernetes.io/docs/user-guide/compute-resources/
   # Minimum memory for development is 2 CPU cores and 4GB memory
   # Minimum memory for production is 4 CPU cores and 8GB memory
-#resources:
-#  limits:
-#    cpu: 2
-#    memory: 4Gi
-#  requests:
-#    cpu: 2
-#    memory: 4Gi
+resources:
+  limits:
+    cpu: 0.8
+    memory: 4Gi
+  requests:
+    cpu: 0.2
+    memory: 2.5Gi
 backup:
   enabled: false
   cron: "00 00 * * *"
index dd31183..7e2fa91 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/bash
+{{/*
 
 # Copyright © 2020 Bell Canada
 #
@@ -13,6 +14,7 @@
 # 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.
+*/}}
 
 CERTS_DIR=${CERTS_DIR:-/certs}
 WORK_DIR=${WORK_DIR:-/updatedTruststore}
index 7abbf9c..7eae899 100644 (file)
@@ -21,5 +21,5 @@ kind: ConfigMap
 metadata: {{- include "common.resourceMetadata" (dict "suffix" $suffix "dot" . )| nindent 2 }}
 data:
   aaf-add-config.sh: |
-    {{ tpl .Values.aaf_add_config . | indent 4 }}
+    {{ tpl .Values.aaf_add_config . | indent 4 | trim }}
 {{- end }}
index 6b4f0ed..e57d4be 100644 (file)
@@ -1,19 +1,28 @@
+{{- define "ingress.config.host" -}}
+{{-   $dot := default . .dot -}}
+{{-   $baseaddr := (required "'baseaddr' param, set to the specific part of the fqdn, is required." .baseaddr) -}}
+{{-   $burl := (required "'baseurl' param, set to the generic part of the fqdn, is required." $dot.Values.global.ingress.virtualhost.baseurl) -}}
+{{ printf "%s.%s" $baseaddr $burl }}
+{{- end -}}
+
 {{- define "ingress.config.port" -}}
+{{-   $dot := default . .dot -}}
 {{- if .Values.ingress -}}
 {{- if .Values.global.ingress -}}
 {{- if or (not .Values.global.ingress.virtualhost) (not .Values.global.ingress.virtualhost.enabled) -}}
   - http:
       paths:
 {{- range .Values.ingress.service }}
-        - path: {{  printf "/%s" (required "baseaddr" .baseaddr) }}
+{{ $baseaddr := required "baseaddr" .baseaddr }}
+        - path: {{ include "ingress.config.host" (dict "dot" $dot "baseaddr" $baseaddr) }}
           backend:
             serviceName: {{ .name }}
             servicePort: {{ .port }}
 {{- end -}}
 {{- else if .Values.ingress.service -}}
-{{- $burl := (required "baseurl" .Values.global.ingress.virtualhost.baseurl) -}}
 {{ range .Values.ingress.service }}
-  - host: {{ printf "%s.%s" (required "baseaddr" .baseaddr) $burl }}
+{{ $baseaddr := required "baseaddr" .baseaddr }}
+  - host: {{ include "ingress.config.host" (dict "dot" $dot "baseaddr" $baseaddr) }}
     http:
       paths:
       - backend:
@@ -95,7 +104,18 @@ spec:
 {{- if .Values.ingress.tls }}
   tls:
 {{ toYaml .Values.ingress.tls | indent 4 }}
-  {{- end -}}
+{{- end -}}
+{{- if .Values.ingress.config -}}
+{{- if .Values.ingress.config.tls -}}
+{{-   $dot := default . .dot -}}
+  tls:
+    - hosts:
+    {{- range .Values.ingress.service }}{{ $baseaddr := required "baseaddr" .baseaddr }}
+        - {{ include "ingress.config.host" (dict "dot" $dot "baseaddr" $baseaddr) }}
+    {{- end }}
+    secretName: {{ required "secret" (tpl (default "" .Values.ingress.config.tls.secret) $dot) }}
+{{- end -}}
+{{- end -}}
 {{- end -}}
 {{- end -}}
 {{- end -}}
index 28612a2..01edb4d 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T, Amdocs, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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.
+*/}}
 
 org.onap.ccsdk.sli.dbtype=jdbc
 org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.config.dbServiceName}}.{{ include "common.namespace" . }}:3306/{{.Values.config.db.dbName}}
index 2330233..e59b483 100644 (file)
@@ -12,7 +12,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
 #################################################################
 # Global configuration defaults.
 #################################################################
@@ -41,7 +40,7 @@ name: master
 ##
 replicaCount: 3
 ## master acts as master only node, choose 'no' if no further data nodes are deployed)
-dedicatednode: "yes"
+dedicatednode: 'yes'
 ## dedicatednode: "no"
 image: bitnami/elasticsearch:7.6.1
 ## Specify a imagePullPolicy
@@ -102,12 +101,14 @@ resources:
   ## We usually recommend not to specify default resources and to leave this as a conscious
   ## choice for the user. This also increases chances charts run on environments with little
   ## resources, such as Minikube.
-  limits: {}
+  limits:
+    cpu: 250m
+    memory: 1536Mi
   #   cpu: 100m
   #   memory: 128Mi
   requests:
-    cpu: 25m
-    memory: 256Mi
+    cpu: 5m
+    memory: 310Mi
 ## Elasticsearch master-eligible container's liveness and readiness probes
 ## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
 ##
@@ -160,13 +161,13 @@ persistence:
 ## Service parameters for master-eligible node(s)
 ##
 service:
-  suffix: "service"
-  name: ""
+  suffix: 'service'
+  name: ''
   ## list of ports for "common.containerPorts"
   ## Elasticsearch transport port
   ports:
-  - name: http-transport
-    port: 9300
+    - name: http-transport
+      port: 9300
   ## master-eligible service type
   ##
   type: ClusterIP
@@ -192,10 +193,6 @@ serviceAccount:
   ## If not set and create is true, a name is generated using the fullname template
   # name:
 
-
 ## Elasticsearch cluster name
 ##
 clusterName: elastic-cluster
-
-
-
index 6787617..b354efe 100755 (executable)
@@ -1,8 +1,10 @@
 #!/bin/bash
+{{/*
 #
 # Adfinis SyGroup AG
 # openshift-mariadb-galera: mysql setup script
 #
+*/}}
 
 set -eox pipefail
 
index 40254d4..fa4b007 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/bash
+{{/*
 # Copyright © 2019 Orange
 # Copyright © 2020 Samsung Electronics
 #
@@ -13,6 +14,7 @@
 # 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.
+*/}}
 
 # make sure the script fails if any of commands failed
 set -e
index 7ab3255..37bb84d 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/bash
+{{/*
 #
 # ============LICENSE_START==========================================
 # org.onap.music
@@ -19,6 +20,7 @@
 #
 # ============LICENSE_END=============================================
 # ====================================================================
+*/}}
 
 echo "Running startup script to get password from certman"
 PWFILE=/opt/app/aafcertman/.password
index 02263ee..d572ec2 100644 (file)
@@ -42,8 +42,10 @@ spec:
       containers:
       - name: {{ include "common.name" . }}
         image: "{{ include "common.repository" . }}/{{ .Values.image }}"
-        command: ["/usr/local/bin/docker-entrypoint.sh"]
+        command:
+        - sh
         args:
+        - /usr/local/bin/docker-entrypoint.sh
         - "agent"
         - "-bootstrap-expect={{ .Values.replicaCount }}"
         - "-enable-script-checks"
@@ -70,3 +72,4 @@ spec:
             port: {{ .Values.service.internalPort }}
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
+        resources: {{ include "common.resources" . | nindent 10 }}
index f4f3b16..81472e7 100644 (file)
@@ -63,4 +63,30 @@ service:
 ingress:
   enabled: false
 
-resources: {}
+#resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+resources:
+  small:
+    limits:
+      cpu: 100m
+      memory: 100Mi
+    requests:
+      cpu: 30m
+      memory: 25Mi
+  large:
+    limits:
+      cpu: 2
+      memory: 4Gi
+    requests:
+      cpu: 1
+      memory: 2Gi
+  unlimited: {}
index a5b72ae..6f1c579 100644 (file)
@@ -39,15 +39,34 @@ spec:
     spec:
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
+      initContainers:
+      - name: {{ include "common.name" . }}-chown
+        image: {{ .Values.global.busyboxRepository | default .Values.busyboxRepository }}/{{ .Values.global.busyboxImage | default .Values.busyboxImage }}
+        command:
+        - sh
+        args:
+        - -c
+        - |
+          cp -r -L /tmp/consul/config/* /consul/config/
+          chown -R {{ .Values.consulUID }}:{{ .Values.consulGID }} /consul/config
+          ls -la /consul/config
+        volumeMounts:
+        - mountPath: /tmp/consul/config
+          name: consul-agent-config
+        - mountPath: /consul/config
+          name: consul-agent-config-dir
       containers:
       - image: "{{ include "common.repository" . }}/{{ .Values.image }}"
         command:
-        - /bin/sh
-        - "-c"
-        - |
-          apk update && apk add jq
-          cp /tmp/consul/config/* /consul/config
-          /usr/local/bin/docker-entrypoint.sh agent -client 0.0.0.0 -enable-script-checks -retry-join {{ .Values.consulServer.nameOverride }}
+        - sh
+        args:
+        - /usr/local/bin/docker-entrypoint.sh
+        - agent
+        - -client
+        - 0.0.0.0
+        - -enable-script-checks
+        - -retry-join
+        - {{ .Values.consulServer.nameOverride }}
         name: {{ include "common.name" . }}
         env:
           - name: SDNC_ODL_COUNT
@@ -55,13 +74,16 @@ spec:
           - name: SDNC_IS_PRIMARY_CLUSTER
             value: "{{ .Values.sdnc.config.isPrimaryCluster }}"
         volumeMounts:
-        - mountPath: /tmp/consul/config
-          name: consul-agent-config
+        - mountPath: /consul/config
+          name: consul-agent-config-dir
         - mountPath: /consul/scripts
           name: consul-agent-scripts-config
         - mountPath: /consul/certs
           name: consul-agent-certs-config
+        resources: {{ include "common.resources" . | nindent 10 }}
       volumes:
+      - name: consul-agent-config-dir
+        emptyDir: {}
       - configMap:
           name: {{ include "common.fullname" . }}-configmap
         name: consul-agent-config
index 72d9a38..8f17dc6 100644 (file)
@@ -20,19 +20,24 @@ global:
   readinessImage: onap/oom/readiness:3.0.1
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
+  busyboxRepository: registry.hub.docker.com
+  busyboxImage: library/busybox:latest
 
 #################################################################
 # Application configuration defaults.
 #################################################################
 # application image
 repository: docker.io
-image: oomk8s/consul:1.0.0
+image: oomk8s/consul:2.0.0
 pullPolicy: Always
 
 #subchart name
 consulServer:
   nameOverride: consul-server
 
+consulUID: 100
+consulGID: 1000
+
 # flag to enable debugging - application support required
 debugEnabled: false
 
@@ -65,8 +70,34 @@ ingress:
       port: 8800
   config:
     ssl: "none"
-    
-resources: {}
+
+#resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious
+  # choice for the user. This also increases chances charts run on environments with little
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  #
+  # Example:
+  # Configure resource requests and limits
+  # ref: http://kubernetes.io/docs/user-guide/compute-resources/
+  # Minimum memory for development is 2 CPU cores and 4GB memory
+  # Minimum memory for production is 4 CPU cores and 8GB memory
+resources:
+  small:
+    limits:
+      cpu: 1
+      memory: 1500Mi
+    requests:
+      cpu: 650m
+      memory: 530Mi
+  large:
+    limits:
+      cpu: 2
+      memory: 4Gi
+    requests:
+      cpu: 1
+      memory: 2Gi
+  unlimited: {}
 
 odl:
   jolokia:
diff --git a/kubernetes/contrib/tools/check-for-staging-images.sh b/kubernetes/contrib/tools/check-for-staging-images.sh
new file mode 100755 (executable)
index 0000000..ce51b30
--- /dev/null
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+# 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.
+
+BASE_URL="https://nexus3.onap.org/repository/docker.release"
+
+if [ "$GERRIT_BRANCH" == "staging" ]; then
+    exit 0
+fi
+
+USED_IMAGES=$(grep -r -E -o -h ':\s*onap/.*:.*' | sed -e 's/^: //' -e 's/^ //' | sort | uniq)
+REPO_IMAGES=$(curl -s $BASE_URL/v2/_catalog | jq -r '.repositories[]')
+NOT_AVAILABLE_IMAGES=$(echo "$USED_IMAGES" | grep -vE  "$(echo "$REPO_IMAGES" | tr "\n" "|" | sed 's/|$//')")
+USED_IMAGES=$(echo "$USED_IMAGES" | grep -E "$(echo "$REPO_IMAGES" | tr "\n" "|" | sed 's/|$//')")
+for i in $USED_IMAGES; do
+    TMP_IMG=$(echo "$i" | cut -d ":" -f1)
+    TMP_TAG=$(echo "$i" | cut -d ":" -f2)
+    if [ "$LAST_IMG" != "$TMP_IMG" ]; then
+        AVAILABLE_TAGS=$(curl -s $BASE_URL/v2/$TMP_IMG/tags/list | jq -r '.tags[]')
+    fi
+    if ! echo "$AVAILABLE_TAGS" | grep "$TMP_TAG" > /dev/null; then
+        NOT_AVAILABLE_IMAGES="$NOT_AVAILABLE_IMAGES\n$i"
+    fi
+    LAST_IMG="$TMP_IMG"
+    printf "."
+done
+printf "\n"
+if [ -n "$NOT_AVAILABLE_IMAGES" ]; then
+    echo "[ERROR] Only release images are allowed in helm charts."
+    echo "[ERROR] Images not found in release repo:"
+    echo -e "$NOT_AVAILABLE_IMAGES"
+    exit 1
+fi
+exit 0
\ No newline at end of file
index bdcd050..347d794 100644 (file)
@@ -84,12 +84,18 @@ spec:
             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
             periodSeconds: {{ .Values.readiness.periodSeconds }}
           env:
-          - name: MSB_ADDR
-            value: "{{ .Values.config.msbProtocol }}://{{ .Values.config.msbServiceName }}:{{ .Values.config.msbPort }}"
           - name: SSL_ENABLED
             value: "{{ .Values.config.ssl_enabled }}"
           - name: MSB_ENABLED
             value: "{{ .Values.config.msb_enabled }}"
+          - name: MSB_ADDR
+            value: "{{ .Values.config.msbProtocol }}://{{ .Values.config.msbServiceName }}:{{ .Values.config.msbPort }}"
+          - name: SDC_ADDR
+            value: "{{ .Values.config.sdcProtocol }}://{{ .Values.config.sdcServiceName }}:{{ .Values.config.sdcPort }}"
+          - name: DMAAP_ENABLED
+            value: "{{ .Values.config.dmaap_enabled }}"
+          - name: DMAAP_ADDR
+            value: "{{ .Values.config.dmaapProtocol }}://{{ .Values.config.dmaapServiceName }}:{{ .Values.config.dmaapPort }}"
           - name: DB_IP
             value: "{{ include "common.mariadbService" . }}"
           - name: DB_PORT
index 9bc8aa0..9c910ba 100644 (file)
@@ -79,10 +79,18 @@ mariadb-init:
 config:
   #application configuration about  msb
   ssl_enabled: false
+  msb_enabled: false
   msbProtocol: https
   msbServiceName: msb-iag
   msbPort: 443
-  msb_enabled: true
+  sdcProtocol: https
+  sdcServiceName: sdc-be
+  sdcPort: 8443
+  dmaap_enabled: false
+  dmaapProtocol: https
+  dmaapServiceName: message-router-external
+  dmaapPort: 3905
+
   #application configuration user password about mariadb
   db:
     userName: etsicatalog
@@ -93,7 +101,7 @@ config:
 flavor: small
 
 repository: nexus3.onap.org:10001
-image: onap/modeling/etsicatalog:1.0.7
+image: onap/modeling/etsicatalog:1.0.8
 initImage: busybox:latest
 pullPolicy: Always
 
index 43523ae..027bc7b 100644 (file)
@@ -1,4 +1,3 @@
-{{/*
 # Copyright 2020 Samsung Electronics Co., Ltd.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -12,7 +11,6 @@
 # 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.
-*/}}
 
 
 # This override file is used to deploy a core configuration. It is based on
index 553afb3..dd22d8f 100644 (file)
@@ -1,4 +1,3 @@
-{{/*
 # Copyright © 2017 Amdocs, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -12,7 +11,6 @@
 # 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 overrides.
index 172dce4..27588fa 100644 (file)
@@ -1,4 +1,3 @@
-{{/*
 # Copyright © 2017 Amdocs, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -12,7 +11,6 @@
 # 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.
-*/}}
 
 
 # This override file is useful to test one or more subcharts.
index 9042354..336e937 100644 (file)
@@ -1,4 +1,3 @@
-{{/*
 # Copyright © 2017 Amdocs, Bell Canada, Orange
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -12,7 +11,6 @@
 # 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.
-*/}}
 
 
 # This override file is used to deploy a minimal configuration to
index 12950fb..4a91098 100644 (file)
@@ -1,4 +1,3 @@
-{{/*
 # Copyright © 2017 Amdocs, Bell Canada
 # Copyright (c) 2020 Nordix Foundation, Modifications
 #
@@ -13,7 +12,6 @@
 # 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 overrides.
index 2791f0f..309e5dd 100755 (executable)
@@ -295,6 +295,12 @@ so:
     openStackServiceTenantName: "service"
     openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e"
 
+  # in order to enable static password for so-monitoring uncomment:
+  # so-monitoring:
+  #   server:
+  #     monitoring:
+  #       password: demo123456!
+
   # configure embedded mariadb
   mariadb:
     config:
index a53dd2e..f5a900e 100644 (file)
@@ -7,27 +7,26 @@ microservice.widget.location=/tmp
 \r
 ## App DB Properties\r
 spring.datasource.url=jdbc:mysql://portal-db:3306/portal\r
-spring.datasource.username=root\r
-spring.datasource.password=Aa123456\r
+spring.datasource.username=${PORTAL_DB_USER}\r
+spring.datasource.password=${PORTAL_DB_PASSWORD}\r
 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect\r
 spring.database.driver.classname=org.mariadb.jdbc.Driver\r
 spring.jpa.show-sql=false\r
 spring.jpa.properties.hibernate.format_sql=false\r
 \r
 ## Basic Authentication Properties\r
-security.user.name=widget_user\r
-security.user.password=ENC(IjywcRnI9+nuVEh9+OFFiRWAjBT1n718)\r
+security.user.name=${WIDGET_USER}\r
+security.user.password=${WIDGET_PASSWORD}\r
 \r
 initialization.default.widgets=true\r
 initialization.widgetData.url=http://portal-app:{{.Values.global.portalPort}}/ONAPPORTAL/commonWidgets\r
 \r
 ## Account Basic Authentication Properties\r
-account.user.name=portal\r
-account.user.password=6APqvG4AU2rfLgCvMdySwQ==\r
+account.user.name=${ACC_USER}\r
+account.user.password=${ACC_PASSWORD}\r
 \r
 ## Certificate Properties\r
 #server.ssl.key-store=classpath:widget-keystore.p12\r
 #server.ssl.key-store-password=ENC(DiIYnAMab4u7rEW2yKhF9zBL00uU55q8)\r
 #server.ssl.keyStoreType=PKCS12\r
 #server.ssl.keyAlias=widget-microservice\r
-\r
index 9d345d9..eb6fc9e 100644 (file)
@@ -51,6 +51,40 @@ spec:
             fieldRef:
               apiVersion: v1
               fieldPath: metadata.namespace
+      - name: {{ include "common.name" . }}-portal-widget-config
+        image: "{{ .Values.global.envsubstImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command:
+        - sh
+        args:
+        - "-c"
+        - |
+          cd /config-input && \
+          for PFILE in `ls -1 *.*`
+          do
+            envsubst <${PFILE} >/config/${PFILE}
+            chmod 0755 /config/${PFILE}
+          done
+        env:
+          - name: PORTAL_DB_USER
+            {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "portal-backend-db" "key" "login") | indent 12 }}
+          - name: PORTAL_DB_PASSWORD
+            {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "portal-backend-db" "key" "password") | indent 12 }}
+          - name: WIDGET_USER
+            {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "portal-widget" "key" "login") | indent 12 }}
+          - name: WIDGET_PASSWORD
+            {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "portal-widget" "key" "password") | indent 12 }}
+          - name: ACC_USER
+            {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "portal-account" "key" "login") | indent 12 }}
+          - name: ACC_PASSWORD
+            {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "portal-account" "key" "password") | indent 12 }}
+          - name: JASYPT_ENC_KEY
+            {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "jasypt-enc-key" "key" "password") | indent 12 }}
+        volumeMounts:
+        - mountPath: /config-input
+          name: properties-onapwidgetms-scrubbed
+        - mountPath: /config
+          name: properties-onapwidgetms
       containers:
       - name: {{ include "common.name" . }}
         image: "{{ include "common.repository" . }}/{{ .Values.image }}"
@@ -96,6 +130,9 @@ spec:
           hostPath:
             path: /etc/localtime
         - name: properties-onapwidgetms
+          emptyDir:
+            medium: Memory
+        - name: properties-onapwidgetms-scrubbed
           configMap:
             name: {{ include "common.fullname" . }}-onapwidgetms
             defaultMode: 0755
@@ -1,4 +1,5 @@
-# Copyright © 2018 AT&T USA
+{{/*
+# Copyright © 2020 Orange
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -11,7 +12,6 @@
 # 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
-description: A Helm chart for so  secrets
-name: so-secrets
-version: 6.0.0
+*/}}
+
+{{ include "common.secretFast" . }}
index 94da330..1367b25 100644 (file)
@@ -22,6 +22,46 @@ global:
   loggingRepository: docker.elastic.co
   loggingImage: beats/filebeat:5.5.0
   ubuntuInit: ubuntu-init:1.0.0
+  envsubstImage: dibi/envsubst
+
+################################################################
+# Secrets metaconfig
+#################################################################
+
+secrets:
+  - uid: portal-backend-db
+    type: basicAuth
+    externalSecret: '{{ tpl (default "" .Values.mariadb.config.backendDbExternalSecret) . }}'
+    login: '{{ .Values.mariadb.config.backendUserName }}'
+    password: '{{ .Values.mariadb.config.backendPassword }}'
+    passwordPolicy: required
+  - uid: portal-widget
+    type: basicAuth
+    externalSecret: '{{ tpl (default "" .Values.config.widgetCredsExternalSecret) . }}'
+    login: '{{ .Values.config.widgetUsername }}'
+    password: '{{ .Values.config.widgetPassword }}'
+    passwordPolicy: required
+  - uid: portal-account
+    type: basicAuth
+    externalSecret: '{{ tpl (default "" .Values.config.accountCredsExternalSecret) . }}'
+    login: '{{ .Values.config.accountUsername }}'
+    password: '{{ .Values.config.accountPassword }}'
+    passwordPolicy: required
+  - uid: jasypt-enc-key
+    type: password
+    externalSecret: '{{ .Values.config.jasyptEncKeyExternalSecret}}'
+    password: '{{ .Values.config.jasyptEncKey }}'
+    passwordPolicy: required
+
+config:
+  widgetUsername: widget_user
+  widgetPassword: widget_pass
+# widgetCredsExternalSecret: some secret
+  accountUsername: portal
+  accountPassword: portal
+# accountCredsExternalSecret: some secret
+  jasyptEncKey: EncryptionKey
+  # jasyptEncKeyExternalSecret: some secret
 
 #################################################################
 # Application configuration defaults.
@@ -56,6 +96,10 @@ readiness:
 mariadb:
   service:
     name: portal-db
+  config:
+    # backendDbExternalSecret: some secret
+    backendUserName: portal
+    backendPassword: portal
 
 service:
   type: ClusterIP
index 03b6db0..a44176f 100644 (file)
@@ -39,8 +39,8 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdc-backend-all-plugins:1.7.1
-backendInitImage: onap/sdc-backend-init:1.7.1
+image: onap/sdc-backend-all-plugins:1.7.2
+backendInitImage: onap/sdc-backend-init:1.7.2
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index e80f648..589d530 100644 (file)
@@ -38,8 +38,8 @@ global:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdc-cassandra:1.7.1
-cassandraInitImage: onap/sdc-cassandra-init:1.7.1
+image: onap/sdc-cassandra:1.7.2
+cassandraInitImage: onap/sdc-cassandra-init:1.7.2
 
 pullPolicy: Always
 
index 1389d05..8cf3d26 100644 (file)
@@ -51,7 +51,7 @@ certInitializer:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdc-frontend:1.7.1
+image: onap/sdc-frontend:1.7.2
 pullPolicy: Always
 
 config:
index 6ec08db..0d12f07 100644 (file)
@@ -63,8 +63,8 @@ certInitializer:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/sdc-onboard-backend:1.7.1
-onboardingInitImage: onap/sdc-onboard-cassandra-init:1.7.1
+image: onap/sdc-onboard-backend:1.7.2
+onboardingInitImage: onap/sdc-onboard-cassandra-init:1.7.2
 pullPolicy: Always
 
 # flag to enable debugging - application support required
index 488c050..137d94f 100644 (file)
@@ -62,6 +62,11 @@ spec:
           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "login") | indent 10 }}
         - name: SDNC_DB_PASSWORD
           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "password") | indent 10 }}
+        - name: ODL_ADMIN_USERNAME
+          {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "odl-creds" "key" "login") | indent 10 }}
+        - name: ODL_ADMIN_PASSWORD
+          {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "odl-creds" "key" "password") | indent 10 }}
+
         volumeMounts:
         - mountPath: /config-input
           name: config-input
index c41f5ea..9554d82 100644 (file)
@@ -39,7 +39,7 @@ global:
   cmpv2Enabled: true
   platform:
     certServiceClient:
-      image: onap/org.onap.oom.platform.cert-service.oom-certservice-client:2.0.0
+      image: onap/org.onap.oom.platform.cert-service.oom-certservice-client:2.1.0
       secret:
         name: oom-cert-service-client-tls-secret
         mountPath: /etc/onap/oom/certservice/certs/
index 9b6fb26..69178fd 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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.
+*/}}
 
 server:
   port: {{ index .Values.containerPort }}
@@ -20,7 +22,7 @@ server:
 mso:
   logPath: ./logs/soappcorch
   auth: {{ include "so.helpers.profileProperty" (dict "condition" .Values.global.security.aaf.enabled "value1" .Values.auth.rest.aafEncrypted "value2" .Values.mso.auth )}}
-  msoKey: {{ .Values.global.app.msoKey }}
+  msoKey: {{ .Values.mso.msoKey }}
   config:
     {{ if .Values.global.security.aaf.enabled }}
     cadi: {{ include "so.cadi.keys" . | nindent 8}}
index cfa106a..6abb167 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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
 data:
index f0615ad..24592ba 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: apps/v1
 kind: Deployment
@@ -56,7 +58,7 @@ spec:
             export $(grep '^c' {{ .Values.soHelpers.certInitializer.credsPath }}/mycreds.prop | xargs -0)
             export TRUSTSTORE_PASSWORD="${cadi_truststore_password}"
             {{- if .Values.global.security.aaf.enabled }}
-            export KEYSTORE_PASSWORD="${cadi_keystore_password}"
+            export KEYSTORE_PASSWORD="${cadi_keystore_password_p12}"
             {{- end }}
             {{- end }}
             /app/start-app.sh
index bd7eb8e..34932b7 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Samsung Electronics
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.secretFast" . }}
index fc3e287..7f004cc 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.service" . }}
index 7570116..e63838d 100644 (file)
@@ -30,8 +30,7 @@ global:
   security:
     aaf:
       enabled: false
-  app:
-    msoKey: 07a7159d3bf51a0e53be7a8f89699be7
+
 #################################################################
 # Secrets metaconfig
 #################################################################
@@ -74,6 +73,7 @@ db:
   adminName: so_admin
   adminPassword: so_Admin123
   # adminCredsExternalSecret: some secret
+
 server:
   actuator:
     username: mso_admin
@@ -87,8 +87,8 @@ service:
   name: so-appc-orchestrator
   type: ClusterIP
   ports:
-  - port: *containerPort
-    name: http
+    - port: *containerPort
+      name: http
 updateStrategy:
   type: RollingUpdate
   maxUnavailable: 1
@@ -96,7 +96,6 @@ updateStrategy:
 # Resource Limit flavor -By Default using small
 flavor: small
 
-
 #################################################################
 # soHelper part
 #################################################################
@@ -128,14 +127,14 @@ resources:
       cpu: 1000m
   unlimited: {}
 livenessProbe:
-    path: /manage/health
-    port: 8083
-    scheme: HTTP
-    initialDelaySeconds: 600
-    periodSeconds: 60
-    timeoutSeconds: 10
-    successThreshold: 1
-    failureThreshold: 3
+  path: /manage/health
+  port: 8083
+  scheme: HTTP
+  initialDelaySeconds: 600
+  periodSeconds: 60
+  timeoutSeconds: 10
+  successThreshold: 1
+  failureThreshold: 3
 ingress:
   enabled: false
 nodeSelector: {}
@@ -149,6 +148,7 @@ auth:
 mso:
   auth: BEA8637716A7EB617DF472BA6552D22F68C1CB17B0D094D77DDA562F4ADAAC4457CAB848E1A4
   basicUser: poBpmn
+  msoKey: 07a7159d3bf51a0e53be7a8f89699be7
 
 appc:
   client:
index 4429bd9..cf448cc 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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.
+*/}}
 aai:
   auth: {{ include "so.helpers.profileProperty" (dict "condition" .Values.global.security.aaf.enabled "value1" .Values.global.aaf.auth.encrypted "value2" .Values.aai.auth )}}
   dme2:
@@ -92,7 +94,7 @@ mso:
     vnf:
       endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/VnfAdapter
       rest:
-        endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/rest/v1/vnfs
+        endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/rest/{{ .Values.vnf.api.version }}/vnfs
     volume-groups:
       rest:
         endpoint: http://so-openstack-adapter.{{ include "common.namespace" . }}:8087/services/rest/v1/volume-groups
index 7479416..58ac6d9 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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
 data:
   LOG_PATH: {{ index .Values.logPath }}
index de76901..60745b1 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: apps/v1
 kind: Deployment
 metadata:
@@ -65,21 +67,15 @@ spec:
           export $(grep '^c' {{ .Values.soHelpers.certInitializer.credsPath }}/mycreds.prop | xargs -0)
           export TRUSTSTORE_PASSWORD="${cadi_truststore_password}"
           {{- if .Values.global.security.aaf.enabled }}
-          export KEYSTORE_PASSWORD="${cadi_keystore_password}"
+          export KEYSTORE_PASSWORD="${cadi_keystore_password_p12}"
           {{- end }}
           /app/start-app.sh
         {{- end }}
         env:
         - name: DB_HOST
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.host
+          value: {{ include "common.mariadbService" . }}
         - name: DB_PORT
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.port
+          value: {{ include "common.mariadbPort" . | quote }}
         - name: DB_USERNAME
           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-user-creds" "key" "login") | indent 10 }}
         - name: DB_PASSWORD
index bd7eb8e..34932b7 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Samsung Electronics
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.secretFast" . }}
index 6711c3b..6eb6f27 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: Service
 metadata:
index b6f315a..dd8b04b 100755 (executable)
@@ -32,6 +32,9 @@ global:
   aaf:
     auth:
       encrypted: 3EDC974C5CD7FE54C47C7490AF4D3B474CDD7D0FFA35A7ACDE3E209631E45F428976EAC0858874F17390A13149E63C90281DD8D20456
+  mariadbGalera:
+    serviceName: mariadb-galera
+    servicePort: '3306'
 
 #################################################################
 # Secrets metaconfig
@@ -56,8 +59,6 @@ secrets:
 #  - 'my file 1'
 #  - '{{ include "templateThatGeneratesFileName" . }}'
 
-
-
 #################################################################
 # Application configuration defaults.
 #################################################################
@@ -102,6 +103,10 @@ so:
 sniro:
   endpoint: http://replaceme:28090/optimizationInstance/V1/create
 
+vnf:
+  api:
+    version: v2
+
 replicaCount: 1
 minReadySeconds: 10
 containerPort: &containerPort 8081
@@ -129,7 +134,6 @@ soHelpers:
     apiEnforcement: org.onap.so.bpmnPerm
   containerPort: *containerPort
 
-
 # Resource Limit flavor -By Default using small
 flavor: large
 # Segregation for Different environment (Small and Large)
@@ -150,13 +154,13 @@ resources:
       cpu: 1000m
   unlimited: {}
 livenessProbe:
-    path: /manage/health
-    scheme: HTTP
-    initialDelaySeconds: 600
-    periodSeconds: 60
-    timeoutSeconds: 10
-    successThreshold: 1
-    failureThreshold: 3
+  path: /manage/health
+  scheme: HTTP
+  initialDelaySeconds: 600
+  periodSeconds: 60
+  timeoutSeconds: 10
+  successThreshold: 1
+  failureThreshold: 3
 ingress:
   enabled: false
 nodeSelector: {}
index f267d86..7aa5984 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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.
+*/}}
 server:
     port: {{ index .Values.containerPort }}
     tomcat:
index d351be3..6331656 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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
 data:
   LOG_PATH: {{ index .Values.logPath }}
index 159d2e7..25a6842 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: apps/v1
 kind: Deployment
 metadata:
@@ -65,21 +67,15 @@ spec:
           export $(grep '^c' {{ .Values.soHelpers.certInitializer.credsPath }}/mycreds.prop | xargs -0)
           export TRUSTSTORE_PASSWORD="${cadi_truststore_password}"
           {{- if .Values.global.security.aaf.enabled }}
-          export KEYSTORE_PASSWORD="${cadi_keystore_password}"
+          export KEYSTORE_PASSWORD="${cadi_keystore_password_p12}"
           {{- end }}
           /app/start-app.sh
         {{- end }}
         env:
         - name: DB_HOST
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.host
+          value: {{ include "common.mariadbService" . }}
         - name: DB_PORT
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.port
+          value: {{ include "common.mariadbPort" . | quote }}
         - name: DB_USERNAME
           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-user-creds" "key" "login") | indent 10 }}
         - name: DB_PASSWORD
index bd7eb8e..34932b7 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Samsung Electronics
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.secretFast" . }}
index 6711c3b..6eb6f27 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: Service
 metadata:
index 2fadf41..3e98595 100755 (executable)
@@ -31,6 +31,9 @@ global:
       header: Basic c29Ac28ub25hcC5vcmc6ZGVtbzEyMzQ1Ngo=
   app:
     msoKey: 07a7159d3bf51a0e53be7a8f89699be7
+  mariadbGalera:
+    serviceName: mariadb-galera
+    servicePort: '3306'
 
 #################################################################
 # Secrets metaconfig
old mode 100644 (file)
new mode 100755 (executable)
similarity index 71%
rename from kubernetes/so/components/so-db-secrets/values.yaml
rename to kubernetes/so/components/so-cnf-adapter/Chart.yaml
index 7e51e3c..f2ccd6a
@@ -1,4 +1,4 @@
-# Copyright © 2018 AT&T USA
+# Copyright © 2020 Huawei Technologies Co., Ltd.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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:
-  mariadbGalera:
-    serviceName: mariadb-galera
-    servicePort: "3306"
-db_admin_username: so_admin
-db_admin_password: so_Admin123
-db_username: so_user
-db_password: so_User123
+apiVersion: v1
+appVersion: "1.7.1"
+description: A Helm chart for Kubernetes
+name: so-cnf-adapter
+version: 6.0.0
@@ -18,3 +18,6 @@ dependencies:
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
     repository: '@local'
+  - name: soHelpers
+    version: ~6.x-0
+    repository: 'file://../soHelpers'
diff --git a/kubernetes/so/components/so-cnf-adapter/resources/config/overrides/override.yaml b/kubernetes/so/components/so-cnf-adapter/resources/config/overrides/override.yaml
new file mode 100755 (executable)
index 0000000..37024d4
--- /dev/null
@@ -0,0 +1,50 @@
+{{/*
+# Copyright © 2020 Huawei Technologies Co., Ltd.
+#
+# 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.
+*/}}
+
+aai:
+  auth: {{ include "so.helpers.profileProperty" (dict "condition" .Values.global.security.aaf.enabled "value1" .Values.global.aaf.auth.header "value2" .Values.server.aai.auth ) }}
+  endpoint: https://aai.{{ include "common.namespace" . }}:8443
+logging:
+  path: logs
+spring:
+  security:
+    usercredentials:
+      - username: ${ACTUATOR_USERNAME}
+        password: ${ACTUATOR_PASSWORD}
+        role: ACTUATOR
+server:
+  port: {{ index .Values.containerPort }}
+  tomcat:
+    max-threads: 50
+
+mso:
+  site-name: localSite
+  logPath: ./logs/cnf
+  msb-ip: msb-iag.{{ include "common.namespace" . }}
+  msb-port: 80
+#Actuator
+management:
+  endpoints:
+    web:
+      base-path: /manage
+      exposure:
+        include: "*"
+  metrics:
+    se-global-registry: false
+    export:
+      prometheus:
+        enabled: true # Whether exporting of metrics to Prometheus is enabled.
+        step: 1m # Step size (i.e. reporting frequency) to use.
diff --git a/kubernetes/so/components/so-cnf-adapter/templates/configmap.yaml b/kubernetes/so/components/so-cnf-adapter/templates/configmap.yaml
new file mode 100755 (executable)
index 0000000..fcdd381
--- /dev/null
@@ -0,0 +1,29 @@
+{{/*
+# Copyright © 2020 Huawei Technologies Co., Ltd.
+#
+# 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: {{- include "common.resourceMetadata" (dict "dot" . "suffix" "env") | nindent 2 }}
+data:
+  LOG_PATH: {{ index .Values.logPath }}
+  APP: {{ index .Values.app }}
+  ACTIVE_PROFILE: {{ include "so.helpers.profileProperty" (dict "condition" .Values.global.security.aaf.enabled "value1" "aaf" "value2" "basic")}}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+data:
+{{ tpl (.Files.Glob "resources/config/overrides/*").AsConfig . | indent 2 }}
diff --git a/kubernetes/so/components/so-cnf-adapter/templates/deployment.yaml b/kubernetes/so/components/so-cnf-adapter/templates/deployment.yaml
new file mode 100755 (executable)
index 0000000..8c894ad
--- /dev/null
@@ -0,0 +1,130 @@
+{{/*
+# Copyright © 2020 Huawei Technologies Co., Ltd.
+#
+# 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: apps/v1
+kind: Deployment
+metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
+spec:
+  selector: {{- include "common.selectors" . | nindent 4 }}
+  replicas: {{ index .Values.replicaCount }}
+  minReadySeconds: {{ index .Values.minReadySeconds }}
+  strategy:
+    type: {{ index .Values.updateStrategy.type }}
+    rollingUpdate:
+      maxUnavailable: {{ index .Values.updateStrategy.maxUnavailable }}
+      maxSurge: {{ index .Values.updateStrategy.maxSurge }}
+  template:
+    metadata:
+      labels: {{- include "common.labels" . | nindent 8 }}
+    spec:
+      initContainers: {{ include "so.certificate.container_importer" . | nindent 8 }}
+        - name: {{ include "common.name" . }}-encrypter
+          command:
+            - sh
+          args:
+            - -c
+            - |
+              java Crypto "${AAI_USERNAME}:${AAI_PASSWORD}" "${MSO_KEY}" > /output/.aai_creds
+          env:
+            - name: AAI_USERNAME
+              {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "so-aai-creds" "key" "login") | indent 14 }}
+            - name: AAI_PASSWORD
+              {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "so-aai-creds" "key" "password") | indent 14 }}
+            - name: MSO_KEY
+              {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "cnf-adapter-mso-key" "key" "password") | indent 14 }}
+          image: {{ .Values.global.dockerHubRepository }}/{{ .Values.global.soCryptoImage }}
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+            - name: encoder
+              mountPath: /output
+        - name: {{ include "common.name" . }}-readiness
+          command:
+            - /app/ready.py
+          args:
+            - --job-name
+            - {{ include "common.release" . }}-so-mariadb-config-job
+          env:
+            - name: NAMESPACE
+              valueFrom:
+                fieldRef:
+                  apiVersion: v1
+                  fieldPath: metadata.namespace
+          image: {{ include "common.repository" . }}/{{ .Values.global.readinessImage }}
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+      containers:
+        - name: {{ include "common.name" . }}
+          image: {{ include "common.repository" . }}/{{ .Values.image }}
+          command:
+            - sh
+          args:
+            - -c
+            - |
+              export AAF_BASE64=$(echo -n "${AAF_USERNAME}:${AAF_PASSWORD}" | base64)
+              export AAF_AUTH=$(echo "Basic ${AAF_BASE64}")
+              export AAI_AUTH=$(cat /input/.aai_creds)
+              {{- if .Values.global.aafEnabled }}
+              export $(grep '^c' {{ .Values.soHelpers.certInitializer.credsPath }}/mycreds.prop | xargs -0)
+              export TRUSTSTORE_PASSWORD="${cadi_truststore_password}"
+              {{- if .Values.global.security.aaf.enabled }}
+              export KEYSTORE_PASSWORD="${cadi_keystore_password}"
+              {{- end }}
+              {{- end }}
+              ./start-app.sh
+          resources: {{ include "common.resources" . | nindent 12 }}
+          ports: {{- include "common.containerPorts" . | nindent 12  }}
+          env:
+            - name: AAF_USERNAME
+              {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "so-aaf-creds" "key" "login") | indent 14 }}
+            - name: AAF_PASSWORD
+              {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "so-aaf-creds" "key" "password") | indent 14 }}
+            - name: ACTUATOR_USERNAME
+              {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "server-actuator-creds" "key" "login") | indent 14 }}
+            - name: ACTUATOR_PASSWORD
+              {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "server-actuator-creds" "key" "password") | indent 14 }}
+            {{ include "so.certificates.env" . | indent 12 | trim }}
+          envFrom:
+            - configMapRef:
+                name: {{ include "common.fullname" . }}-env
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts: {{ include "so.certificate.volumeMount" . | nindent 12 }}
+            - name: logs
+              mountPath: /app/logs
+            - name: config
+              mountPath: /app/config
+              readOnly: true
+            - name: encoder
+              mountPath: /input
+          livenessProbe:
+            httpGet:
+              path: {{ index .Values.livenessProbe.path}}
+              port: {{ index .Values.containerPort }}
+              scheme: {{ index .Values.livenessProbe.scheme}}
+            initialDelaySeconds: {{ index .Values.livenessProbe.initialDelaySeconds}}
+            periodSeconds: {{ index .Values.livenessProbe.periodSeconds}}
+            timeoutSeconds: {{ index .Values.livenessProbe.timeoutSeconds}}
+            successThreshold: {{ index .Values.livenessProbe.successThreshold}}
+            failureThreshold: {{ index .Values.livenessProbe.failureThreshold}}
+      volumes: {{ include "so.certificate.volumes" . | nindent 8 }}
+        - name: logs
+          emptyDir: {}
+        - name: config
+          configMap:
+            name: {{ include "common.fullname" . }}
+        - name: encoder
+          emptyDir:
+            medium: Memory
+      imagePullSecrets:
+        - name: "{{ include "common.namespace" . }}-docker-registry-key"
old mode 100755 (executable)
new mode 100644 (file)
similarity index 82%
rename from kubernetes/so/components/so-db-secrets/Chart.yaml
rename to kubernetes/so/components/so-cnf-adapter/templates/secret.yaml
index 1739d1f..cc40499
@@ -1,4 +1,5 @@
-# Copyright © 2018 AT&T USA
+{{/*
+# Copyright © 2020 Huawei Technologies Co., Ltd.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -11,7 +12,6 @@
 # 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
-description: A Helm chart for DB secrets
-name: so-db-secrets
-version: 6.0.0
\ No newline at end of file
+*/}}
+
+{{ include "common.secretFast" . }}
@@ -1,4 +1,5 @@
-# Copyright © 2017 Amdocs, Bell Canada
+{{/*
+# Copyright © 2020 Huawei Technologies Co., Ltd.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-dependencies:
-  - name: common
-    version: ~6.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'
+*/}}
+
+{{ include "common.service" . }}
diff --git a/kubernetes/so/components/so-cnf-adapter/values.yaml b/kubernetes/so/components/so-cnf-adapter/values.yaml
new file mode 100755 (executable)
index 0000000..195d62d
--- /dev/null
@@ -0,0 +1,178 @@
+# Copyright © 2020 Huawei Technologies Co., Ltd.
+#
+# 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:
+  nodePortPrefix: 302
+  nodePortPrefixExt: 304
+  repository: nexus3.onap.org:10001
+  readinessImage: oomk8s/readiness-check:2.2.2
+  soCryptoImage: sdesbure/so_crypto:latest
+  dockerHubRepository: docker.io
+  persistence:
+    mountPath: /dockerdata-nfs
+  security:
+    aaf:
+      enabled: false
+  aaf:
+    auth:
+      header: ${AAF_AUTH}
+
+#################################################################
+# Secrets metaconfig
+#################################################################
+secrets:
+  - uid: db-user-creds
+    type: basicAuth
+    externalSecret: '{{ tpl (default "" .Values.db.userCredsExternalSecret) . }}'
+    login: '{{ .Values.db.userName }}'
+    password: '{{ .Values.db.userPassword }}'
+    passwordPolicy: required
+  - uid: db-admin-creds
+    type: basicAuth
+    externalSecret: '{{ tpl (default "" .Values.db.adminCredsExternalSecret) . }}'
+    login: '{{ .Values.db.adminName }}'
+    password: '{{ .Values.db.adminPassword }}'
+    passwordPolicy: required
+  - uid: server-actuator-creds
+    name: '{{ include "common.release" . }}-so-cnf-actuator-creds'
+    type: basicAuth
+    externalSecret: '{{ tpl (default "" .Values.server.actuatorCredsExternalSecret) . }}'
+    login: '{{ .Values.server.actuator.username }}'
+    password: '{{ .Values.server.actuator.password }}'
+    passwordPolicy: required
+  - uid: so-aaf-creds
+    name: '{{ include "common.release" . }}-so-cnf-aaf-creds'
+    type: basicAuth
+    externalSecret: '{{ tpl (default "" .Values.server.aafCredsExternalSecret) . }}'
+    login: '{{ .Values.server.aaf.username }}'
+    password: '{{ .Values.server.aaf.password }}'
+    passwordPolicy: required
+  - uid: so-aai-creds
+    name: '{{ include "common.release" . }}-so-cnf-aai-creds'
+    type: basicAuth
+    externalSecret: '{{ tpl (default "" .Values.server.aaiCredsExternalSecret) . }}'
+    login: '{{ .Values.server.aai.username }}'
+    password: '{{ .Values.server.aai.password }}'
+    passwordPolicy: required
+  - uid: cnf-adapter-mso-key
+    name: '{{ include "common.release" . }}-so-cnf-mso-key'
+    type: password
+    externalSecret: '{{ tpl (default "" .Values.mso.msoKeySecret) . }}'
+    password: '{{ .Values.mso.msoKey }}'
+
+#secretsFilePaths: |
+#  - 'my file 1'
+#  - '{{ include "templateThatGeneratesFileName" . }}'
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+repository: nexus3.onap.org:10001
+image: onap/so/mso-cnf-adapter:1.7.1
+pullPolicy: Always
+
+db:
+  userName: so_user
+  userPassword: so_User123
+  # userCredsExternalSecret: some secret
+  adminName: so_admin
+  adminPassword: so_Admin123
+  # adminCredsExternalSecret: some secret
+
+server:
+  aaf:
+    username: so@so.onap.org
+    password: demo123456
+  # aafCredsExternalSecret: some secret
+  aai:
+    username: aai@aai.onap.org
+    password: demo123456!
+    auth: ${AAI_AUTH}
+  # aaiCredsExternalSecret: some secret
+  actuator:
+    username: mso_admin
+    password: password1$
+  # actuatorCredsExternalSecret: some secret
+
+mso:
+  msoKey: 07a7159d3bf51a0e53be7a8f89699be7
+  # msoKeySecret: some secret
+  adapters:
+    requestDb:
+      auth: ${REQUEST_AUTH}
+
+replicaCount: 1
+minReadySeconds: 10
+containerPort: &containerPort 8090
+logPath: ./logs/cnf/
+app: cnf-adapter
+service:
+  type: ClusterIP
+  ports:
+    - name: http-api
+      port: *containerPort
+updateStrategy:
+  type: RollingUpdate
+  maxUnavailable: 1
+  maxSurge: 1
+
+soHelpers:
+  nameOverride: so-cnf-cert-init
+  certInitializer:
+    nameOverride: so-cnf-cert-init
+    credsPath: /opt/app/osaaf/local
+  cadi:
+    apiEnforcement: org.onap.so.openStackAdapterPerm
+  containerPort: *containerPort
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      memory: 4Gi
+      cpu: 2000m
+    requests:
+      memory: 1Gi
+      cpu: 500m
+  large:
+    limits:
+      memory: 8Gi
+      cpu: 4000m
+    requests:
+      memory: 2Gi
+      cpu: 1000m
+  unlimited: {}
+
+livenessProbe:
+  path: /manage/health
+  port: 8090
+  scheme: HTTP
+  initialDelaySeconds: 600
+  periodSeconds: 60
+  timeoutSeconds: 10
+  successThreshold: 1
+  failureThreshold: 3
+
+ingress:
+  enabled: false
+
+nodeSelector: {}
+
+tolerations: []
+
+affinity: {}
diff --git a/kubernetes/so/components/so-db-secrets/templates/secrets.yaml b/kubernetes/so/components/so-db-secrets/templates/secrets.yaml
deleted file mode 100755 (executable)
index d636fad..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright © 2018 AT&T USA
-#
-# 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: Secret
-metadata:
-  name: {{ include "common.release" . }}-so-db-secrets
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ include "common.release" . }}
-    heritage: {{ .Release.Service }}
-data:
-  mariadb.readwrite.host : {{ .Values.global.mariadbGalera.serviceName | b64enc | quote }}
-  mariadb.readwrite.port : {{ .Values.global.mariadbGalera.servicePort | b64enc | quote }}
-  mariadb.readwrite.rolename: {{ .Values.db_username | b64enc | quote }}
-  mariadb.readwrite.password: {{ .Values.db_password | b64enc | quote }}
-  mariadb.admin.rolename: {{ .Values.db_admin_username| b64enc | quote }}
-  mariadb.admin.password:  {{ .Values.db_admin_password | b64enc | quote }}
-type: Opaque
index 322fd41..7b85b44 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Nordix Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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.
+*/}}
 
 aai:
   auth: {{ include "so.helpers.profileProperty" (dict "condition" .Values.global.security.aaf.enabled "value1" .Values.global.aaf.auth.header "value2" .Values.aai.auth )}}
@@ -56,7 +58,7 @@ etsi-catalog-manager:
   http:
     client:
       ssl:
-        trust-store: ${TRUSTSTORE}
+        trust-store: file:${TRUSTSTORE}
         trust-store-password: ${TRUSTSTORE_PASSWORD}
   {{- else }}
     endpoint: http://modeling-etsicatalog.{{ include "common.namespace" . }}:8806/api
index 97f7d4e..add9a02 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Nordix Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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
index 97ebd93..fa5f42d 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Nordix Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: apps/v1
 kind: Deployment
@@ -40,7 +42,7 @@ spec:
               export $(grep '^c' {{ .Values.soHelpers.certInitializer.credsPath }}/mycreds.prop | xargs -0)
               export TRUSTSTORE_PASSWORD="${cadi_truststore_password}"
               {{- if .Values.global.security.aaf.enabled }}
-              export KEYSTORE_PASSWORD="${cadi_keystore_password}"
+              export KEYSTORE_PASSWORD="${cadi_keystore_password_p12}"
               {{- end }}
               {{- end }}
               ./start-app.sh
@@ -52,15 +54,9 @@ spec:
             - name: ETSI_NFVO_PASSWORD_INPUT
               {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "etsi-nfvo-nslcm-creds" "key" "password") | indent 14 }}
             - name: DB_HOST
-              valueFrom:
-                secretKeyRef:
-                  name: {{ include "common.release" . }}-so-db-secrets
-                  key: mariadb.readwrite.host
+              value: {{ include "common.mariadbService" . }}
             - name: DB_PORT
-              valueFrom:
-                secretKeyRef:
-                  name: {{ include "common.release" . }}-so-db-secrets
-                  key: mariadb.readwrite.port
+              value: {{ include "common.mariadbPort" . | quote }}
             - name: DB_USERNAME
               {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-user-creds" "key" "login") | indent 14 }}
             - name: DB_PASSWORD
@@ -80,9 +76,6 @@ spec:
             - name: config
               mountPath: /app/config
               readOnly: true
-            - name: {{ include "common.fullname" . }}-truststore
-              mountPath: /app/client
-              readOnly: true
           livenessProbe:
             tcpSocket:
               port: {{ index .Values.livenessProbe.port }}
@@ -97,8 +90,5 @@ spec:
         - name: config
           configMap:
             name: {{ include "common.fullname" . }}-app-configmap
-        - name: {{ include "common.fullname" . }}-truststore
-          secret:
-            secretName: {{ include "common.release" . }}-so-truststore-secret
       imagePullSecrets:
         - name: "{{ include "common.namespace" . }}-docker-registry-key"
index 443e76b..56e02b3 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Nordix Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.ingress" . }}
index 493cfe5..1b9306e 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Nordix Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.secretFast" . }}
index a1290de..4e6428b 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Nordix Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.service" . }}
index 6af6182..82ba084 100644 (file)
@@ -29,6 +29,9 @@ global:
   aaf:
     auth:
       header: Basic c29Ac28ub25hcC5vcmc6ZGVtbzEyMzQ1Ngo=
+  mariadbGalera:
+    serviceName: mariadb-galera
+    servicePort: '3306'
 
 #################################################################
 # Secrets metaconfig
@@ -57,7 +60,7 @@ secrets:
 # Application configuration defaults.
 #################################################################
 repository: nexus3.onap.org:10001
-image: onap/so/so-etsi-nfvo-ns-lcm:1.7.4
+image: onap/so/so-etsi-nfvo-ns-lcm:1.7.7
 pullPolicy: Always
 
 aai:
index 08adb4a..72963d9 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/sh
+{{/*
 #
 # ============LICENSE_START==========================================
 # ===================================================================
@@ -20,6 +21,7 @@
 # ECOMP and OpenECOMP are trademarks
 # and service marks of AT&T Intellectual Property.
 #
+*/}}
 
 echo "Creating camundabpmn database . . ." 1>/tmp/mariadb-camundabpmn.log 2>&1
 
index 0f40446..4c2d668 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/sh
+{{/*
 #
 # ============LICENSE_START==========================================
 # ===================================================================
@@ -20,6 +21,7 @@
 # ECOMP and OpenECOMP are trademarks
 # and service marks of AT&T Intellectual Property.
 #
+*/}}
 
 echo "Creating requestdb database . . ." 1>/tmp/mariadb-requestdb.log 2>&1
 
index 3115ec6..dd374d4 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/sh
+{{/*
 #
 # ============LICENSE_START==========================================
 # ===================================================================
@@ -20,6 +21,7 @@
 # ECOMP and OpenECOMP are trademarks
 # and service marks of AT&T Intellectual Property.
 #
+*/}}
 
 echo "Creating catalogdb database . . ." 1>/tmp/mariadb-catalogdb.log 2>&1
 
index 3ed03aa..db6fd22 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/sh
+{{/*
 # ============LICENSE_START=======================================================
 #  Copyright (C) 2020 Nordix Foundation.
 # ================================================================================
@@ -16,6 +17,7 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 # ============LICENSE_END=========================================================
+*/}}
 
 echo "Creating nfvo database . . ." 1>/tmp/mariadb-nfvodb.log 2>&1
 
index 05b1ff7..7b88055 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/sh
+{{/*
 #
 # ============LICENSE_START==========================================
 # ===================================================================
@@ -20,6 +21,7 @@
 # ECOMP and OpenECOMP are trademarks
 # and service marks of AT&T Intellectual Property.
 #
+*/}}
 
 echo "Creating so user . . ." 1>/tmp/mariadb-so-user.log 2>&1
 
index 593739e..5296748 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/sh
+{{/*
 #
 # ============LICENSE_START==========================================
 # ===================================================================
@@ -20,6 +21,7 @@
 # ECOMP and OpenECOMP are trademarks
 # and service marks of AT&T Intellectual Property.
 #
+*/}}
 
 echo "Creating so admin user . . ." 1>/tmp/mariadb-so-admin.log 2>&1
 
index 842e562..98fc279 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 #   Copyright 2018 © Samsung Electronics Co., Ltd.
 #
 #   Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 #   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
index f24ec25..cb7fcb3 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2017 Amdocs, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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.
+*/}}
 {{- if .Values.global.migration.enabled }}
 apiVersion: batch/v1
 kind: Job
@@ -125,15 +127,9 @@ spec:
           {{- end }}
         env:
         - name: DB_HOST
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.host
+          value: {{ include "common.mariadbService" . }}
         - name: DB_PORT
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.port
+          value: {{ include "common.mariadbPort" . | quote }}
         - name: MYSQL_ROOT_PASSWORD
           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-root-pass" "key" "password") | indent 10 }}
         - name: DB_USER
index 7c7d4f9..53d72fa 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2017 Amdocs, Bell Canada
 # Copyright © 2020 Samsung Electronics
 #
@@ -12,5 +13,6 @@
 # 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.secretFast" . }}
index 2eb32d0..29f9a9f 100755 (executable)
@@ -1,4 +1,5 @@
 # Copyright © 2017 Amdocs, Bell Canada
+# Modifications © 2020 Nokia
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -18,3 +19,6 @@ dependencies:
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
     repository: '@local'
+  - name: soHelpers
+    version: ~6.x-0
+    repository: 'file://../soHelpers'
index c2e6ad0..cf54fa4 100644 (file)
@@ -1,8 +1,17 @@
 server:
   port: {{ index .Values.containerPort }}
+  {{- if .Values.global.aafEnabled }}
+  ssl:
+    keyStore: ${KEYSTORE}
+    keyStorePassword: ${KEYSTORE_PASSWORD}
+    trustStore: ${TRUSTSTORE}
+    trustStorePassword: ${TRUSTSTORE_PASSWORD}
+  {{- end }}
   tomcat:
     max-threads: 50
+  {{- if not .Values.global.aafEnabled }}
 ssl-enable: false
+  {{- end }}
 camunda:
   rest:
     api:
@@ -15,3 +24,12 @@ mso:
       api:
         url: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083/infraActiveRequests/
         auth: Basic YnBlbDpwYXNzd29yZDEk
+spring:
+  main:
+    allow-bean-definition-overriding: true
+  security:
+    usercredentials:
+      -
+        username: ${SO_MONITORING_USERNAME}
+        password: ${SO_MONITORING_PASSWORD}
+        role: GUI-Client
index a6d8b46..fb52e59 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 #  ============LICENSE_START=======================================================
 #   Copyright (C) 2018 Ericsson. All rights reserved.
 #  ================================================================================
@@ -16,6 +17,7 @@
 #  SPDX-License-Identifier: Apache-2.0
 #  ============LICENSE_END=========================================================
 #  @author: gareth.roper@ericsson.com
+*/}}
 apiVersion: v1
 data:
   LOG_PATH: {{ index .Values.logPath }}
index f596973..03eccc2 100644 (file)
@@ -1,5 +1,7 @@
+{{/*
 #  ============LICENSE_START=======================================================
 #   Copyright (C) 2018 Ericsson. All rights reserved.
+#   Modifications Copyright © 2020 Nokia
 #  ================================================================================
 #  Licensed under the Apache License, Version 2.0 (the "License");
 #  you may not use this file except in compliance with the License.
@@ -16,6 +18,7 @@
 #  SPDX-License-Identifier: Apache-2.0
 #  ============LICENSE_END=========================================================
 #  @author: gareth.roper@ericsson.com
+*/}}
 apiVersion: apps/v1
 kind: Deployment
 metadata:
@@ -42,7 +45,7 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ include "common.release" . }}
     spec:
-      initContainers:
+      initContainers: {{ include "so.certificate.container_importer" . | nindent 6 }}
       - name: so-chown
         image: alpine:3.6
         volumeMounts:
@@ -55,17 +58,26 @@ spec:
       - name: {{ include "common.name" . }}
         image: {{ include "common.repository" . }}/{{ .Values.image }}
         resources: {{ include "common.resources" . | nindent 12 }}
+        command:
+        - /bin/sh
+        args:
+        - -c
+        - |
+          export SO_MONITORING_PASSWORD=`htpasswd -bnBC 10 "" $SO_MON_PASS | tr -d ':\n' | sed 's/\$2y/\$2a/'`
+          {{- if .Values.global.aafEnabled }}
+          export $(grep '^c' {{ .Values.soHelpers.certInitializer.credsPath }}/org.onap.so.cred.props | xargs -0)
+          export $(grep '^c' {{ .Values.soHelpers.certInitializer.credsPath }}/mycreds.prop | xargs -0)
+          export KEYSTORE=file://$cadi_keystore
+          export KEYSTORE_PASSWORD=$cadi_keystore_password_p12
+          export TRUSTSTORE=file://$cadi_truststore
+          export TRUSTSTORE_PASSWORD=$cadi_truststore_password
+          {{- end }}
+          /app/start-app.sh
         env:
         - name: DB_HOST
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.host
+          value: {{ include "common.mariadbService" . }}
         - name: DB_PORT
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.port
+          value: {{ include "common.mariadbPort" . | quote }}
         - name: DB_USERNAME
           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-user-creds" "key" "login") | indent 10 }}
         - name: DB_PASSWORD
@@ -74,11 +86,16 @@ spec:
           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-admin-creds" "key" "login") | indent 10 }}
         - name: DB_ADMIN_PASSWORD
           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-admin-creds" "key" "password") | indent 10 }}
+        - name: SO_MONITORING_USERNAME
+          {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "app-user-creds" "key" "login") | indent 10 }}
+        - name: SO_MON_PASS
+          {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "app-user-creds" "key" "password") | indent 10 }}
+
         envFrom:
         - configMapRef:
             name: {{ include "common.fullname" . }}-configmap
         imagePullPolicy:  {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-        volumeMounts:
+        volumeMounts: {{ include "so.certificate.volumeMount" . | nindent 8 }}
         - name: logs
           mountPath: /app/logs
         - name: config
@@ -101,7 +118,7 @@ spec:
         - containerPort: {{ index .Values.containerPort }}
           name: {{ .Values.service.portName }}
           protocol: TCP
-      volumes:
+      volumes: {{ include "so.certificate.volumes" . | nindent 6 }}
       - name: logs
         emptyDir: {}
       - name: config
index bd7eb8e..34932b7 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Samsung Electronics
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.secretFast" . }}
index c4c2ae9..c443978 100644 (file)
@@ -1,5 +1,7 @@
+{{/*
 #  ============LICENSE_START=======================================================
 #   Copyright (C) 2018 Ericsson. All rights reserved.
+#   Modifications © 2020 Nokia
 #  ================================================================================
 #  Licensed under the Apache License, Version 2.0 (the "License");
 #  you may not use this file except in compliance with the License.
@@ -16,6 +18,7 @@
 #  SPDX-License-Identifier: Apache-2.0
 #  ============LICENSE_END=========================================================
 #  @author: gareth.roper@ericsson.com
+*/}}
 apiVersion: v1
 kind: Service
 metadata:
@@ -27,9 +30,13 @@ metadata:
     release: {{ include "common.release" . }}
     heritage: {{ .Release.Service }}
 spec:
+  {{if .Values.global.aafEnabled -}}
   type: {{ .Values.service.type }}
+  {{- else -}}
+  type: ClusterIP
+  {{- end }}
   ports:
-    {{if eq .Values.service.type "NodePort" -}}
+    {{if and (eq .Values.service.type "NodePort") (.Values.global.aafEnabled) -}}
     - port: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
       name: {{ .Values.service.portName }}
index e746baf..31ad9d0 100644 (file)
@@ -1,6 +1,7 @@
 #  ============LICENSE_START=======================================================
 #   Copyright (C) 2018 Ericsson. All rights reserved.
 #   Copyright (C) 2020 Huawei
+#   Modifications Copyright © 2020 Nokia
 #  ================================================================================
 #  Licensed under the Apache License, Version 2.0 (the "License");
 #  you may not use this file except in compliance with the License.
@@ -27,8 +28,18 @@ global:
   readinessImage: onap/oom/readiness:3.0.1
   aafAgentImage: onap/aaf/aaf_agent:2.1.20
   envsubstImage: dibi/envsubst
+  aafEnabled: true
   persistence:
     mountPath: /dockerdata-nfs
+  security:
+    aaf:
+      enabled: true
+  aaf:
+    auth:
+      header: Basic c29Ac28ub25hcC5vcmc6ZGVtbzEyMzQ1Ngo=
+  mariadbGalera:
+    serviceName: mariadb-galera
+    servicePort: '3306'
 
 #################################################################
 # Secrets metaconfig
@@ -46,25 +57,21 @@ secrets:
     login: '{{ .Values.db.adminName }}'
     password: '{{ .Values.db.adminPassword }}'
     passwordPolicy: required
+  - uid: app-user-creds
+    type: basicAuth
+    externalSecret: '{{ tpl (default "" .Values.server.monitoring.soMonitoringCredsExternalSecret) . }}'
+    login: '{{ .Values.server.monitoring.username }}'
+    password: '{{ .Values.server.monitoring.password }}'
 
 #secretsFilePaths: |
 #  - 'my file 1'
 #  - '{{ include "templateThatGeneratesFileName" . }}'
 
-#################################################################
-# AAF part
-#################################################################
-soHelpers:
-  nameOverride: so-monitoring-cert-init
-  certInitializer:
-    nameOverride: so-monitoring-cert-init
-    credsPath: /opt/app/osaaf/local
-
 #################################################################
 # Application configuration defaults.
 #################################################################
 repository: nexus3.onap.org:10001
-image: onap/so/so-monitoring:1.6.4
+image: onap/so/so-monitoring:1.7.7
 pullPolicy: Always
 
 db:
@@ -77,15 +84,34 @@ db:
 
 replicaCount: 1
 minReadySeconds: 10
-containerPort: 9091
+containerPort: &containerPort 9091
 logPath: app/logs/
 app: so-monitoring
+
+#################################################################
+# soHelpers part
+#################################################################
+soHelpers:
+  nameOverride: so-monitoring-cert-init
+  certInitializer:
+    nameOverride: so-monitoring-cert-init
+    credsPath: /opt/app/osaaf/local
+  cadi:
+    apiEnforcement: org.onap.so.monitoringPerm
+  containerPort: *containerPort
+
+server:
+  monitoring:
+    username: demo
+    # password: demo123456!
+    # soMonitoringCredsExternalSecret: some secret
+
 service:
 #Since this is a feature for monitoring the service type is changed to internal, users can change it to NodePort on need basis...
-    type: ClusterIP
+    type: NodePort
     nodePort: 24
-    internalPort: 9091
-    externalPort: 9091
+    internalPort: *containerPort
+    externalPort: *containerPort
     portName: so-monitor-port
 updateStrategy:
     type: RollingUpdate
index d1158a0..eaa2663 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Huawei Technologies Co., Ltd.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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.
+*/}}
 aai:
   auth: {{ include "so.helpers.profileProperty" (dict "condition" .Values.global.security.aaf.enabled "value1" .Values.global.aaf.auth.header "value2" .Values.aai.auth )}}
   endpoint: https://aai.{{ include "common.namespace" . }}:8443
index 811da00..03a3df4 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Huawei Technologies Co., Ltd.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: {{- include "common.resourceMetadata" (dict "dot" . "suffix" "env") | nindent 2 }}
index f37c8b2..c213319 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Huawei Technologies Co., Ltd.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: apps/v1
 kind: Deployment
 metadata: {{- include "common.resourceMetadata" . | nindent 2 }}
@@ -55,7 +57,7 @@ spec:
               export $(grep '^c' {{ .Values.soHelpers.certInitializer.credsPath }}/mycreds.prop | xargs -0)
               export TRUSTSTORE_PASSWORD="${cadi_truststore_password}"
               {{- if .Values.global.security.aaf.enabled }}
-              export KEYSTORE_PASSWORD="${cadi_keystore_password}"
+              export KEYSTORE_PASSWORD="${cadi_keystore_password_p12}"
               {{- end }}
               {{- end }}
               ./start-app.sh
@@ -64,15 +66,9 @@ spec:
           ports: {{- include "common.containerPorts" . | nindent 12  }}
           env:
             - name: DB_HOST
-              valueFrom:
-                secretKeyRef:
-                  name: {{ include "common.release" . }}-so-db-secrets
-                  key: mariadb.readwrite.host
+              value: {{ include "common.mariadbService" . }}
             - name: DB_PORT
-              valueFrom:
-                secretKeyRef:
-                  name: {{ include "common.release" . }}-so-db-secrets
-                  key: mariadb.readwrite.port
+              value: {{ include "common.mariadbPort" . | quote }}
             - name: DB_USERNAME
               {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-user-creds" "key" "login") | indent 14 }}
             - name: DB_PASSWORD
@@ -100,9 +96,6 @@ spec:
             - name: config
               mountPath: /app/config
               readOnly: true
-            - name: {{ include "common.fullname" . }}-truststore
-              mountPath: /app/client
-              readOnly: true
           livenessProbe:
             httpGet:
               path: {{ index .Values.livenessProbe.path}}
@@ -119,8 +112,5 @@ spec:
         - name: config
           configMap:
             name: {{ include "common.fullname" . }}
-        - name:  {{ include "common.fullname" . }}-truststore
-          secret:
-            secretName: {{ include "common.release" . }}-so-truststore-secret
       imagePullSecrets:
         - name: "{{ include "common.namespace" . }}-docker-registry-key"
index a39363f..cc40499 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Huawei Technologies Co., Ltd.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.secretFast" . }}
index cf08482..665601d 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Huawei Technologies Co., Ltd.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.service" . }}
index 3bfe1b2..da36e9a 100755 (executable)
@@ -29,6 +29,9 @@ global:
   aaf:
     auth:
       header: Basic c29Ac28ub25hcC5vcmc6ZGVtbzEyMzQ1Ngo=
+  mariadbGalera:
+    serviceName: mariadb-galera
+    servicePort: '3306'
 
 #################################################################
 # Secrets metaconfig
index f2eae39..72799d1 100755 (executable)
@@ -37,15 +37,9 @@ spec:
 {{ include "common.resources" . | indent 10 }}
         env:
         - name: DB_HOST
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.host
+          value: {{ include "common.mariadbService" . }}
         - name: DB_PORT
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.port
+          value: {{ include "common.mariadbPort" . | quote }}
         - name: DB_USERNAME
           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-user-creds" "key" "login") | indent 10 }}
         - name: DB_PASSWORD
index e6b96a6..6bddf29 100755 (executable)
@@ -31,6 +31,10 @@ global:
   aaf:
     auth:
       header: Basic c29Ac28ub25hcC5vcmc6ZGVtbzEyMzQ1Ngo=
+  mariadbGalera:
+    serviceName: mariadb-galera
+    servicePort: '3306'
+
 # Secrets metaconfig
 #################################################################
 db:
@@ -73,7 +77,7 @@ secrets:
 # Application configuration defaults.
 #################################################################
 repository: nexus3.onap.org:10001
-image: onap/so/so-oof-adapter:1.7.2
+image: onap/so/so-oof-adapter:1.7.4
 pullPolicy: Always
 
 mso:
index bc556c5..15f08bc 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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.
+*/}}
 aai:
   auth: {{ include "so.helpers.profileProperty" (dict "condition" .Values.global.security.aaf.enabled "value1" .Values.global.aaf.auth.encrypted "value2" .Values.aai.auth )}}
   endpoint: https://aai.{{ include "common.namespace" . }}:8443
index 137fdb7..050aab9 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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
 data:
   LOG_PATH: {{ index .Values.logPath }}
@@ -45,4 +47,4 @@ metadata:
   name: {{ include "common.fullname" . }}-log
   namespace: {{ include "common.namespace" . }}
 data:
-{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
\ No newline at end of file
+{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }}
index de76901..60745b1 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: apps/v1
 kind: Deployment
 metadata:
@@ -65,21 +67,15 @@ spec:
           export $(grep '^c' {{ .Values.soHelpers.certInitializer.credsPath }}/mycreds.prop | xargs -0)
           export TRUSTSTORE_PASSWORD="${cadi_truststore_password}"
           {{- if .Values.global.security.aaf.enabled }}
-          export KEYSTORE_PASSWORD="${cadi_keystore_password}"
+          export KEYSTORE_PASSWORD="${cadi_keystore_password_p12}"
           {{- end }}
           /app/start-app.sh
         {{- end }}
         env:
         - name: DB_HOST
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.host
+          value: {{ include "common.mariadbService" . }}
         - name: DB_PORT
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.port
+          value: {{ include "common.mariadbPort" . | quote }}
         - name: DB_USERNAME
           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-user-creds" "key" "login") | indent 10 }}
         - name: DB_PASSWORD
index bd7eb8e..34932b7 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Samsung Electronics
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.secretFast" . }}
index 6711c3b..6eb6f27 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: Service
 metadata:
index 16bbac2..41ccb95 100755 (executable)
@@ -29,6 +29,9 @@ global:
   aaf:
     auth:
       encrypted: 3EDC974C5CD7FE54C47C7490AF4D3B474CDD7D0FFA35A7ACDE3E209631E45F428976EAC0858874F17390A13149E63C90281DD8D20456
+  mariadbGalera:
+    serviceName: mariadb-galera
+    servicePort: '3306'
 
 #################################################################
 # Secrets metaconfig
index 089d80c..9b70ddc 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -12,6 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 # will be used as entry in DB to say SITE OFF/ON for healthcheck
+*/}}
 server:
     port: {{ index .Values.containerPort }}
     tomcat:
index d351be3..6331656 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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
 data:
   LOG_PATH: {{ index .Values.logPath }}
index 159d2e7..25a6842 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: apps/v1
 kind: Deployment
 metadata:
@@ -65,21 +67,15 @@ spec:
           export $(grep '^c' {{ .Values.soHelpers.certInitializer.credsPath }}/mycreds.prop | xargs -0)
           export TRUSTSTORE_PASSWORD="${cadi_truststore_password}"
           {{- if .Values.global.security.aaf.enabled }}
-          export KEYSTORE_PASSWORD="${cadi_keystore_password}"
+          export KEYSTORE_PASSWORD="${cadi_keystore_password_p12}"
           {{- end }}
           /app/start-app.sh
         {{- end }}
         env:
         - name: DB_HOST
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.host
+          value: {{ include "common.mariadbService" . }}
         - name: DB_PORT
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.port
+          value: {{ include "common.mariadbPort" . | quote }}
         - name: DB_USERNAME
           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-user-creds" "key" "login") | indent 10 }}
         - name: DB_PASSWORD
index bd7eb8e..34932b7 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Samsung Electronics
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.secretFast" . }}
index 6711c3b..6eb6f27 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: Service
 metadata:
index 5a3721a..02b382f 100755 (executable)
@@ -29,6 +29,9 @@ global:
   aaf:
     auth:
       header: Basic c29Ac28ub25hcC5vcmc6ZGVtbzEyMzQ1Ngo=
+  mariadbGalera:
+    serviceName: mariadb-galera
+    servicePort: '3306'
 
 #################################################################
 # Secrets metaconfig
index 8fa49ba..b20e33a 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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.
+*/}}
 aai:
   auth: {{.Values.aai.auth}}
 server:
index 4859112..050aab9 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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
 data:
   LOG_PATH: {{ index .Values.logPath }}
index de76901..60745b1 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: apps/v1
 kind: Deployment
 metadata:
@@ -65,21 +67,15 @@ spec:
           export $(grep '^c' {{ .Values.soHelpers.certInitializer.credsPath }}/mycreds.prop | xargs -0)
           export TRUSTSTORE_PASSWORD="${cadi_truststore_password}"
           {{- if .Values.global.security.aaf.enabled }}
-          export KEYSTORE_PASSWORD="${cadi_keystore_password}"
+          export KEYSTORE_PASSWORD="${cadi_keystore_password_p12}"
           {{- end }}
           /app/start-app.sh
         {{- end }}
         env:
         - name: DB_HOST
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.host
+          value: {{ include "common.mariadbService" . }}
         - name: DB_PORT
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.port
+          value: {{ include "common.mariadbPort" . | quote }}
         - name: DB_USERNAME
           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-user-creds" "key" "login") | indent 10 }}
         - name: DB_PASSWORD
index bd7eb8e..34932b7 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Samsung Electronics
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.secretFast" . }}
index 6711c3b..6eb6f27 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: Service
 metadata:
index 24de2c6..9f858aa 100755 (executable)
@@ -29,6 +29,9 @@ global:
   aaf:
     auth:
       header: Basic c29Ac28ub25hcC5vcmc6ZGVtbzEyMzQ1Ngo=
+  mariadbGalera:
+    serviceName: mariadb-galera
+    servicePort: '3306'
 
 #################################################################
 # Secrets metaconfig
index 3e4e355..3c6e0ab 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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.
+*/}}
 server:
     port: {{ index .Values.containerPort }}
 mso:
index 4859112..050aab9 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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
 data:
   LOG_PATH: {{ index .Values.logPath }}
index 16342ad..5186523 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: apps/v1
 kind: Deployment
 metadata:
@@ -51,21 +53,15 @@ spec:
           export $(grep '^c' {{ .Values.soHelpers.certInitializer.credsPath }}/mycreds.prop | xargs -0)
           export TRUSTSTORE_PASSWORD="${cadi_truststore_password}"
           {{- if .Values.global.security.aaf.enabled }}
-          export KEYSTORE_PASSWORD="${cadi_keystore_password}"
+          export KEYSTORE_PASSWORD="${cadi_keystore_password_p12}"
           {{- end }}
           /app/start-app.sh
         {{- end }}
         env:
         - name: DB_HOST
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.host
+          value: {{ include "common.mariadbService" . }}
         - name: DB_PORT
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.port
+          value: {{ include "common.mariadbPort" . | quote }}
         - name: DB_USERNAME
           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-user-creds" "key" "login") | indent 10 }}
         - name: DB_PASSWORD
index bd7eb8e..34932b7 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Samsung Electronics
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.secretFast" . }}
index 6711c3b..6eb6f27 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: Service
 metadata:
index 4b36815..1c41e4a 100755 (executable)
@@ -32,6 +32,9 @@ global:
   aaf:
     auth:
       header: Basic c29Ac28ub25hcC5vcmc6ZGVtbzEyMzQ1Ngo=
+  mariadbGalera:
+    serviceName: mariadb-galera
+    servicePort: '3306'
 
 #################################################################
 # Secrets metaconfig
diff --git a/kubernetes/so/components/so-secrets/resources/certs/org.onap.so.trust.jks b/kubernetes/so/components/so-secrets/resources/certs/org.onap.so.trust.jks
deleted file mode 100644 (file)
index 31ea6ba..0000000
Binary files a/kubernetes/so/components/so-secrets/resources/certs/org.onap.so.trust.jks and /dev/null differ
diff --git a/kubernetes/so/components/so-secrets/templates/secrets.yaml b/kubernetes/so/components/so-secrets/templates/secrets.yaml
deleted file mode 100644 (file)
index 5be2cc7..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright © 2018 AT&T USA
-#
-# 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: Secret
-metadata:
-  name: {{ .Release.Name }}-so-client-certs-secret
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ .Release.Name }}
-    heritage: {{ .Release.Service }}
-data:
-  trustStorePassword: {{ .Values.global.client.certs.trustStorePassword }}
-  keyStorePassword: {{ .Values.global.client.certs.keyStorePassword}}
-type: Opaque
----
-apiVersion: v1
-kind: Secret
-metadata:
-  name: {{ include "common.release" . }}-so-truststore-secret
-  namespace: {{ include "common.namespace" . }}
-  labels:
-    app: {{ include "common.name" . }}
-    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ .Release.Name }}
-    heritage: {{ .Release.Service }}
-data:
-{{ tpl (.Files.Glob "resources/certs/*").AsSecrets . | indent 2 }}
diff --git a/kubernetes/so/components/so-secrets/values.yaml b/kubernetes/so/components/so-secrets/values.yaml
deleted file mode 100644 (file)
index 602ea79..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (c) 2020 Orange
-# 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:
-  client:
-    certs:
-      trustStorePassword: LHN4Iy5DKlcpXXdWZ0pDNmNjRkhJIzpI
index 89b6ada..f46219c 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Samsung# Copyright © 2020 Samsung
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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.
+*/}}
 
 server:
   port: {{ include "common.getPort" (dict "global" . "name" "http") }}
index e940811..d53c816 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Samsung
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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
index 1f9dfb5..5517703 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Samsung
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: apps/v1
 kind: Deployment
index bd7eb8e..34932b7 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Samsung Electronics
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.secretFast" . }}
index f3ef113..725967e 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Samsung
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.service" . }}
index 59028bc..db5caf4 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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.
+*/}}
 logging:
   path: logs
 spring:
index d351be3..6331656 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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
 data:
   LOG_PATH: {{ index .Values.logPath }}
index c057510..35ed9de 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: apps/v1
 kind: Deployment
 metadata:
@@ -65,21 +67,15 @@ spec:
           export $(grep '^c' {{ .Values.soHelpers.certInitializer.credsPath }}/mycreds.prop | xargs -0)
           export TRUSTSTORE_PASSWORD="${cadi_truststore_password}"
           {{- if .Values.global.security.aaf.enabled }}
-          export KEYSTORE_PASSWORD="${cadi_keystore_password}"
+          export KEYSTORE_PASSWORD="${cadi_keystore_password_p12}"
           {{- end }}
           /app/start-app.sh
         {{- end }}
         env:
         - name: DB_HOST
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.host
+          value: {{ include "common.mariadbService" . }}
         - name: DB_PORT
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.port
+          value: {{ include "common.mariadbPort" . | quote }}
         - name: DB_USERNAME
           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-user-creds" "key" "login") | indent 10 }}
         - name: DB_PASSWORD
index bd7eb8e..34932b7 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Samsung Electronics
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.secretFast" . }}
index 5e29af8..2ecc66f 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: Service
 metadata:
index d0e1d20..c46f118 100755 (executable)
@@ -28,6 +28,9 @@ global:
   aaf:
     auth:
       header: Basic c29Ac28ub25hcC5vcmc6ZGVtbzEyMzQ1Ngo=
+  mariadbGalera:
+    serviceName: mariadb-galera
+    servicePort: '3306'
 
 #################################################################
 # Secrets metaconfig
index e8d625e..9d98803 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2019 Nordix Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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.
+*/}}
 aai:
   auth: {{ include "so.helpers.profileProperty" (dict "condition" .Values.global.security.aaf.enabled "value1" .Values.global.aaf.auth.header "value2" .Values.aai.auth )}}
   version: v15
@@ -28,14 +30,14 @@ server:
   port: {{ index .Values.containerPort }}
   ssl:
     key-alias: so@so.onap.org
-    key--store-password: 'ywsqCy:EEo#j}HJHM7z^Rk[L'
-    key-store: classpath:so-vnfm-adapter.p12
+    key-store-password: ${KEYSTORE_PASSWORD}
+    key-store: file:${KEYSTORE}
     key-store-type: PKCS12
 http:
   client:
     ssl:
-      trust-store: classpath:org.onap.so.trust.jks
-      trust-store-password: ',sx#.C*W)]wVgJC6ccFHI#:H'
+      trust-store: file:${TRUSTSTORE}
+      trust-store-password: ${TRUSTSTORE_PASSWORD}
 mso:
   key: {{ .Values.mso.key }}
   site-name: localSite
@@ -58,7 +60,7 @@ etsi-catalog-manager:
   http:
     client:
       ssl:
-        trust-store: ${TRUSTSTORE}
+        trust-store: file:${TRUSTSTORE}
         trust-store-password: ${TRUSTSTORE_PASSWORD}
   {{- else }}
     endpoint: http://modeling-etsicatalog.{{ include "common.namespace" . }}:8806/api/vnfpkgm/v1
index d351be3..6331656 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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
 data:
   LOG_PATH: {{ index .Values.logPath }}
index caf218f..24dd3d6 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2019 Nordix Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: apps/v1
 kind: Deployment
 metadata:
@@ -50,9 +52,8 @@ spec:
         - |
           export $(grep '^c' {{ .Values.soHelpers.certInitializer.credsPath }}/mycreds.prop | xargs -0)
           export TRUSTSTORE_PASSWORD="${cadi_truststore_password}"
-          {{- if .Values.global.security.aaf.enabled }}
-          export KEYSTORE_PASSWORD="${cadi_keystore_password}"
-          {{- end }}
+          export KEYSTORE_PASSWORD="${cadi_keystore_password_p12}"
+          export KEYSTORE="{{ .Values.soHelpers.certInitializer.credsPath }}/org.onap.so.p12"
           /app/start-app.sh
         {{- end }}
         env:
@@ -67,9 +68,6 @@ spec:
         - name: config
           mountPath: /app/config
           readOnly: true
-        - name: {{ include "common.fullname" . }}-truststore
-          mountPath: /app/client
-          readOnly: true
         livenessProbe:
           tcpSocket:
             port: {{ index .Values.livenessProbe.port }}
@@ -87,8 +85,5 @@ spec:
       - name: config
         configMap:
             name: {{ include "common.fullname" . }}-app-configmap
-      - name:  {{ include "common.fullname" . }}-truststore
-        secret:
-          secretName: {{ include "common.release" . }}-so-truststore-secret
       imagePullSecrets:
         - name: "{{ include "common.namespace" . }}-docker-registry-key"
index bd7eb8e..34932b7 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Samsung Electronics
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,5 +12,6 @@
 # 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.secretFast" . }}
index b445f75..5772a89 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2019 Nordix Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: Service
 metadata:
index fa25ba5..98876e3 100644 (file)
     keytool -import -trustcacerts -alias msb_root -file \
       /certificates/msb-ca.crt -keystore \
       "{{ $subchartDot.Values.certInitializer.credsPath }}/{{ $subchartDot.Values.aaf.trustore }}" \
-      -keypass $cadi_truststore_password -noprompt
+      -storepass $cadi_truststore_password -noprompt
+    keytool -importkeystore -srckeystore "{{ $subchartDot.Values.certInitializer.credsPath }}/truststoreONAPall.jks" \
+      -srcstorepass {{ $subchartDot.Values.certInitializer.trustStoreAllPass }} \
+      -destkeystore "{{ $subchartDot.Values.certInitializer.credsPath }}/{{ $subchartDot.Values.aaf.trustore }}" \
+      -deststorepass $cadi_truststore_password -noprompt
   volumeMounts:
   {{ include "common.certInitializer.volumeMount" $subchartDot | indent 2 | trim }}
   - name: {{ include "common.name" $dot }}-msb-certificate
@@ -52,7 +56,7 @@
   value: {{ $subchartDot.Values.certInitializer.credsPath }}/{{ $subchartDot.Values.aaf.trustore }}
 {{-     if $dot.Values.global.security.aaf.enabled }}
 - name: KEYSTORE
-  value: {{ $subchartDot.Values.certInitializer.credsPath }}/org.onap.so.jks
+  value: {{ $subchartDot.Values.certInitializer.credsPath }}/org.onap.so.p12
 {{-     end }}
 {{-   end }}
 {{- end -}}
index 5dbe46c..3919381 100755 (executable)
@@ -37,7 +37,7 @@ global:
 # Secrets metaconfig
 #################################################################
 secrets:
-  - uid: "so-onap-certs"
+  - uid: 'so-onap-certs'
     name: '{{ include "common.release" . }}-so-certs'
     externalSecret: '{{ tpl (default "" .Values.certSecret) . }}'
     type: generic
@@ -54,10 +54,11 @@ certInitializer:
   fqdn: so
   fqi: so@so.onap.org
   public_fqdn: so.onap.org
-  cadi_longitude: "0.0"
-  cadi_latitude: "0.0"
+  cadi_longitude: '0.0'
+  cadi_latitude: '0.0'
   app_ns: org.osaaf.aaf
   credsPath: /opt/app/osaaf/local
+  trustStoreAllPass: changeit
   aaf_add_config: >
     /opt/app/aaf_config/bin/agent.sh local showpass
     {{.Values.fqi}} {{ .Values.fqdn }} > {{ .Values.credsPath }}/mycreds.prop
index 82cf3e9..41a781b 100755 (executable)
@@ -17,43 +17,43 @@ dependencies:
     # 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'
+    repository: "@local"
   - name: mariadb-galera
     version: ~6.x-0
-    repository: '@local'
+    repository: "@local"
     condition: global.mariadbGalera.localCluster
   - name: soHelpers
     version: ~6.x-0
-    repository: 'file://components/soHelpers'
+    repository: "file://components/soHelpers"
   - name: so-appc-orchestrator
     version: ~6.x-0
-    repository: 'file://components/so-appc-orchestrator'
+    repository: "file://components/so-appc-orchestrator"
     condition: so-appc-orchestrator.enabled
   - name: so-bpmn-infra
     version: ~6.x-0
-    repository: 'file://components/so-bpmn-infra'
+    repository: "file://components/so-bpmn-infra"
   - name: so-catalog-db-adapter
     version: ~6.x-0
-    repository: 'file://components/so-catalog-db-adapter'
+    repository: "file://components/so-catalog-db-adapter"
     condition: so-catalog-db-adapter.enabled
-  - name: so-db-secrets
+  - name: so-cnf-adapter
     version: ~6.x-0
-    repository: 'file://components/so-db-secrets'
-    condition: so-etsi-nfvo-ns-lcm.enabled
+    repository: "file://components/so-cnf-adapter"
+    condition: so-cnf-adapter.enabled
   - name: so-etsi-nfvo-ns-lcm
     version: ~6.x-0
     repository: 'file://components/so-etsi-nfvo-ns-lcm'
     condition: so-etsi-nfvo-ns-lcm.enabled
   - name: so-mariadb
     version: ~6.x-0
-    repository: 'file://components/so-mariadb'
+    repository: "file://components/so-mariadb"
   - name: so-monitoring
     version: ~6.x-0
-    repository: 'file://components/so-monitoring'
+    repository: "file://components/so-monitoring"
     condition: so-monitoring.enabled
   - name: so-nssmf-adapter
     version: ~6.x-0
-    repository: 'file://components/so-nssmf-adapter'
+    repository: "file://components/so-nssmf-adapter"
     condition: so-nssmf-adapter.enabled
   - name: so-oof-adapter
     version: ~6.x-0
@@ -61,30 +61,27 @@ dependencies:
     condition: so-oof-adapter.enabled
   - name: so-openstack-adapter
     version: ~6.x-0
-    repository: 'file://components/so-openstack-adapter'
+    repository: "file://components/so-openstack-adapter"
     condition: so-openstack-adapter.enabled
   - name: so-request-db-adapter
     version: ~6.x-0
-    repository: 'file://components/so-request-db-adapter'
+    repository: "file://components/so-request-db-adapter"
   - name: so-sdc-controller
     version: ~6.x-0
-    repository: 'file://components/so-sdc-controller'
+    repository: "file://components/so-sdc-controller"
   - name: so-sdnc-adapter
     version: ~6.x-0
-    repository: 'file://components/so-sdnc-adapter'
+    repository: "file://components/so-sdnc-adapter"
     condition: so-sdnc-adapter.enabled
-  - name: so-secrets
-    version: ~6.x-0
-    repository: 'file://components/so-secrets'
   - name: so-ve-vnfm-adapter
     version: ~6.x-0
-    repository: 'file://components/so-ve-vnfm-adapter'
+    repository: "file://components/so-ve-vnfm-adapter"
     condition: so-ve-vnfm-adapter.enabled
   - name: so-vfc-adapter
     version: ~6.x-0
-    repository: 'file://components/so-vfc-adapter'
+    repository: "file://components/so-vfc-adapter"
     condition: so-vfc-adapter.enabled
   - name: so-vnfm-adapter
     version: ~6.x-0
-    repository: 'file://components/so-vnfm-adapter'
+    repository: "file://components/so-vnfm-adapter"
     condition: so-vnfm-adapter.enabled
index 3280253..52ba27d 100755 (executable)
@@ -1,9 +1,11 @@
 #!/bin/sh
+{{/*
 # Copyright 2015 AT&T Intellectual Properties
 ##############################################################################
 #       Script to initialize the chef-repo branch and.chef
 #
 ##############################################################################
+*/}}
 # Copy the certificates
 echo 'Copying the *.crt provided in /shared folder'
 cp --verbose /shared/*.crt /usr/local/share/ca-certificates
index efcf029..8ed9fd6 100755 (executable)
@@ -124,4 +124,4 @@ org:
       cloud-owner: CloudOwner
       adapters:
         network:
-          encryptionKey: {{ .Values.global.app.msoKey }}
+          encryptionKey: {{ .Values.mso.msoKey }}
index ab7b5f3..74daf41 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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
 data:
   LOG_PATH: {{ index .Values.logPath }}
index d378cae..f846a03 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: apps/v1
 kind: Deployment
 metadata:
@@ -66,21 +68,15 @@ spec:
           export $(grep '^c' {{ .Values.soHelpers.certInitializer.credsPath }}/mycreds.prop | xargs -0)
           export TRUSTSTORE_PASSWORD="${cadi_truststore_password}"
           {{- if .Values.global.security.aaf.enabled }}
-          export KEYSTORE_PASSWORD="${cadi_keystore_password}"
+          export KEYSTORE_PASSWORD="${cadi_keystore_password_p12}"
           {{- end }}
           /app/start-app.sh
         {{- end }}
         env:
         - name: DB_HOST
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.host
+          value: {{ include "common.mariadbService" . }}
         - name: DB_PORT
-          valueFrom:
-            secretKeyRef:
-              name: {{ include "common.release" . }}-so-db-secrets
-              key: mariadb.readwrite.port
+          value: {{ include "common.mariadbPort" . | quote }}
         - name: DB_USERNAME
           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-user-creds" "key" "login") | indent 10 }}
         - name: DB_PASSWORD
index 5e9a62f..5aa3ea3 100644 (file)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2020 Samsung Electronics
 # Modifications Copyright © 2020 Orange
 #
@@ -12,5 +13,6 @@
 # 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.secretFast" . }}
index 336b9f7..2849ede 100755 (executable)
@@ -1,3 +1,4 @@
+{{/*
 # Copyright © 2018 AT&T USA
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -11,6 +12,7 @@
 # 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: Service
 metadata:
index 0a9dbf4..4648015 100755 (executable)
@@ -27,6 +27,8 @@ global:
     nameOverride: mariadb-galera
     serviceName: mariadb-galera
     servicePort: '3306'
+    service: mariadb-galera
+    internalPort: '3306'
     # mariadbRootPassword: secretpassword
     # rootPasswordExternalSecret: some secret
     #This flag allows SO to instantiate its own mariadb-galera cluster,
@@ -58,7 +60,6 @@ global:
     siteName: onapheat
     auth: 3EDC974C5CD7FE54C47C7490AF4D3B474CDD7D0FFA35A7ACDE3E209631E45F428976EAC0858874F17390A13149E63C90281DD8D20456
     defaultCloudOwner: onap
-    msoKey: 07a7159d3bf51a0e53be7a8f89699be7
   client:
     certs:
       truststore: /app/client/org.onap.so.trust.jks
@@ -109,16 +110,44 @@ secrets:
     type: generic
     filePaths:
       - resources/config/certificates/msb-ca.crt
-  - uid: "mso-key"
+  - uid: 'mso-key'
     name: &mso-key '{{ include "common.release" . }}-mso-key'
     type: password
-    password: '{{ .Values.global.app.msoKey }}'
+    password: '{{ .Values.mso.msoKey }}'
   - uid: mso-oof-auth
     name: &mso-oof-auth '{{ include "common.release" . }}-mso-oof-auth'
     type: basicAuth
     login: '{{ .Values.mso.oof.login }}'
     password: '{{ .Values.mso.oof.password }}'
     passwordPolicy: required
+  - uid: server-actuator-creds
+    name: &actuator-secrets '{{ include "common.release" . }}-so-server-actuator-creds'
+    type: basicAuth
+    externalSecret: '{{ tpl (default "" .Values.server.actuatorCredsExternalSecret) . }}'
+    login: '{{ .Values.server.actuator.username }}'
+    password: '{{ .Values.server.actuator.password }}'
+    passwordPolicy: required
+  - uid: server-bpel-creds
+    name: &bpel-secrets '{{ include "common.release" . }}-so-server-bpel-creds'
+    type: basicAuth
+    externalSecret: '{{ tpl (default "" .Values.server.bpelCredsExternalSecret) . }}'
+    login: '{{ .Values.server.bpel.username }}'
+    password: '{{ .Values.server.bpel.password }}'
+    passwordPolicy: required
+  - uid: so-aaf-creds
+    name: &aaf-secrets '{{ include "common.release" . }}-so-server-aaf-creds'
+    type: basicAuth
+    externalSecret: '{{ tpl (default "" .Values.server.aafCredsExternalSecret) . }}'
+    login: '{{ .Values.server.aaf.username }}'
+    password: '{{ .Values.server.aaf.password }}'
+    passwordPolicy: required
+  - uid: so-aai-creds
+    name: &aai-secrets '{{ include "common.release" . }}-so-server-aai-creds'
+    type: basicAuth
+    externalSecret: '{{ tpl (default "" .Values.server.aaiCredsExternalSecret) . }}'
+    login: '{{ .Values.server.aai.username }}'
+    password: '{{ .Values.server.aai.password }}'
+    passwordPolicy: required
 
 aafConfig:
   permission_user: 1000
@@ -140,20 +169,44 @@ dbCreds:
   userName: so_user
   adminName: so_admin
 
+server:
+  aaf:
+    username: so@so.onap.org
+    password: demo123456
+  # aafCredsExternalSecret: some secret
+  aai:
+    username: aai@aai.onap.org
+    password: demo123456!
+  # aaiCredsExternalSecret: some secret
+  actuator:
+    username: mso_admin
+    password: password1$
+  # actuatorCredsExternalSecret: some secret
+  bpel:
+    username: bpel
+    password: password1$
+  # bpelCredsExternalSecret: some secret
+
 repository: nexus3.onap.org:10001
 image: onap/so/api-handler-infra:1.6.4
 pullPolicy: Always
+
 replicaCount: 1
 minReadySeconds: 10
+
 containerPort: &containerPort 8080
+
 logPath: ./logs/apih/
+
 app: api-handler-infra
+
 service:
   type: NodePort
   nodePort: 77
   internalPort: *containerPort
   externalPort: *containerPort
   portName: so-apih-port
+
 updateStrategy:
   type: RollingUpdate
   maxUnavailable: 1
@@ -230,6 +283,7 @@ mso:
     requestDb:
       auth: Basic YnBlbDpwYXNzd29yZDEk
   camundaAuth: AE2E9BE6EF9249085AF98689C4EE087736A5500629A72F35068FFB88813A023581DD6E765071F1C04075B36EA4213A
+  msoKey: 07a7159d3bf51a0e53be7a8f89699be7
   sdc:
     client:
       auth: 878785F4F31BC9CFA5AB52A172008212D8845ED2DE08AD5E56AF114720A4E49768B8F95CDA2EB971765D28EDCDAA24
@@ -247,6 +301,8 @@ mso:
 
 so-appc-orchestrator:
   enabled: true
+  server:
+    actuatorCredsExternalSecret: *actuator-secrets
   db:
     <<: *dbSecrets
 
@@ -259,16 +315,51 @@ so-catalog-db-adapter:
   db:
     <<: *dbSecrets
 
+so-cnf-adapter:
+  enabled: true
+  server:
+    aafCredsExternalSecret: *aaf-secrets
+    aaiCredsExternalSecret: *aai-secrets
+    actuatorCredsExternalSecret: *actuator-secrets
+  mso:
+    msoKeySecret: *mso-key
+
 so-etsi-nfvo-ns-lcm:
   enabled: true
   db:
     <<: *dbSecrets
 
+so-mariadb:
+  db:
+    rootPasswordExternalSecretLocalDb: *dbRootPassSecretName
+    rootPasswordExternalSecret: '{{ ternary .Values.db.rootPasswordExternalSecretLocalDb (include "common.mariadb.secret.rootPassSecretName" (dict "dot" . "chartName" .Values.global.mariadbGalera.nameOverride)) .Values.global.mariadbGalera.localCluster }}'
+    backupCredsExternalSecret: *dbBackupCredsSecretName
+    userCredsExternalSecret: *dbUserCredsSecretName
+    adminCredsExternalSecret: *dbAdminCredsSecretName
+
 so-monitoring:
   enabled: true
   db:
     <<: *dbSecrets
 
+so-nssmf-adapter:
+  enabled: true
+  server:
+    actuatorCredsExternalSecret: *actuator-secrets
+    bpelCredsExternalSecret: *bpel-secrets
+  db:
+    <<: *dbSecrets
+
+so-oof-adapter:
+  enabled: true
+  db:
+    <<: *dbSecrets
+  mso:
+    msoKeySecret: *mso-key
+    camundaAuth: AE2E9BE6EF9249085AF98689C4EE087736A5500629A72F35068FFB88813A023581DD6E765071F1C04075B36EA4213A
+    oof:
+      authSecret: *mso-oof-auth
+
 so-openstack-adapter:
   enabled: true
   db:
@@ -295,28 +386,5 @@ so-vfc-adapter:
   db:
     <<: *dbSecrets
 
-so-nssmf-adapter:
-  enabled: true
-  db:
-    <<: *dbSecrets
-
-so-oof-adapter:
-  enabled: true
-  db:
-    <<: *dbSecrets
-  mso:
-    msoKeySecret: *mso-key
-    camundaAuth: AE2E9BE6EF9249085AF98689C4EE087736A5500629A72F35068FFB88813A023581DD6E765071F1C04075B36EA4213A
-    oof:
-      authSecret: *mso-oof-auth
-
 so-vnfm-adapter:
   enabled: true
-
-so-mariadb:
-  db:
-    rootPasswordExternalSecretLocalDb: *dbRootPassSecretName
-    rootPasswordExternalSecret: '{{ ternary .Values.db.rootPasswordExternalSecretLocalDb (include "common.mariadb.secret.rootPassSecretName" (dict "dot" . "chartName" .Values.global.mariadbGalera.nameOverride)) .Values.global.mariadbGalera.localCluster }}'
-    backupCredsExternalSecret: *dbBackupCredsSecretName
-    userCredsExternalSecret: *dbUserCredsSecretName
-    adminCredsExternalSecret: *dbAdminCredsSecretName
index 6a79d8f..f46530d 100644 (file)
@@ -34,6 +34,15 @@ metadata:
           "port": "{{.Values.service.externalPort}}",
           "enable_ssl": {{ .Values.global.config.ssl_enabled }},
           "visualRange":"1"
+      },
+      {
+          "serviceName": "nslcm",
+          "version": "v2",
+          "url": "/api/nslcm/v2",
+          "protocol": "REST",
+          "port": "{{.Values.service.externalPort}}",
+          "enable_ssl": {{ .Values.global.config.ssl_enabled }},
+          "visualRange":"1"
       }
       ]'
 spec:
index 7d37810..14a2160 100644 (file)
@@ -38,7 +38,7 @@ secrets:
 flavor: small
 
 repository: nexus3.onap.org:10001
-image: onap/vfc/nslcm:1.4.0
+image: onap/vfc/nslcm:1.4.1
 pullPolicy: Always
 
 #Istio sidecar injection policy
index 3e0e235..2cdc1e9 100644 (file)
@@ -43,7 +43,7 @@ secrets:
 #################################################################
 # application image
 repository: nexus3.onap.org:10001
-image: onap/vnfsdk/refrepo:1.6.0
+image: onap/vnfsdk/refrepo:1.6.2
 postgresRepository: crunchydata
 postgresImage: crunchy-postgres:centos7-10.3-1.8.2
 pullPolicy: Always