Merge "Install/uninstall helm chart"
[oom.git] / TOSCA / Helm / onap-blueprint.yaml
diff --git a/TOSCA/Helm/onap-blueprint.yaml b/TOSCA/Helm/onap-blueprint.yaml
new file mode 100644 (file)
index 0000000..092f743
--- /dev/null
@@ -0,0 +1,291 @@
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright © 2017 AT&T
+#
+# 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.2/types.yaml
+  - http://www.getcloudify.org/spec/fabric-plugin/1.5/plugin.yaml
+
+inputs:
+  # For agent, toggle to true.
+  install_method:
+    default: none # For fabric use false.
+  ip:
+  user:
+    default: centos
+  namespace_perfix:
+    default: onap
+
+node_types:
+  cloudify.nodes.Helm:
+    derived_from: cloudify.nodes.SoftwareComponent
+    properties:
+      cwd:
+        default: /home/centos/oom/kubernetes/oneclick
+      args:
+        default:
+        - onap
+        - mso
+    interfaces:
+      cloudify.interfaces.lifecycle:
+        # This is for fabric: # Run Anywhere.
+        start:
+          implementation: fabric.fabric_plugin.tasks.run_script
+          inputs:
+            script_path:
+              default: helminstall.sh # Relative to the blueprint file.
+            process:
+              default: &process_vars
+                cwd: { get_property: [ SELF, cwd ] }
+                args: { get_property: [ SELF, args ] }
+            fabric_env:
+              default: &fabric_env
+                user: { get_property: [ k8s_master, agent_config, user ] }
+                host_string: { get_property: [ k8s_master, ip ] }
+                key: { get_property: [ k8s_master, agent_config, key ] }
+        stop:
+          implementation: fabric.fabric_plugin.tasks.run_script
+          inputs:
+            script_path:
+              default: helmdelete.sh
+            process:
+              default: *process_vars
+            fabric_env:
+              default: *fabric_env
+
+node_templates:
+
+  k8s_master:
+     type: cloudify.nodes.Compute
+     properties:
+       ip: { get_input: ip }
+       agent_config:
+         install_method: { get_input: install_method } # False for Fabric.
+         key: { get_secret: agent_key_private }
+         user: { get_input: user }
+
+  consul:
+     type: cloudify.nodes.Helm
+     properties:
+       args:
+       - { get_input: namespace_perfix }
+       - consul
+     relationships:
+       - type: cloudify.relationships.connected_to
+         target: k8s_master
+
+  msb:
+     type: cloudify.nodes.Helm
+     properties:
+       args:
+       - { get_input: namespace_perfix }
+       - msb
+     relationships:
+       - type: cloudify.relationships.connected_to
+         target: k8s_master
+
+
+  mso:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - mso
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
+  appc:
+     type: cloudify.nodes.Helm
+     properties:
+       args:
+       - { get_input: namespace_perfix }
+       - appc
+     relationships:
+       - type: cloudify.relationships.connected_to
+         target: k8s_master
+
+  message-router:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - message-router
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
+  sdnc:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - sdnc
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
+  vid:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - vid
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
+  robot:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - robot
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
+  policy:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - policy
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
+  portal:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - portal
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
+  aai:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - aai
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
+  sdc:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - sdc
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
+  log:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - log
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
+  cli:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - cli
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
+  multicloud:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - multicloud
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
+  clamp:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - clamp
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
+  vnfsdk:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - vnfsdk
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
+  uui:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - uui
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
+  aaf:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - aaf
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
+  vfc:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - vfc
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master
+
+  kube2msb:
+    type: cloudify.nodes.Helm
+    properties:
+      args:
+      - { get_input: namespace_perfix }
+      - kube2msb
+    relationships:
+      - type: cloudify.relationships.connected_to
+        target: k8s_master