choria-mcorpc-support 2.24.2 → 2.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ }