1698aa210e3ca62f82de3482eb17b3294dc10eca
[oom.git] / cloudify / types / kubernetes.yaml
1 inputs:
2
3   join_command:
4     type: string
5
6   labels:
7     default:
8       app: { get_input: app_name }
9
10   kubernetes_master_ip:
11     type: string
12
13   kubernetes_master_agent_user:
14     default: { get_input: agent_user }
15
16 node_types:
17
18   cloudify.nodes.Kubernetes.Node:
19     derived_from: cloudify.nodes.Root
20     interfaces:
21       cloudify.interfaces.lifecycle:
22         create:
23           implementation: cloudify/scripts/create.py
24         configure:
25           implementation: cloudify/scripts/configure_node.py
26           inputs:
27             join_command:
28               default: { get_input: join_command }
29         start:
30           implementation: fabric.fabric_plugin.tasks.run_task
31           inputs:
32             tasks_file:
33               default: cloudify/scripts/tasks.py
34             task_name:
35               default: label_node
36             task_properties:
37               default:
38                 hostname: { get_attribute: [ SELF, hostname ] }
39                 labels: { get_input: labels }
40             fabric_env:
41               default:
42                 host_string: { get_input: kubernetes_master_ip }
43                 user: { get_input: kubernetes_master_agent_user }
44                 key: { get_secret: agent_key_private }
45 #        stop:
46 #          implementation: fabric.fabric_plugin.tasks.run_task
47 #          inputs:
48 #            tasks_file:
49 #              default: cloudify/scripts/tasks.py
50 #            task_name:
51 #              default: stop_node
52 #            task_properties:
53 #              default:
54 #                hostname: { get_attribute: [ SELF, hostname ] }
55 #            fabric_env:
56 #              default:
57 #                host_string: { get_input: kubernetes_master_ip }
58 #                user: { get_input: kubernetes_master_agent_user }
59 #                key: { get_secret: agent_key_private }
60         delete:
61           implementation: fabric.fabric_plugin.tasks.run_task
62           inputs:
63             tasks_file:
64               default: cloudify/scripts/tasks.py
65             task_name:
66               default: delete_node
67             task_properties:
68               default:
69                 hostname: { get_attribute: [ SELF, hostname ] }
70             fabric_env:
71               default:
72                 host_string: { get_input: kubernetes_master_ip }
73                 user: { get_input: kubernetes_master_agent_user }
74                 key: { get_secret: agent_key_private }
75
76   cloudify.kubernetes.resources.Namespace:
77     derived_from: cloudify.kubernetes.resources.Main
78     properties:
79       _api_mapping:
80         default:
81           create:
82             api: CoreV1Api
83             method: create_namespace
84             payload: V1Namespace
85           read:
86             api: CoreV1Api
87             method: read_namespace
88           delete:
89             api: CoreV1Api
90             method: delete_namespace
91             payload: V1DeleteOptions