# -*- indent-tabs-mode: nil -*- # vi: set expandtab: # # ============LICENSE_START==================================================== # ============================================================================= # Copyright (c) 2018-2019 AT&T, 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 - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml inputs: pnfUrl: type: string default: "https://aai.onap.svc.cluster.local:8443/aai/v12/network/pnfs/pnf" baseUrl: type: string default: "https://aai.onap.svc.cluster.local:8443/aai/v12" 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.5.2" replicas: type: integer description: number of instances default: 1 host_port: description: port on Kubernetes host where PRH API will be exposed default: 0 secureEnableCert: type: boolean description: enable certificate base connection with AAI and DMaap default: false 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/v12" 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 } host_port: { get_input: host_port } container_port: 8100 docker_config: healthcheck: endpoint: /heartbeat interval: 15s timeout: 1s type: http image: { get_input: tag_version } replicas: {get_input: replicas} name: 'dcae-prh' dns_name: 'dcae-prh' log_info: log_directory: "/opt/app/prh/logs" tls_info: cert_directory: '/opt/app/prh/etc/cert' use_tls: true type: dcae.nodes.ContainerizedPlatformComponent