blob: 79cf37152995e47db5242a95387bcba0fa717686 [file] [log] [blame]
dfarrelly5e40fbf2019-02-20 14:26:37 +00001#
2# ============LICENSE_START=======================================================
3# Copyright (C) 2019 Nordix Foundation.
4# ================================================================================
JoeOLeary2c8ddf32019-07-19 10:02:12 +00005# Licensed under the Apache License, Version 2.0 (the 'License');
dfarrelly5e40fbf2019-02-20 14:26:37 +00006# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
JoeOLeary2c8ddf32019-07-19 10:02:12 +000012# distributed under the License is distributed on an 'AS IS' BASIS,
dfarrelly5e40fbf2019-02-20 14:26:37 +000013# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17# SPDX-License-Identifier: Apache-2.0
18# ============LICENSE_END=========================================================
19#
20
21tosca_definitions_version: cloudify_dsl_1_3
22
23imports:
JoeOLearyb95fd592019-10-10 19:59:00 +010024 - 'http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml'
JoeOLeary2c8ddf32019-07-19 10:02:12 +000025 - 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R5/k8splugin/1.6.0/k8splugin_types.yaml'
26 - 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/dmaap/dmaap.yaml'
dfarrelly5e40fbf2019-02-20 14:26:37 +000027
28inputs:
dfarrelly5e40fbf2019-02-20 14:26:37 +000029 filter:
30 type: string
dfarrelly49d2dea2019-04-03 14:40:31 +000031 description: PM Mapper filter on measInfo, measInfoId, measType, instanceId
JoeOLeary2c8ddf32019-07-19 10:02:12 +000032 default: '{ "filters":[]}'
dfarrelly49d2dea2019-04-03 14:40:31 +000033 enable_http:
34 type: boolean
35 description: Option to turn on HTTP connections
36 default: false
JoeOLeary2c8ddf32019-07-19 10:02:12 +000037 tag_version:
38 type: string
39 description: Docker image to be used
JoeOLearyb95fd592019-10-10 19:59:00 +010040 default: 'nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:1.1.3'
JoeOLeary2c8ddf32019-07-19 10:02:12 +000041 replicas:
42 type: integer
43 description: Number of instances
44 default: 1
45 feed_name:
46 type: string
47 default: 'bulk_pm_feed'
48 topic_name:
49 type: string
50 default: 'PERFORMANCE_MEASUREMENTS'
51 client_role:
52 type: string
53 description: Client role to request secure access to topic
54 default: 'org.onap.dcae.pmPublisher'
55 client_id:
56 type: string
57 description: Client id for given AAF client
58 default: 'dcae@dcae.onap.org'
59 client_password:
60 type: string
61 description: Password for AAF client provided as client_id
62 dmaap_dr_username:
63 type: string
64 description: DMAAP Data Router user name
65 default: 'username'
66 dmaap_dr_password:
67 type: string
68 description: DMAAP Data Router password
69 default: 'password'
70 dcae_location:
71 type: string
72 description: DCAE location for the subscriber, used to set up routing
73 default: 'san-francisco'
74 pm_mapper_service_protocol:
75 type: string
76 description: PM Mapper protocol
77 default: 'https'
78 pm_mapper_service_port:
79 type: string
80 description: PM Mapper host port
81 default: '8443'
82 dmaap_dr_service_host:
83 type: string
84 description: DMAAP Data Router host address
85 default: 'dmaap-dr-node'
86 dmaap_dr_service_port:
87 type: string
88 description: DMAAP Data Router host port
89 default: '8443'
90 dmaap_mr_service_protocol:
91 type: string
92 description: DMAAP Message Router protocol
93 default: 'https'
94 dmaap_mr_service_host:
95 type: string
96 description: DMAAP Message Router host address
97 default: 'message-router'
98 dmaap_mr_service_port:
99 type: string
100 description: DMAAP Message Router host port
101 default: '3905'
dfarrelly5e40fbf2019-02-20 14:26:37 +0000102
103node_templates:
JoeOLeary2c8ddf32019-07-19 10:02:12 +0000104 pm-feed:
105 type: ccsdk.nodes.Feed
106 properties:
107 feed_name: { get_input: feed_name }
JoeOLearyb95fd592019-10-10 19:59:00 +0100108 useExisting: true
JoeOLeary2c8ddf32019-07-19 10:02:12 +0000109
110 pm-topic:
111 type: ccsdk.nodes.Topic
112 properties:
113 topic_name: { get_input: topic_name }
114
dfarrelly5e40fbf2019-02-20 14:26:37 +0000115 pm-mapper:
JoeOLeary2c8ddf32019-07-19 10:02:12 +0000116 type: dcae.nodes.ContainerizedServiceComponentUsingDmaap
dfarrelly5e40fbf2019-02-20 14:26:37 +0000117 interfaces:
118 cloudify.interfaces.lifecycle:
JoeOLeary2c8ddf32019-07-19 10:02:12 +0000119 create:
dfarrelly5e40fbf2019-02-20 14:26:37 +0000120 inputs:
121 ports:
dfarrelly49d2dea2019-04-03 14:40:31 +0000122 - '8443:0'
123 - '8081:0'
JoeOLeary2c8ddf32019-07-19 10:02:12 +0000124
125 relationships:
126 - type: ccsdk.relationships.subscribe_to_files
127 target: pm-feed
128 - type: ccsdk.relationships.publish_events
129 target: pm-topic
130
dfarrelly5e40fbf2019-02-20 14:26:37 +0000131 properties:
JoeOLeary2c8ddf32019-07-19 10:02:12 +0000132 service_component_type: 'dcae-pm-mapper'
133 service_component_name_override: 'dcae-pm-mapper'
dfarrelly5e40fbf2019-02-20 14:26:37 +0000134 application_config:
JoeOLeary2c8ddf32019-07-19 10:02:12 +0000135 trust_store_path: '/opt/app/pm-mapper/etc/cert/trust.jks.b64'
136 trust_store_pass_path: '/opt/app/pm-mapper/etc/cert/trust.pass'
137 key_store_path: '/opt/app/pm-mapper/etc/cert/cert.jks.b64'
138 key_store_pass_path: '/opt/app/pm-mapper/etc/cert/jks.pass'
139 pm-mapper-filter: { get_input: filter }
140 enable_http: { get_input: enable_http }
141 dmaap_dr_delete_endpoint: { concat: ['https://',{ get_input: dmaap_dr_service_host },':',{ get_input: dmaap_dr_service_port },'/delete'] }
142 aaf_identity: { get_input: client_id }
143 aaf_password: { get_input: client_password }
dfarrelly5e40fbf2019-02-20 14:26:37 +0000144 streams_subscribes:
145 dmaap_subscriber:
JoeOLeary2c8ddf32019-07-19 10:02:12 +0000146 type: data_router
147 dmaap_info: <<pm-feed>>
dfarrelly5e40fbf2019-02-20 14:26:37 +0000148 streams_publishes:
149 dmaap_publisher:
JoeOLeary2c8ddf32019-07-19 10:02:12 +0000150 type: message_router
151 dmaap_info: <<pm-topic>>
dfarrelly5e40fbf2019-02-20 14:26:37 +0000152 docker_config:
153 healthcheck:
154 endpoint: /healthcheck
155 interval: 15s
156 timeout: 1s
dfarrelly49d2dea2019-04-03 14:40:31 +0000157 type: https
JoeOLeary2c8ddf32019-07-19 10:02:12 +0000158 streams_publishes:
159 - name: pm-topic
160 location: { get_input: dcae_location }
161 client_role: { get_input: client_role }
162 type: message-router
163 streams_subscribes:
164 - name: pm-feed
165 location: { get_input: dcae_location }
166 client_role: { get_input: client_role }
167 username: { get_input: dmaap_dr_username }
168 password: { get_input: dmaap_dr_password }
169 scheme: { get_input: pm_mapper_service_protocol }
170 route: delivery
171 delivery_url: ''
172 privileged: true
173 decompress: true
174 type: data_router
175 image: { get_input: tag_version }
dfarrelly5e40fbf2019-02-20 14:26:37 +0000176 replicas: { get_input: replicas }
dfarrelly5e40fbf2019-02-20 14:26:37 +0000177 log_info:
JoeOLeary2c8ddf32019-07-19 10:02:12 +0000178 log_directory: '/var/log/ONAP/dcaegen2/services/pm-mapper'
dfarrelly49d2dea2019-04-03 14:40:31 +0000179 tls_info:
JoeOLeary2c8ddf32019-07-19 10:02:12 +0000180 cert_directory: '/opt/app/pm-mapper/etc/cert/'
181 use_tls: true