choria-mcorpc-support 2.24.2 → 2.25.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c9b96995926bcb736c4d7340f1e35c82673db5ce74de15443a79fba36873a2a
4
- data.tar.gz: f00bd913097f164271403440750015b73041d61b54712dadc728f0b56859d9c9
3
+ metadata.gz: 434e6312294b09fba1fea87dd7c271492d89c29e68682577ae5c4b1ae0c2b701
4
+ data.tar.gz: 2a1bb5d6fe59ebcddf47f53a1405166bacc290619b75ce4136b81b5038d709e6
5
5
  SHA512:
6
- metadata.gz: 996376fe60e4d07d576f18900fb17c062888e467dc04354b58665d7f16ac55dbd44a778146d70e517ea4e5c5ba11cc3437a83ac83644ff9493fcb3c48cc5fece
7
- data.tar.gz: 217bcb3d3b7ec754dcb0756c68d68ec539546b44f084191b5abd47a21628b1029deabe118ab356db34a5727565734d34bf74c15d4c518a9fcc8109a066442fab
6
+ metadata.gz: 1d23e06c2ff49f69808a416d3d3b44b80b717cb16d6c3895a95d46299e5eb76eadff29ba6c3e68a317e2ef6c60216f34c0880a35509340c4b8047d54264310eb
7
+ data.tar.gz: 64abef1eddb1550c34a37f44d6bb77c51d048d6e98e6f6ba7489e30500f464cf9f6f4bde954eabfdc484e1106df0e34a335c627b624b77b9fb42b4730384f7bb
@@ -0,0 +1,283 @@
1
+ metadata :name => "choria_provision",
2
+ :description => "Choria Provisioner",
3
+ :author => "R.I.Pienaar <rip@devco.net>",
4
+ :license => "Apache-2.0",
5
+ :version => "0.23.0",
6
+ :url => "https://choria.io",
7
+ :timeout => 20
8
+
9
+
10
+ action "configure", :description => "Configure the Choria Server" do
11
+ display :failed
12
+
13
+ input :ca,
14
+ :prompt => "CA Bundle",
15
+ :description => "PEM text block for the CA",
16
+ :type => :string,
17
+ :validation => '^-----BEGIN CERTIFICATE-----',
18
+ :maxlength => 20480,
19
+ :optional => true
20
+
21
+
22
+ input :certificate,
23
+ :prompt => "Certificate",
24
+ :description => "PEM text block for the certificate",
25
+ :type => :string,
26
+ :validation => '^-----BEGIN CERTIFICATE-----',
27
+ :maxlength => 10240,
28
+ :optional => true
29
+
30
+
31
+ input :config,
32
+ :prompt => "Configuration",
33
+ :description => "The configuration to apply to this node",
34
+ :type => :string,
35
+ :validation => '^{.+}$',
36
+ :maxlength => 2048,
37
+ :optional => false
38
+
39
+
40
+ input :ecdh_public,
41
+ :prompt => "ECDH Public Key",
42
+ :description => "Required when sending a private key",
43
+ :type => :string,
44
+ :validation => '.',
45
+ :maxlength => 64,
46
+ :optional => true
47
+
48
+
49
+ input :key,
50
+ :prompt => "PEM text block for the private key",
51
+ :description => "",
52
+ :type => :string,
53
+ :validation => '-----BEGIN RSA PRIVATE KEY-----',
54
+ :maxlength => 10240,
55
+ :optional => true
56
+
57
+
58
+ input :ssldir,
59
+ :prompt => "SSL Dir",
60
+ :description => "Directory for storing the certificate in",
61
+ :type => :string,
62
+ :validation => '.',
63
+ :maxlength => 500,
64
+ :optional => true
65
+
66
+
67
+ input :token,
68
+ :prompt => "Token",
69
+ :description => "Authentication token to pass to the server",
70
+ :type => :string,
71
+ :validation => '.',
72
+ :maxlength => 128,
73
+ :optional => true
74
+
75
+
76
+
77
+
78
+ output :message,
79
+ :description => "Status message from the Provisioner",
80
+ :type => "string",
81
+ :display_as => "Message"
82
+
83
+ end
84
+
85
+ action "gencsr", :description => "Request a CSR from the Choria Server" do
86
+ display :always
87
+
88
+ input :C,
89
+ :prompt => "Country",
90
+ :description => "Country Code",
91
+ :type => :string,
92
+ :validation => '^[A-Z]{2}$',
93
+ :maxlength => 2,
94
+ :optional => true
95
+
96
+
97
+ input :L,
98
+ :prompt => "Locality",
99
+ :description => "Locality or municipality (such as city or town name)",
100
+ :type => :string,
101
+ :validation => '^[\w\s-]+$',
102
+ :maxlength => 50,
103
+ :optional => true
104
+
105
+
106
+ input :O,
107
+ :prompt => "Organization",
108
+ :description => "Organization",
109
+ :type => :string,
110
+ :validation => '^[\w\s-]+$',
111
+ :maxlength => 50,
112
+ :optional => true
113
+
114
+
115
+ input :OU,
116
+ :prompt => "Organizational Unit",
117
+ :description => "Organizational Unit",
118
+ :type => :string,
119
+ :validation => '^[\w\s-]+$',
120
+ :maxlength => 50,
121
+ :optional => true
122
+
123
+
124
+ input :ST,
125
+ :prompt => "State",
126
+ :description => "State",
127
+ :type => :string,
128
+ :validation => '^[\w\s-]+$',
129
+ :maxlength => 50,
130
+ :optional => true
131
+
132
+
133
+ input :cn,
134
+ :prompt => "Common Name",
135
+ :description => "The certificate Common Name to place in the CSR",
136
+ :type => :string,
137
+ :validation => '^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]).)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$',
138
+ :maxlength => 80,
139
+ :optional => true
140
+
141
+
142
+ input :token,
143
+ :prompt => "Token",
144
+ :description => "Authentication token to pass to the server",
145
+ :type => :string,
146
+ :validation => '.',
147
+ :maxlength => 128,
148
+ :optional => true
149
+
150
+
151
+
152
+
153
+ output :csr,
154
+ :description => "PEM text block for the CSR",
155
+ :type => "string",
156
+ :display_as => "CSR"
157
+
158
+ output :public_key,
159
+ :description => "PEM text block of the public key that made the CSR",
160
+ :type => "string",
161
+ :display_as => "Public Key"
162
+
163
+ output :ssldir,
164
+ :description => "SSL directory as determined by the server",
165
+ :type => "string",
166
+ :display_as => "SSL Dir"
167
+
168
+ end
169
+
170
+ action "release_update", :description => "Performs an in-place binary update and restarts Choria" do
171
+ display :always
172
+
173
+ input :repository,
174
+ :prompt => "Repository URL",
175
+ :description => "HTTP(S) server hosting the update repository",
176
+ :type => :string,
177
+ :validation => '^http(s*)://',
178
+ :maxlength => 512,
179
+ :optional => false
180
+
181
+
182
+ input :token,
183
+ :prompt => "Token",
184
+ :description => "Authentication token to pass to the server",
185
+ :type => :string,
186
+ :validation => '.',
187
+ :maxlength => 128,
188
+ :optional => true
189
+
190
+
191
+ input :version,
192
+ :prompt => "Version to update to",
193
+ :description => "Package version to update to",
194
+ :type => :string,
195
+ :validation => '.+',
196
+ :maxlength => 32,
197
+ :optional => false
198
+
199
+
200
+
201
+
202
+ output :message,
203
+ :description => "Status message from the Provisioner",
204
+ :type => "string",
205
+ :display_as => "Message"
206
+
207
+ end
208
+
209
+ action "jwt", :description => "Re-enable provision mode in a running Choria Server" do
210
+ display :always
211
+
212
+ input :token,
213
+ :prompt => "Token",
214
+ :description => "Authentication token to pass to the server",
215
+ :type => :string,
216
+ :validation => '.',
217
+ :maxlength => 128,
218
+ :optional => true
219
+
220
+
221
+
222
+
223
+ output :ecdh_public,
224
+ :description => "The ECDH public key for calculating shared secrets",
225
+ :type => "string",
226
+ :display_as => "ECDH Public Key"
227
+
228
+ output :jwt,
229
+ :description => "The contents of the JWT token",
230
+ :type => "string",
231
+ :display_as => "JWT Token"
232
+
233
+ end
234
+
235
+ action "reprovision", :description => "Reenable provision mode in a running Choria Server" do
236
+ display :always
237
+
238
+ input :token,
239
+ :prompt => "Token",
240
+ :description => "Authentication token to pass to the server",
241
+ :type => :string,
242
+ :validation => '.',
243
+ :maxlength => 128,
244
+ :optional => true
245
+
246
+
247
+
248
+
249
+ output :message,
250
+ :description => "Status message from the Provisioner",
251
+ :type => "string",
252
+ :display_as => "Message"
253
+
254
+ end
255
+
256
+ action "restart", :description => "Restart the Choria Server" do
257
+ display :failed
258
+
259
+ input :splay,
260
+ :prompt => "Splay time",
261
+ :description => "The configuration to apply to this node",
262
+ :type => :number,
263
+ :optional => true
264
+
265
+
266
+ input :token,
267
+ :prompt => "Token",
268
+ :description => "Authentication token to pass to the server",
269
+ :type => :string,
270
+ :validation => '.',
271
+ :maxlength => 128,
272
+ :optional => true
273
+
274
+
275
+
276
+
277
+ output :message,
278
+ :description => "Status message from the Provisioner",
279
+ :type => "string",
280
+ :display_as => "Message"
281
+
282
+ end
283
+
@@ -0,0 +1,309 @@
1
+ {
2
+ "$schema": "https://choria.io/schemas/mcorpc/ddl/v1/agent.json",
3
+ "metadata": {
4
+ "name": "choria_provision",
5
+ "description": "Choria Provisioner",
6
+ "author": "R.I.Pienaar <rip@devco.net>",
7
+ "license": "Apache-2.0",
8
+ "version": "0.23.0",
9
+ "url": "https://choria.io",
10
+ "timeout": 20
11
+ },
12
+ "actions": [
13
+ {
14
+ "action": "configure",
15
+ "input": {
16
+ "token": {
17
+ "prompt": "Token",
18
+ "description": "Authentication token to pass to the server",
19
+ "type": "string",
20
+ "default": "",
21
+ "optional": true,
22
+ "validation": ".",
23
+ "maxlength": 128
24
+ },
25
+ "config": {
26
+ "prompt": "Configuration",
27
+ "description": "The configuration to apply to this node",
28
+ "type": "string",
29
+ "default": null,
30
+ "optional": false,
31
+ "validation": "^{.+}$",
32
+ "maxlength": 2048
33
+ },
34
+ "certificate": {
35
+ "prompt": "Certificate",
36
+ "description": "PEM text block for the certificate",
37
+ "type": "string",
38
+ "default": null,
39
+ "optional": true,
40
+ "validation": "^-----BEGIN CERTIFICATE-----",
41
+ "maxlength": 10240
42
+ },
43
+ "ca": {
44
+ "prompt": "CA Bundle",
45
+ "description": "PEM text block for the CA",
46
+ "type": "string",
47
+ "default": null,
48
+ "optional": true,
49
+ "validation": "^-----BEGIN CERTIFICATE-----",
50
+ "maxlength": 20480
51
+ },
52
+ "ssldir": {
53
+ "prompt": "SSL Dir",
54
+ "description": "Directory for storing the certificate in",
55
+ "type": "string",
56
+ "default": null,
57
+ "optional": true,
58
+ "validation": ".",
59
+ "maxlength": 500
60
+ },
61
+ "key": {
62
+ "prompt": "PEM text block for the private key",
63
+ "type": "string",
64
+ "default": null,
65
+ "optional": true,
66
+ "validation": "-----BEGIN RSA PRIVATE KEY-----",
67
+ "maxlength": 10240
68
+ },
69
+ "ecdh_public": {
70
+ "prompt": "ECDH Public Key",
71
+ "description": "Required when sending a private key",
72
+ "type": "string",
73
+ "default": "",
74
+ "optional": true,
75
+ "maxlength": 64,
76
+ "validation": "."
77
+ }
78
+
79
+ },
80
+ "output": {
81
+ "message": {
82
+ "description": "Status message from the Provisioner",
83
+ "display_as": "Message",
84
+ "type": "string",
85
+ "default": null
86
+ }
87
+ },
88
+ "display": "failed",
89
+ "description": "Configure the Choria Server"
90
+ },
91
+ {
92
+ "action": "gencsr",
93
+ "input": {
94
+ "token": {
95
+ "prompt": "Token",
96
+ "description": "Authentication token to pass to the server",
97
+ "type": "string",
98
+ "default": "",
99
+ "optional": true,
100
+ "validation": ".",
101
+ "maxlength": 128
102
+ },
103
+ "cn": {
104
+ "prompt": "Common Name",
105
+ "description": "The certificate Common Name to place in the CSR",
106
+ "type": "string",
107
+ "default": null,
108
+ "optional": true,
109
+ "validation": "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]).)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$",
110
+ "maxlength": 80
111
+ },
112
+ "C": {
113
+ "prompt": "Country",
114
+ "description": "Country Code",
115
+ "type": "string",
116
+ "default": null,
117
+ "optional": true,
118
+ "validation": "^[A-Z]{2}$",
119
+ "maxlength": 2
120
+ },
121
+ "L": {
122
+ "prompt": "Locality",
123
+ "description": "Locality or municipality (such as city or town name)",
124
+ "type": "string",
125
+ "default": null,
126
+ "optional": true,
127
+ "validation": "^[\\w\\s-]+$",
128
+ "maxlength": 50
129
+ },
130
+ "O": {
131
+ "prompt": "Organization",
132
+ "description": "Organization",
133
+ "type": "string",
134
+ "default": null,
135
+ "optional": true,
136
+ "validation": "^[\\w\\s-]+$",
137
+ "maxlength": 50
138
+ },
139
+ "OU": {
140
+ "prompt": "Organizational Unit",
141
+ "description": "Organizational Unit",
142
+ "type": "string",
143
+ "default": null,
144
+ "optional": true,
145
+ "validation": "^[\\w\\s-]+$",
146
+ "maxlength": 50
147
+ },
148
+ "ST": {
149
+ "prompt": "State",
150
+ "description": "State",
151
+ "type": "string",
152
+ "default": null,
153
+ "optional": true,
154
+ "validation": "^[\\w\\s-]+$",
155
+ "maxlength": 50
156
+ }
157
+ },
158
+ "output": {
159
+ "csr": {
160
+ "description": "PEM text block for the CSR",
161
+ "display_as": "CSR",
162
+ "type": "string",
163
+ "default": null
164
+ },
165
+ "public_key": {
166
+ "description": "PEM text block of the public key that made the CSR",
167
+ "display_as": "Public Key",
168
+ "type": "string",
169
+ "default": null
170
+ },
171
+ "ssldir": {
172
+ "description": "SSL directory as determined by the server",
173
+ "display_as": "SSL Dir",
174
+ "type": "string",
175
+ "default": null
176
+ }
177
+ },
178
+ "display": "always",
179
+ "description": "Request a CSR from the Choria Server"
180
+ },
181
+ {
182
+ "action": "release_update",
183
+ "input": {
184
+ "token": {
185
+ "prompt": "Token",
186
+ "description": "Authentication token to pass to the server",
187
+ "type": "string",
188
+ "default": "",
189
+ "optional": true,
190
+ "validation": ".",
191
+ "maxlength": 128
192
+ },
193
+ "repository": {
194
+ "prompt": "Repository URL",
195
+ "description": "HTTP(S) server hosting the update repository",
196
+ "type": "string",
197
+ "default": "",
198
+ "optional": false,
199
+ "validation": "^http(s*)://",
200
+ "maxlength": 512
201
+ },
202
+ "version": {
203
+ "prompt": "Version to update to",
204
+ "description": "Package version to update to",
205
+ "type": "string",
206
+ "default": "",
207
+ "optional": false,
208
+ "validation": ".+",
209
+ "maxlength": 32
210
+ }
211
+ },
212
+ "output": {
213
+ "message": {
214
+ "description": "Status message from the Provisioner",
215
+ "display_as": "Message",
216
+ "type": "string",
217
+ "default": null
218
+ }
219
+ },
220
+ "display": "always",
221
+ "description": "Performs an in-place binary update and restarts Choria"
222
+ },
223
+ {
224
+ "action": "jwt",
225
+ "input": {
226
+ "token": {
227
+ "prompt": "Token",
228
+ "description": "Authentication token to pass to the server",
229
+ "type": "string",
230
+ "default": "",
231
+ "optional": true,
232
+ "validation": ".",
233
+ "maxlength": 128
234
+ }
235
+ },
236
+ "output": {
237
+ "jwt": {
238
+ "description": "The contents of the JWT token",
239
+ "display_as": "JWT Token",
240
+ "type": "string",
241
+ "default": ""
242
+ },
243
+ "ecdh_public": {
244
+ "description": "The ECDH public key for calculating shared secrets",
245
+ "display_as": "ECDH Public Key",
246
+ "type": "string",
247
+ "default": ""
248
+ }
249
+ },
250
+ "display": "always",
251
+ "description": "Re-enable provision mode in a running Choria Server"
252
+ },
253
+ {
254
+ "action": "reprovision",
255
+ "input": {
256
+ "token": {
257
+ "prompt": "Token",
258
+ "description": "Authentication token to pass to the server",
259
+ "type": "string",
260
+ "default": "",
261
+ "optional": true,
262
+ "validation": ".",
263
+ "maxlength": 128
264
+ }
265
+ },
266
+ "output": {
267
+ "message": {
268
+ "description": "Status message from the Provisioner",
269
+ "display_as": "Message",
270
+ "type": "string",
271
+ "default": null
272
+ }
273
+ },
274
+ "display": "always",
275
+ "description": "Reenable provision mode in a running Choria Server"
276
+ },
277
+ {
278
+ "action": "restart",
279
+ "input": {
280
+ "token": {
281
+ "prompt": "Token",
282
+ "description": "Authentication token to pass to the server",
283
+ "type": "string",
284
+ "default": "",
285
+ "optional": true,
286
+ "validation": ".",
287
+ "maxlength": 128
288
+ },
289
+ "splay": {
290
+ "prompt": "Splay time",
291
+ "description": "The configuration to apply to this node",
292
+ "type": "number",
293
+ "default": null,
294
+ "optional": true
295
+ }
296
+ },
297
+ "output": {
298
+ "message": {
299
+ "description": "Status message from the Provisioner",
300
+ "display_as": "Message",
301
+ "type": "string",
302
+ "default": null
303
+ }
304
+ },
305
+ "display": "failed",
306
+ "description": "Restart the Choria Server"
307
+ }
308
+ ]
309
+ }