[OOM-71] Message Router Kubernetes-Tosca Templates
[oom.git] / cloudify / types / kubernetes.yaml
diff --git a/cloudify/types/kubernetes.yaml b/cloudify/types/kubernetes.yaml
new file mode 100644 (file)
index 0000000..1698aa2
--- /dev/null
@@ -0,0 +1,91 @@
+inputs:
+
+  join_command:
+    type: string
+
+  labels:
+    default:
+      app: { get_input: app_name }
+
+  kubernetes_master_ip:
+    type: string
+
+  kubernetes_master_agent_user:
+    default: { get_input: agent_user }
+
+node_types:
+
+  cloudify.nodes.Kubernetes.Node:
+    derived_from: cloudify.nodes.Root
+    interfaces:
+      cloudify.interfaces.lifecycle:
+        create:
+          implementation: cloudify/scripts/create.py
+        configure:
+          implementation: cloudify/scripts/configure_node.py
+          inputs:
+            join_command:
+              default: { get_input: join_command }
+        start:
+          implementation: fabric.fabric_plugin.tasks.run_task
+          inputs:
+            tasks_file:
+              default: cloudify/scripts/tasks.py
+            task_name:
+              default: label_node
+            task_properties:
+              default:
+                hostname: { get_attribute: [ SELF, hostname ] }
+                labels: { get_input: labels }
+            fabric_env:
+              default:
+                host_string: { get_input: kubernetes_master_ip }
+                user: { get_input: kubernetes_master_agent_user }
+                key: { get_secret: agent_key_private }
+#        stop:
+#          implementation: fabric.fabric_plugin.tasks.run_task
+#          inputs:
+#            tasks_file:
+#              default: cloudify/scripts/tasks.py
+#            task_name:
+#              default: stop_node
+#            task_properties:
+#              default:
+#                hostname: { get_attribute: [ SELF, hostname ] }
+#            fabric_env:
+#              default:
+#                host_string: { get_input: kubernetes_master_ip }
+#                user: { get_input: kubernetes_master_agent_user }
+#                key: { get_secret: agent_key_private }
+        delete:
+          implementation: fabric.fabric_plugin.tasks.run_task
+          inputs:
+            tasks_file:
+              default: cloudify/scripts/tasks.py
+            task_name:
+              default: delete_node
+            task_properties:
+              default:
+                hostname: { get_attribute: [ SELF, hostname ] }
+            fabric_env:
+              default:
+                host_string: { get_input: kubernetes_master_ip }
+                user: { get_input: kubernetes_master_agent_user }
+                key: { get_secret: agent_key_private }
+
+  cloudify.kubernetes.resources.Namespace:
+    derived_from: cloudify.kubernetes.resources.Main
+    properties:
+      _api_mapping:
+        default:
+          create:
+            api: CoreV1Api
+            method: create_namespace
+            payload: V1Namespace
+          read:
+            api: CoreV1Api
+            method: read_namespace
+          delete:
+            api: CoreV1Api
+            method: delete_namespace
+            payload: V1DeleteOptions