Collector authentication enhancement
[dcaegen2/collectors/ves.git] / dpo / blueprint / blueprint_ves.yaml
1 # ================================================================================
2 # Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved.
3 # ================================================================================
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 # ============LICENSE_END=========================================================
16 #
17 # ECOMP is a trademark and service mark of AT&T Intellectual Property.
18 tosca_definitions_version: cloudify_dsl_1_3
19
20 description: >
21   This handcrafted blueprint will install the ves collector and provision the needed message router topics. This blueprint can be used to verify that a platform installation is operational and working correctly.
22
23 imports:
24 - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml
25 - https://NEXUS_REPO_HOST:8443/repository/NEXUS_RAW/type_files/docker/2.2.0/node-type.yaml
26 - https://NEXUS_REPO_HOST:8443/repository/NEXUS_RAW/type_files/relationship/1.0.0/node-type.yaml
27 - http://NEXUS_REPO_HOST:8081/repository/NEXUS_RAW/type_files/dmaap/dmaap_mr.yaml
28
29 inputs:
30
31   service_id:
32     description: Unique id used for an instance of this DCAE service. Use deployment id
33     default: 'foobar'
34   location_id:
35     default: 'solutioning-central'
36   docker_host_override:
37     default: 'component_dockerhost'
38
39   topic00_aaf_username:
40   topic00_aaf_password:
41   topic00_location:
42     default: mtc5
43   topic00_client_role:
44     default: com.att.dcae.member
45
46   topic01_aaf_username:
47   topic01_aaf_password:
48   topic01_location:
49     default: mtc5
50   topic01_client_role:
51     default: com.att.dcae.member
52
53   topic02_aaf_username:
54   topic02_aaf_password:
55   topic02_location:
56     default: mtc5
57   topic02_client_role:
58     default: com.att.dcae.member
59
60   topic03_aaf_username:
61   topic03_aaf_password:
62   topic03_location:
63     default: mtc5
64   topic03_client_role:
65     default: com.att.dcae.member
66
67 node_templates:
68
69   topic00:
70     type: dcae.nodes.Topic
71     properties:
72       topic_name: sec-fault-unsecure
73
74   topic01:
75     type: dcae.nodes.Topic
76     properties:
77       topic_name: sec-measurement
78
79   topic02:
80     type: dcae.nodes.Topic
81     properties:
82       topic_name: sec-measurement-unsecure
83
84   topic03:
85     type: dcae.nodes.Topic
86     properties:
87       topic_name: sec-fault
88
89   component00:
90     type: dcae.nodes.DockerContainerForComponentsUsingDmaap
91     properties:
92       service_component_type:
93         'dcae-controller-ves-collector'
94       service_id:
95         { get_input: service_id }
96       location_id:
97         { get_input: location_id }
98       application_config:
99         collector.keystore.passwordfile: "/opt/app/dcae-certificate/.password"
100         collector.service.secure.port: -1
101         tomcat.maxthreads: '200'
102         collector.keystore.file.location: "/opt/app/dcae-certificate/keystore.jks"
103         auth.method: "noAuth"
104         collector.service.port: 8080
105         streams_publishes:
106           sec_fault_unsecure:
107             aaf_password: { get_input: topic00_aaf_password }
108             dmaap_info: "<<topic00>>"
109             type: message_router
110             aaf_username: { get_input: topic00_aaf_username }
111           sec_measurement:
112             aaf_password: { get_input: topic01_aaf_password }
113             aaf_username: { get_input: topic01_aaf_username }
114             type: message_router
115             dmaap_info: "<<topic01>>"
116           sec_measurement_unsecure:
117             aaf_password: { get_input: topic02_aaf_password }
118             aaf_username: { get_input: topic02_aaf_username }
119             dmaap_info: "<<topic02>>"
120             type: message_router
121           sec_fault:
122             aaf_password: { get_input: topic03_aaf_password }
123             aaf_username: { get_input: topic03_aaf_username }
124             dmaap_info: "<<topic03>>"
125             type: message_router
126         services_calls: {}
127         collector.schema.checkflag: 1
128         collector.dmaap.streamid: fault=sec_fault,roadm-sec-to-hp|syslog=sec_syslog|heartbeat=sec_heartbeat|measurementsForVfScaling=sec_measurement|mobileFlow=sec_mobileflow|other=sec_other|stateChange=sec_statechange|thresholdCrossingAlert=sec_thresholdCrossingAlert
129         header.authlist: userid1,base64encodepwd1|userid2,base64encodepwd2
130         streams_subscribes: {}
131         collector.inputQueue.maxPending: 8096
132         collector.schema.file: "./etc/CommonEventFormat_27.2.json"
133       image:
134         NEXUS_REPO_HOST:18443/dcae-dev-raw/dcae-controller-ves-collector:1.1.3
135       docker_config:
136         healthcheck:
137           type: "http"
138           interval: "15s"
139           timeout: "1s"
140           endpoint: "/"
141       streams_publishes:
142       - name: topic00
143         location: { get_input: topic00_location }
144         client_role: { get_input: topic00_client_role }
145         type: message_router
146       - name: topic01
147         location: { get_input: topic01_location }
148         client_role: { get_input: topic01_client_role }
149         type: message_router
150       - name: topic02
151         location: { get_input: topic02_location }
152         client_role: { get_input: topic02_client_role }
153         type: message_router
154       - name: topic03
155         location: { get_input: topic03_location }
156         client_role: { get_input: topic03_client_role }
157         type: message_router
158       streams_subscribes: []
159     relationships:
160     - type: dcae.relationships.component_contained_in
161       target: docker_host
162     - type: dcae.relationships.publish_events
163       target: topic00
164     - type: dcae.relationships.publish_events
165       target: topic01
166     - type: dcae.relationships.publish_events
167       target: topic02
168     - type: dcae.relationships.publish_events
169       target: topic03
170     interfaces:
171       cloudify.interfaces.lifecycle:
172         stop:
173           inputs:
174             cleanup_image:
175               True
176
177   docker_host:
178     type: dcae.nodes.SelectedDockerHost
179     properties:
180       location_id:
181         { get_input: location_id }
182       docker_host_override:
183         { get_input: docker_host_override }