# -*- indent-tabs-mode: nil -*- # vi: set expandtab: # # ============LICENSE_START======================================================== # ================================================================================= # Copyright (C) 2018-2019 NOKIA # Modifications Copyright (c) 2020-2021 AT&T Intellectual Property. All Rights Reserved # ================================================================================= # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ============LICENSE_END========================================================== tosca_definitions_version: cloudify_dsl_1_3 imports: - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - plugin:k8splugin?version=>=3.4.3,<4.0.0 inputs: tag_version: type: string default: 'nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.9.1' service_component_type: type: string default: 'dcae-hv-ves-collector' service_id: type: string default: "dcae-hv-ves-collector" replicas: type: integer description: number of instances default: 1 host_port: type: integer description: Network port that the platform service is expecting to expose on the host default: 30222 container_port: type: integer description: Network port that the platform service exposes in the container default: 6061 kafka_bootstrap_servers: type: string default: 'message-router-kafka:9092' kafka_username: type: string default: 'admin' kafka_password: type: string default: 'admin_secret' perf3gpp_kafka_topic: type: string default: 'HV_VES_PERF3GPP' log_level: type: string default: 'INFO' server_idle_timeout_sec: type: integer default: 300 cbs_request_interval_sec: type: integer default: 5 security_ssl_disable: type: boolean default: false security_keys_key_store_file: type: string default: '/etc/ves-hv/ssl/cert.jks' security_keys_key_store_password_file: type: string default: '/etc/ves-hv/ssl/jks.pass' security_keys_trust_store_file: type: string default: '/etc/ves-hv/ssl/trust.jks' security_keys_trust_store_password_file: type: string default: '/etc/ves-hv/ssl/trust.pass' use_tls: type: boolean default: true service_component_name_override: type: string default: "dcae-hv-ves-collector" external_cert_cert_type: type: string description: Output type default: "JKS" external_cert_ca_name: type: string description: Name of Certificate Authority configured on CertService side. default: "RA" external_cert_common_name: type: string description: Common name which should be present in certificate. default: "dcae-hv-ves-collector" external_cert_sans: type: string description: "List of Subject Alternative Names (SANs) which should be present in certificate. Delimiter - , Should contain common_name value and other FQDNs under which given component is accessible." default: "dcae-hv-ves-collector,hv-ves-collector,hv-ves" external_cert_use_external_tls: type: boolean description: Flag to indicate external tls enable/disable. default: false node_templates: hv-ves: interfaces: cloudify.interfaces.lifecycle: start: inputs: envs: JAVA_OPTS: { concat: [ '-Dlogback.configurationFile=/etc/ONAP/', { get_input: service_component_type }, '/logback.xml' ] } properties: application_config: logLevel: { get_input: log_level } server.idleTimeoutSec: { get_input: server_idle_timeout_sec } server.listenPort: { get_input: container_port } cbs.requestIntervalSec: { get_input: cbs_request_interval_sec} security.sslDisable: { get_input: security_ssl_disable } security.keys.keyStoreFile: { get_input: security_keys_key_store_file } security.keys.keyStorePasswordFile: { get_input: security_keys_key_store_password_file } security.keys.trustStoreFile: { get_input: security_keys_trust_store_file } security.keys.trustStorePasswordFile: { get_input: security_keys_trust_store_password_file } streams_publishes: perf3gpp: type: kafka aaf_credentials: username: { get_input: kafka_username } password: { get_input: kafka_password } kafka_info: bootstrap_servers: { get_input: kafka_bootstrap_servers } topic_name: { get_input: perf3gpp_kafka_topic } docker_config: healthcheck: type: script script: "/opt/ves-hv-collector/healthcheck.sh" interval: 15s timeout: 2s ports: - { concat: [ { get_input: container_port }, ':', { get_input: host_port } ] } image: { get_input: tag_version } replicas: { get_input: replicas } service_component_type: { get_input: service_component_type } service_id: { get_input: service_id } service_component_name_override: { get_input: service_component_name_override } log_info: log_directory: { concat: [ '/var/log/ONAP/', { get_input: service_component_type } ] } tls_info: cert_directory: '/etc/ves-hv/ssl' use_tls: { get_input: use_tls } external_cert: external_cert_directory: '/etc/ves-hv/ssl' use_external_tls: get_input: external_cert_use_external_tls cert_type: get_input: external_cert_cert_type ca_name: get_input: external_cert_ca_name external_certificate_parameters: common_name: get_input: external_cert_common_name sans: get_input: external_cert_sans type: dcae.nodes.ContainerizedServiceComponent