blob: 79cf37152995e47db5242a95387bcba0fa717686 [file] [log] [blame]
#
# ============LICENSE_START=======================================================
# Copyright (C) 2019 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.
#
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================
#
tosca_definitions_version: cloudify_dsl_1_3
imports:
- 'http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'
- 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R5/k8splugin/1.6.0/k8splugin_types.yaml'
- 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/dmaap/dmaap.yaml'
inputs:
filter:
type: string
description: PM Mapper filter on measInfo, measInfoId, measType, instanceId
default: '{ "filters":[]}'
enable_http:
type: boolean
description: Option to turn on HTTP connections
default: false
tag_version:
type: string
description: Docker image to be used
default: 'nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:1.1.3'
replicas:
type: integer
description: Number of instances
default: 1
feed_name:
type: string
default: 'bulk_pm_feed'
topic_name:
type: string
default: 'PERFORMANCE_MEASUREMENTS'
client_role:
type: string
description: Client role to request secure access to topic
default: 'org.onap.dcae.pmPublisher'
client_id:
type: string
description: Client id for given AAF client
default: 'dcae@dcae.onap.org'
client_password:
type: string
description: Password for AAF client provided as client_id
dmaap_dr_username:
type: string
description: DMAAP Data Router user name
default: 'username'
dmaap_dr_password:
type: string
description: DMAAP Data Router password
default: 'password'
dcae_location:
type: string
description: DCAE location for the subscriber, used to set up routing
default: 'san-francisco'
pm_mapper_service_protocol:
type: string
description: PM Mapper protocol
default: 'https'
pm_mapper_service_port:
type: string
description: PM Mapper host port
default: '8443'
dmaap_dr_service_host:
type: string
description: DMAAP Data Router host address
default: 'dmaap-dr-node'
dmaap_dr_service_port:
type: string
description: DMAAP Data Router host port
default: '8443'
dmaap_mr_service_protocol:
type: string
description: DMAAP Message Router protocol
default: 'https'
dmaap_mr_service_host:
type: string
description: DMAAP Message Router host address
default: 'message-router'
dmaap_mr_service_port:
type: string
description: DMAAP Message Router host port
default: '3905'
node_templates:
pm-feed:
type: ccsdk.nodes.Feed
properties:
feed_name: { get_input: feed_name }
useExisting: true
pm-topic:
type: ccsdk.nodes.Topic
properties:
topic_name: { get_input: topic_name }
pm-mapper:
type: dcae.nodes.ContainerizedServiceComponentUsingDmaap
interfaces:
cloudify.interfaces.lifecycle:
create:
inputs:
ports:
- '8443:0'
- '8081:0'
relationships:
- type: ccsdk.relationships.subscribe_to_files
target: pm-feed
- type: ccsdk.relationships.publish_events
target: pm-topic
properties:
service_component_type: 'dcae-pm-mapper'
service_component_name_override: 'dcae-pm-mapper'
application_config:
trust_store_path: '/opt/app/pm-mapper/etc/cert/trust.jks.b64'
trust_store_pass_path: '/opt/app/pm-mapper/etc/cert/trust.pass'
key_store_path: '/opt/app/pm-mapper/etc/cert/cert.jks.b64'
key_store_pass_path: '/opt/app/pm-mapper/etc/cert/jks.pass'
pm-mapper-filter: { get_input: filter }
enable_http: { get_input: enable_http }
dmaap_dr_delete_endpoint: { concat: ['https://',{ get_input: dmaap_dr_service_host },':',{ get_input: dmaap_dr_service_port },'/delete'] }
aaf_identity: { get_input: client_id }
aaf_password: { get_input: client_password }
streams_subscribes:
dmaap_subscriber:
type: data_router
dmaap_info: <<pm-feed>>
streams_publishes:
dmaap_publisher:
type: message_router
dmaap_info: <<pm-topic>>
docker_config:
healthcheck:
endpoint: /healthcheck
interval: 15s
timeout: 1s
type: https
streams_publishes:
- name: pm-topic
location: { get_input: dcae_location }
client_role: { get_input: client_role }
type: message-router
streams_subscribes:
- name: pm-feed
location: { get_input: dcae_location }
client_role: { get_input: client_role }
username: { get_input: dmaap_dr_username }
password: { get_input: dmaap_dr_password }
scheme: { get_input: pm_mapper_service_protocol }
route: delivery
delivery_url: ''
privileged: true
decompress: true
type: data_router
image: { get_input: tag_version }
replicas: { get_input: replicas }
log_info:
log_directory: '/var/log/ONAP/dcaegen2/services/pm-mapper'
tls_info:
cert_directory: '/opt/app/pm-mapper/etc/cert/'
use_tls: true