[DCAEMOD] RuntimAPI updates for HELM-gen integration

- Add switch for RuntimeAPI support for cloudify/helm
- Add new properties for Chartmuseum integration for
helm-gen tool
- Bumpup onboardingAPI container version to support v3

Change-Id: I956632d04fa4ac4cac552ebf2b63432e29fe2386
Signed-off-by: Vijay Venkatesh Kumar <vv770d@att.com>
Issue-ID: DCAEGEN2-2694
Signed-off-by: Vijay Venkatesh Kumar <vv770d@att.com>
diff --git a/kubernetes/dcaemod/components/dcaemod-onboarding-api/values.yaml b/kubernetes/dcaemod/components/dcaemod-onboarding-api/values.yaml
index c36e9b7..2aefedb 100644
--- a/kubernetes/dcaemod/components/dcaemod-onboarding-api/values.yaml
+++ b/kubernetes/dcaemod/components/dcaemod-onboarding-api/values.yaml
@@ -92,7 +92,7 @@
       mountInitPath: dcaemod
 
 # application image
-image: onap/org.onap.dcaegen2.platform.mod.onboardingapi:2.12.5
+image: onap/org.onap.dcaegen2.platform.mod.onboardingapi:2.13.0
 
 # Resource Limit flavor -By Default using small
 flavor: small
diff --git a/kubernetes/dcaemod/components/dcaemod-runtime-api/requirements.yaml b/kubernetes/dcaemod/components/dcaemod-runtime-api/requirements.yaml
index 1f77713..09159dd 100644
--- a/kubernetes/dcaemod/components/dcaemod-runtime-api/requirements.yaml
+++ b/kubernetes/dcaemod/components/dcaemod-runtime-api/requirements.yaml
@@ -26,3 +26,6 @@
   - name: serviceAccount
     version: ~9.x-0
     repository: '@local'
+  - name: readinessCheck
+    version: ~9.x-0
+    repository: '@local'
\ No newline at end of file
diff --git a/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/addons/templates/certificates.yaml b/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/addons/templates/certificates.yaml
new file mode 100644
index 0000000..8c964ec
--- /dev/null
+++ b/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/addons/templates/certificates.yaml
@@ -0,0 +1,3 @@
+{{ if and .Values.certDirectory .Values.global.cmpv2Enabled .Values.global.CMPv2CertManagerIntegration }}
+{{ include "certManagerCertificate.certificate" . }}
+{{ end }}
\ No newline at end of file
diff --git a/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/Chart.yaml b/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/Chart.yaml
new file mode 100644
index 0000000..4496ee5
--- /dev/null
+++ b/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/Chart.yaml
@@ -0,0 +1,43 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+
+apiVersion: v2
+appVersion: "Istanbul"
+description: TBD
+name: TBD
+version: TBD
+
+dependencies:
+  - name: common
+    version: ~9.x-0
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~9.x-0
+    repository: '@local'
+  - name: readinessCheck
+    version: ~9.x-0
+    repository: '@local'
+  - name: dcaegen2-services-common
+    version: ~9.x-0
+    repository: '@local'
+  - name: postgres
+    version: ~9.x-0
+    repository: '@local'
+    condition: postgres.enabled
+  - name: serviceAccount
+    version: ~9.x-0
+    repository: '@local'
diff --git a/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/templates/configmap.yaml b/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/templates/configmap.yaml
new file mode 100644
index 0000000..866a9ad
--- /dev/null
+++ b/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/templates/configmap.yaml
@@ -0,0 +1 @@
+{{ include "dcaegen2-services-common.configMap" . }}
diff --git a/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/templates/deployment.yaml b/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/templates/deployment.yaml
new file mode 100644
index 0000000..bef31a7
--- /dev/null
+++ b/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/templates/deployment.yaml
@@ -0,0 +1 @@
+{{ include "dcaegen2-services-common.microserviceDeployment" . }}
\ No newline at end of file
diff --git a/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/templates/secret.yaml b/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/templates/secret.yaml
new file mode 100644
index 0000000..6ee9297
--- /dev/null
+++ b/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/templates/secret.yaml
@@ -0,0 +1 @@
+{{ include "common.secretFast" . }}
diff --git a/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/templates/service.yaml b/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/templates/service.yaml
new file mode 100644
index 0000000..f024c64
--- /dev/null
+++ b/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/templates/service.yaml
@@ -0,0 +1 @@
+{{ include "common.service" . }}
diff --git a/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/values.yaml b/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/values.yaml
new file mode 100644
index 0000000..139e3d3
--- /dev/null
+++ b/kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/values.yaml
@@ -0,0 +1,100 @@
+#============LICENSE_START========================================================
+#=================================================================================
+# Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+  nodePortPrefix: 302
+  nodePortPrefixExt: 304
+
+#################################################################
+# Filebeat configuration defaults.
+#################################################################
+filebeatConfig:
+  logstashServiceName: log-ls
+  logstashPort: 5044
+
+#################################################################
+# initContainer images.
+#################################################################
+tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+image: TBD #DONE
+pullPolicy: Always
+
+#policy sync image
+dcaePolicySyncImage: onap/org.onap.dcaegen2.deployments.dcae-services-policy-sync:1.0.1
+
+#postgres enable/disable
+postgres:
+  enabled: false
+
+# log directory where logging sidecar should look for log files
+# if absent, no sidecar will be deployed
+#logDirectory: TBD  #/opt/app/VESCollector/logs #DONE
+
+# directory where TLS certs should be stored
+# if absent, no certs will be retrieved and stored
+#certDirectory: TBD #/opt/app/dcae-certificate  #DONE
+
+# TLS role -- set to true if microservice acts as server
+# If true, an init container will retrieve a server cert
+# and key from AAF and mount them in certDirectory.
+#tlsServer: TBD  #DONE
+
+# dependencies
+readinessCheck:
+  wait_for:
+    - dcae-config-binding-service
+    - aaf-cm
+
+# probe configuration  #NEED DISCUSSION
+readiness:
+  initialDelaySeconds: TBD
+  periodSeconds: TBD
+  path: TBD
+  scheme: TBD
+  port: TBD
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+  small:
+    limits:
+      cpu: 2
+      memory: 2Gi
+    requests:
+      cpu: 1
+      memory: 1Gi
+  large:
+    limits:
+      cpu: 4
+      memory: 4Gi
+    requests:
+      cpu: 2
+      memory: 2Gi
+  unlimited: {}
+serviceAccount:
+  nameOverride: TBD
+  roles:
+    - read
diff --git a/kubernetes/dcaemod/components/dcaemod-runtime-api/templates/configmap.yaml b/kubernetes/dcaemod/components/dcaemod-runtime-api/templates/configmap.yaml
new file mode 100644
index 0000000..7d90f58
--- /dev/null
+++ b/kubernetes/dcaemod/components/dcaemod-runtime-api/templates/configmap.yaml
@@ -0,0 +1,41 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2021 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+*/}}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-dcae-helmgen-templates
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ (.Files.Glob "resources/config/base/templates/*.yaml").AsConfig | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-dcae-helmgen-base
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ (.Files.Glob "resources/config/base/*.yaml").AsConfig | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ include "common.fullname" . }}-dcae-helmgen-addons-templates
+  namespace: {{ include "common.namespace" . }}
+data:
+{{ (.Files.Glob "resources/config/addons/templates/*").AsConfig | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/dcaemod/components/dcaemod-runtime-api/templates/deployment.yaml b/kubernetes/dcaemod/components/dcaemod-runtime-api/templates/deployment.yaml
index d5c37e9..3904446 100644
--- a/kubernetes/dcaemod/components/dcaemod-runtime-api/templates/deployment.yaml
+++ b/kubernetes/dcaemod/components/dcaemod-runtime-api/templates/deployment.yaml
@@ -1,7 +1,7 @@
 {{/*
 #============LICENSE_START========================================================
 # ================================================================================
-# Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# Copyright (c) 2019-2021 AT&T Intellectual Property. All rights reserved.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -44,6 +44,17 @@
             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
             periodSeconds: {{ .Values.readiness.periodSeconds }}
           resources: {{ include "common.resources" . | nindent 12 }}
+          volumeMounts:
+            - mountPath: {{ .Values.config.basehelmchartlocation }}/base/values.yaml
+              subPath: values.yaml
+              name: dcae-helmgen-base
+            - mountPath: {{ .Values.config.basehelmchartlocation }}/base/Chart.yaml
+              subPath: Chart.yaml
+              name: dcae-helmgen-base
+            - mountPath: {{ .Values.config.basehelmchartlocation }}/base/templates
+              name: dcae-helmgen-templates
+            - mountPath: {{ .Values.config.basehelmchartlocation }}/addons/templates
+              name: dcae-helmgen-addon-templates
           env:
             - name: DASHBOARD_URL
               value: {{ .Values.config.dashboardURL }}
@@ -71,7 +82,26 @@
               value: {{ .Values.config.bpResourcesCpuLimit }}
             - name: BP_RESOURCES_MEMORY_LIMIT
               value: {{ .Values.config.bpResourcesMemoryLimit }}
+            - name: ARTIFACT_TYPE
+              value: {{ .Values.config.artifactType }}
+            - name: CHARTMUSEUM_BASEURL
+              value: {{ .Values.config.registryBaseurl }}
+            - name: HELM_BASE_CHART_TEMPLATE_LOCATION
+              value: {{ .Values.config.basehelmchartlocation }}
+            - name: CHARTMUSEUM_AUTH_BASIC_USERNAME
+              {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "registrycred" "key" "login") | indent 14 }}
+            - name: CHARTMUSEUM_AUTH_BASIC_PASSWORD
+              {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "registrycred" "key" "password") | indent 14 }}
       serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
       imagePullSecrets:
         - name: "{{ include "common.namespace" . }}-docker-registry-key"
-
+      volumes:
+        - name: dcae-helmgen-templates
+          configMap:
+            name: {{ include "common.fullname" . }}-dcae-helmgen-templates
+        - name: dcae-helmgen-base
+          configMap:
+            name: {{ include "common.fullname" . }}-dcae-helmgen-base
+        - name: dcae-helmgen-addon-templates
+          configMap:
+            name: {{ include "common.fullname" . }}-dcae-helmgen-addons-templates
\ No newline at end of file
diff --git a/kubernetes/dcaemod/components/dcaemod-runtime-api/values.yaml b/kubernetes/dcaemod/components/dcaemod-runtime-api/values.yaml
index e54608b..e7d3fa2 100644
--- a/kubernetes/dcaemod/components/dcaemod-runtime-api/values.yaml
+++ b/kubernetes/dcaemod/components/dcaemod-runtime-api/values.yaml
@@ -1,6 +1,6 @@
 #============LICENSE_START========================================================
 #=================================================================================
-# Copyright (c) 2019-2020 AT&T Intellectual Property. All rights reserved.
+# Copyright (c) 2019-2021 AT&T Intellectual Property. All rights reserved.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -40,6 +40,10 @@
   useDmaapPlugin: false
   bpResourcesCpuLimit: 250m
   bpResourcesMemoryLimit: 128Mi
+  artifactType: "HELM"
+  registryBaseurl: http://chart-museum:80
+  basehelmchartlocation: /helm-gen/
+
 
 secrets:
   - uid: "dashsecret"
@@ -47,6 +51,18 @@
     login: '{{ .Values.config.dashboardUser }}'
     password: '{{ .Values.config.dashboardPassword }}'
     passwordPolicy: generate
+  - uid: registrycred
+    type: basicAuth
+    login: '{{ .Values.registryCred.username }}'
+    password: '{{ .Values.registryCred.password }}'
+    passwordPolicy: required
+
+# Below parameter should match setting in all clients
+# including oom\kubernetes\platform\components\chartmuseum
+# where ONAP registry is setup
+registryCred:
+  username: onapinitializer
+  password: demo123456!
 
 service:
   type: ClusterIP
@@ -70,8 +86,14 @@
   port: http
   # Should have a proper readiness endpoint or script
 
+# dependencies
+#readinessCheck:
+#  wait_for:
+#    - chart-museum
+
+
 # application image
-image: onap/org.onap.dcaegen2.platform.mod.runtime-web:1.2.3
+image: onap/org.onap.dcaegen2.platform.mod.runtime-web:1.3.1
 
 # Resource Limit flavor -By Default using small
 flavor: small
@@ -98,4 +120,3 @@
   nameOverride: dcaemod-runtime-api
   roles:
     - read
-