-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathnuki.yaml
141 lines (126 loc) · 3.32 KB
/
nuki.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
---
# Install Dependencies
settings_:
type: nukikata
context_file: scripts/settings.yaml
merge: true
# Action
action_:
type: checkbox
message: What we trying to do now?
choices:
- install: Install dependencies
- profiles: Set SSH and wallet profiles
- list: List deployments
- create: Create new deployment
- modify: Modify deployment
- apply: Apply deployment
- destroy: Destroy deployment
# Install Dependencies
installs_:
type: nukikata
context_file: scripts/installs.yaml
existing_context: "{{ nuki }}"
when: "{{ 'install' in nuki.action_ }}"
# Profiles
profiles_:
type: nukikata
context_file: scripts/profiles.yaml
existing_context: "{{ nuki }}"
when: "{{ 'profiles' in nuki.action_ }}"
# List Deployments
list_:
type: table
column_names:
- Namespace
- Network Name
- Environment
- Provider
- Region
- Stack
- Deployment ID
contents_split: "{{ nuki.deployments_list_ }}"
separator: "."
when: "{{ 'list' in nuki.action_ or 'deploy' in nuki.action_ }}"
# Create Deployment
create_:
type: nukikata
chdir: polkadot
when: "{{ 'create' in nuki.action_ }}"
existing_context: "{{ nuki }}"
# Modify Existing
modify_list_:
type: checkbox
message: Which deployment would you like to modify?
choices: "{{ nuki.deployments_list_ }}"
when:
- "{{ 'modify' in nuki.action_ }}"
- "{{ nuki.deployments_list_ | length != 0 }}"
modify_warning:
type: print
statement: There are no deployments to modify
when:
- "{{ 'modify' in nuki.action_ }}"
- "{{ nuki.deployments_list_ | length == 0 }}"
modify_:
type: editor
message: Writer
when:
- "{{ 'modify' in nuki.action_ }}"
- "{{ nuki.deployments_list_ | length != 0 }}"
loop: "{{ nuki.modify_list_ }}"
eargs:
filename: "deployments/{{ nuki.item }}"
editor: nano
ext: .yaml
save: true
# Apply
apply_choices_:
type: checkbox
message: Which deployments would you like to apply?
when: "{{ 'apply' in nuki.action_ }}"
choices: "{{ nuki.deployments_list_ }}"
apply_items_:
type: split
separator: .
when: "{{ 'apply' in nuki.action_ }}"
input: "{{ nuki.apply_choices_ }}"
apply_:
type: nukikata
context_file: "{{ nuki.scripts_dir_ }}/run.yaml"
when: "{{ 'apply' in nuki.action_ }}"
loop: "{{ nuki.apply_items_ }}"
existing_context:
namespace: "{{ nuki.item[0] }}"
network_name: "{{ nuki.item[1] }}"
provider: "{{ nuki.item[2] }}"
environment: "{{ nuki.item[3] }}"
region: "{{ nuki.item[4] }}"
stack: "{{ nuki.item[5] }}"
deployment_id: "{{ nuki.item[6] }}"
action: apply
# Destroy
destroy_choices_:
type: checkbox
message: Which deployments would you like to destroy?
when: "{{ 'destroy' in nuki.action_ }}"
choices: "{{ nuki.deployments_list_ }}"
destroy_items_:
type: split
separator: .
when: "{{ 'destroy' in nuki.action_ }}"
input: "{{ nuki.destroy_choices_ }}"
destroy_:
type: nukikata
context_file: "{{ nuki.scripts_dir_ }}/run.yaml"
when: "{{ 'destroy' in nuki.action_ }}"
loop: "{{ nuki.destroy_items_ }}"
existing_context:
namespace: "{{ nuki.item[0] }}"
network_name: "{{ nuki.item[1] }}"
provider: "{{ nuki.item[2] }}"
environment: "{{ nuki.item[3] }}"
region: "{{ nuki.item[4] }}"
stack: "{{ nuki.item[5] }}"
deployment_id: "{{ nuki.item[6] }}"
action: destroy