9382de4f7acd0daa18e416431bef0f6fc1a6495d
[dcaegen2/platform/blueprints.git] / blueprints / k8s-prh.yaml-template
1 # -*- indent-tabs-mode: nil -*- # vi: set expandtab:
2 #
3 # ============LICENSE_START====================================================
4 # =============================================================================
5 # Copyright (c) 2018-2019 AT&T, NOKIA
6 # =============================================================================
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #      http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 # ============LICENSE_END======================================================
19
20 tosca_definitions_version: cloudify_dsl_1_3
21
22 imports:
23   - "http://www.getcloudify.org/spec/cloudify/3.4/types.yaml"
24   - {{ ONAPTEMPLATE_RAWREPOURL_org_onap_dcaegen2_platform_plugins_releases }}/k8splugin/1.4.12/k8splugin_types.yaml
25
26 inputs:
27   pnfUrl:
28     type: string
29     default: "https://localhost:8443/aai/v12/network/pnfs/pnf"
30   aaiEnrichmentHost:
31     type: string
32     default: "aai"
33   aaiEnrichmentPort:
34     type: integer
35     default: 8443
36   aaiEnrichmentUser:
37     type: string
38     description: aai user name
39     default: "AAI"
40   aaiEnrichmentPasswd:
41     type: string
42     description: aai password
43     default: "AAI"
44   dmaap_pnfReady_url:
45     type: string
46     default: "http://localhost:8904/events/unauthenticated.PNF_READY"
47   dmaap_vesPnfRegOutput_url:
48     type: string
49     default: "http://localhost:8904/events/unauthenticated.VES_PNFREG_OUTPUT"
50   dmaap_pnfUpdate_url:
51     type: string
52     default: "http://localhost:8904/events/unauthenticated.PNF_UPDATE"
53   dmaap_host:
54     type: string
55     description: dmaap host
56     default: message-router
57   dmaap_port:
58     type: integer
59     description: dmaap port
60     default: 3904
61   dmaap_user:
62     type: string
63     description: dmap user name
64     default: "admin"
65   dmaap_passwd:
66     type: string
67     description: dmap password
68     default: "admin"
69   tag_version:
70     type: string
71     default: "{{ ONAPTEMPLATE_DOCKERREGURL_org_onap_dcaegen2_releases }}/onap/org.onap.dcaegen2.services.prh.prh-app-server:1.2.1"
72   replicas:
73     type: integer
74     description: number of instances
75     default: 1
76   host_port:
77     description: port on Kubernetes host where PRH API will be exposed
78     default: 0
79   secureEnableCert:
80     type: boolean
81     description: enable certificate base connection with AAI and DMaap
82     default: false
83 node_templates:
84   prh:
85     properties:
86       application_config:
87         dmaap.dmaapConsumerConfiguration.dmaapUrl: { get_input: dmaap_vesPnfRegOutput_url }
88         dmaap.dmaapConsumerConfiguration.dmaapHostName: { get_input: dmaap_host }
89         dmaap.dmaapConsumerConfiguration.dmaapPortNumber: { get_input: dmaap_port }
90         dmaap.dmaapConsumerConfiguration.dmaapTopicName: "/events/unauthenticated.VES_PNFREG_OUTPUT"
91         dmaap.dmaapConsumerConfiguration.dmaapProtocol: "http"
92         dmaap.dmaapConsumerConfiguration.dmaapUserName: { get_input: dmaap_user }
93         dmaap.dmaapConsumerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }
94         dmaap.dmaapConsumerConfiguration.dmaapContentType: "application/json"
95         dmaap.dmaapConsumerConfiguration.consumerId: "c12"
96         dmaap.dmaapConsumerConfiguration.consumerGroup: "OpenDCAE-c12"
97         dmaap.dmaapConsumerConfiguration.timeoutMs: -1
98         dmaap.dmaapConsumerConfiguration.messageLimit: -1
99         dmaap.dmaapProducerConfiguration.dmaapUrl: { get_input: dmaap_pnfReady_url }
100         dmaap.dmaapProducerConfiguration.dmaapHostName: { get_input: dmaap_host }
101         dmaap.dmaapProducerConfiguration.dmaapPortNumber: { get_input: dmaap_port }
102         dmaap.dmaapProducerConfiguration.dmaapTopicName: "/events/unauthenticated.PNF_READY"
103         dmaap.dmaapProducerConfiguration.dmaapProtocol: "http"
104         dmaap.dmaapProducerConfiguration.dmaapUserName: { get_input: dmaap_user }
105         dmaap.dmaapProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }
106         dmaap.dmaapProducerConfiguration.dmaapContentType: "application/json"
107         dmaap.dmaapUpdateProducerConfiguration.dmaapUrl: { get_input: dmaap_pnfUpdate_url }
108         dmaap.dmaapUpdateProducerConfiguration.dmaapHostName: { get_input: dmaap_host }
109         dmaap.dmaapUpdateProducerConfiguration.dmaapPortNumber: { get_input: dmaap_port }
110         dmaap.dmaapUpdateProducerConfiguration.dmaapTopicName: "/events/unauthenticated.PNF_UPDATE"
111         dmaap.dmaapUpdateProducerConfiguration.dmaapProtocol: "http"
112         dmaap.dmaapUpdateProducerConfiguration.dmaapUserName: { get_input: dmaap_user }
113         dmaap.dmaapUpdateProducerConfiguration.dmaapUserPassword: { get_input: dmaap_passwd }
114         dmaap.dmaapUpdateProducerConfiguration.dmaapContentType: "application/json"
115         aai.aaiClientConfiguration.pnfUrl: { get_input: pnfUrl }
116         aai.aaiClientConfiguration.aaiHost: { get_input: aaiEnrichmentHost }
117         aai.aaiClientConfiguration.aaiHostPortNumber: { get_input: aaiEnrichmentPort }
118         aai.aaiClientConfiguration.aaiProtocol: "https"
119         aai.aaiClientConfiguration.aaiUserName: { get_input: aaiEnrichmentUser }
120         aai.aaiClientConfiguration.aaiUserPassword: { get_input: aaiEnrichmentPasswd }
121         aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors: true
122         aai.aaiClientConfiguration.aaiBasePath: "/aai/v12"
123         aai.aaiClientConfiguration.aaiPnfPath: "/network/pnfs/pnf"
124         aai.aaiClientConfiguration.aaiServiceInstancePath: "/business/customers/customer/${customer}/service-subscriptions/service-subscription/${serviceType}/service-instances/service-instance/${serviceInstanceId}"
125         aai.aaiClientConfiguration.aaiHeaders:
126             X-FromAppId: "prh"
127             X-TransactionId: "9999"
128             Accept: "application/json"
129             Real-Time: "true"
130             Authorization: "Basic QUFJOkFBSQ=="
131         security.trustStorePath: "/opt/app/prh/etc/cert/trust.jks"
132         security.trustStorePasswordPath: "/opt/app/prh/etc/cert/trust.pass"
133         security.keyStorePath: "/opt/app/prh/etc/cert/key.p12"
134         security.keyStorePasswordPath: "/opt/app/prh/etc/cert/key.pass"
135         security.enableAaiCertAuth: { get_input: secureEnableCert }
136         security.enableDmaapCertAuth: { get_input: secureEnableCert }
137         streams_publishes:
138             pnf-update:
139               type: "message_router"
140               dmaap_info:
141                 topic_url: {get_input: dmaap_pnfUpdate_url }
142             pnf-ready:
143               type: "message_router"
144               dmaap_info:
145                 topic_url: { get_input: dmaap_pnfReady_url }
146         streams_subscribes:
147             ves-reg-output:
148               type: "message_router"
149               dmaap_info:
150                 topic_url: { get_input: dmaap_vesPnfRegOutput_url }
151
152       host_port:
153           { get_input: host_port }
154       container_port:
155         8100
156       docker_config:
157         healthcheck:
158           endpoint: /heartbeat
159           interval: 15s
160           timeout: 1s
161           type: http
162       image:
163         { get_input: tag_version }
164       replicas: {get_input: replicas}
165       name: 'dcae-prh'
166       dns_name: 'dcae-prh'
167       log_info:
168         log_directory: "/opt/app/prh/logs"
169       tls_info:
170         cert_directory: '/opt/app/prh/etc/cert/'
171         use_tls: true
172     type: dcae.nodes.ContainerizedPlatformComponent