From d41dbdb69fc20e6a0c2130b05aa201ff1ef6117a Mon Sep 17 00:00:00 2001 From: Jack Lucas Date: Tue, 16 Feb 2021 11:07:28 -0500 Subject: [DCAEGEN2] Deploy DCAE microservices via Helm Deploy DCAE microservices using Helm instead of having the DCAE bootstrap container deploy them using Cloudify. Charts for the microservices are found under oom/kubernetes/dcaegen2-services. Issue-ID: DCAEGEN2-2615 Issue-ID: DCAEGEN2-2617 Signed-off-by: Jack Lucas Change-Id: I22d88987ae8e21b3c08f31f13ffda98967d13297 [Use common secret template for secrets] Signed-off-by: Krzysztof Opasiak --- .../components/dcae-prh/Chart.yaml | 22 +++ .../components/dcae-prh/requirements.yaml | 27 ++++ .../components/dcae-prh/templates/configmap.yaml | 20 +++ .../components/dcae-prh/templates/deployment.yaml | 19 +++ .../components/dcae-prh/templates/secret.yaml | 17 +++ .../components/dcae-prh/templates/service.yaml | 20 +++ .../components/dcae-prh/values.yaml | 167 +++++++++++++++++++++ 7 files changed, 292 insertions(+) create mode 100644 kubernetes/dcaegen2-services/components/dcae-prh/Chart.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-prh/requirements.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-prh/templates/configmap.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-prh/templates/deployment.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-prh/templates/secret.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-prh/templates/service.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-prh/values.yaml (limited to 'kubernetes/dcaegen2-services/components/dcae-prh') diff --git a/kubernetes/dcaegen2-services/components/dcae-prh/Chart.yaml b/kubernetes/dcaegen2-services/components/dcae-prh/Chart.yaml new file mode 100644 index 0000000000..952cee6aea --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-prh/Chart.yaml @@ -0,0 +1,22 @@ +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2021 J. F. Lucas. 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 +appVersion: "Honolulu" +description: DCAE PRH +name: dcae-prh +version: 7.0.0 diff --git a/kubernetes/dcaegen2-services/components/dcae-prh/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-prh/requirements.yaml new file mode 100644 index 0000000000..e7601cee67 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-prh/requirements.yaml @@ -0,0 +1,27 @@ +# Copyright (c) 2021 J. F. Lucas. 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. + +dependencies: + - name: common + version: ~7.x-0 + repository: '@local' + - name: repositoryGenerator + version: ~7.x-0 + repository: '@local' + - name: readinessCheck + version: ~7.x-0 + repository: '@local' + - name: dcaegen2-services-common + version: ~7.x-0 + repository: 'file://../../common/dcaegen2-services-common' diff --git a/kubernetes/dcaegen2-services/components/dcae-prh/templates/configmap.yaml b/kubernetes/dcaegen2-services/components/dcae-prh/templates/configmap.yaml new file mode 100644 index 0000000000..a7d0acd017 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-prh/templates/configmap.yaml @@ -0,0 +1,20 @@ +{{/* +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2021 J. F. Lucas. 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========================================================= +*/}} + +{{ include "dcaegen2-services-common.configMap" . }} diff --git a/kubernetes/dcaegen2-services/components/dcae-prh/templates/deployment.yaml b/kubernetes/dcaegen2-services/components/dcae-prh/templates/deployment.yaml new file mode 100644 index 0000000000..be56017250 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-prh/templates/deployment.yaml @@ -0,0 +1,19 @@ +{{/* +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2021 J. F. Lucas. 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========================================================= +*/}} +{{ include "dcaegen2-services-common.microserviceDeployment" . }} \ No newline at end of file diff --git a/kubernetes/dcaegen2-services/components/dcae-prh/templates/secret.yaml b/kubernetes/dcaegen2-services/components/dcae-prh/templates/secret.yaml new file mode 100644 index 0000000000..34932b713d --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-prh/templates/secret.yaml @@ -0,0 +1,17 @@ +{{/* +# 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. +*/}} + +{{ include "common.secretFast" . }} diff --git a/kubernetes/dcaegen2-services/components/dcae-prh/templates/service.yaml b/kubernetes/dcaegen2-services/components/dcae-prh/templates/service.yaml new file mode 100644 index 0000000000..c3b0715cd6 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-prh/templates/service.yaml @@ -0,0 +1,20 @@ +{{/* +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2021 J. F. Lucas. 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========================================================= +*/}} + +{{ include "common.service" . }} diff --git a/kubernetes/dcaegen2-services/components/dcae-prh/values.yaml b/kubernetes/dcaegen2-services/components/dcae-prh/values.yaml new file mode 100644 index 0000000000..d1f3f2a84a --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-prh/values.yaml @@ -0,0 +1,167 @@ +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2021 J. F. Lucas. 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: onap/org.onap.dcaegen2.services.prh.prh-app-server:1.5.6 +pullPolicy: Always + +# log directory where logging sidecar should look for log files +# if absent, no sidecar will be deployed +logDirectory: /opt/app/prh/logs + +# directory where TLS certs should be stored +# if absent, no certs will be retrieved and stored +certDirectory: /opt/app/prh/etc/cert + +# 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: true + +secrets: + - uid: &aaiCredsUID aaicreds + type: basicAuth + login: '{{ .Values.aaiCreds.user }}' + password: '{{ .Values.aaiCreds.password }}' + passwordPolicy: required + +# dependencies +readinessCheck: + wait_for: + - dcae-config-binding-service + - aaf-cm + +# probe configuration +readiness: + initialDelaySeconds: 5 + periodSeconds: 15 + path: /heartbeat + scheme: HTTP + port: 8100 + +# service configuration +service: + type: ClusterIP + name: dcae-prh + ports: + - port: 8100 + name: http + +aaiCreds: + user: AAI + password: AAI + +credentials: +- name: AAI_USER + uid: *aaiCredsUID + key: login +- name: AAI_PASSWORD + uid: *aaiCredsUID + key: password + +customEnvVars: +- name: AUTH_HDR + value: "Basic `echo -n ${AAI_USER}:${AAI_PASSWORD} | base64`" + +# initial application configuration +applicationConfig: + dmaap.dmaapConsumerConfiguration.dmaapContentType: "application/json" + dmaap.dmaapConsumerConfiguration.consumerId: "c12" + dmaap.dmaapConsumerConfiguration.consumerGroup: "OpenDCAE-c12" + dmaap.dmaapConsumerConfiguration.timeoutMs: -1 + dmaap.dmaapProducerConfiguration.dmaapContentType: "application/json" + dmaap.dmaapUpdateProducerConfiguration.dmaapContentType: "application/json" + aai.aaiClientConfiguration.pnfUrl: https://aai.onap.svc.cluster.local:8443/aai/v12/network/pnfs/pnf + aai.aaiClientConfiguration.baseUrl: https://aai.onap.svc.cluster.local:8443/aai/v12 + aai.aaiClientConfiguration.aaiHost: aai.onap.svc.cluster.local + aai.aaiClientConfiguration.aaiHostPortNumber: 8443 + aai.aaiClientConfiguration.aaiProtocol: "https" + aai.aaiClientConfiguration.aaiUserName: ${AAI_USER} + aai.aaiClientConfiguration.aaiUserPassword: ${AAI_PASSWORD} + aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors: true + aai.aaiClientConfiguration.aaiBasePath: "/aai/v12" + aai.aaiClientConfiguration.aaiPnfPath: "/network/pnfs/pnf" + aai.aaiClientConfiguration.aaiServiceInstancePath: "/business/customers/customer/${customer}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${serviceInstanceId}" + aai.aaiClientConfiguration.aaiHeaders: + X-FromAppId: "prh" + X-TransactionId: "9999" + Accept: "application/json" + Real-Time: "true" + Authorization: $AUTH_HDR + security.trustStorePath: "/opt/app/prh/etc/cert/trust.jks" + security.trustStorePasswordPath: "/opt/app/prh/etc/cert/trust.pass" + security.keyStorePath: "/opt/app/prh/etc/cert/cert.jks" + security.keyStorePasswordPath: "/opt/app/prh/etc/cert/jks.pass" + security.enableAaiCertAuth: false + security.enableDmaapCertAuth: false + streams_publishes: + pnf-update: + type: "message_router" + dmaap_info: + topic_url: http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_UPDATE + pnf-ready: + type: "message_router" + dmaap_info: + topic_url: http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_READY + streams_subscribes: + ves-reg-output: + type: "message_router" + dmaap_info: + topic_url: http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT + +# 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: {} -- cgit 1.2.3-korg