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 --- kubernetes/dcaegen2-services/components/Makefile | 51 ++++++ .../components/dcae-hv-ves-collector/Chart.yaml | 22 +++ .../dcae-hv-ves-collector/requirements.yaml | 27 ++++ .../dcae-hv-ves-collector/templates/configmap.yaml | 20 +++ .../templates/deployment.yaml | 20 +++ .../dcae-hv-ves-collector/templates/secret.yaml | 17 ++ .../dcae-hv-ves-collector/templates/service.yaml | 20 +++ .../components/dcae-hv-ves-collector/values.yaml | 144 +++++++++++++++++ .../components/dcae-ms-healthcheck/Chart.yaml | 24 +++ .../dcae-ms-healthcheck/requirements.yaml | 25 +++ .../dcae-ms-healthcheck/templates/deployment.yaml | 67 ++++++++ .../dcae-ms-healthcheck/templates/service.yaml | 20 +++ .../components/dcae-ms-healthcheck/values.yaml | 67 ++++++++ .../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 ++++++++++++++++++++ .../components/dcae-tcagen2/Chart.yaml | 22 +++ .../components/dcae-tcagen2/requirements.yaml | 27 ++++ .../dcae-tcagen2/templates/configmap.yaml | 20 +++ .../dcae-tcagen2/templates/deployment.yaml | 19 +++ .../components/dcae-tcagen2/templates/secret.yaml | 17 ++ .../components/dcae-tcagen2/templates/service.yaml | 20 +++ .../components/dcae-tcagen2/values.yaml | 152 ++++++++++++++++++ .../components/dcae-ves-collector/Chart.yaml | 22 +++ .../dcae-ves-collector/requirements.yaml | 27 ++++ .../dcae-ves-collector/templates/configmap.yaml | 20 +++ .../dcae-ves-collector/templates/deployment.yaml | 19 +++ .../dcae-ves-collector/templates/service.yaml | 20 +++ .../components/dcae-ves-collector/values.yaml | 174 +++++++++++++++++++++ 33 files changed, 1375 insertions(+) create mode 100644 kubernetes/dcaegen2-services/components/Makefile create mode 100644 kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/Chart.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/requirements.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/configmap.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/deployment.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/secret.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/service.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/values.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/Chart.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/requirements.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/templates/deployment.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/templates/service.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/values.yaml 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 create mode 100644 kubernetes/dcaegen2-services/components/dcae-tcagen2/Chart.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-tcagen2/requirements.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-tcagen2/templates/configmap.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-tcagen2/templates/deployment.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-tcagen2/templates/secret.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-tcagen2/templates/service.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-tcagen2/values.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-ves-collector/Chart.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-ves-collector/requirements.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-ves-collector/templates/configmap.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-ves-collector/templates/deployment.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-ves-collector/templates/service.yaml create mode 100644 kubernetes/dcaegen2-services/components/dcae-ves-collector/values.yaml (limited to 'kubernetes/dcaegen2-services/components') diff --git a/kubernetes/dcaegen2-services/components/Makefile b/kubernetes/dcaegen2-services/components/Makefile new file mode 100644 index 0000000000..bf267b7720 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/Makefile @@ -0,0 +1,51 @@ +# Copyright © 2020 Samsung Electronics +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) +OUTPUT_DIR := $(ROOT_DIR)/../../dist +PACKAGE_DIR := $(OUTPUT_DIR)/packages +SECRET_DIR := $(OUTPUT_DIR)/secrets + +EXCLUDES := +HELM_BIN := helm +HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.)))) + +.PHONY: $(EXCLUDES) $(HELM_CHARTS) + +all: $(HELM_CHARTS) + +$(HELM_CHARTS): + @echo "\n[$@]" + @make package-$@ + +make-%: + @if [ -f $*/Makefile ]; then make -C $*; fi + +dep-%: make-% + @if [ -f $*/requirements.yaml ]; then $(HELM_BIN) dep up $*; fi + +lint-%: dep-% + @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) lint $*; fi + +package-%: lint-% + @mkdir -p $(PACKAGE_DIR) + @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi + @$(HELM_BIN) repo index $(PACKAGE_DIR) + +clean: + @rm -f */requirements.lock + @rm -f *tgz */charts/*tgz + @rm -rf $(PACKAGE_DIR) +%: + @: diff --git a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/Chart.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/Chart.yaml new file mode 100644 index 0000000000..24eb2c37d2 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/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 HV VES collector +name: dcae-hv-ves-collector +version: 7.0.0 diff --git a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/requirements.yaml new file mode 100644 index 0000000000..e7601cee67 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/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-hv-ves-collector/templates/configmap.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/configmap.yaml new file mode 100644 index 0000000000..a7d0acd017 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/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-hv-ves-collector/templates/deployment.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/deployment.yaml new file mode 100644 index 0000000000..29293c79a8 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/deployment.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.microserviceDeployment" . }} \ No newline at end of file diff --git a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/secret.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/secret.yaml new file mode 100644 index 0000000000..34932b713d --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/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-hv-ves-collector/templates/service.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/service.yaml new file mode 100644 index 0000000000..c3b0715cd6 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/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-hv-ves-collector/values.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/values.yaml new file mode 100644 index 0000000000..19144b4ea5 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/values.yaml @@ -0,0 +1,144 @@ +#============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.collectors.hv-ves.hv-collector-main:1.6.0 +pullPolicy: Always + +# log directory where logging sidecar should look for log files +# if absent, no sidecar will be deployed +logDirectory: /var/log/ONAP/dcae-hv-ves-collector + +# directory where TLS certs should be stored +# if absent, no certs will be retrieved and stored +certDirectory: /etc/ves-hv/ssl + +# 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: &aafCredsUID aafcreds + type: basicAuth + login: '{{ .Values.aafCreds.user }}' + password: '{{ .Values.aafCreds.password }}' + passwordPolicy: required + +# dependencies +readinessCheck: + wait_for: + - dcae-config-binding-service + - aaf-cm + +# probe configuration +readiness: + type: exec + initialDelaySeconds: 5 + periodSeconds: 15 + timeoutSeconds: 2 + command: + - /opt/ves-hv-collector/healthcheck.sh + +# service configuration +service: + type: NodePort + name: dcae-hv-ves-collector + ports: + - name: http + port: 6061 + port_protocol: http + nodePort: 22 + +aafCreds: + user: admin + password: admin_secret + +credentials: +- name: AAF_USER + uid: *aafCredsUID + key: login +- name: AAF_PASSWORD + uid: *aafCredsUID + key: password + +# initial application configuration +applicationConfig: + logLevel: INFO + server.idleTimeoutSec: 300 + server.listenPort: 6061 + cbs.requestIntervalSec: 5 + security.sslDisable: false + security.keys.keyStoreFile: /etc/ves-hv/ssl/cert.jks + security.keys.keyStorePasswordFile: /etc/ves-hv/ssl/jks.pass + security.keys.trustStoreFile: /etc/ves-hv/ssl/trust.jks + security.keys.trustStorePasswordFile: /etc/ves-hv/ssl/trust.pass + streams_publishes: + perf3gpp: + type: kafka + aaf_credentials: + username: ${AAF_USER} + password: ${AAF_PASSWORD} + kafka_info: + bootstrap_servers: message-router-kafka:9092 + topic_name: HV_VES_PERF3GPP + +applicationEnv: + JAVA_OPTS: '-Dlogback.configurationFile=/etc/ONAP/dcae-hv-ves-collector/logback.xml' + +# 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: {} diff --git a/kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/Chart.yaml b/kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/Chart.yaml new file mode 100644 index 0000000000..d887ffebf1 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/Chart.yaml @@ -0,0 +1,24 @@ +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. +# Modifications Copyright © 2018 Amdocs, Bell Canada +# 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: ONAP DCAE Microservice Health Check +name: dcae-ms-healthcheck +version: 7.0.0 diff --git a/kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/requirements.yaml new file mode 100644 index 0000000000..aadca0d9bf --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/requirements.yaml @@ -0,0 +1,25 @@ +#============LICENSE_START======================================================== +#================================================================================= +# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. +# Modifications Copyright © 2018 Amdocs, Bell Canada +# ================================================================================ +# 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========================================================= + +dependencies: + - name: common + version: ~7.x-0 + repository: '@local' + - name: repositoryGenerator + version: ~7.x-0 + repository: '@local' diff --git a/kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/templates/deployment.yaml b/kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/templates/deployment.yaml new file mode 100644 index 0000000000..2b3ab328b5 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/templates/deployment.yaml @@ -0,0 +1,67 @@ +{{/* +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved. +# Modifications Copyright © 2018 Amdocs, Bell Canada +# ================================================================================ +# 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: apps/v1 +kind: Deployment +metadata: {{- include "common.resourceMetadata" . | nindent 2 }} +spec: + replicas: 1 + selector: {{- include "common.selectors" . | nindent 4 }} + template: + metadata: {{- include "common.templateMetadata" . | nindent 6 }} + spec: + containers: + - name: {{ include "common.name" . }} + image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }} + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + resources: +{{ include "common.resources" . | indent 12 }} + ports: {{ include "common.containerPorts" . | nindent 12 }} + # disable liveness probe when breakpoints set in debugger + # so K8s doesn't restart unresponsive container + {{- if eq .Values.liveness.enabled true }} + livenessProbe: + tcpSocket: + port: {{ include "common.getPort" (dict "global" . "name" "http") }} + initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }} + periodSeconds: {{ .Values.liveness.periodSeconds }} + {{ end -}} + readinessProbe: + tcpSocket: + port: {{ include "common.getPort" (dict "global" . "name" "http") }} + initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} + periodSeconds: {{ .Values.readiness.periodSeconds }} + volumeMounts: + - mountPath: /opt/app/expected-components.json + subPath: expected-components.json + name: {{ include "common.fullname" .}}-expected-components + env: + - name: DCAE_NAMESPACE + value: {{ include "common.namespace" . }} + - name: ONAP_NAMESPACE + value: {{ include "common.namespace" . }} + - name: HELM_RELEASE + value: {{ include "common.release" . }} + volumes: + - name: {{ include "common.fullname" . }}-expected-components + configMap: + name: {{ include "common.release" . }}-dcae-expected-microservices + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/templates/service.yaml b/kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/templates/service.yaml new file mode 100644 index 0000000000..c3b0715cd6 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/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-ms-healthcheck/values.yaml b/kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/values.yaml new file mode 100644 index 0000000000..75353254e8 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-ms-healthcheck/values.yaml @@ -0,0 +1,67 @@ +#============LICENSE_START======================================================== +#================================================================================= +# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. +# Modifications Copyright © 2018 Amdocs, Bell Canada +# Modifications Copyright © 2020 Nokia +# 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 + +service: + type: ClusterIP + name: dcae-ms-healthcheck + ports: + - port: 8080 + name: http + +# probe configuration parameters +liveness: + initialDelaySeconds: 10 + periodSeconds: 10 + # necessary to disable liveness probe when setting breakpoints + # in debugger so K8s doesn't restart unresponsive container + enabled: true + +readiness: + initialDelaySeconds: 10 + periodSeconds: 10 +# application image +image: onap/org.onap.dcaegen2.deployments.healthcheck-container:2.1.0 + +# 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: {} + 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: {} diff --git a/kubernetes/dcaegen2-services/components/dcae-tcagen2/Chart.yaml b/kubernetes/dcaegen2-services/components/dcae-tcagen2/Chart.yaml new file mode 100644 index 0000000000..3ccec92041 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-tcagen2/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 TCA (Gen 2) +name: dcae-tcagen2 +version: 7.0.0 diff --git a/kubernetes/dcaegen2-services/components/dcae-tcagen2/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-tcagen2/requirements.yaml new file mode 100644 index 0000000000..6f98a22614 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-tcagen2/requirements.yaml @@ -0,0 +1,27 @@ +# Copyright (c) 2020 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-tcagen2/templates/configmap.yaml b/kubernetes/dcaegen2-services/components/dcae-tcagen2/templates/configmap.yaml new file mode 100644 index 0000000000..a7d0acd017 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-tcagen2/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-tcagen2/templates/deployment.yaml b/kubernetes/dcaegen2-services/components/dcae-tcagen2/templates/deployment.yaml new file mode 100644 index 0000000000..be56017250 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-tcagen2/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-tcagen2/templates/secret.yaml b/kubernetes/dcaegen2-services/components/dcae-tcagen2/templates/secret.yaml new file mode 100644 index 0000000000..34932b713d --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-tcagen2/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-tcagen2/templates/service.yaml b/kubernetes/dcaegen2-services/components/dcae-tcagen2/templates/service.yaml new file mode 100644 index 0000000000..c3b0715cd6 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-tcagen2/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-tcagen2/values.yaml b/kubernetes/dcaegen2-services/components/dcae-tcagen2/values.yaml new file mode 100644 index 0000000000..da6dc8f1fc --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-tcagen2/values.yaml @@ -0,0 +1,152 @@ +#============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.analytics.tca-gen2.dcae-analytics-tca-web:1.2.1 +pullPolicy: Always + +# log directory where logging sidecar should look for log files +# if absent, no sidecar will be deployed +logDirectory: /opt/logs/dcae-analytics-tca + +# directory where TLS certs should be stored +# if absent, no certs will be retrieved and stored +certDirectory: /etc/tca-gen2/ssl + +# 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: 10 + periodSeconds: 30 + path: /actuator/health + scheme: HTTP + port: 9091 + +# service configuration +service: + type: ClusterIP + name: dcae-tcagen2 + ports: + - port: 9091 + name: http + +aaiCreds: + user: DCAE + password: DCAE + +credentials: +- name: AAI_USERNAME + uid: *aaiCredsUID + key: login +- name: AAI_PASSWORD + uid: *aaiCredsUID + key: password + +# initial application configuration +applicationConfig: + service_calls: [] + streams_publishes: + tca_handle_out: + dmaap_info: + topic_url: http://message-router:3904/events/unauthenticated.DCAE_CL_OUTPUT + type: message_router + streams_subscribes: + tca_handle_in: + dmaap_info: + topic_url: http://message-router:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT + type: message_router + spring.data.mongodb.uri: mongodb://dcae-mongohost/dcae-tcagen2 + streams_subscribes.tca_handle_in.consumer_group: cg1 + streams_subscribes.tca_handle_in.consumer_ids[0]: c0 + streams_subscribes.tca_handle_in.consumer_ids[1]: c1 + streams_subscribes.tca_handle_in.message_limit: 50000 + streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000 + streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000 + streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000 + streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000 + streams_subscribes.tca_handle_in.polling.fixed_rate: 0 + streams_subscribes.tca_handle_in.timeout: -1 + tca.aai.enable_enrichment: true + tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf + tca.aai.node_query_path: aai/v11/search/nodes-query + tca.aai.password: ${AAI_PASSWORD} + tca.aai.url: http://aai + tca.aai.username: ${AAI_USERNAME} + tca.policy: '{"domain":"measurementsForVfScaling","metricsPerEventName":[{"eventName":"vFirewallBroadcastPackets","controlLoopSchemaType":"VM","policyScope":"DCAE","policyName":"DCAE.Config_tca-hi-lo","policyVersion":"v0.0.1","thresholds":[{"closedLoopControlName":"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta","thresholdValue":300,"direction":"LESS_OR_EQUAL","severity":"MAJOR","closedLoopEventStatus":"ONSET"},{"closedLoopControlName":"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta","thresholdValue":700,"direction":"GREATER_OR_EQUAL","severity":"CRITICAL","closedLoopEventStatus":"ONSET"}]},{"eventName":"vLoadBalancer","controlLoopSchemaType":"VM","policyScope":"DCAE","policyName":"DCAE.Config_tca-hi-lo","policyVersion":"v0.0.1","thresholds":[{"closedLoopControlName":"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta","thresholdValue":300,"direction":"GREATER_OR_EQUAL","severity":"CRITICAL","closedLoopEventStatus":"ONSET"}]},{"eventName":"Measurement_vGMUX","controlLoopSchemaType":"VNF","policyScope":"DCAE","policyName":"DCAE.Config_tca-hi-lo","policyVersion":"v0.0.1","thresholds":[{"closedLoopControlName":"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value","thresholdValue":0,"direction":"EQUAL","severity":"MAJOR","closedLoopEventStatus":"ABATED"},{"closedLoopControlName":"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value","thresholdValue":0,"direction":"GREATER","severity":"CRITICAL","closedLoopEventStatus":"ONSET"}]}]}' + tca.processing_batch_size: 10000 + tca.enable_abatement: true + tca.enable_ecomp_logging: true + +# 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: {} diff --git a/kubernetes/dcaegen2-services/components/dcae-ves-collector/Chart.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-collector/Chart.yaml new file mode 100644 index 0000000000..1ab6abd5d9 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-ves-collector/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 VES Collector +name: dcae-ves-collector +version: 7.0.0 diff --git a/kubernetes/dcaegen2-services/components/dcae-ves-collector/requirements.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-collector/requirements.yaml new file mode 100644 index 0000000000..e7601cee67 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-ves-collector/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-ves-collector/templates/configmap.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-collector/templates/configmap.yaml new file mode 100644 index 0000000000..a7d0acd017 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-ves-collector/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-ves-collector/templates/deployment.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-collector/templates/deployment.yaml new file mode 100644 index 0000000000..be56017250 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-ves-collector/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-ves-collector/templates/service.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-collector/templates/service.yaml new file mode 100644 index 0000000000..c3b0715cd6 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-ves-collector/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-ves-collector/values.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-collector/values.yaml new file mode 100644 index 0000000000..0c0fd86777 --- /dev/null +++ b/kubernetes/dcaegen2-services/components/dcae-ves-collector/values.yaml @@ -0,0 +1,174 @@ +#============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.collectors.ves.vescollector:1.8.0 +pullPolicy: Always + +# log directory where logging sidecar should look for log files +# if absent, no sidecar will be deployed +logDirectory: /opt/app/VESCollector/logs + +# directory where TLS certs should be stored +# if absent, no certs will be retrieved and stored +certDirectory: /opt/app/dcae-certificate + +# 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 + +# dependencies +readinessCheck: + wait_for: + - dcae-config-binding-service + - aaf-cm + +# probe configuration + initialDelaySeconds: 5 + periodSeconds: 15 + path: /healthcheck + scheme: HTTP + port: 8080 + +# service configuration +service: + type: NodePort + name: dcae-ves-collector + ports: + - name: http + port: 8443 + plain_port: 8080 + port_protocol: http + nodePort: 17 + useNodePortExt: true + +# initial application configuration +applicationConfig: + collector.dmaap.streamid: fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurement=ves-measurement|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance + collector.inputQueue.maxPending: "8096" + collector.keystore.file.location: /opt/app/dcae-certificate/cert.jks + collector.keystore.passwordfile: /opt/app/dcae-certificate/jks.pass + collector.truststore.file.location: /opt/app/dcae-certificate/trust.jks + collector.truststore.passwordfile: /opt/app/dcae-certificate/trust.pass + collector.schema.checkflag: "1" + collector.schema.file: "{\"v1\":\"./etc/CommonEventFormat_27.2.json\",\"v2\":\"./etc/CommonEventFormat_27.2.json\",\"v3\":\"./etc/CommonEventFormat_27.2.json\",\"v4\":\"./etc/CommonEventFormat_27.2.json\",\"v5\":\"./etc/CommonEventFormat_28.4.1.json\",\"v7\":\"./etc/CommonEventFormat_30.2_ONAP.json\"}" + collector.externalSchema.checkflag: 1 + collector.externalSchema.schemasLocation: "./etc/externalRepo/" + collector.externalSchema.mappingFileLocation: "./etc/externalRepo/schema-map.json" + event.externalSchema.schemaRefPath: $.event.stndDefinedFields.schemaReference + event.externalSchema.stndDefinedDataPath: $.event.stndDefinedFields.data + collector.service.port: "8080" + collector.service.secure.port: "8443" + event.transform.flag: "0" + auth.method: "certBasicAuth" + header.authlist: "sample1,$2a$10$0buh.2WeYwN868YMwnNNEuNEAMNYVU9.FSMJGyIKV3dGET/7oGOi6|demouser,$2a$10$1cc.COcqV/d3iT2N7BjPG.S6ZKv2jpb9a5MV.o7lMih/GpjJRX.Ce" + services_calls: [] + streams_publishes: + ves-fault: + dmaap_info: + topic_url: + "http://message-router:3904/events/unauthenticated.SEC_FAULT_OUTPUT" + type: message_router + ves-measurement: + dmaap_info: + topic_url: + "http://message-router:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT" + type: message_router + ves-notification: + dmaap_info: + topic_url: + "http://message-router:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT" + type: message_router + ves-pnfRegistration: + dmaap_info: + topic_url: + "http://message-router:3904/events/unauthenticated.VES_PNFREG_OUTPUT" + type: message_router + ves-heartbeat: + dmaap_info: + topic_url: + "http://message-router:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT" + type: message_router + ves-other: + dmaap_info: + topic_url: + "http://message-router:3904/events/unauthenticated.SEC_OTHER_OUTPUT" + type: message_router + ves-3gpp-fault-supervision: + dmaap_info: + topic_url: + "http://message-router:3904/events/unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT" + type: message_router + ves-3gpp-provisioning: + dmaap_info: + topic_url: + "http://message-router:3904/events/unauthenticated.SEC_3GPP_PROVISIONING_OUTPUT" + type: message_router + ves-3gpp-heartbeat: + dmaap_info: + topic_url: + "http://message-router:3904/events/unauthenticated.SEC_3GPP_HEARTBEAT_OUTPUT" + type: message_router + ves-3gpp-performance-assurance: + dmaap_info: + topic_url: + "http://message-router:3904/events/unauthenticated.SEC_3GPP_PERFORMANCEASSURANCE_OUTPUT" + type: message_router + collector.dynamic.config.update.frequency: "5" +# 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