summaryrefslogtreecommitdiffstats
path: root/blueprints/reference_templates
diff options
context:
space:
mode:
Diffstat (limited to 'blueprints/reference_templates')
-rw-r--r--blueprints/reference_templates/k8s-datafile-collector.yaml-template132
-rw-r--r--blueprints/reference_templates/k8s-pgaas-database.yaml-template57
-rw-r--r--blueprints/reference_templates/k8s-pgaas-getdbinfo.yaml-template99
3 files changed, 288 insertions, 0 deletions
diff --git a/blueprints/reference_templates/k8s-datafile-collector.yaml-template b/blueprints/reference_templates/k8s-datafile-collector.yaml-template
new file mode 100644
index 0000000..1ca8940
--- /dev/null
+++ b/blueprints/reference_templates/k8s-datafile-collector.yaml-template
@@ -0,0 +1,132 @@
+# -*- indent-tabs-mode: nil -*- # vi: set expandtab:
+#
+# ============LICENSE_START====================================================
+# =============================================================================
+# Copyright (c) 2018-2019 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:
+- "http://www.getcloudify.org/spec/cloudify/3.4/types.yaml"
+- {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/k8splugin/1.4.13/k8splugin_types.yaml
+
+inputs:
+ dmaap_mr_host:
+ type: string
+ description: dmaap messagerouter host
+ default: message-router.onap.svc.cluster.local
+ dmaap_mr_port:
+ type: integer
+ description: dmaap messagerouter port
+ default: 3904
+ dmaap_mr_user:
+ type: string
+ description: dmaap messagerouter user name
+ default: "admin"
+ dmaap_mr_passwd:
+ type: string
+ description: dmaap messagerouter password
+ default: "admin"
+ dmaap_dr_host:
+ type: string
+ description: dmaap datarouter host
+ default: dmaap-dr-prov.onap.svc.cluster.local
+ dmaap_dr_port:
+ type: integer
+ description: dmaap datarouter port
+ default: 8443
+ dmaap_dr_user:
+ type: string
+ description: dmaap datarouter user name
+ default: "dradmin"
+ dmaap_dr_passwd:
+ type: string
+ description: dmaap datarouter password
+ default: "dradmin"
+ tag_version:
+ type: string
+ default: "{{ ONAPTEMPLATE_DOCKERREGURL_org_onap_dcaegen2_releases }}/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.1.1"
+ replicas:
+ type: integer
+ description: number of instances
+ default: 1
+ host_port:
+ type: integer
+ description: port on Kubernetes host where datafile API will be exposed
+ default: 30223
+ host_port_secure:
+ type: integer
+ description: secure port on Kubernetes host where datafile API will be exposed
+ default: 30224
+ secureEnableCert:
+ type: boolean
+ description: enable certificate base connection with PNF and DMaap
+ default: false
+node_templates:
+ datafile-collector:
+ interfaces:
+ cloudify.interfaces.lifecycle:
+ start:
+ inputs:
+ ports:
+ - concat: ["8100:", { get_input: host_port }]
+ - concat: ["8433:", { get_input: host_port_secure}]
+ properties:
+ application_config:
+ dmaap.dmaapConsumerConfiguration.dmaapHostName: { get_input: dmaap_mr_host }
+ dmaap.dmaapConsumerConfiguration.dmaapPortNumber: { get_input: dmaap_mr_port }
+ dmaap.dmaapConsumerConfiguration.dmaapTopicName: "/events/unauthenticated.VES_NOTIFICATION_OUTPUT"
+ dmaap.dmaapConsumerConfiguration.dmaapProtocol: "http"
+ dmaap.dmaapConsumerConfiguration.dmaapUserName: { get_input: dmaap_mr_user }
+ dmaap.dmaapConsumerConfiguration.dmaapUserPassword: { get_input: dmaap_mr_passwd }
+ dmaap.dmaapConsumerConfiguration.dmaapContentType: "application/json"
+ dmaap.dmaapConsumerConfiguration.consumerId: "C12"
+ dmaap.dmaapConsumerConfiguration.consumerGroup: "OpenDCAE-c12"
+ dmaap.dmaapConsumerConfiguration.timeoutMs: -1
+ dmaap.dmaapConsumerConfiguration.messageLimit: -1
+ dmaap.dmaapProducerConfiguration.dmaapHostName: { get_input: dmaap_dr_host }
+ dmaap.dmaapProducerConfiguration.dmaapPortNumber: { get_input: dmaap_dr_port }
+ dmaap.dmaapProducerConfiguration.dmaapTopicName: "publish"
+ dmaap.dmaapProducerConfiguration.dmaapProtocol: "https"
+ dmaap.dmaapProducerConfiguration.dmaapUserName: { get_input: dmaap_dr_user }
+ dmaap.dmaapProducerConfiguration.dmaapUserPassword: { get_input: dmaap_dr_passwd }
+ dmaap.dmaapProducerConfiguration.dmaapContentType: "application/octet-stream"
+ dmaap.ftp.ftpesConfiguration.keyCert: "/opt/app/datafile/config/dfc.jks"
+ dmaap.ftp.ftpesConfiguration.keyPassword: "secret"
+ dmaap.ftp.ftpesConfiguration.trustedCa: "/opt/app/datafile/config/ftp.jks"
+ dmaap.ftp.ftpesConfiguration.trustedCaPassword: "secret"
+ dmaap.security.trustStorePath: "/opt/app/datafile/etc/cert/trust.jks"
+ dmaap.security.trustStorePasswordPath: "/opt/app/datafile/etc/cert/trust.pass"
+ dmaap.security.keyStorePath: "/opt/app/datafile/etc/cert/key.p12"
+ dmaap.security.keyStorePasswordPath: "/opt/app/datafile/etc/cert/key.pass"
+ dmaap.security.enableDmaapCertAuth: { get_input: secureEnableCert }
+ docker_config:
+ healthcheck:
+ endpoint: /heartbeat
+ interval: 15s
+ timeout: 1s
+ type: http
+ image:
+ get_input: tag_version
+ replicas: {get_input: replicas}
+ name: 'dcae-datafile-collector'
+ dns_name: 'dcae-datafile-collector'
+ log_info:
+ log_directory: "/opt/app/datafile/logs"
+ tls_info:
+ cert_directory: '/opt/app/datafile/etc/cert/'
+ use_tls: true
+ type: dcae.nodes.ContainerizedPlatformComponent
diff --git a/blueprints/reference_templates/k8s-pgaas-database.yaml-template b/blueprints/reference_templates/k8s-pgaas-database.yaml-template
new file mode 100644
index 0000000..309c962
--- /dev/null
+++ b/blueprints/reference_templates/k8s-pgaas-database.yaml-template
@@ -0,0 +1,57 @@
+# -*- 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 a persistent database into the central postgres as a platform service.
+ This blueprint depends upon the deployment of the pgaas_plugin and the PGaaS service.
+ This blueprint is part of a suite of three blueprints:
+ k8s-pgaas-initdb takes control of the postgres server instance.
+ k8s-pgaas-database creates a database, roles and credentials associated with the database.
+ k8s-pgaas-getdbinfo shows how an application can access a database (including its roles and credentials) that was already created with k8s-pgaas-database.
+
+imports:
+ - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml
+ - "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_ccsdk_platform_plugins_releases }}/type_files/pgaas/1.1.0/pgaas_types.yaml"
+
+inputs:
+ blueprint_version:
+ type: string
+ default: '2018-03-29T14:28:59+0000'
+
+ # pgaas-specific info
+ k8s_pgaas_instance_fqdn:
+ type: string
+
+ database_description:
+ type: string
+ default: 'This is a sample database'
+
+ database_name:
+ type: string
+ default: sample
+
+node_templates:
+ pgaasdbtest:
+ type: dcae.nodes.pgaas.database
+ properties:
+ writerfqdn: { get_input: k8s_pgaas_instance_fqdn }
+ name: { get_input: database_name }
diff --git a/blueprints/reference_templates/k8s-pgaas-getdbinfo.yaml-template b/blueprints/reference_templates/k8s-pgaas-getdbinfo.yaml-template
new file mode 100644
index 0000000..6869f2c
--- /dev/null
+++ b/blueprints/reference_templates/k8s-pgaas-getdbinfo.yaml-template
@@ -0,0 +1,99 @@
+# -*- 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 an example of how an application can access the needed information about
+ a persistent database created as part of a PGaaS cluster.
+
+ For a given database "dbname" on a given PGaaS cluster "PGCLUSTERNAME",
+ there are three roles created:
+ admin role: has complete administrative control over that database
+ user role: has complete read and write access on that database
+ viewer role: only has read access on that database
+ The various attributes will return the appropriate information
+ that can be used with that role: host fqdn, role name and password.
+
+ This blueprint is part of a suite of three blueprints:
+ k8s-pgaas-initdb takes control of the postgres server instance.
+ k8s-pgaas-database creates a database, roles and credentials associated with the database.
+ k8s-pgaas-getdbinfo shows how an application can access a database (including its roles and credentials) that was already created with k8s-pgaas-database.
+
+imports:
+ - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml
+ - "{{ ONAPTEMPLATE_RAWREPOURL_org_onap_ccsdk_platform_plugins_releases }}/type_files/pgaas/1.1.0/pgaas_types.yaml"
+
+inputs:
+ k8s_pgaas_instance_fqdn:
+ type: string
+ database_name:
+ type: string
+
+node_templates:
+ pgclustername_dbname:
+ type: dcae.nodes.pgaas.database
+ properties:
+ writerfqdn: { get_input: k8s_pgaas_instance_fqdn }
+ name: { get_input: database_name }
+ use_existing: true
+
+outputs:
+ # admin role has control over table/index/view creation/dropping
+ pgclustername_dbname_admin_host:
+ description: Hostname for PGCLUSTERNAME dbname database
+ value: { get_attribute: [ pgclustername_dbname, admin, host ] }
+ pgclustername_dbname_admin_port:
+ description: Portname for PGCLUSTERNAME dbname database
+ value: { get_attribute: [ pgclustername_dbname, admin, port ] }
+ pgclustername_dbname_admin_user:
+ description: Admin Username for PGCLUSTERNAME dbname database
+ value: { get_attribute: [ pgclustername_dbname, admin, user ] }
+ pgclustername_dbname_admin_password:
+ description: Admin Password for PGCLUSTERNAME dbname database
+ value: { get_attribute: [ pgclustername_dbname, admin, password ] }
+
+ # user role can read and write the tables
+ pgclustername_dbname_user_host:
+ description: Hostname for PGCLUSTERNAME dbname database
+ value: { get_attribute: [ pgclustername_dbname, user, host ] }
+ pgclustername_dbname_user_port:
+ description: Portname for PGCLUSTERNAME dbname database
+ value: { get_attribute: [ pgclustername_dbname, user, port ] }
+ pgclustername_dbname_user_user:
+ description: User Username for PGCLUSTERNAME dbname database
+ value: { get_attribute: [ pgclustername_dbname, user, user ] }
+ pgclustername_dbname_user_password:
+ description: User Password for PGCLUSTERNAME dbname database
+ value: { get_attribute: [ pgclustername_dbname, user, password ] }
+
+ # viewer role can only read from the tables
+ pgclustername_dbname_viewer_host:
+ description: Hostname for PGCLUSTERNAME dbname database
+ value: { get_attribute: [ pgclustername_dbname, viewer, host ] }
+ pgclustername_dbname_viewer_port:
+ description: Portname for PGCLUSTERNAME dbname database
+ value: { get_attribute: [ pgclustername_dbname, viewer, port ] }
+ pgclustername_dbname_viewer_user:
+ description: Viewer Username for PGCLUSTERNAME dbname database
+ value: { get_attribute: [ pgclustername_dbname, viewer, user ] }
+ pgclustername_dbname_viewer_password:
+ description: Viewer Password for PGCLUSTERNAME dbname database
+ value: { get_attribute: [ pgclustername_dbname, viewer, password ] }