| # |
| # ============LICENSE_START======================================================= |
| # Copyright (C) 2020 Nordix Foundation. |
| # ================================================================================ |
| # 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. |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| # ============LICENSE_END========================================================= |
| # |
| |
| tosca_definitions_version: cloudify_dsl_1_3 |
| |
| imports: |
| - 'http://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' |
| - 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/dmaap/dmaap.yaml' |
| - 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/pgaas/1.1.0/pgaas_types.yaml' |
| - 'https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/clamppolicyplugin/1.1.0/clamppolicyplugin_types.yaml' |
| |
| inputs: |
| tag_version: |
| type: string |
| description: Docker image to be used |
| default: 'nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pmsh:latest' |
| replicas: |
| type: integer |
| description: Number of instances |
| default: 1 |
| policy_model_id: |
| type: 'string' |
| default: 'onap.policies.monitoring.dcae-pm-subscription-handler' |
| policy_id: |
| type: 'string' |
| default: 'onap.policies.monitoring.dcae-pm-subscription-handler' |
| operational_policy_name: |
| type: string |
| default: 'pmsh-operational-policy' |
| control_loop_name: |
| type: string |
| pmsh_publish_topic_name: |
| type: string |
| default: 'unauthenticated.DCAE_CL_OUTPUT' |
| policy_feedback_topic_name: |
| type: string |
| default: 'PMSH_CL_INPUT' |
| aai_notification_topic_name: |
| type: string |
| default: 'AAI-EVENT' |
| publisher_client_role: |
| type: string |
| description: Client role to request secure access to topic |
| default: 'org.onap.dcae.pmPublisher' |
| subscriber_client_role: |
| type: string |
| description: Client role to request secure access to topic |
| default: 'org.onap.dcae.pmSubscriber' |
| client_id: |
| type: string |
| description: Client id for given AAF client |
| default: 'dcae@dcae.onap.org' |
| client_password: |
| type: string |
| description: Password for AAF client provided as client_id |
| dcae_location: |
| type: string |
| description: DCAE location for the subscriber, used to set up routing |
| default: 'san-francisco' |
| cpu_limit: |
| type: string |
| default: '1000m' |
| cpu_request: |
| type: string |
| default: '1000m' |
| memory_limit: |
| type: string |
| default: '1024Mi' |
| memory_request: |
| type: string |
| default: '1024Mi' |
| pgaas_cluster_name: |
| type: string |
| default: 'dcae-pg-primary.onap' |
| node_templates: |
| pgaasvm: |
| type: dcae.nodes.pgaas.database |
| properties: |
| writerfqdn: { get_input: pgaas_cluster_name } |
| name: 'pmsh' |
| pm_subscribe_topic: |
| type: ccsdk.nodes.Topic |
| properties: |
| topic_name: { get_input: policy_feedback_topic_name } |
| pmsh: |
| type: dcae.nodes.ContainerizedServiceComponentUsingDmaap |
| interfaces: |
| cloudify.interfaces.lifecycle: |
| create: |
| inputs: |
| ports: |
| - '8443:0' |
| envs: |
| PMSH_PG_URL: |
| { get_attribute: [ pgaasvm, admin, host ] } |
| PMSH_PG_PASSWORD: |
| { get_attribute: [ pgaasvm, admin, password ] } |
| PMSH_PG_USERNAME: |
| { get_attribute: [ pgaasvm, admin, user ] } |
| PMSH_DB_NAME: |
| { get_attribute: [ pgaasvm, admin, database ] } |
| |
| relationships: |
| - type: ccsdk.relationships.subscribe_to_events |
| target: pm_subscribe_topic |
| - type: cloudify.relationships.depends_on |
| target: pgaasvm |
| - type: cloudify.relationships.depends_on |
| target: pmsh-policy |
| |
| properties: |
| service_component_type: 'dcae-pmsh' |
| service_component_name_override: 'dcae-pmsh' |
| application_config: |
| aaf_identity: { get_input: client_id } |
| aaf_password: { get_input: client_password } |
| operational_policy_name: { get_input: operational_policy_name } |
| control_loop_name: { get_input: control_loop_name } |
| cert_path: '/opt/app/pmsh/etc/certs/cert.pem' |
| key_path: '/opt/app/pmsh/etc/certs/key.pem' |
| ca_cert_path: '/opt/app/pmsh/etc/certs/cacert.pem' |
| streams_publishes: |
| policy_pm_publisher: |
| type: message_router |
| dmaap_info: |
| topic_url: {concat: ["https://message-router:3905/events/", { get_input: pmsh_publish_topic_name }]} |
| streams_subscribes: |
| policy_pm_subscriber: |
| type: message_router |
| dmaap_info: <<pm_subscribe_topic>> |
| aai_subscriber: |
| type: message_router |
| dmaap_info: |
| topic_url: {concat: ["https://message-router:3905/events/", { get_input: aai_notification_topic_name }]} |
| resource_config: |
| limits: |
| cpu: { get_input: cpu_limit } |
| memory: { get_input: memory_limit } |
| requests: |
| cpu: { get_input: cpu_request } |
| memory: { get_input: memory_request } |
| docker_config: |
| healthcheck: |
| endpoint: /healthcheck |
| interval: 15s |
| timeout: 1s |
| type: https |
| streams_subscribes: |
| - name: pm_subscribe_topic |
| location: { get_input: dcae_location } |
| client_role: { get_input: subscriber_client_role } |
| type: message-router |
| image: { get_input: tag_version } |
| replicas: { get_input: replicas } |
| log_info: |
| log_directory: '/var/log/ONAP/dcaegen2/services/pmsh' |
| tls_info: |
| cert_directory: '/opt/app/pmsh/etc/certs' |
| use_tls: true |
| pmsh-policy: |
| type: clamp.nodes.policy |
| properties: |
| policy_model_id: |
| get_input: policy_model_id |
| policy_id: |
| get_input: policy_id |