| # -*- indent-tabs-mode: nil -*- # vi: set expandtab: |
| # |
| # ============LICENSE_START==================================================== |
| # org.onap.dcae |
| # ============================================================================= |
| # Copyright (c) 2017 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 |
| |
| description: > |
| This blueprint is used to install and to uninstall DCAE inventory and DCAE service change |
| handler which are platform services. These applications are Docker containers. This blueprint |
| depends upon the deployment of a Docker host and the deployment of a central postgres that is |
| registered with Consul. |
| |
| imports: |
| - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml |
| - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/relationshipplugin/1.0.0/relationshipplugin_types.yaml |
| - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/type_files/dockerplugin/2/dockerplugin_types.yaml |
| |
| inputs: |
| |
| location_id: |
| description: Location of where to deploy to |
| |
| docker_host_override: |
| description: Target docker host to deploy applications to |
| sdc_address: |
| description: SDC host |
| sdc_uri: |
| description: SDC url |
| sdc_msg_bus_address: |
| description: Message router hostname that SDC will send distribution events through |
| sdc_user: |
| description: SDC username |
| sdc_password: |
| description: SDC password |
| sdc_environment_name: |
| description: SDC environment name |
| sdc_use_secure_https: |
| description: Boolean to toggle whether to do certificate validation for https calls to SDC API |
| type: boolean |
| default: false |
| sdc_use_https_dmaap: |
| description: Boolean to toggle whether to use https for calls to message router API |
| type: boolean |
| default: false |
| |
| postgres_user_inventory: |
| description: Postgres user for inventory |
| postgres_password_inventory: |
| description: Postgres password for inventory |
| |
| service_change_handler_image: |
| description: Full uri to service change handler Docker image |
| inventory_image: |
| description: Full uri to inventory Docker image |
| |
| node_templates: |
| |
| service-change-handler: |
| type: dcae.nodes.DockerContainerForPlatforms |
| properties: |
| name: |
| "service-change-handler" |
| application_config: |
| asdcDistributionClient: |
| asdcAddress: { get_input: sdc_address } |
| asdcUri: { get_input: sdc_uri } |
| msgBusAddress: { get_input: sdc_msg_bus_address } |
| user: { get_input: sdc_user } |
| password: { get_input: sdc_password } |
| pollingInterval: 20 |
| pollingTimeout: 20 |
| consumerGroup: dcae |
| consumerId: dcae-sch |
| environmentName: { get_input: sdc_environment_name } |
| keyStorePath: |
| keyStorePassword: |
| activateServerTLSAuth: { get_input: sdc_use_secure_https } |
| useHttpsWithDmaap: { get_input: sdc_use_https_dmaap } |
| isFilterInEmptyResources: false |
| dcaeInventoryClient: |
| uri: http://inventory:8080 |
| docker_config: |
| healthcheck: |
| type: "docker" |
| interval: "30s" |
| timeout: "3s" |
| script: "/opt/health.sh" |
| image: |
| { get_input: service_change_handler_image } |
| relationships: |
| - type: cloudify.relationships.depends_on |
| target: inventory |
| - type: dcae.relationships.component_contained_in |
| target: docker_host |
| |
| inventory: |
| type: dcae.nodes.DockerContainerForPlatforms |
| properties: |
| name: |
| "inventory" |
| application_config: |
| database: |
| driverClass: org.postgresql.Driver |
| user: { get_input: postgres_user_inventory } |
| password: { get_input: postgres_password_inventory } |
| # NOTE: The database name here has been changed to the default "postgres" database |
| # to use the private postgres instance and not the central postgres database. |
| url: jdbc:postgresql://pstg-write:5432/postgres |
| properties: |
| charSet: UTF-8 |
| maxWaitForConnection: 1s |
| validationQuery: "/* MyService Health Check */ SELECT 1" |
| minSize: 2 |
| maxSize: 8 |
| initialSize: 2 |
| checkConnectionWhileIdle: false |
| evictionInterval: 10s |
| minIdleTime: 1 minute |
| databusControllerConnection: |
| host: databus-controller-hostname |
| port: 8443 |
| mechId: |
| password: |
| required: false |
| httpClient: |
| minThreads: 1 |
| maxThreads: 128 |
| gzipEnabled: false |
| gzipEnabledForRequests: false |
| timeout: 5000milliseconds |
| connectionTimeout: 5000milliseconds |
| docker_config: |
| healthcheck: |
| type: "http" |
| interval: "30s" |
| timeout: "3s" |
| endpoint: "/dcae-service-types" |
| image: |
| { get_input: inventory_image } |
| host_port: |
| 8080 |
| container_port: |
| 8080 |
| relationships: |
| - type: dcae.relationships.component_contained_in |
| target: docker_host |
| - type: cloudify.relationships.depends_on |
| target: postgres |
| |
| postgres: |
| type: dcae.nodes.DockerContainer |
| properties: |
| name: |
| "pstg-write" |
| image: |
| "postgres:9.5.2" |
| relationships: |
| - type: dcae.relationships.component_contained_in |
| target: docker_host |
| interfaces: |
| cloudify.interfaces.lifecycle: |
| start: |
| inputs: |
| envs: |
| PGDATA: |
| "/var/lib/postgresql/data/pgdata" |
| POSTGRES_PASSWORD: |
| { get_input: postgres_password_inventory } |
| SERVICE_NAME: |
| "pstg-write" |
| ports: |
| - "5432:5432" |
| |
| docker_host: |
| type: dcae.nodes.SelectedDockerHost |
| properties: |
| location_id: |
| { get_input: location_id } |
| docker_host_override: |
| { get_input: docker_host_override } |