# -*- indent-tabs-mode: nil -*- # vi: set expandtab: # # ============LICENSE_START==================================================== # ============================================================================= # Copyright (c) 2018-2021 AT&T Intellectual Property. All rights reserved. # Copyright (c) 2020 Nokia. 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: ves_other_publish_url: type: string default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_OTHER_OUTPUT" ves_heartbeat_publish_url: type: string default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_HEARTBEAT_OUTPUT" ves_fault_publish_url: type: string default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_FAULT_OUTPUT" ves_measurement_publish_url: type: string default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT" ves_notification_publish_url: type: string default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT" ves_pnfRegistration_publish_url: type: string default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT" ves_3gpp_fault_supervision_publish_url: type: string default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_FAULTSUPERVISION_OUTPUT" ves_3gpp_provisioning_publish_url: type: string default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_PROVISIONING_OUTPUT" ves_3gpp_hearbeat_publish_url: type: string default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_HEARTBEAT_OUTPUT" ves_3gpp_performance_assurance_publish_url: type: string default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.SEC_3GPP_PERFORMANCEASSURANCE_OUTPUT" tag_version: type: string default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.10.1" internal_port: type: string description: Kubernetes node port on which collector is exposed default: "8080" external_port: type: string description: Kubernetes node port on which collector is exposed default: "30235" internal_port_tls: type: string description: Kubernetes node port on which collector is exposed default: "8443" external_port_tls: type: string description: Kubernetes node port on which collector is exposed default: "30417" auth_method: type: string default: "noAuth" service_component_type: type: string default: "dcae-ves-collector" service_id: type: string default: "dcae-ves-collector" service_component_name_override: type: string default: "dcae-ves-collector" enable_tls: type: boolean default: false 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-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-ves-collector,ves-collector,ves" external_cert_use_external_tls: type: boolean description: Flag to indicate external tls enable/disable. default: false replicas: type: integer description: number of instances default: 1 user_list: type: string description: List of user,password separated by pipe; pwd should be generated by using crypt-password tool (https://nexus.onap.org/#nexus-search;quick~crypt-password) default: "sample1,$2a$10$0buh.2WeYwN868YMwnNNEuNEAMNYVU9.FSMJGyIKV3dGET/7oGOi6|demouser,$2a$10$1cc.COcqV/d3iT2N7BjPG.S6ZKv2jpb9a5MV.o7lMih/GpjJRX.Ce" collector_externalSchema_checkflag: type: integer default: 1 collector_externalSchema_schemasLocation: type: string default: "./etc/externalRepo/" collector_externalSchema_mappingFileLocation: type: string default: "./etc/externalRepo/schema-map.json" node_templates: ves: interfaces: cloudify.interfaces.lifecycle: start: inputs: ports: - concat: [{get_input: internal_port},":",{get_input: external_port}] - concat: [{get_input: internal_port_tls},":",{get_input: external_port_tls}] properties: application_config: 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.1_ONAP.json\"}" collector.externalSchema.checkflag: get_input: collector_externalSchema_checkflag collector.externalSchema.schemasLocation: get_input: collector_externalSchema_schemasLocation collector.externalSchema.mappingFileLocation: get_input: collector_externalSchema_mappingFileLocation 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: get_input: auth_method header.authlist: get_input: user_list services_calls: [] streams_publishes: ves-fault: dmaap_info: topic_url: get_input: ves_fault_publish_url type: message_router ves-measurement: dmaap_info: topic_url: get_input: ves_measurement_publish_url type: message_router ves-notification: dmaap_info: topic_url: get_input: ves_notification_publish_url type: message_router ves-pnfRegistration: dmaap_info: topic_url: get_input: ves_pnfRegistration_publish_url type: message_router ves-heartbeat: dmaap_info: topic_url: get_input: ves_heartbeat_publish_url type: message_router ves-other: dmaap_info: topic_url: get_input: ves_other_publish_url type: message_router ves-3gpp-fault-supervision: dmaap_info: topic_url: get_input: ves_3gpp_fault_supervision_publish_url type: message_router ves-3gpp-provisioning: dmaap_info: topic_url: get_input: ves_3gpp_provisioning_publish_url type: message_router ves-3gpp-heartbeat: dmaap_info: topic_url: get_input: ves_3gpp_hearbeat_publish_url type: message_router ves-3gpp-performance-assurance: dmaap_info: topic_url: get_input: ves_3gpp_performance_assurance_publish_url type: message_router collector.dynamic.config.update.frequency: "5" docker_config: healthcheck: endpoint: /healthcheck interval: 15s timeout: 1s type: http 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: "/opt/app/VESCollector/logs" tls_info: cert_directory: '/opt/app/dcae-certificate/' use_tls: get_input: enable_tls external_cert: external_cert_directory: '/opt/app/dcae-certificate/' 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