From 2091000187895ad5e68eed85fc489711b0e5af05 Mon Sep 17 00:00:00 2001 From: Vijay Venkatesh Kumar Date: Tue, 7 Sep 2021 12:19:48 -0400 Subject: [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 Issue-ID: DCAEGEN2-2694 Signed-off-by: Vijay Venkatesh Kumar --- .../components/dcaemod-onboarding-api/values.yaml | 2 +- .../dcaemod-runtime-api/requirements.yaml | 3 + .../config/addons/templates/certificates.yaml | 3 + .../resources/config/base/Chart.yaml | 43 +++++++++ .../resources/config/base/templates/configmap.yaml | 1 + .../config/base/templates/deployment.yaml | 1 + .../resources/config/base/templates/secret.yaml | 1 + .../resources/config/base/templates/service.yaml | 1 + .../resources/config/base/values.yaml | 100 +++++++++++++++++++++ .../dcaemod-runtime-api/templates/configmap.yaml | 41 +++++++++ .../dcaemod-runtime-api/templates/deployment.yaml | 34 ++++++- .../components/dcaemod-runtime-api/values.yaml | 27 +++++- 12 files changed, 251 insertions(+), 6 deletions(-) create mode 100644 kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/addons/templates/certificates.yaml create mode 100644 kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/Chart.yaml create mode 100644 kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/templates/configmap.yaml create mode 100644 kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/templates/deployment.yaml create mode 100644 kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/templates/secret.yaml create mode 100644 kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/templates/service.yaml create mode 100644 kubernetes/dcaemod/components/dcaemod-runtime-api/resources/config/base/values.yaml create mode 100644 kubernetes/dcaemod/components/dcaemod-runtime-api/templates/configmap.yaml (limited to 'kubernetes') diff --git a/kubernetes/dcaemod/components/dcaemod-onboarding-api/values.yaml b/kubernetes/dcaemod/components/dcaemod-onboarding-api/values.yaml index c36e9b7129..2aefedbc86 100644 --- a/kubernetes/dcaemod/components/dcaemod-onboarding-api/values.yaml +++ b/kubernetes/dcaemod/components/dcaemod-onboarding-api/values.yaml @@ -92,7 +92,7 @@ postgres: 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 1f777137a7..09159dda96 100644 --- a/kubernetes/dcaemod/components/dcaemod-runtime-api/requirements.yaml +++ b/kubernetes/dcaemod/components/dcaemod-runtime-api/requirements.yaml @@ -26,3 +26,6 @@ dependencies: - 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 0000000000..8c964ecd02 --- /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 0000000000..4496ee5d9c --- /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 0000000000..866a9ad672 --- /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 0000000000..bef31a7a3a --- /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 0000000000..6ee9297869 --- /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 0000000000..f024c64864 --- /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 0000000000..139e3d308f --- /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 0000000000..7d90f5812c --- /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 d5c37e9858..39044465dc 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 @@ spec: 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 @@ spec: 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 e54608b30e..e7d3fa2fa2 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 @@ config: useDmaapPlugin: false bpResourcesCpuLimit: 250m bpResourcesMemoryLimit: 128Mi + artifactType: "HELM" + registryBaseurl: http://chart-museum:80 + basehelmchartlocation: /helm-gen/ + secrets: - uid: "dashsecret" @@ -47,6 +51,18 @@ secrets: 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 @@ readiness: 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 @@ serviceAccount: nameOverride: dcaemod-runtime-api roles: - read - -- cgit 1.2.3-korg