blob: 7943ed52c12d3dd25b14a289b60bd5f33ca409c0 [file] [log] [blame]
# -*- indent-tabs-mode: nil -*- # vi: set expandtab:
#
# ============LICENSE_START========================================================
# =================================================================================
# Copyright (C) 2018-2019 NOKIA
# Modifications copyright (c) 2020 AT&T Intellectual Property. All Rights Reserved
# =================================================================================
# 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.
# ============LICENSE_END==========================================================
tosca_definitions_version: cloudify_dsl_1_3
imports:
- https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
- plugin:k8splugin?version=>=3.4.3,<4.0.0
inputs:
tag_version:
type: string
default: 'nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.5.1'
service_component_type:
type: string
default: 'dcae-hv-ves-collector'
service_id:
type: string
default: "dcae-hv-ves-collector"
replicas:
type: integer
description: number of instances
default: 1
host_port:
type: integer
description: Network port that the platform service is expecting to expose on the host
default: 30222
container_port:
type: integer
description: Network port that the platform service exposes in the container
default: 6061
kafka_bootstrap_servers:
type: string
default: 'message-router-kafka:9092'
kafka_username:
type: string
default: 'admin'
kafka_password:
type: string
default: 'admin_secret'
perf3gpp_kafka_topic:
type: string
default: 'HV_VES_PERF3GPP'
log_level:
type: string
default: 'INFO'
server_idle_timeout_sec:
type: integer
default: 300
cbs_request_interval_sec:
type: integer
default: 5
security_ssl_disable:
type: boolean
default: false
security_keys_key_store_file:
type: string
default: '/etc/ves-hv/ssl/cert.jks'
security_keys_key_store_password_file:
type: string
default: '/etc/ves-hv/ssl/jks.pass'
security_keys_trust_store_file:
type: string
default: '/etc/ves-hv/ssl/trust.jks'
security_keys_trust_store_password_file:
type: string
default: '/etc/ves-hv/ssl/trust.pass'
use_tls:
type: boolean
default: true
service_component_name_override:
type: string
default: "dcae-hv-ves-collector"
external_cert_cert_type:
type: string
description: Output type
default: "JKS"
external_cert_ca_name:
type: string
description: Name of Certificate Authority configured on CertService side.
default: "RA"
external_cert_common_name:
type: string
description: Common name which should be present in certificate.
default: "dcae-hv-ves-collector"
external_cert_sans:
type: string
description: "List of Subject Alternative Names (SANs) which should be present
in certificate. Delimiter - , Should contain common_name value and other FQDNs
under which given component is accessible."
default: "dcae-hv-ves-collector,hv-ves-collector,hv-ves"
external_cert_use_external_tls:
type: boolean
description: Flag to indicate external tls enable/disable.
default: false
node_templates:
hv-ves:
interfaces:
cloudify.interfaces.lifecycle:
start:
inputs:
envs:
JAVA_OPTS: { concat: [ '-Dlogback.configurationFile=/etc/ONAP/', { get_input: service_component_type }, '/logback.xml' ] }
properties:
application_config:
logLevel: { get_input: log_level }
server.idleTimeoutSec: { get_input: server_idle_timeout_sec }
server.listenPort: { get_input: container_port }
cbs.requestIntervalSec: { get_input: cbs_request_interval_sec}
security.sslDisable: { get_input: security_ssl_disable }
security.keys.keyStoreFile: { get_input: security_keys_key_store_file }
security.keys.keyStorePasswordFile: { get_input: security_keys_key_store_password_file }
security.keys.trustStoreFile: { get_input: security_keys_trust_store_file }
security.keys.trustStorePasswordFile: { get_input: security_keys_trust_store_password_file }
streams_publishes:
perf3gpp:
type: kafka
aaf_credentials:
username: { get_input: kafka_username }
password: { get_input: kafka_password }
kafka_info:
bootstrap_servers: { get_input: kafka_bootstrap_servers }
topic_name: { get_input: perf3gpp_kafka_topic }
docker_config:
healthcheck:
type: script
script: "/opt/ves-hv-collector/healthcheck.sh"
interval: 15s
timeout: 2s
ports:
- { concat: [ { get_input: container_port }, ':', { get_input: host_port } ] }
image: { get_input: tag_version }
replicas: { get_input: replicas }
service_component_type: { get_input: service_component_type }
service_id: { get_input: service_id }
service_component_name_override: { get_input: service_component_name_override }
log_info:
log_directory: { concat: [ '/var/log/ONAP/', { get_input: service_component_type } ] }
tls_info:
cert_directory: '/etc/ves-hv/ssl'
use_tls: { get_input: use_tls }
external_cert:
external_cert_directory: '/etc/ves-hv/ssl'
use_external_tls:
get_input: external_cert_use_external_tls
cert_type:
get_input: external_cert_cert_type
ca_name:
get_input: external_cert_ca_name
external_certificate_parameters:
common_name:
get_input: external_cert_common_name
sans:
get_input: external_cert_sans
type: dcae.nodes.ContainerizedServiceComponent