87f508cae0e0ffad007162e47b73411312bbd61a
[dcaegen2/platform/blueprints.git] / blueprints / k8s-datafile.yaml
1
2 #description: Docker application to collect log file from PNF
3 #blueprint_version: 1.0.0
4 ---
5 tosca_definitions_version: cloudify_dsl_1_3
6 description: Docker application to collect log file from PNF
7 imports:
8 - http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
9 - plugin:k8splugin?version=3.4.2
10 - plugin:dmaap?version=1.5.0
11 inputs:
12   PM_MEAS_FILES_feed0_location:
13     type: string
14     default: "loc00"
15   cert_directory:
16     type: string
17     default: "/opt/app/datafile/etc/cert/"
18   datafile-collector_cpu_limit:
19     type: string
20     default: "250m"
21   datafile-collector_cpu_request:
22     type: string
23     default: "250m"
24   datafile-collector_memory_limit:
25     type: string
26     default: "512Mi"
27   datafile-collector_memory_request:
28     type: string
29     default: "512Mi"
30   envs:
31     default: {}
32   external_port:
33     type: string
34     default: ":0"
35   feed0_name:
36     type: string
37     default: "bulk_pm_feed"
38   topic_name:
39     type: string
40     default: "unauthenticated.VES_NOTIFICATION_OUTPUT"
41   consumer_group:
42     type: string
43     default: "OpenDcae-c12"
44   consumer_id:
45     type: string
46     default: "C12"
47   log_directory:
48     type: string
49     default: "/var/log/ONAP"
50   replicas:
51     type: integer
52     description: number of instances
53     default: 1
54   tag_version:
55     type: string
56     default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.4.3"
57   use_tls:
58     type: boolean
59     default: true
60 node_templates:
61   datafile-collector:
62     type: dcae.nodes.ContainerizedServiceComponentUsingDmaap
63     interfaces:
64       cloudify.interfaces.lifecycle:
65         start:
66           inputs:
67             envs:
68               get_input: envs
69     properties:
70       application_config:
71         service_calls: []
72         streams_publishes:
73           PM_MEAS_FILES:
74             dmaap_info: <<feed0>>
75             type: data_router
76         dmaap.ftpesConfig.keyCert: /opt/app/datafile/config/cert.jks
77         dmaap.ftpesConfig.keyPasswordPath: /opt/app/datafile/config/jks.pass
78         dmaap.ftpesConfig.trustedCa: /opt/app/datafile/config/trust.jks
79         dmaap.ftpesConfig.trustedCaPasswordPath: /opt/app/datafile/etc/cert/trust.pass
80         dmaap.security.enableDmaapCertAuth: true
81         dmaap.security.keyStorePasswordPath: /opt/app/datafile/etc/cert/p12.pass
82         dmaap.security.keyStorePath: /opt/app/datafile/etc/cert/cert.p12
83         dmaap.security.trustStorePasswordPath: /opt/app/datafile/etc/cert/trust.pass
84         dmaap.security.trustStorePath: /opt/app/datafile/etc/cert/trust.jks
85         dmaap.dmaapConsumerConfiguration.consumerGroup:
86           get_input: consumer_group
87         dmaap.dmaapConsumerConfiguration.consumerId:
88           get_input: consumer_id
89         dmaap.dmaapConsumerConfiguration.timeoutMs: -1
90         sftp.security.strictHostKeyChecking: true
91         streams_subscribes:
92           dmaap_subscriber:
93             type: message_router
94             dmaap_info:
95               topic_url: { concat: ['https://message-router:3905/events/',{ get_input: topic_name }] }
96       docker_config:
97         healthcheck:
98           interval: 15s
99           timeout: 1s
100           type: http
101           endpoint: /heartbeat
102         ports:
103         - concat: ["8100", {get_input: external_port}]
104         - concat: ["8433", {get_input: external_port}]
105       image:
106         get_input: tag_version
107       service_component_type: datafile-collector
108       log_info:
109         log_directory:
110           get_input: log_directory
111       replicas:
112         get_input: replicas
113       streams_publishes:
114       - name: feed0
115         location:
116           get_input: PM_MEAS_FILES_feed0_location
117         type: data_router
118       tls_info:
119         cert_directory:
120           get_input: cert_directory
121         use_tls:
122           get_input: use_tls
123       resource_config:
124         limits:
125           cpu:
126             get_input: datafile-collector_cpu_limit
127           memory:
128             get_input: datafile-collector_memory_limit
129         requests:
130           cpu:
131             get_input: datafile-collector_cpu_request
132           memory:
133             get_input: datafile-collector_memory_request
134     relationships:
135     - type: dcaegen2.relationships.publish_files
136       target: feed0
137   feed0:
138     type: dcaegen2.nodes.Feed
139     properties:
140       feed_name:
141         get_input: feed0_name
142       useExisting: true