fleetfizz 0.5.2 → 0.6.0
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.
- package/dist/fleetfizz.mjs +1688 -923
- package/package.json +2 -1
- package/schema.json +467 -17
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fleetfizz",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Keep every Machine on your tailnet in line with one config.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"@effect/vitest": "4.0.2",
|
|
25
25
|
"@fleetfizz/config": "0.0.0",
|
|
26
26
|
"@fleetfizz/core": "0.0.0",
|
|
27
|
+
"@fleetfizz/providers": "0.0.0",
|
|
27
28
|
"@fleetfizz/remote": "0.0.0",
|
|
28
29
|
"@types/node": "24.12.4",
|
|
29
30
|
"@types/react": "19.3.0",
|
package/schema.json
CHANGED
|
@@ -34,11 +34,21 @@
|
|
|
34
34
|
"properties": {
|
|
35
35
|
"clones": {
|
|
36
36
|
"type": "string",
|
|
37
|
-
"minLength": 1
|
|
37
|
+
"minLength": 1,
|
|
38
|
+
"allOf": [
|
|
39
|
+
{
|
|
40
|
+
"description": "Where this Machine keeps its Managed Clones. `~` expands on that Machine. Default: `~/.local/share/fleetfizz/clones`."
|
|
41
|
+
}
|
|
42
|
+
]
|
|
38
43
|
}
|
|
39
44
|
},
|
|
40
45
|
"additionalProperties": false
|
|
41
|
-
}
|
|
46
|
+
},
|
|
47
|
+
"allOf": [
|
|
48
|
+
{
|
|
49
|
+
"description": "The Fleet, keyed by each Machine's tailnet name. A tailnet member that is not listed is not part of the Fleet."
|
|
50
|
+
}
|
|
51
|
+
]
|
|
42
52
|
},
|
|
43
53
|
"repos": {
|
|
44
54
|
"type": "array",
|
|
@@ -57,7 +67,12 @@
|
|
|
57
67
|
"items": {
|
|
58
68
|
"type": "string",
|
|
59
69
|
"enum": ["darwin", "linux"]
|
|
60
|
-
}
|
|
70
|
+
},
|
|
71
|
+
"allOf": [
|
|
72
|
+
{
|
|
73
|
+
"description": "`darwin`, `linux`, or both."
|
|
74
|
+
}
|
|
75
|
+
]
|
|
61
76
|
},
|
|
62
77
|
"machines": {
|
|
63
78
|
"type": "array",
|
|
@@ -71,31 +86,61 @@
|
|
|
71
86
|
"items": {
|
|
72
87
|
"type": "string",
|
|
73
88
|
"minLength": 1
|
|
74
|
-
}
|
|
89
|
+
},
|
|
90
|
+
"allOf": [
|
|
91
|
+
{
|
|
92
|
+
"description": "Machine names from `machines`."
|
|
93
|
+
}
|
|
94
|
+
]
|
|
75
95
|
},
|
|
76
96
|
"origin": {
|
|
77
97
|
"type": "string",
|
|
78
98
|
"title": "GitHub origin",
|
|
79
|
-
"description": "a GitHub \"owner/repo\""
|
|
99
|
+
"description": "a GitHub \"owner/repo\"",
|
|
100
|
+
"allOf": [
|
|
101
|
+
{
|
|
102
|
+
"description": "The GitHub `owner/repo`."
|
|
103
|
+
}
|
|
104
|
+
]
|
|
80
105
|
},
|
|
81
106
|
"ref": {
|
|
82
107
|
"type": "string",
|
|
83
|
-
"minLength": 1
|
|
108
|
+
"minLength": 1,
|
|
109
|
+
"allOf": [
|
|
110
|
+
{
|
|
111
|
+
"description": "A branch, or a full 40-character commit SHA to pin it."
|
|
112
|
+
}
|
|
113
|
+
]
|
|
84
114
|
},
|
|
85
115
|
"install": {
|
|
86
116
|
"type": "string",
|
|
87
|
-
"minLength": 1
|
|
117
|
+
"minLength": 1,
|
|
118
|
+
"allOf": [
|
|
119
|
+
{
|
|
120
|
+
"description": "The Install Command, run in a login shell inside the Managed Clone."
|
|
121
|
+
}
|
|
122
|
+
]
|
|
88
123
|
},
|
|
89
124
|
"name": {
|
|
90
125
|
"type": "string",
|
|
91
|
-
"minLength": 1
|
|
126
|
+
"minLength": 1,
|
|
127
|
+
"allOf": [
|
|
128
|
+
{
|
|
129
|
+
"description": "Names the clone's directory and the repo in output. Default: `<owner>-<repo>`."
|
|
130
|
+
}
|
|
131
|
+
]
|
|
92
132
|
},
|
|
93
133
|
"outputs": {
|
|
94
134
|
"type": "array",
|
|
95
135
|
"items": {
|
|
96
136
|
"type": "string",
|
|
97
137
|
"minLength": 1
|
|
98
|
-
}
|
|
138
|
+
},
|
|
139
|
+
"allOf": [
|
|
140
|
+
{
|
|
141
|
+
"description": "Paths outside the clone the Install Command produces. If one changes by hand, the repo reinstalls."
|
|
142
|
+
}
|
|
143
|
+
]
|
|
99
144
|
},
|
|
100
145
|
"files": {
|
|
101
146
|
"type": "object",
|
|
@@ -105,12 +150,22 @@
|
|
|
105
150
|
},
|
|
106
151
|
"additionalProperties": {
|
|
107
152
|
"type": "string"
|
|
108
|
-
}
|
|
153
|
+
},
|
|
154
|
+
"allOf": [
|
|
155
|
+
{
|
|
156
|
+
"description": "Gitignored files written into the clone before every install, keyed by path. Never secrets."
|
|
157
|
+
}
|
|
158
|
+
]
|
|
109
159
|
}
|
|
110
160
|
},
|
|
111
161
|
"required": ["origin", "ref", "install"],
|
|
112
162
|
"additionalProperties": false
|
|
113
|
-
}
|
|
163
|
+
},
|
|
164
|
+
"allOf": [
|
|
165
|
+
{
|
|
166
|
+
"description": "Each Tracked Repo is cloned on every targeted Machine and installed from its origin ref."
|
|
167
|
+
}
|
|
168
|
+
]
|
|
114
169
|
},
|
|
115
170
|
"vp": {
|
|
116
171
|
"type": "object",
|
|
@@ -127,7 +182,12 @@
|
|
|
127
182
|
"items": {
|
|
128
183
|
"type": "string",
|
|
129
184
|
"enum": ["darwin", "linux"]
|
|
130
|
-
}
|
|
185
|
+
},
|
|
186
|
+
"allOf": [
|
|
187
|
+
{
|
|
188
|
+
"description": "`darwin`, `linux`, or both."
|
|
189
|
+
}
|
|
190
|
+
]
|
|
131
191
|
},
|
|
132
192
|
"machines": {
|
|
133
193
|
"type": "array",
|
|
@@ -141,15 +201,78 @@
|
|
|
141
201
|
"items": {
|
|
142
202
|
"type": "string",
|
|
143
203
|
"minLength": 1
|
|
144
|
-
}
|
|
204
|
+
},
|
|
205
|
+
"allOf": [
|
|
206
|
+
{
|
|
207
|
+
"description": "Machine names from `machines`."
|
|
208
|
+
}
|
|
209
|
+
]
|
|
210
|
+
},
|
|
211
|
+
"dependsOn": {
|
|
212
|
+
"type": "array",
|
|
213
|
+
"items": {
|
|
214
|
+
"type": "string",
|
|
215
|
+
"enum": ["vp", "brew", "cask", "repos"]
|
|
216
|
+
},
|
|
217
|
+
"allOf": [
|
|
218
|
+
{
|
|
219
|
+
"description": "Providers whose Items must succeed on a Machine before vp changes there."
|
|
220
|
+
}
|
|
221
|
+
]
|
|
145
222
|
},
|
|
146
223
|
"version": {
|
|
147
224
|
"type": "string",
|
|
148
|
-
"minLength": 1
|
|
225
|
+
"minLength": 1,
|
|
226
|
+
"allOf": [
|
|
227
|
+
{
|
|
228
|
+
"description": "The vp version. Pin it exactly."
|
|
229
|
+
}
|
|
230
|
+
]
|
|
149
231
|
},
|
|
150
232
|
"node": {
|
|
151
233
|
"type": "string",
|
|
152
|
-
"minLength": 1
|
|
234
|
+
"minLength": 1,
|
|
235
|
+
"allOf": [
|
|
236
|
+
{
|
|
237
|
+
"description": "The default Node version. Pin it exactly."
|
|
238
|
+
}
|
|
239
|
+
]
|
|
240
|
+
},
|
|
241
|
+
"npm": {
|
|
242
|
+
"type": "string",
|
|
243
|
+
"minLength": 1,
|
|
244
|
+
"allOf": [
|
|
245
|
+
{
|
|
246
|
+
"description": "The default npm version."
|
|
247
|
+
}
|
|
248
|
+
]
|
|
249
|
+
},
|
|
250
|
+
"pnpm": {
|
|
251
|
+
"type": "string",
|
|
252
|
+
"minLength": 1,
|
|
253
|
+
"allOf": [
|
|
254
|
+
{
|
|
255
|
+
"description": "The default pnpm version."
|
|
256
|
+
}
|
|
257
|
+
]
|
|
258
|
+
},
|
|
259
|
+
"yarn": {
|
|
260
|
+
"type": "string",
|
|
261
|
+
"minLength": 1,
|
|
262
|
+
"allOf": [
|
|
263
|
+
{
|
|
264
|
+
"description": "The default Yarn version."
|
|
265
|
+
}
|
|
266
|
+
]
|
|
267
|
+
},
|
|
268
|
+
"bun": {
|
|
269
|
+
"type": "string",
|
|
270
|
+
"minLength": 1,
|
|
271
|
+
"allOf": [
|
|
272
|
+
{
|
|
273
|
+
"description": "The default Bun version."
|
|
274
|
+
}
|
|
275
|
+
]
|
|
153
276
|
},
|
|
154
277
|
"globals": {
|
|
155
278
|
"type": "object",
|
|
@@ -158,12 +281,339 @@
|
|
|
158
281
|
"minLength": 1
|
|
159
282
|
},
|
|
160
283
|
"additionalProperties": {
|
|
284
|
+
"anyOf": [
|
|
285
|
+
{
|
|
286
|
+
"type": "string",
|
|
287
|
+
"minLength": 1
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"type": "object",
|
|
291
|
+
"properties": {
|
|
292
|
+
"platforms": {
|
|
293
|
+
"type": "array",
|
|
294
|
+
"prefixItems": [
|
|
295
|
+
{
|
|
296
|
+
"type": "string",
|
|
297
|
+
"enum": ["darwin", "linux"]
|
|
298
|
+
}
|
|
299
|
+
],
|
|
300
|
+
"minItems": 1,
|
|
301
|
+
"items": {
|
|
302
|
+
"type": "string",
|
|
303
|
+
"enum": ["darwin", "linux"]
|
|
304
|
+
},
|
|
305
|
+
"allOf": [
|
|
306
|
+
{
|
|
307
|
+
"description": "`darwin`, `linux`, or both."
|
|
308
|
+
}
|
|
309
|
+
]
|
|
310
|
+
},
|
|
311
|
+
"machines": {
|
|
312
|
+
"type": "array",
|
|
313
|
+
"prefixItems": [
|
|
314
|
+
{
|
|
315
|
+
"type": "string",
|
|
316
|
+
"minLength": 1
|
|
317
|
+
}
|
|
318
|
+
],
|
|
319
|
+
"minItems": 1,
|
|
320
|
+
"items": {
|
|
321
|
+
"type": "string",
|
|
322
|
+
"minLength": 1
|
|
323
|
+
},
|
|
324
|
+
"allOf": [
|
|
325
|
+
{
|
|
326
|
+
"description": "Machine names from `machines`."
|
|
327
|
+
}
|
|
328
|
+
]
|
|
329
|
+
},
|
|
330
|
+
"range": {
|
|
331
|
+
"type": "string",
|
|
332
|
+
"minLength": 1
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
"required": ["range"],
|
|
336
|
+
"additionalProperties": false
|
|
337
|
+
}
|
|
338
|
+
]
|
|
339
|
+
},
|
|
340
|
+
"allOf": [
|
|
341
|
+
{
|
|
342
|
+
"description": "Global packages, each with a Range, or `{ range, platforms?, machines? }` to target one."
|
|
343
|
+
}
|
|
344
|
+
]
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
"additionalProperties": false,
|
|
348
|
+
"allOf": [
|
|
349
|
+
{
|
|
350
|
+
"description": "The vite-plus toolchain."
|
|
351
|
+
}
|
|
352
|
+
]
|
|
353
|
+
},
|
|
354
|
+
"brew": {
|
|
355
|
+
"type": "object",
|
|
356
|
+
"properties": {
|
|
357
|
+
"platforms": {
|
|
358
|
+
"type": "array",
|
|
359
|
+
"prefixItems": [
|
|
360
|
+
{
|
|
361
|
+
"type": "string",
|
|
362
|
+
"enum": ["darwin", "linux"]
|
|
363
|
+
}
|
|
364
|
+
],
|
|
365
|
+
"minItems": 1,
|
|
366
|
+
"items": {
|
|
367
|
+
"type": "string",
|
|
368
|
+
"enum": ["darwin", "linux"]
|
|
369
|
+
},
|
|
370
|
+
"allOf": [
|
|
371
|
+
{
|
|
372
|
+
"description": "`darwin`, `linux`, or both."
|
|
373
|
+
}
|
|
374
|
+
]
|
|
375
|
+
},
|
|
376
|
+
"machines": {
|
|
377
|
+
"type": "array",
|
|
378
|
+
"prefixItems": [
|
|
379
|
+
{
|
|
380
|
+
"type": "string",
|
|
381
|
+
"minLength": 1
|
|
382
|
+
}
|
|
383
|
+
],
|
|
384
|
+
"minItems": 1,
|
|
385
|
+
"items": {
|
|
161
386
|
"type": "string",
|
|
162
387
|
"minLength": 1
|
|
163
|
-
}
|
|
388
|
+
},
|
|
389
|
+
"allOf": [
|
|
390
|
+
{
|
|
391
|
+
"description": "Machine names from `machines`."
|
|
392
|
+
}
|
|
393
|
+
]
|
|
394
|
+
},
|
|
395
|
+
"dependsOn": {
|
|
396
|
+
"type": "array",
|
|
397
|
+
"items": {
|
|
398
|
+
"type": "string",
|
|
399
|
+
"enum": ["vp", "brew", "cask", "repos"]
|
|
400
|
+
},
|
|
401
|
+
"allOf": [
|
|
402
|
+
{
|
|
403
|
+
"description": "Providers whose Items must succeed on a Machine before this one changes there."
|
|
404
|
+
}
|
|
405
|
+
]
|
|
406
|
+
},
|
|
407
|
+
"items": {
|
|
408
|
+
"type": "object",
|
|
409
|
+
"propertyNames": {
|
|
410
|
+
"type": "string",
|
|
411
|
+
"minLength": 1
|
|
412
|
+
},
|
|
413
|
+
"additionalProperties": {
|
|
414
|
+
"anyOf": [
|
|
415
|
+
{
|
|
416
|
+
"type": "string",
|
|
417
|
+
"enum": ["*", "latest"],
|
|
418
|
+
"description": "\"*\" (install when missing, never upgrade) or \"latest\" (brew update, then upgrade on every Ship)"
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"type": "object",
|
|
422
|
+
"properties": {
|
|
423
|
+
"platforms": {
|
|
424
|
+
"type": "array",
|
|
425
|
+
"prefixItems": [
|
|
426
|
+
{
|
|
427
|
+
"type": "string",
|
|
428
|
+
"enum": ["darwin", "linux"]
|
|
429
|
+
}
|
|
430
|
+
],
|
|
431
|
+
"minItems": 1,
|
|
432
|
+
"items": {
|
|
433
|
+
"type": "string",
|
|
434
|
+
"enum": ["darwin", "linux"]
|
|
435
|
+
},
|
|
436
|
+
"allOf": [
|
|
437
|
+
{
|
|
438
|
+
"description": "`darwin`, `linux`, or both."
|
|
439
|
+
}
|
|
440
|
+
]
|
|
441
|
+
},
|
|
442
|
+
"machines": {
|
|
443
|
+
"type": "array",
|
|
444
|
+
"prefixItems": [
|
|
445
|
+
{
|
|
446
|
+
"type": "string",
|
|
447
|
+
"minLength": 1
|
|
448
|
+
}
|
|
449
|
+
],
|
|
450
|
+
"minItems": 1,
|
|
451
|
+
"items": {
|
|
452
|
+
"type": "string",
|
|
453
|
+
"minLength": 1
|
|
454
|
+
},
|
|
455
|
+
"allOf": [
|
|
456
|
+
{
|
|
457
|
+
"description": "Machine names from `machines`."
|
|
458
|
+
}
|
|
459
|
+
]
|
|
460
|
+
},
|
|
461
|
+
"range": {
|
|
462
|
+
"type": "string",
|
|
463
|
+
"enum": ["*", "latest"],
|
|
464
|
+
"description": "\"*\" (install when missing, never upgrade) or \"latest\" (brew update, then upgrade on every Ship)"
|
|
465
|
+
}
|
|
466
|
+
},
|
|
467
|
+
"required": ["range"],
|
|
468
|
+
"additionalProperties": false
|
|
469
|
+
}
|
|
470
|
+
]
|
|
471
|
+
},
|
|
472
|
+
"allOf": [
|
|
473
|
+
{
|
|
474
|
+
"description": "Formulae, each `\"*\"` or `\"latest\"`, or `{ range, platforms?, machines? }` to target one. A tapped name (`owner/tap/name`) taps on install."
|
|
475
|
+
}
|
|
476
|
+
]
|
|
164
477
|
}
|
|
165
478
|
},
|
|
166
|
-
"additionalProperties": false
|
|
479
|
+
"additionalProperties": false,
|
|
480
|
+
"allOf": [
|
|
481
|
+
{
|
|
482
|
+
"description": "Homebrew Formulae. Needs Homebrew on the Machine; a Ship never installs it."
|
|
483
|
+
}
|
|
484
|
+
]
|
|
485
|
+
},
|
|
486
|
+
"cask": {
|
|
487
|
+
"type": "object",
|
|
488
|
+
"properties": {
|
|
489
|
+
"platforms": {
|
|
490
|
+
"type": "array",
|
|
491
|
+
"prefixItems": [
|
|
492
|
+
{
|
|
493
|
+
"type": "string",
|
|
494
|
+
"enum": ["darwin", "linux"]
|
|
495
|
+
}
|
|
496
|
+
],
|
|
497
|
+
"minItems": 1,
|
|
498
|
+
"items": {
|
|
499
|
+
"type": "string",
|
|
500
|
+
"enum": ["darwin", "linux"]
|
|
501
|
+
},
|
|
502
|
+
"allOf": [
|
|
503
|
+
{
|
|
504
|
+
"description": "`darwin`, `linux`, or both."
|
|
505
|
+
}
|
|
506
|
+
]
|
|
507
|
+
},
|
|
508
|
+
"machines": {
|
|
509
|
+
"type": "array",
|
|
510
|
+
"prefixItems": [
|
|
511
|
+
{
|
|
512
|
+
"type": "string",
|
|
513
|
+
"minLength": 1
|
|
514
|
+
}
|
|
515
|
+
],
|
|
516
|
+
"minItems": 1,
|
|
517
|
+
"items": {
|
|
518
|
+
"type": "string",
|
|
519
|
+
"minLength": 1
|
|
520
|
+
},
|
|
521
|
+
"allOf": [
|
|
522
|
+
{
|
|
523
|
+
"description": "Machine names from `machines`."
|
|
524
|
+
}
|
|
525
|
+
]
|
|
526
|
+
},
|
|
527
|
+
"dependsOn": {
|
|
528
|
+
"type": "array",
|
|
529
|
+
"items": {
|
|
530
|
+
"type": "string",
|
|
531
|
+
"enum": ["vp", "brew", "cask", "repos"]
|
|
532
|
+
},
|
|
533
|
+
"allOf": [
|
|
534
|
+
{
|
|
535
|
+
"description": "Providers whose Items must succeed on a Machine before this one changes there."
|
|
536
|
+
}
|
|
537
|
+
]
|
|
538
|
+
},
|
|
539
|
+
"items": {
|
|
540
|
+
"type": "object",
|
|
541
|
+
"propertyNames": {
|
|
542
|
+
"type": "string",
|
|
543
|
+
"minLength": 1
|
|
544
|
+
},
|
|
545
|
+
"additionalProperties": {
|
|
546
|
+
"anyOf": [
|
|
547
|
+
{
|
|
548
|
+
"type": "string",
|
|
549
|
+
"enum": ["*", "latest"],
|
|
550
|
+
"description": "\"*\" (install when missing, never upgrade) or \"latest\" (brew update, then upgrade on every Ship)"
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
"type": "object",
|
|
554
|
+
"properties": {
|
|
555
|
+
"platforms": {
|
|
556
|
+
"type": "array",
|
|
557
|
+
"prefixItems": [
|
|
558
|
+
{
|
|
559
|
+
"type": "string",
|
|
560
|
+
"enum": ["darwin", "linux"]
|
|
561
|
+
}
|
|
562
|
+
],
|
|
563
|
+
"minItems": 1,
|
|
564
|
+
"items": {
|
|
565
|
+
"type": "string",
|
|
566
|
+
"enum": ["darwin", "linux"]
|
|
567
|
+
},
|
|
568
|
+
"allOf": [
|
|
569
|
+
{
|
|
570
|
+
"description": "`darwin`, `linux`, or both."
|
|
571
|
+
}
|
|
572
|
+
]
|
|
573
|
+
},
|
|
574
|
+
"machines": {
|
|
575
|
+
"type": "array",
|
|
576
|
+
"prefixItems": [
|
|
577
|
+
{
|
|
578
|
+
"type": "string",
|
|
579
|
+
"minLength": 1
|
|
580
|
+
}
|
|
581
|
+
],
|
|
582
|
+
"minItems": 1,
|
|
583
|
+
"items": {
|
|
584
|
+
"type": "string",
|
|
585
|
+
"minLength": 1
|
|
586
|
+
},
|
|
587
|
+
"allOf": [
|
|
588
|
+
{
|
|
589
|
+
"description": "Machine names from `machines`."
|
|
590
|
+
}
|
|
591
|
+
]
|
|
592
|
+
},
|
|
593
|
+
"range": {
|
|
594
|
+
"type": "string",
|
|
595
|
+
"enum": ["*", "latest"],
|
|
596
|
+
"description": "\"*\" (install when missing, never upgrade) or \"latest\" (brew update, then upgrade on every Ship)"
|
|
597
|
+
}
|
|
598
|
+
},
|
|
599
|
+
"required": ["range"],
|
|
600
|
+
"additionalProperties": false
|
|
601
|
+
}
|
|
602
|
+
]
|
|
603
|
+
},
|
|
604
|
+
"allOf": [
|
|
605
|
+
{
|
|
606
|
+
"description": "Casks, each `\"*\"` or `\"latest\"`, or `{ range, platforms?, machines? }` to target one. A tapped name (`owner/tap/name`) taps on install."
|
|
607
|
+
}
|
|
608
|
+
]
|
|
609
|
+
}
|
|
610
|
+
},
|
|
611
|
+
"additionalProperties": false,
|
|
612
|
+
"allOf": [
|
|
613
|
+
{
|
|
614
|
+
"description": "Homebrew Casks, macOS only. Needs Homebrew on the Machine."
|
|
615
|
+
}
|
|
616
|
+
]
|
|
167
617
|
}
|
|
168
618
|
},
|
|
169
619
|
"required": ["machines"],
|