blob: 519ee6d8612a26c547d3d212f5f8836f27489691 [file] [log] [blame]
# -*- indent-tabs-mode: nil -*- # vi: set expandtab:
#
# ============LICENSE_START====================================================
# =============================================================================
# Copyright (c) 2018-2020 AT&T
# Copyright (c) 2018-2020 NOKIA
# =============================================================================
# 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:
pnfUrl:
type: string
default: "https://aai.onap.svc.cluster.local:8443/aai/v23/network/pnfs/pnf"
baseUrl:
type: string
default: "https://aai.onap.svc.cluster.local:8443/aai/v23"
aaiEnrichmentHost:
type: string
default: "aai.onap.svc.cluster.local"
aaiEnrichmentPort:
type: integer
default: 8443
aaiEnrichmentUser:
type: string
description: aai user name
default: "AAI"
aaiEnrichmentPasswd:
type: string
description: aai password
default: "AAI"
dmaap_pnfReady_url:
type: string
default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_READY"
dmaap_vesPnfRegOutput_url:
type: string
default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT"
dmaap_pnfUpdate_url:
type: string
default: "http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_UPDATE"
dmaap_user:
type: string
description: dmap user name
default: "admin"
dmaap_passwd:
type: string
description: dmap password
default: "admin"
tag_version:
type: string
default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.prh.prh-app-server:1.7.0"
replicas:
type: integer
description: number of instances
default: 1
host_port:
description: port on Kubernetes host where PRH API will be exposed
default: 0
container_port:
type: integer
description: Network port that the platform service exposes in the container
default: 8100
service_component_type:
type: string
default: "dcae-prh"
service_id:
type: string
default: "dcae-prh"
secureEnableCert:
type: boolean
description: enable certificate base connection with AAI and DMaap
default: false
service_component_name_override:
type: string
default: "dcae-prh"
node_templates:
prh:
properties:
application_config:
dmaap.dmaapConsumerConfiguration.dmaapUserName: { get_input: dmaap_user }
dmaap.dmaapConsumerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }
dmaap.dmaapConsumerConfiguration.dmaapContentType: "application/json"
dmaap.dmaapConsumerConfiguration.consumerId: "c12"
dmaap.dmaapConsumerConfiguration.consumerGroup: "OpenDCAE-c12"
dmaap.dmaapConsumerConfiguration.timeoutMs: -1
dmaap.dmaapProducerConfiguration.dmaapUserName: { get_input: dmaap_user }
dmaap.dmaapProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }
dmaap.dmaapProducerConfiguration.dmaapContentType: "application/json"
dmaap.dmaapUpdateProducerConfiguration.dmaapUserName: { get_input: dmaap_user }
dmaap.dmaapUpdateProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }
dmaap.dmaapUpdateProducerConfiguration.dmaapContentType: "application/json"
aai.aaiClientConfiguration.pnfUrl: { get_input: pnfUrl }
aai.aaiClientConfiguration.baseUrl: { get_input: baseUrl }
aai.aaiClientConfiguration.aaiHost: { get_input: aaiEnrichmentHost }
aai.aaiClientConfiguration.aaiHostPortNumber: { get_input: aaiEnrichmentPort }
aai.aaiClientConfiguration.aaiProtocol: "https"
aai.aaiClientConfiguration.aaiUserName: { get_input: aaiEnrichmentUser }
aai.aaiClientConfiguration.aaiUserPassword: { get_input: aaiEnrichmentPasswd }
aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors: true
aai.aaiClientConfiguration.aaiBasePath: "/aai/v23"
aai.aaiClientConfiguration.aaiPnfPath: "/network/pnfs/pnf"
aai.aaiClientConfiguration.aaiServiceInstancePath: "/business/customers/customer/{{customer}}/service-subscriptions/service-subscription/{{serviceType}}/service-instances/service-instance/{{serviceInstanceId}}"
aai.aaiClientConfiguration.aaiHeaders:
X-FromAppId: "prh"
X-TransactionId: "9999"
Accept: "application/json"
Real-Time: "true"
Authorization: "Basic QUFJOkFBSQ=="
security.trustStorePath: "/opt/app/prh/etc/cert/trust.jks"
security.trustStorePasswordPath: "/opt/app/prh/etc/cert/trust.pass"
security.keyStorePath: "/opt/app/prh/etc/cert/cert.jks"
security.keyStorePasswordPath: "/opt/app/prh/etc/cert/jks.pass"
security.enableAaiCertAuth: { get_input: secureEnableCert }
security.enableDmaapCertAuth: { get_input: secureEnableCert }
streams_publishes:
pnf-update:
type: "message_router"
dmaap_info:
topic_url: {get_input: dmaap_pnfUpdate_url }
pnf-ready:
type: "message_router"
dmaap_info:
topic_url: { get_input: dmaap_pnfReady_url }
streams_subscribes:
ves-reg-output:
type: "message_router"
dmaap_info:
topic_url: { get_input: dmaap_vesPnfRegOutput_url }
docker_config:
healthcheck:
endpoint: /heartbeat
interval: 15s
timeout: 1s
type: http
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: "/opt/app/prh/logs"
tls_info:
cert_directory: '/opt/app/prh/etc/cert'
use_tls: true
type: dcae.nodes.ContainerizedServiceComponent