Install/uninstall helm chart
[oom.git] / TOSCA / Helm / onap-blueprint.yaml
1 # ============LICENSE_START==========================================
2 # ===================================================================
3 # Copyright © 2017 AT&T
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #         http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #============LICENSE_END============================================
17
18 tosca_definitions_version: cloudify_dsl_1_3
19
20 imports:
21   - http://www.getcloudify.org/spec/cloudify/3.4.2/types.yaml
22   - http://www.getcloudify.org/spec/fabric-plugin/1.5/plugin.yaml
23
24 inputs:
25   # For agent, toggle to true.
26   install_method:
27     default: none # For fabric use false.
28   ip:
29   user:
30     default: centos
31   namespace_perfix:
32     default: onap
33
34 node_types:
35   cloudify.nodes.Helm:
36     derived_from: cloudify.nodes.SoftwareComponent
37     properties:
38       cwd:
39         default: /home/centos/oom/kubernetes/oneclick
40       args:
41         default:
42         - onap
43         - mso
44     interfaces:
45       cloudify.interfaces.lifecycle:
46         # This is for fabric: # Run Anywhere.
47         start:
48           implementation: fabric.fabric_plugin.tasks.run_script
49           inputs:
50             script_path:
51               default: helminstall.sh # Relative to the blueprint file.
52             process:
53               default: &process_vars
54                 cwd: { get_property: [ SELF, cwd ] }
55                 args: { get_property: [ SELF, args ] }
56             fabric_env:
57               default: &fabric_env
58                 user: { get_property: [ k8s_master, agent_config, user ] }
59                 host_string: { get_property: [ k8s_master, ip ] }
60                 key: { get_property: [ k8s_master, agent_config, key ] }
61         stop:
62           implementation: fabric.fabric_plugin.tasks.run_script
63           inputs:
64             script_path:
65               default: helmdelete.sh
66             process:
67               default: *process_vars
68             fabric_env:
69               default: *fabric_env
70
71 node_templates:
72
73   k8s_master:
74      type: cloudify.nodes.Compute
75      properties:
76        ip: { get_input: ip }
77        agent_config:
78          install_method: { get_input: install_method } # False for Fabric.
79          key: { get_secret: agent_key_private }
80          user: { get_input: user }
81
82   consul:
83      type: cloudify.nodes.Helm
84      properties:
85        args:
86        - { get_input: namespace_perfix }
87        - consul
88      relationships:
89        - type: cloudify.relationships.connected_to
90          target: k8s_master
91
92   msb:
93      type: cloudify.nodes.Helm
94      properties:
95        args:
96        - { get_input: namespace_perfix }
97        - msb
98      relationships:
99        - type: cloudify.relationships.connected_to
100          target: k8s_master
101
102
103   mso:
104     type: cloudify.nodes.Helm
105     properties:
106       args:
107       - { get_input: namespace_perfix }
108       - mso
109     relationships:
110       - type: cloudify.relationships.connected_to
111         target: k8s_master
112
113   appc:
114      type: cloudify.nodes.Helm
115      properties:
116        args:
117        - { get_input: namespace_perfix }
118        - appc
119      relationships:
120        - type: cloudify.relationships.connected_to
121          target: k8s_master
122
123   message-router:
124     type: cloudify.nodes.Helm
125     properties:
126       args:
127       - { get_input: namespace_perfix }
128       - message-router
129     relationships:
130       - type: cloudify.relationships.connected_to
131         target: k8s_master
132
133   sdnc:
134     type: cloudify.nodes.Helm
135     properties:
136       args:
137       - { get_input: namespace_perfix }
138       - sdnc
139     relationships:
140       - type: cloudify.relationships.connected_to
141         target: k8s_master
142
143   vid:
144     type: cloudify.nodes.Helm
145     properties:
146       args:
147       - { get_input: namespace_perfix }
148       - vid
149     relationships:
150       - type: cloudify.relationships.connected_to
151         target: k8s_master
152
153   robot:
154     type: cloudify.nodes.Helm
155     properties:
156       args:
157       - { get_input: namespace_perfix }
158       - robot
159     relationships:
160       - type: cloudify.relationships.connected_to
161         target: k8s_master
162
163   policy:
164     type: cloudify.nodes.Helm
165     properties:
166       args:
167       - { get_input: namespace_perfix }
168       - policy
169     relationships:
170       - type: cloudify.relationships.connected_to
171         target: k8s_master
172
173   portal:
174     type: cloudify.nodes.Helm
175     properties:
176       args:
177       - { get_input: namespace_perfix }
178       - portal
179     relationships:
180       - type: cloudify.relationships.connected_to
181         target: k8s_master
182
183   aai:
184     type: cloudify.nodes.Helm
185     properties:
186       args:
187       - { get_input: namespace_perfix }
188       - aai
189     relationships:
190       - type: cloudify.relationships.connected_to
191         target: k8s_master
192
193   sdc:
194     type: cloudify.nodes.Helm
195     properties:
196       args:
197       - { get_input: namespace_perfix }
198       - sdc
199     relationships:
200       - type: cloudify.relationships.connected_to
201         target: k8s_master
202
203   log:
204     type: cloudify.nodes.Helm
205     properties:
206       args:
207       - { get_input: namespace_perfix }
208       - log
209     relationships:
210       - type: cloudify.relationships.connected_to
211         target: k8s_master
212
213   cli:
214     type: cloudify.nodes.Helm
215     properties:
216       args:
217       - { get_input: namespace_perfix }
218       - cli
219     relationships:
220       - type: cloudify.relationships.connected_to
221         target: k8s_master
222
223   multicloud:
224     type: cloudify.nodes.Helm
225     properties:
226       args:
227       - { get_input: namespace_perfix }
228       - multicloud
229     relationships:
230       - type: cloudify.relationships.connected_to
231         target: k8s_master
232
233   clamp:
234     type: cloudify.nodes.Helm
235     properties:
236       args:
237       - { get_input: namespace_perfix }
238       - clamp
239     relationships:
240       - type: cloudify.relationships.connected_to
241         target: k8s_master
242
243   vnfsdk:
244     type: cloudify.nodes.Helm
245     properties:
246       args:
247       - { get_input: namespace_perfix }
248       - vnfsdk
249     relationships:
250       - type: cloudify.relationships.connected_to
251         target: k8s_master
252
253   uui:
254     type: cloudify.nodes.Helm
255     properties:
256       args:
257       - { get_input: namespace_perfix }
258       - uui
259     relationships:
260       - type: cloudify.relationships.connected_to
261         target: k8s_master
262
263   aaf:
264     type: cloudify.nodes.Helm
265     properties:
266       args:
267       - { get_input: namespace_perfix }
268       - aaf
269     relationships:
270       - type: cloudify.relationships.connected_to
271         target: k8s_master
272
273   vfc:
274     type: cloudify.nodes.Helm
275     properties:
276       args:
277       - { get_input: namespace_perfix }
278       - vfc
279     relationships:
280       - type: cloudify.relationships.connected_to
281         target: k8s_master
282
283   kube2msb:
284     type: cloudify.nodes.Helm
285     properties:
286       args:
287       - { get_input: namespace_perfix }
288       - kube2msb
289     relationships:
290       - type: cloudify.relationships.connected_to
291         target: k8s_master