# -*- indent-tabs-mode: nil -*- # vi: set expandtab:
#
# ============LICENSE_START====================================================
# =============================================================================
# Copyright (c) 2018-2020 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.2

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.7.6"
  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"
  component_name:
    type: string
    default: "dcae-ves-collector"
  dns_component_name:
    type: string
    default: "dcae-ves-collector"
  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_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
