[DCAE-HV-VES] Move to use strimzi kafka tpl
Move hv-ves to use strimzi kakfa tpl
Topic naming is invalid so adding overrides to tpl
Signed-off-by: efiacor <fiachra.corcoran@est.tech>
Change-Id: Ied93c6329f51c3219b09b4f67f174c9e15727188
Issue-ID: DMAAP-1854
diff --git a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/hv-ves-kafka-user.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/hv-ves-kafka-user.yaml
deleted file mode 100644
index ff977aa..0000000
--- a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/hv-ves-kafka-user.yaml
+++ /dev/null
@@ -1,47 +0,0 @@
-{{/*
-# Copyright © 2022 Nordix Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-*/}}
-apiVersion: kafka.strimzi.io/v1beta2
-kind: KafkaUser
-metadata:
- name: {{ include "common.release" . }}-{{ .Values.hvVesKafkaUser }}
- labels:
- strimzi.io/cluster: {{ include "common.release" . }}-strimzi
-spec:
- authentication:
- type: scram-sha-512
- authorization:
- type: simple
- acls:
- - resource:
- type: topic
- name: {{ index .Values "applicationConfig" "streams_publishes" "ves-3gpp-fault-supervision" "kafka_info" "topic_name" }}
- operation: Write
- - resource:
- type: topic
- name: {{ index .Values "applicationConfig" "streams_publishes" "ves-3gpp-provisioning" "kafka_info" "topic_name" }}
- operation: Write
- - resource:
- type: topic
- name: {{ index .Values "applicationConfig" "streams_publishes" "ves-3gpp-heartbeat" "kafka_info" "topic_name" }}
- operation: Write
- - resource:
- type: topic
- name: {{ index .Values "applicationConfig" "streams_publishes" "ves-3gpp-performance-assurance" "kafka_info" "topic_name" }}
- operation: Write
- - resource:
- type: topic
- name: {{ .Values.applicationConfig.streams_publishes.perf3gpp.kafka_info.topic_name }}
- operation: Write
diff --git a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/hv-ves-topics.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/hv-ves-topics.yaml
deleted file mode 100644
index e407758..0000000
--- a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/hv-ves-topics.yaml
+++ /dev/null
@@ -1,79 +0,0 @@
-{{/*
-# Copyright © 2022 Nordix Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-*/}}
-apiVersion: kafka.strimzi.io/v1beta2
-kind: KafkaTopic
-metadata:
- name: ves-3gpp-fault-supervision
- labels:
- strimzi.io/cluster: {{ include "common.release" . }}-strimzi
-spec:
- topicName: {{ index .Values "applicationConfig" "streams_publishes" "ves-3gpp-fault-supervision" "kafka_info" "topic_name" }}
- partitions: 10
- config:
- retention.ms: 7200000
- segment.bytes: 1073741824
----
-apiVersion: kafka.strimzi.io/v1beta2
-kind: KafkaTopic
-metadata:
- name: ves-3gpp-provisioning
- labels:
- strimzi.io/cluster: {{ include "common.release" . }}-strimzi
-spec:
- topicName: {{ index .Values "applicationConfig" "streams_publishes" "ves-3gpp-provisioning" "kafka_info" "topic_name" }}
- partitions: 10
- config:
- retention.ms: 7200000
- segment.bytes: 1073741824
----
-apiVersion: kafka.strimzi.io/v1beta2
-kind: KafkaTopic
-metadata:
- name: ves-3gpp-heartbeat
- labels:
- strimzi.io/cluster: {{ include "common.release" . }}-strimzi
-spec:
- topicName: {{ index .Values "applicationConfig" "streams_publishes" "ves-3gpp-heartbeat" "kafka_info" "topic_name" }}
- partitions: 10
- config:
- retention.ms: 7200000
- segment.bytes: 1073741824
----
-apiVersion: kafka.strimzi.io/v1beta2
-kind: KafkaTopic
-metadata:
- name: ves-3gpp-performance-assurance
- labels:
- strimzi.io/cluster: {{ include "common.release" . }}-strimzi
-spec:
- topicName: {{ index .Values "applicationConfig" "streams_publishes" "ves-3gpp-performance-assurance" "kafka_info" "topic_name" }}
- partitions: 10
- config:
- retention.ms: 7200000
- segment.bytes: 1073741824
----
-apiVersion: kafka.strimzi.io/v1beta2
-kind: KafkaTopic
-metadata:
- name: perf3gpp
- labels:
- strimzi.io/cluster: {{ include "common.release" . }}-strimzi
-spec:
- topicName: {{ .Values.applicationConfig.streams_publishes.perf3gpp.kafka_info.topic_name }}
- partitions: 10
- config:
- retention.ms: 7200000
- segment.bytes: 1073741824
diff --git a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/kafkatopic.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/kafkatopic.yaml
new file mode 100644
index 0000000..d1d21a6
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/kafkatopic.yaml
@@ -0,0 +1,16 @@
+{{/*
+# Copyright © 2023 Nordix Foundation
+#
+# 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.kafkatopic" . }}
diff --git a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/kafkauser.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/kafkauser.yaml
new file mode 100644
index 0000000..6fc37c3
--- /dev/null
+++ b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/kafkauser.yaml
@@ -0,0 +1,16 @@
+{{/*
+# Copyright © 2023 Nordix Foundation
+#
+# 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.kafkauser" . }}
diff --git a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/values.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/values.yaml
index 351998a..482d88e 100644
--- a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/values.yaml
+++ b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/values.yaml
@@ -2,7 +2,7 @@
# ================================================================================
# Copyright (c) 2021-2022 J. F. Lucas. All rights reserved.
# Copyright (c) 2021-2022 Nokia. All rights reserved.
-# Copyright © 2022 Nordix Foundation
+# Modifications Copyright (C) 2022-2023 Nordix Foundation.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -45,6 +45,9 @@
image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.11.0
pullPolicy: Always
+commonName: &commonName dcae-hv-ves-collector
+containerPort: &containerPort 6061
+
# log directory where logging sidecar should look for log files
# if path is set to null sidecar won't be deployed in spite of
# global.centralizedLoggingEnabled setting.
@@ -61,17 +64,6 @@
# and key from AAF and mount them in certDirectory.
tlsServer: false
-secrets:
- - uid: hv-ves-kafka-secret
- externalSecret: '{{ tpl (default "" .Values.config.jaasConfExternalSecret) . }}'
- type: genericKV
- envs:
- - name: sasl.jaas.config
- value: '{{ .Values.config.someConfig }}'
- policy: generate
-config:
- someConfig: blah
-
# CMPv2 certificate
# It is used only when:
# - certDirectory is set
@@ -81,9 +73,9 @@
useCmpv2Certificates: false
certificates:
- mountPath: /etc/ves-hv/ssl/external
- commonName: dcae-hv-ves-collector
+ commonName: *commonName
dnsNames:
- - dcae-hv-ves-collector
+ - *commonName
- hv-ves-collector
- hv-ves
keystore:
@@ -106,16 +98,16 @@
# since there are problems receiving binary data via the sidecar
# the service port is excluded in the sidecar processing
podAnnotations:
- traffic.sidecar.istio.io/excludeInboundPorts: "6061"
+ traffic.sidecar.istio.io/excludeInboundPorts: '6061'
traffic.sidecar.istio.io/includeInboundPorts: '*'
# service configuration
service:
type: NodePort
- name: dcae-hv-ves-collector
+ name: *commonName
ports:
- name: tcp
- port: 6061
+ port: *containerPort
port_protocol: tcp
app_protocol: tcp
nodePort: 22
@@ -124,19 +116,16 @@
enabled: false
service:
- baseaddr: "dcae-hv-ves-collector-api"
- name: "dcae-hv-ves-collector"
- port: 6061
+ name: *commonName
+ port: *containerPort
config:
ssl: "redirect"
-#strimzi kafka config
-hvVesKafkaUser: dcae-hv-ves-kafka-user
-
# initial application configuration
applicationConfig:
logLevel: INFO
server.idleTimeoutSec: 300
- server.listenPort: 6061
+ server.listenPort: *containerPort
cbs.requestIntervalSec: 5
security.sslDisable: true
security.keys.keyStoreFile: /etc/ves-hv/ssl/cert.jks
@@ -145,40 +134,70 @@
security.keys.trustStorePasswordFile: /etc/ves-hv/ssl/trust.pass
streams_publishes:
ves-3gpp-fault-supervision:
- type: kafka
+ type: ${MESSAGING_TYPE}
kafka_info:
bootstrap_servers: ${KAFKA_BOOTSTRAP_SERVERS}
- topic_name: SEC_3GPP_FAULTSUPERVISION_OUTPUT
+ topic_name: &ves3gppFaultSupervision SEC_3GPP_FAULTSUPERVISION_OUTPUT
ves-3gpp-provisioning:
- type: kafka
+ type: ${MESSAGING_TYPE}
kafka_info:
bootstrap_servers: ${KAFKA_BOOTSTRAP_SERVERS}
- topic_name: SEC_3GPP_PROVISIONING_OUTPUT
+ topic_name: &ves3gppProvisioning SEC_3GPP_PROVISIONING_OUTPUT
ves-3gpp-heartbeat:
- type: kafka
+ type: ${MESSAGING_TYPE}
kafka_info:
bootstrap_servers: ${KAFKA_BOOTSTRAP_SERVERS}
- topic_name: SEC_3GPP_HEARTBEAT_OUTPUT
+ topic_name: &ves3gppHeartbeat SEC_3GPP_HEARTBEAT_OUTPUT
ves-3gpp-performance-assurance:
- type: kafka
+ type: ${MESSAGING_TYPE}
kafka_info:
bootstrap_servers: ${KAFKA_BOOTSTRAP_SERVERS}
- topic_name: SEC_3GPP_PERFORMANCEASSURANCE_OUTPUT
+ topic_name: &ves3gppPerformanceAssurance SEC_3GPP_PERFORMANCEASSURANCE_OUTPUT
perf3gpp:
- type: kafka
+ type: ${MESSAGING_TYPE}
kafka_info:
bootstrap_servers: ${KAFKA_BOOTSTRAP_SERVERS}
- topic_name: HV_VES_PERF3GPP
+ topic_name: &perf3gpp HV_VES_PERF3GPP
+
+# Strimzi Kafka config
+kafkaUser:
+ acls:
+ - name: SEC_3GPP
+ type: topic
+ patternType: prefix
+ operations: [Write, DescribeConfigs]
+ - name: *perf3gpp
+ type: topic
+ operations: [Write, DescribeConfigs]
+
+kafkaTopic:
+ - name: *ves3gppFaultSupervision
+ strimziTopicName: dcae-ves-3gpp-fault-supervision
+ # the default retention values below can be updated
+ # to meet use case requirements for each topic.
+ retentionMs: 7200000
+ segmentBytes: 1073741824
+ - name: *ves3gppProvisioning
+ strimziTopicName: dcae-ves-3gpp-provisioning
+ - name: *ves3gppHeartbeat
+ strimziTopicName: dcae-ves-3gpp-heartbeat
+ - name: *ves3gppPerformanceAssurance
+ strimziTopicName: dcae-ves-3gpp-performance-assurance
+ - name: *perf3gpp
+ strimziTopicName: dcae-ves-3gpp-perf
+
applicationEnv:
JAVA_OPTS: '-Dlogback.configurationFile=/etc/ONAP/dcae-hv-ves-collector/logback.xml'
CBS_CLIENT_CONFIG_PATH: '/app-config-input/application_config.yaml'
#Temporary Dummy CBS Port Value until internal SDK library is updated
CONFIG_BINDING_SERVICE_SERVICE_PORT: '0000'
+ MESSAGING_TYPE: 'kafka'
KAFKA_BOOTSTRAP_SERVERS: '{{ include "common.release" . }}-strimzi-kafka-bootstrap:9092'
USE_SCRAM: 'true'
JAAS_CONFIG:
- secretUid: hv-ves-kafka-secret
+ externalSecret: true
+ externalSecretUid: '{{ include "common.name" . }}-ku'
key: sasl.jaas.config
# Resource Limit flavor -By Default using small
@@ -203,6 +222,6 @@
#Pods Service Account
serviceAccount:
- nameOverride: dcae-hv-ves-collector
+ nameOverride: *commonName
roles:
- read