50ac29b9974b2245d8d802442d0b99864ffe946d
[oom.git] / onap-blueprint.yaml
1 tosca_definitions_version: cloudify_dsl_1_3
2
3 description: >
4   Blueprint deploys all ONAP kubernetes resources defined in YAML files on existing kubernetes cluster
5   The following pre-setup steps are assumed, but not required:
6   - Create Cloudify Example Environment: https://github.com/cloudify-examples/cloudify-environment-setup.
7   - Create Kubernetes Cluster: https://github.com/cloudify-examples/simple-kubernetes-blueprint.
8
9 imports:
10   - https://raw.githubusercontent.com/cloudify-cosmo/cloudify-manager/4.1/resources/rest-service/cloudify/types/types.yaml
11   # Plugin required: https://github.com/cloudify-incubator/cloudify-kubernetes-plugin/releases/download/1.2.0/cloudify_kubernetes_plugin-1.2.0-py27-none-linux_x86_64-centos-Core.wgn
12   - https://raw.githubusercontent.com/cloudify-incubator/cloudify-kubernetes-plugin/1.2.0/plugin.yaml
13   - cloudify/types/onap.yaml
14
15 inputs:
16   kubernetes_configuration_file_content:
17     description: >
18       File content of kubernetes master YAML configuration
19
20   apps:
21     description: >
22       List of ONAP apps names to be deployed.
23       Default empty array (deploy all available apps).
24     default: []
25
26   namespace_prefix:
27     type: string
28     description: >
29       Kubernetes namespace name prefix which will be uese for all ONAP apps
30     default: onap
31
32   docker_registry:
33     type: string
34     default: regsecret
35
36   docker_server:
37     type: string
38     default: nexus3.onap.org:10001
39
40   docker_username:
41     type: string
42     default: docker
43
44   docker_password:
45     type: string
46     default: docker
47
48   docker_email:
49     type: string
50     default: email@email.com
51
52 dsl_definitions:
53   inputs: &app_inputs
54     namespace_prefix: { get_input: namespace_prefix }
55     docker_registry: { get_input: docker_registry }
56     docker_server: { get_input: docker_server }
57     docker_username: { get_input: docker_username }
58     docker_password: { get_input: docker_password }
59     docker_email: { get_input: docker_email }
60
61 node_templates:
62   kubernetes_master:
63     type: cloudify.kubernetes.nodes.Master
64     properties:
65       configuration:
66         file_content: { get_input: kubernetes_configuration_file_content }
67
68   init_pod:
69     type: cloudify.kubernetes.resources.Pod
70     properties:
71       definition:
72         file:
73           resource_path: kubernetes/config/pod-config-init.yaml
74     relationships:
75       - type: cloudify.kubernetes.relationships.managed_by_master
76         target: kubernetes_master
77
78   mso_app:
79     type: cloudify.onap.kubernetes.App
80     properties:
81       name: mso
82       resources:
83           - kubernetes/mso/templates/mso-deployment.yaml
84           - kubernetes/mso/templates/db-deployment.yaml
85       services: kubernetes/mso/templates/all-services.yaml
86       inputs: *app_inputs
87     relationships:
88       - type: cloudify.kubernetes.relationships.managed_by_master
89         target: kubernetes_master
90       - type: cloudify.relationships.depends_on
91         target: init_pod
92
93   message_router_app:
94     type: cloudify.onap.kubernetes.App
95     properties:
96       name: message-router
97       resources:
98           - kubernetes/message-router/templates/message-router-zookeeper.yaml
99           - kubernetes/message-router/templates/message-router-dmaap.yaml
100           - kubernetes/message-router/templates/message-router-kafka.yaml
101       services: kubernetes/message-router/templates/all-services.yaml
102       inputs: *app_inputs
103     relationships:
104       - type: cloudify.kubernetes.relationships.managed_by_master
105         target: kubernetes_master
106       - type: cloudify.relationships.depends_on
107         target: init_pod
108
109   sdc_app:
110     type: cloudify.onap.kubernetes.App
111     properties:
112       name: sdc
113       resources:
114         - kubernetes/sdc/sdc-es.yaml
115         - kubernetes/sdc/sdc-fe.yaml
116         - kubernetes/sdc/sdc-kb.yaml
117         - kubernetes/sdc/sdc-cs.yaml
118         - kubernetes/sdc/sdc-be.yaml
119       services: kubernetes/sdc/all-services.yaml
120       inputs: *app_inputs
121     relationships:
122       - type: cloudify.kubernetes.relationships.managed_by_master
123         target: kubernetes_master
124       - type: cloudify.relationships.depends_on
125         target: init_pod
126
127   aai_app:
128     type: cloudify.onap.kubernetes.App
129     properties:
130       name: aai
131       resources:
132         - kubernetes/aai/aai-deployment.yaml
133         - kubernetes/aai/modelloader-deployment.yaml
134         - kubernetes/aai/hbase-deployment.yaml
135       services: kubernetes/aai/all-services.yaml
136       inputs: *app_inputs
137     relationships:
138       - type: cloudify.kubernetes.relationships.managed_by_master
139         target: kubernetes_master
140       - type: cloudify.relationships.depends_on
141         target: init_pod
142
143   robot_app:
144     type: cloudify.onap.kubernetes.App
145     properties:
146       name: robot
147       resources:
148         - kubernetes/robot/robot-deployment.yaml
149       services: kubernetes/robot/all-services.yaml
150       inputs: *app_inputs
151     relationships:
152       - type: cloudify.kubernetes.relationships.managed_by_master
153         target: kubernetes_master
154       - type: cloudify.relationships.depends_on
155         target: init_pod
156
157   vid_app:
158     type: cloudify.onap.kubernetes.App
159     properties:
160       name: vid
161       resources:
162         - kubernetes/vid/vid-mariadb-deployment.yaml
163         - kubernetes/vid/vid-server-deployment.yaml
164       services: kubernetes/vid/all-services.yaml
165       inputs: *app_inputs
166     relationships:
167       - type: cloudify.kubernetes.relationships.managed_by_master
168         target: kubernetes_master
169       - type: cloudify.relationships.depends_on
170         target: init_pod
171
172   sdnc_app:
173     type: cloudify.onap.kubernetes.App
174     properties:
175       name: sdnc
176       resources:
177         - kubernetes/sdnc/web-deployment.yaml
178         - kubernetes/sdnc/sdnc-deployment.yaml
179         - kubernetes/sdnc/dgbuilder-deployment.yaml
180         - kubernetes/sdnc/db-deployment.yaml
181       services: kubernetes/sdnc/all-services.yaml
182       inputs: *app_inputs
183     relationships:
184       - type: cloudify.kubernetes.relationships.managed_by_master
185         target: kubernetes_master
186       - type: cloudify.relationships.depends_on
187         target: init_pod
188
189   portal_app:
190     type: cloudify.onap.kubernetes.App
191     properties:
192       name: portal
193       resources:
194         - kubernetes/portal/portal-widgets-deployment.yaml
195         - kubernetes/portal/portal-apps-deployment.yaml
196         - kubernetes/portal/portal-mariadb-deployment.yaml
197         - kubernetes/portal/portal-vnc-dep.yaml
198       services: kubernetes/portal/all-services.yaml
199       inputs: *app_inputs
200     relationships:
201       - type: cloudify.kubernetes.relationships.managed_by_master
202         target: kubernetes_master
203       - type: cloudify.relationships.depends_on
204         target: init_pod
205
206   policy_app:
207     type: cloudify.onap.kubernetes.App
208     properties:
209       name: policy
210       resources:
211         - kubernetes/policy/dep-drools.yaml
212         - kubernetes/policy/dep-nexus.yaml
213         - kubernetes/policy/dep-brmsgw.yaml
214         - kubernetes/policy/dep-pdp.yaml
215         - kubernetes/policy/dep-pap.yaml
216         - kubernetes/policy/dep-maria.yaml
217         - kubernetes/policy/dep-pypdp.yaml
218       services: kubernetes/policy/all-services.yaml
219       inputs: *app_inputs
220     relationships:
221       - type: cloudify.kubernetes.relationships.managed_by_master
222         target: kubernetes_master
223       - type: cloudify.relationships.depends_on
224         target: init_pod
225
226   appc_app:
227     type: cloudify.onap.kubernetes.App
228     properties:
229       name: appc
230       resources:
231         - kubernetes/appc/appc-deployment.yaml
232         - kubernetes/appc/dgbuilder-deployment.yaml
233         - kubernetes/appc/db-deployment.yaml
234       services: kubernetes/appc/all-services.yaml
235       inputs: *app_inputs
236     relationships:
237       - type: cloudify.kubernetes.relationships.managed_by_master
238         target: kubernetes_master
239       - type: cloudify.relationships.depends_on
240         target: init_pod