[DCAE] Adapt DCAE blueprints to CFY DCAE K8S plugin version 3.x.x
[dcaegen2/platform/blueprints.git] / blueprints / k8s-hv-ves.yaml
1 # -*- indent-tabs-mode: nil -*- # vi: set expandtab:
2 #
3 # ============LICENSE_START========================================================
4 # =================================================================================
5 # Copyright (C) 2018-2019 NOKIA
6 # Modifications copyright (c) 2020 AT&T Intellectual Property.  All Rights Reserved
7 # =================================================================================
8 # Licensed under the Apache License, Version 2.0 (the "License");
9 # you may not use this file except in compliance with the License.
10 # You may obtain a copy of the License at
11 #
12 #      http://www.apache.org/licenses/LICENSE-2.0
13 #
14 # Unless required by applicable law or agreed to in writing, software
15 # distributed under the License is distributed on an "AS IS" BASIS,
16 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 # See the License for the specific language governing permissions and
18 # limitations under the License.
19 # ============LICENSE_END==========================================================
20
21 tosca_definitions_version: cloudify_dsl_1_3
22
23 imports:
24   - https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
25   - plugin:k8splugin?version=3.3.0
26
27 inputs:
28   tag_version:
29     type: string
30     default: 'nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.4.0'
31   service_component_type:
32     type: string
33     default: 'dcae-hv-ves-collector'
34   service_id:
35     type: string
36     default: "dcae-hv-ves-collector"
37   replicas:
38     type: integer
39     description: number of instances
40     default: 1
41   host_port:
42     type: integer
43     description: Network port that the platform service is expecting to expose on the host
44     default: 30222
45   container_port:
46     type: integer
47     description: Network port that the platform service exposes in the container
48     default: 6061
49   kafka_bootstrap_servers:
50     type: string
51     default: 'message-router-kafka:9092'
52   kafka_username:
53     type: string
54     default: 'admin'
55   kafka_password:
56     type: string
57     default: 'admin_secret'
58   perf3gpp_kafka_topic:
59     type: string
60     default: 'HV_VES_PERF3GPP'
61   log_level:
62     type: string
63     default: 'INFO'
64   server_idle_timeout_sec:
65     type: integer
66     default: 300
67   cbs_request_interval_sec:
68     type: integer
69     default: 5
70   security_ssl_disable:
71     type: boolean
72     default: false
73   security_keys_key_store_file:
74     type: string
75     default: '/etc/ves-hv/ssl/cert.jks'
76   security_keys_key_store_password_file:
77     type: string
78     default: '/etc/ves-hv/ssl/jks.pass'
79   security_keys_trust_store_file:
80     type: string
81     default: '/etc/ves-hv/ssl/trust.jks'
82   security_keys_trust_store_password_file:
83     type: string
84     default: '/etc/ves-hv/ssl/trust.pass'
85   use_tls:
86     type: boolean
87     default: true
88 node_templates:
89   hv-ves:
90     interfaces:
91       cloudify.interfaces.lifecycle:
92         start:
93           inputs:
94             envs:
95               JAVA_OPTS: { concat: [ '-Dlogback.configurationFile=/etc/ONAP/', { get_input: service_component_type }, '/logback.xml' ] }
96     properties:
97       application_config:
98         logLevel: { get_input: log_level }
99         server.idleTimeoutSec: { get_input: server_idle_timeout_sec }
100         server.listenPort: { get_input: container_port }
101         cbs.requestIntervalSec: { get_input: cbs_request_interval_sec}
102         security.sslDisable: { get_input: security_ssl_disable }
103         security.keys.keyStoreFile: { get_input: security_keys_key_store_file }
104         security.keys.keyStorePasswordFile: { get_input: security_keys_key_store_password_file }
105         security.keys.trustStoreFile: { get_input: security_keys_trust_store_file }
106         security.keys.trustStorePasswordFile: { get_input: security_keys_trust_store_password_file }
107         streams_publishes:
108           perf3gpp:
109             type: kafka
110             aaf_credentials:
111               username: { get_input: kafka_username }
112               password: { get_input: kafka_password }
113             kafka_info:
114               bootstrap_servers: { get_input: kafka_bootstrap_servers }
115               topic_name: { get_input: perf3gpp_kafka_topic }
116       docker_config:
117         healthcheck:
118           type: script
119           script: "/opt/ves-hv-collector/healthcheck.sh"
120           interval: 15s
121           timeout: 2s
122         ports:
123           - { concat: [ { get_input: container_port }, ':', { get_input: host_port } ] }
124       image: { get_input: tag_version }
125       replicas: { get_input: replicas }
126       service_component_type: { get_input: service_component_type }
127       service_id: { get_input: service_id }
128       log_info:
129         log_directory: { concat: [ '/var/log/ONAP/', { get_input: service_component_type } ] }
130       tls_info:
131         cert_directory: '/etc/ves-hv/ssl'
132         use_tls: { get_input: use_tls }
133     type: dcae.nodes.ContainerizedServiceComponent