@graftland/cli 0.3.2 → 0.4.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.
Files changed (54) hide show
  1. package/dist/Application.d.ts +27 -0
  2. package/dist/Application.d.ts.map +1 -0
  3. package/dist/Application.js +27 -0
  4. package/dist/Application.js.map +1 -0
  5. package/dist/Commands.d.ts +34 -0
  6. package/dist/Commands.d.ts.map +1 -0
  7. package/dist/Commands.js +31 -0
  8. package/dist/Commands.js.map +1 -0
  9. package/dist/Manage.d.ts +10 -5
  10. package/dist/Manage.d.ts.map +1 -1
  11. package/dist/Manage.js +60 -2
  12. package/dist/Manage.js.map +1 -1
  13. package/dist/Start.d.ts +2 -1
  14. package/dist/Start.d.ts.map +1 -1
  15. package/dist/Start.js +25 -9
  16. package/dist/Start.js.map +1 -1
  17. package/dist/bin.js +38 -11
  18. package/dist/bin.js.map +1 -1
  19. package/dist/index.d.ts +3 -1
  20. package/dist/index.js +3 -1
  21. package/dist/internal/commandConfig.js +62 -0
  22. package/dist/internal/commandConfig.js.map +1 -0
  23. package/dist/internal/commandHost.js +80 -0
  24. package/dist/internal/commandHost.js.map +1 -0
  25. package/dist/internal/commandRegistry.js +59 -0
  26. package/dist/internal/commandRegistry.js.map +1 -0
  27. package/dist/internal/configSchema.d.ts +25 -4
  28. package/dist/internal/configSchema.d.ts.map +1 -1
  29. package/dist/internal/configSchema.js +6 -34
  30. package/dist/internal/configSchema.js.map +1 -1
  31. package/dist/internal/env.js.map +1 -1
  32. package/dist/internal/importer.js +18 -0
  33. package/dist/internal/importer.js.map +1 -0
  34. package/dist/internal/intercepts.js.map +1 -1
  35. package/dist/internal/protocolOutput.js +67 -0
  36. package/dist/internal/protocolOutput.js.map +1 -0
  37. package/dist/internal/watch.js.map +1 -1
  38. package/package.json +11 -8
  39. package/schema.json +2321 -0
  40. package/src/Application.ts +55 -0
  41. package/src/Commands.ts +47 -0
  42. package/src/Manage.ts +81 -2
  43. package/src/Start.ts +100 -28
  44. package/src/bin.ts +80 -12
  45. package/src/index.ts +3 -0
  46. package/src/internal/commandConfig.ts +91 -0
  47. package/src/internal/commandHost.ts +216 -0
  48. package/src/internal/commandRegistry.ts +100 -0
  49. package/src/internal/configSchema.ts +10 -70
  50. package/src/internal/env.ts +3 -2
  51. package/src/internal/importer.ts +28 -0
  52. package/src/internal/intercepts.ts +2 -1
  53. package/src/internal/protocolOutput.ts +101 -0
  54. package/src/internal/watch.ts +4 -2
package/schema.json CHANGED
@@ -172,6 +172,2327 @@
172
172
  }
173
173
  ]
174
174
  }
175
+ ],
176
+ "allOf": [
177
+ {
178
+ "if": {
179
+ "properties": {
180
+ "name": {
181
+ "enum": [
182
+ "remote",
183
+ "@graftland/plugin-remote"
184
+ ]
185
+ },
186
+ "group": {
187
+ "const": false
188
+ }
189
+ },
190
+ "required": [
191
+ "name"
192
+ ]
193
+ },
194
+ "then": {
195
+ "properties": {
196
+ "config": {
197
+ "type": "object",
198
+ "properties": {
199
+ "contract": {
200
+ "type": "string"
201
+ },
202
+ "connect": {
203
+ "anyOf": [
204
+ {
205
+ "type": "object",
206
+ "properties": {
207
+ "url": {
208
+ "type": "string"
209
+ },
210
+ "unix": {
211
+ "not": {}
212
+ },
213
+ "command": {
214
+ "not": {}
215
+ },
216
+ "stdio": {
217
+ "not": {}
218
+ },
219
+ "local": {
220
+ "not": {}
221
+ },
222
+ "worker": {
223
+ "not": {}
224
+ },
225
+ "transport": {
226
+ "not": {}
227
+ },
228
+ "instance": {
229
+ "type": "string"
230
+ },
231
+ "lease": {
232
+ "type": "string"
233
+ },
234
+ "margin": {
235
+ "type": "string"
236
+ },
237
+ "expect": {
238
+ "type": "object",
239
+ "properties": {
240
+ "version": {
241
+ "type": "string"
242
+ },
243
+ "digest": {
244
+ "type": "string"
245
+ }
246
+ },
247
+ "additionalProperties": false
248
+ },
249
+ "auth": {
250
+ "anyOf": [
251
+ {
252
+ "type": "object",
253
+ "properties": {
254
+ "name": {
255
+ "type": "string"
256
+ },
257
+ "config": {},
258
+ "mtls": {
259
+ "not": {}
260
+ },
261
+ "bearer": {
262
+ "not": {}
263
+ },
264
+ "jwt": {
265
+ "not": {}
266
+ },
267
+ "none": {
268
+ "not": {}
269
+ }
270
+ },
271
+ "required": [
272
+ "name"
273
+ ],
274
+ "additionalProperties": false
275
+ },
276
+ {
277
+ "type": "object",
278
+ "properties": {
279
+ "name": {
280
+ "not": {}
281
+ },
282
+ "config": {
283
+ "not": {}
284
+ },
285
+ "mtls": {
286
+ "type": "object",
287
+ "properties": {
288
+ "cert": {
289
+ "type": "string"
290
+ },
291
+ "key": {
292
+ "type": "string"
293
+ }
294
+ },
295
+ "required": [
296
+ "cert",
297
+ "key"
298
+ ],
299
+ "additionalProperties": false
300
+ },
301
+ "bearer": {
302
+ "not": {}
303
+ },
304
+ "jwt": {
305
+ "not": {}
306
+ },
307
+ "none": {
308
+ "not": {}
309
+ }
310
+ },
311
+ "required": [
312
+ "mtls"
313
+ ],
314
+ "additionalProperties": false
315
+ },
316
+ {
317
+ "type": "object",
318
+ "properties": {
319
+ "name": {
320
+ "not": {}
321
+ },
322
+ "config": {
323
+ "not": {}
324
+ },
325
+ "mtls": {
326
+ "not": {}
327
+ },
328
+ "bearer": {
329
+ "type": "object",
330
+ "properties": {
331
+ "token": {
332
+ "anyOf": [
333
+ {
334
+ "type": "string"
335
+ },
336
+ {
337
+ "type": "object",
338
+ "properties": {
339
+ "file": {
340
+ "type": "string"
341
+ }
342
+ },
343
+ "required": [
344
+ "file"
345
+ ],
346
+ "additionalProperties": false
347
+ }
348
+ ]
349
+ }
350
+ },
351
+ "required": [
352
+ "token"
353
+ ],
354
+ "additionalProperties": false
355
+ },
356
+ "jwt": {
357
+ "not": {}
358
+ },
359
+ "none": {
360
+ "not": {}
361
+ }
362
+ },
363
+ "required": [
364
+ "bearer"
365
+ ],
366
+ "additionalProperties": false
367
+ },
368
+ {
369
+ "type": "object",
370
+ "properties": {
371
+ "name": {
372
+ "not": {}
373
+ },
374
+ "config": {
375
+ "not": {}
376
+ },
377
+ "mtls": {
378
+ "not": {}
379
+ },
380
+ "bearer": {
381
+ "not": {}
382
+ },
383
+ "jwt": {
384
+ "type": "object",
385
+ "properties": {
386
+ "token": {
387
+ "anyOf": [
388
+ {
389
+ "type": "string"
390
+ },
391
+ {
392
+ "type": "object",
393
+ "properties": {
394
+ "file": {
395
+ "type": "string"
396
+ }
397
+ },
398
+ "required": [
399
+ "file"
400
+ ],
401
+ "additionalProperties": false
402
+ }
403
+ ]
404
+ }
405
+ },
406
+ "required": [
407
+ "token"
408
+ ],
409
+ "additionalProperties": false
410
+ },
411
+ "none": {
412
+ "not": {}
413
+ }
414
+ },
415
+ "required": [
416
+ "jwt"
417
+ ],
418
+ "additionalProperties": false
419
+ },
420
+ {
421
+ "type": "object",
422
+ "properties": {
423
+ "name": {
424
+ "not": {}
425
+ },
426
+ "config": {
427
+ "not": {}
428
+ },
429
+ "mtls": {
430
+ "not": {}
431
+ },
432
+ "bearer": {
433
+ "not": {}
434
+ },
435
+ "jwt": {
436
+ "not": {}
437
+ },
438
+ "none": {
439
+ "type": "object",
440
+ "properties": {
441
+ "identity": {
442
+ "type": "string"
443
+ }
444
+ },
445
+ "additionalProperties": false
446
+ }
447
+ },
448
+ "required": [
449
+ "none"
450
+ ],
451
+ "additionalProperties": false
452
+ }
453
+ ]
454
+ },
455
+ "ca": {
456
+ "type": "string"
457
+ },
458
+ "servername": {
459
+ "type": "string"
460
+ }
461
+ },
462
+ "required": [
463
+ "url"
464
+ ],
465
+ "additionalProperties": false
466
+ },
467
+ {
468
+ "type": "object",
469
+ "properties": {
470
+ "url": {
471
+ "not": {}
472
+ },
473
+ "unix": {
474
+ "type": "string"
475
+ },
476
+ "command": {
477
+ "not": {}
478
+ },
479
+ "stdio": {
480
+ "not": {}
481
+ },
482
+ "local": {
483
+ "not": {}
484
+ },
485
+ "worker": {
486
+ "not": {}
487
+ },
488
+ "transport": {
489
+ "not": {}
490
+ },
491
+ "instance": {
492
+ "type": "string"
493
+ },
494
+ "lease": {
495
+ "type": "string"
496
+ },
497
+ "margin": {
498
+ "type": "string"
499
+ },
500
+ "expect": {
501
+ "type": "object",
502
+ "properties": {
503
+ "version": {
504
+ "type": "string"
505
+ },
506
+ "digest": {
507
+ "type": "string"
508
+ }
509
+ },
510
+ "additionalProperties": false
511
+ },
512
+ "auth": {
513
+ "anyOf": [
514
+ {
515
+ "type": "object",
516
+ "properties": {
517
+ "name": {
518
+ "type": "string"
519
+ },
520
+ "config": {},
521
+ "mtls": {
522
+ "not": {}
523
+ },
524
+ "bearer": {
525
+ "not": {}
526
+ },
527
+ "jwt": {
528
+ "not": {}
529
+ },
530
+ "none": {
531
+ "not": {}
532
+ }
533
+ },
534
+ "required": [
535
+ "name"
536
+ ],
537
+ "additionalProperties": false
538
+ },
539
+ {
540
+ "type": "object",
541
+ "properties": {
542
+ "name": {
543
+ "not": {}
544
+ },
545
+ "config": {
546
+ "not": {}
547
+ },
548
+ "mtls": {
549
+ "type": "object",
550
+ "properties": {
551
+ "cert": {
552
+ "type": "string"
553
+ },
554
+ "key": {
555
+ "type": "string"
556
+ }
557
+ },
558
+ "required": [
559
+ "cert",
560
+ "key"
561
+ ],
562
+ "additionalProperties": false
563
+ },
564
+ "bearer": {
565
+ "not": {}
566
+ },
567
+ "jwt": {
568
+ "not": {}
569
+ },
570
+ "none": {
571
+ "not": {}
572
+ }
573
+ },
574
+ "required": [
575
+ "mtls"
576
+ ],
577
+ "additionalProperties": false
578
+ },
579
+ {
580
+ "type": "object",
581
+ "properties": {
582
+ "name": {
583
+ "not": {}
584
+ },
585
+ "config": {
586
+ "not": {}
587
+ },
588
+ "mtls": {
589
+ "not": {}
590
+ },
591
+ "bearer": {
592
+ "type": "object",
593
+ "properties": {
594
+ "token": {
595
+ "anyOf": [
596
+ {
597
+ "type": "string"
598
+ },
599
+ {
600
+ "type": "object",
601
+ "properties": {
602
+ "file": {
603
+ "type": "string"
604
+ }
605
+ },
606
+ "required": [
607
+ "file"
608
+ ],
609
+ "additionalProperties": false
610
+ }
611
+ ]
612
+ }
613
+ },
614
+ "required": [
615
+ "token"
616
+ ],
617
+ "additionalProperties": false
618
+ },
619
+ "jwt": {
620
+ "not": {}
621
+ },
622
+ "none": {
623
+ "not": {}
624
+ }
625
+ },
626
+ "required": [
627
+ "bearer"
628
+ ],
629
+ "additionalProperties": false
630
+ },
631
+ {
632
+ "type": "object",
633
+ "properties": {
634
+ "name": {
635
+ "not": {}
636
+ },
637
+ "config": {
638
+ "not": {}
639
+ },
640
+ "mtls": {
641
+ "not": {}
642
+ },
643
+ "bearer": {
644
+ "not": {}
645
+ },
646
+ "jwt": {
647
+ "type": "object",
648
+ "properties": {
649
+ "token": {
650
+ "anyOf": [
651
+ {
652
+ "type": "string"
653
+ },
654
+ {
655
+ "type": "object",
656
+ "properties": {
657
+ "file": {
658
+ "type": "string"
659
+ }
660
+ },
661
+ "required": [
662
+ "file"
663
+ ],
664
+ "additionalProperties": false
665
+ }
666
+ ]
667
+ }
668
+ },
669
+ "required": [
670
+ "token"
671
+ ],
672
+ "additionalProperties": false
673
+ },
674
+ "none": {
675
+ "not": {}
676
+ }
677
+ },
678
+ "required": [
679
+ "jwt"
680
+ ],
681
+ "additionalProperties": false
682
+ },
683
+ {
684
+ "type": "object",
685
+ "properties": {
686
+ "name": {
687
+ "not": {}
688
+ },
689
+ "config": {
690
+ "not": {}
691
+ },
692
+ "mtls": {
693
+ "not": {}
694
+ },
695
+ "bearer": {
696
+ "not": {}
697
+ },
698
+ "jwt": {
699
+ "not": {}
700
+ },
701
+ "none": {
702
+ "type": "object",
703
+ "properties": {
704
+ "identity": {
705
+ "type": "string"
706
+ }
707
+ },
708
+ "additionalProperties": false
709
+ }
710
+ },
711
+ "required": [
712
+ "none"
713
+ ],
714
+ "additionalProperties": false
715
+ }
716
+ ]
717
+ }
718
+ },
719
+ "required": [
720
+ "unix"
721
+ ],
722
+ "additionalProperties": false
723
+ },
724
+ {
725
+ "type": "object",
726
+ "properties": {
727
+ "url": {
728
+ "not": {}
729
+ },
730
+ "unix": {
731
+ "not": {}
732
+ },
733
+ "command": {
734
+ "type": "array",
735
+ "minItems": 1,
736
+ "items": [
737
+ {
738
+ "type": "string"
739
+ }
740
+ ],
741
+ "additionalItems": {
742
+ "type": "string"
743
+ }
744
+ },
745
+ "stdio": {
746
+ "not": {}
747
+ },
748
+ "local": {
749
+ "not": {}
750
+ },
751
+ "worker": {
752
+ "not": {}
753
+ },
754
+ "transport": {
755
+ "not": {}
756
+ },
757
+ "instance": {
758
+ "type": "string"
759
+ },
760
+ "lease": {
761
+ "type": "string"
762
+ },
763
+ "margin": {
764
+ "type": "string"
765
+ },
766
+ "expect": {
767
+ "type": "object",
768
+ "properties": {
769
+ "version": {
770
+ "type": "string"
771
+ },
772
+ "digest": {
773
+ "type": "string"
774
+ }
775
+ },
776
+ "additionalProperties": false
777
+ },
778
+ "auth": {
779
+ "not": {}
780
+ },
781
+ "cwd": {
782
+ "type": "string"
783
+ },
784
+ "env": {
785
+ "type": "object",
786
+ "additionalProperties": {
787
+ "type": "string"
788
+ }
789
+ }
790
+ },
791
+ "required": [
792
+ "command"
793
+ ],
794
+ "additionalProperties": false
795
+ },
796
+ {
797
+ "type": "object",
798
+ "properties": {
799
+ "url": {
800
+ "not": {}
801
+ },
802
+ "unix": {
803
+ "not": {}
804
+ },
805
+ "command": {
806
+ "not": {}
807
+ },
808
+ "stdio": {
809
+ "not": {}
810
+ },
811
+ "local": {
812
+ "type": "object",
813
+ "properties": {
814
+ "command": {
815
+ "type": "array",
816
+ "minItems": 1,
817
+ "items": [
818
+ {
819
+ "type": "string"
820
+ }
821
+ ],
822
+ "additionalItems": {
823
+ "type": "string"
824
+ }
825
+ }
826
+ },
827
+ "additionalProperties": false
828
+ },
829
+ "worker": {
830
+ "not": {}
831
+ },
832
+ "transport": {
833
+ "not": {}
834
+ },
835
+ "auth": {
836
+ "not": {}
837
+ }
838
+ },
839
+ "required": [
840
+ "local"
841
+ ],
842
+ "additionalProperties": false
843
+ },
844
+ {
845
+ "type": "object",
846
+ "properties": {
847
+ "url": {
848
+ "not": {}
849
+ },
850
+ "unix": {
851
+ "not": {}
852
+ },
853
+ "command": {
854
+ "not": {}
855
+ },
856
+ "stdio": {
857
+ "not": {}
858
+ },
859
+ "local": {
860
+ "not": {}
861
+ },
862
+ "worker": {
863
+ "type": "object",
864
+ "properties": {
865
+ "execArgv": {
866
+ "type": "array",
867
+ "items": {
868
+ "type": "string"
869
+ }
870
+ }
871
+ },
872
+ "additionalProperties": false
873
+ },
874
+ "transport": {
875
+ "not": {}
876
+ },
877
+ "auth": {
878
+ "not": {}
879
+ }
880
+ },
881
+ "required": [
882
+ "worker"
883
+ ],
884
+ "additionalProperties": false
885
+ },
886
+ {
887
+ "type": "object",
888
+ "properties": {
889
+ "url": {
890
+ "not": {}
891
+ },
892
+ "unix": {
893
+ "not": {}
894
+ },
895
+ "command": {
896
+ "not": {}
897
+ },
898
+ "stdio": {
899
+ "not": {}
900
+ },
901
+ "local": {
902
+ "not": {}
903
+ },
904
+ "worker": {
905
+ "not": {}
906
+ },
907
+ "transport": {
908
+ "type": "object",
909
+ "properties": {
910
+ "name": {
911
+ "type": "string"
912
+ },
913
+ "config": {}
914
+ },
915
+ "required": [
916
+ "name"
917
+ ],
918
+ "additionalProperties": false
919
+ },
920
+ "instance": {
921
+ "type": "string"
922
+ },
923
+ "lease": {
924
+ "type": "string"
925
+ },
926
+ "margin": {
927
+ "type": "string"
928
+ },
929
+ "expect": {
930
+ "type": "object",
931
+ "properties": {
932
+ "version": {
933
+ "type": "string"
934
+ },
935
+ "digest": {
936
+ "type": "string"
937
+ }
938
+ },
939
+ "additionalProperties": false
940
+ },
941
+ "auth": {
942
+ "anyOf": [
943
+ {
944
+ "type": "object",
945
+ "properties": {
946
+ "name": {
947
+ "type": "string"
948
+ },
949
+ "config": {},
950
+ "mtls": {
951
+ "not": {}
952
+ },
953
+ "bearer": {
954
+ "not": {}
955
+ },
956
+ "jwt": {
957
+ "not": {}
958
+ },
959
+ "none": {
960
+ "not": {}
961
+ }
962
+ },
963
+ "required": [
964
+ "name"
965
+ ],
966
+ "additionalProperties": false
967
+ },
968
+ {
969
+ "type": "object",
970
+ "properties": {
971
+ "name": {
972
+ "not": {}
973
+ },
974
+ "config": {
975
+ "not": {}
976
+ },
977
+ "mtls": {
978
+ "type": "object",
979
+ "properties": {
980
+ "cert": {
981
+ "type": "string"
982
+ },
983
+ "key": {
984
+ "type": "string"
985
+ }
986
+ },
987
+ "required": [
988
+ "cert",
989
+ "key"
990
+ ],
991
+ "additionalProperties": false
992
+ },
993
+ "bearer": {
994
+ "not": {}
995
+ },
996
+ "jwt": {
997
+ "not": {}
998
+ },
999
+ "none": {
1000
+ "not": {}
1001
+ }
1002
+ },
1003
+ "required": [
1004
+ "mtls"
1005
+ ],
1006
+ "additionalProperties": false
1007
+ },
1008
+ {
1009
+ "type": "object",
1010
+ "properties": {
1011
+ "name": {
1012
+ "not": {}
1013
+ },
1014
+ "config": {
1015
+ "not": {}
1016
+ },
1017
+ "mtls": {
1018
+ "not": {}
1019
+ },
1020
+ "bearer": {
1021
+ "type": "object",
1022
+ "properties": {
1023
+ "token": {
1024
+ "anyOf": [
1025
+ {
1026
+ "type": "string"
1027
+ },
1028
+ {
1029
+ "type": "object",
1030
+ "properties": {
1031
+ "file": {
1032
+ "type": "string"
1033
+ }
1034
+ },
1035
+ "required": [
1036
+ "file"
1037
+ ],
1038
+ "additionalProperties": false
1039
+ }
1040
+ ]
1041
+ }
1042
+ },
1043
+ "required": [
1044
+ "token"
1045
+ ],
1046
+ "additionalProperties": false
1047
+ },
1048
+ "jwt": {
1049
+ "not": {}
1050
+ },
1051
+ "none": {
1052
+ "not": {}
1053
+ }
1054
+ },
1055
+ "required": [
1056
+ "bearer"
1057
+ ],
1058
+ "additionalProperties": false
1059
+ },
1060
+ {
1061
+ "type": "object",
1062
+ "properties": {
1063
+ "name": {
1064
+ "not": {}
1065
+ },
1066
+ "config": {
1067
+ "not": {}
1068
+ },
1069
+ "mtls": {
1070
+ "not": {}
1071
+ },
1072
+ "bearer": {
1073
+ "not": {}
1074
+ },
1075
+ "jwt": {
1076
+ "type": "object",
1077
+ "properties": {
1078
+ "token": {
1079
+ "anyOf": [
1080
+ {
1081
+ "type": "string"
1082
+ },
1083
+ {
1084
+ "type": "object",
1085
+ "properties": {
1086
+ "file": {
1087
+ "type": "string"
1088
+ }
1089
+ },
1090
+ "required": [
1091
+ "file"
1092
+ ],
1093
+ "additionalProperties": false
1094
+ }
1095
+ ]
1096
+ }
1097
+ },
1098
+ "required": [
1099
+ "token"
1100
+ ],
1101
+ "additionalProperties": false
1102
+ },
1103
+ "none": {
1104
+ "not": {}
1105
+ }
1106
+ },
1107
+ "required": [
1108
+ "jwt"
1109
+ ],
1110
+ "additionalProperties": false
1111
+ },
1112
+ {
1113
+ "type": "object",
1114
+ "properties": {
1115
+ "name": {
1116
+ "not": {}
1117
+ },
1118
+ "config": {
1119
+ "not": {}
1120
+ },
1121
+ "mtls": {
1122
+ "not": {}
1123
+ },
1124
+ "bearer": {
1125
+ "not": {}
1126
+ },
1127
+ "jwt": {
1128
+ "not": {}
1129
+ },
1130
+ "none": {
1131
+ "type": "object",
1132
+ "properties": {
1133
+ "identity": {
1134
+ "type": "string"
1135
+ }
1136
+ },
1137
+ "additionalProperties": false
1138
+ }
1139
+ },
1140
+ "required": [
1141
+ "none"
1142
+ ],
1143
+ "additionalProperties": false
1144
+ }
1145
+ ]
1146
+ }
1147
+ },
1148
+ "required": [
1149
+ "transport"
1150
+ ],
1151
+ "additionalProperties": false
1152
+ }
1153
+ ]
1154
+ },
1155
+ "config": {}
1156
+ },
1157
+ "required": [
1158
+ "contract",
1159
+ "connect"
1160
+ ],
1161
+ "additionalProperties": false
1162
+ }
1163
+ },
1164
+ "required": [
1165
+ "config"
1166
+ ]
1167
+ }
1168
+ },
1169
+ {
1170
+ "if": {
1171
+ "properties": {
1172
+ "name": {
1173
+ "enum": [
1174
+ "remote/runner",
1175
+ "@graftland/plugin-remote/runner"
1176
+ ]
1177
+ },
1178
+ "group": {
1179
+ "const": false
1180
+ }
1181
+ },
1182
+ "required": [
1183
+ "name"
1184
+ ]
1185
+ },
1186
+ "then": {
1187
+ "properties": {
1188
+ "config": {
1189
+ "type": "object",
1190
+ "properties": {
1191
+ "root": {
1192
+ "type": "string"
1193
+ },
1194
+ "state": {
1195
+ "type": "string"
1196
+ },
1197
+ "lease": {
1198
+ "type": "string"
1199
+ },
1200
+ "grace": {
1201
+ "type": "string"
1202
+ },
1203
+ "listen": {
1204
+ "type": "array",
1205
+ "items": {
1206
+ "anyOf": [
1207
+ {
1208
+ "type": "object",
1209
+ "properties": {
1210
+ "url": {
1211
+ "type": "string",
1212
+ "pattern": "^ws:\\/\\/"
1213
+ },
1214
+ "unix": {
1215
+ "not": {}
1216
+ },
1217
+ "command": {
1218
+ "not": {}
1219
+ },
1220
+ "stdio": {
1221
+ "not": {}
1222
+ },
1223
+ "local": {
1224
+ "not": {}
1225
+ },
1226
+ "worker": {
1227
+ "not": {}
1228
+ },
1229
+ "transport": {
1230
+ "not": {}
1231
+ },
1232
+ "auth": {
1233
+ "anyOf": [
1234
+ {
1235
+ "type": "object",
1236
+ "properties": {
1237
+ "name": {
1238
+ "type": "string"
1239
+ },
1240
+ "config": {},
1241
+ "mtls": {
1242
+ "not": {}
1243
+ },
1244
+ "bearer": {
1245
+ "not": {}
1246
+ },
1247
+ "jwt": {
1248
+ "not": {}
1249
+ },
1250
+ "none": {
1251
+ "not": {}
1252
+ }
1253
+ },
1254
+ "required": [
1255
+ "name"
1256
+ ],
1257
+ "additionalProperties": false
1258
+ },
1259
+ {
1260
+ "type": "object",
1261
+ "properties": {
1262
+ "name": {
1263
+ "not": {}
1264
+ },
1265
+ "config": {
1266
+ "not": {}
1267
+ },
1268
+ "mtls": {
1269
+ "type": "object",
1270
+ "properties": {
1271
+ "ca": {
1272
+ "type": "string"
1273
+ }
1274
+ },
1275
+ "required": [
1276
+ "ca"
1277
+ ],
1278
+ "additionalProperties": false
1279
+ },
1280
+ "bearer": {
1281
+ "not": {}
1282
+ },
1283
+ "jwt": {
1284
+ "not": {}
1285
+ },
1286
+ "none": {
1287
+ "not": {}
1288
+ }
1289
+ },
1290
+ "required": [
1291
+ "mtls"
1292
+ ],
1293
+ "additionalProperties": false
1294
+ },
1295
+ {
1296
+ "type": "object",
1297
+ "properties": {
1298
+ "name": {
1299
+ "not": {}
1300
+ },
1301
+ "config": {
1302
+ "not": {}
1303
+ },
1304
+ "mtls": {
1305
+ "not": {}
1306
+ },
1307
+ "bearer": {
1308
+ "type": "object",
1309
+ "properties": {
1310
+ "tokens": {
1311
+ "type": "string"
1312
+ }
1313
+ },
1314
+ "required": [
1315
+ "tokens"
1316
+ ],
1317
+ "additionalProperties": false
1318
+ },
1319
+ "jwt": {
1320
+ "not": {}
1321
+ },
1322
+ "none": {
1323
+ "not": {}
1324
+ }
1325
+ },
1326
+ "required": [
1327
+ "bearer"
1328
+ ],
1329
+ "additionalProperties": false
1330
+ },
1331
+ {
1332
+ "type": "object",
1333
+ "properties": {
1334
+ "name": {
1335
+ "not": {}
1336
+ },
1337
+ "config": {
1338
+ "not": {}
1339
+ },
1340
+ "mtls": {
1341
+ "not": {}
1342
+ },
1343
+ "bearer": {
1344
+ "not": {}
1345
+ },
1346
+ "jwt": {
1347
+ "type": "object",
1348
+ "properties": {
1349
+ "issuer": {
1350
+ "type": "string",
1351
+ "minLength": 1
1352
+ },
1353
+ "audience": {
1354
+ "type": "array",
1355
+ "minItems": 1,
1356
+ "items": [
1357
+ {
1358
+ "type": "string",
1359
+ "minLength": 1
1360
+ }
1361
+ ],
1362
+ "additionalItems": {
1363
+ "type": "string",
1364
+ "minLength": 1
1365
+ }
1366
+ },
1367
+ "algorithms": {
1368
+ "type": "array",
1369
+ "minItems": 1,
1370
+ "items": [
1371
+ {
1372
+ "type": "string",
1373
+ "enum": [
1374
+ "RS256",
1375
+ "RS384",
1376
+ "RS512",
1377
+ "PS256",
1378
+ "PS384",
1379
+ "PS512",
1380
+ "ES256",
1381
+ "ES384",
1382
+ "ES512",
1383
+ "EdDSA"
1384
+ ]
1385
+ }
1386
+ ],
1387
+ "additionalItems": {
1388
+ "type": "string",
1389
+ "enum": [
1390
+ "RS256",
1391
+ "RS384",
1392
+ "RS512",
1393
+ "PS256",
1394
+ "PS384",
1395
+ "PS512",
1396
+ "ES256",
1397
+ "ES384",
1398
+ "ES512",
1399
+ "EdDSA"
1400
+ ]
1401
+ }
1402
+ },
1403
+ "identityClaim": {
1404
+ "type": "string",
1405
+ "minLength": 1
1406
+ },
1407
+ "clockTolerance": {
1408
+ "type": "string"
1409
+ },
1410
+ "keys": {
1411
+ "anyOf": [
1412
+ {
1413
+ "type": "object",
1414
+ "properties": {
1415
+ "jwksUrl": {
1416
+ "type": "string"
1417
+ },
1418
+ "publicKey": {
1419
+ "not": {}
1420
+ }
1421
+ },
1422
+ "required": [
1423
+ "jwksUrl"
1424
+ ],
1425
+ "additionalProperties": false
1426
+ },
1427
+ {
1428
+ "type": "object",
1429
+ "properties": {
1430
+ "publicKey": {
1431
+ "type": "string"
1432
+ },
1433
+ "jwksUrl": {
1434
+ "not": {}
1435
+ }
1436
+ },
1437
+ "required": [
1438
+ "publicKey"
1439
+ ],
1440
+ "additionalProperties": false
1441
+ }
1442
+ ]
1443
+ }
1444
+ },
1445
+ "required": [
1446
+ "issuer",
1447
+ "audience",
1448
+ "algorithms",
1449
+ "keys"
1450
+ ],
1451
+ "additionalProperties": false
1452
+ },
1453
+ "none": {
1454
+ "not": {}
1455
+ }
1456
+ },
1457
+ "required": [
1458
+ "jwt"
1459
+ ],
1460
+ "additionalProperties": false
1461
+ },
1462
+ {
1463
+ "type": "object",
1464
+ "properties": {
1465
+ "name": {
1466
+ "not": {}
1467
+ },
1468
+ "config": {
1469
+ "not": {}
1470
+ },
1471
+ "mtls": {
1472
+ "not": {}
1473
+ },
1474
+ "bearer": {
1475
+ "not": {}
1476
+ },
1477
+ "jwt": {
1478
+ "not": {}
1479
+ },
1480
+ "none": {
1481
+ "type": "object",
1482
+ "properties": {
1483
+ "identity": {
1484
+ "type": "string"
1485
+ }
1486
+ },
1487
+ "additionalProperties": false
1488
+ }
1489
+ },
1490
+ "required": [
1491
+ "none"
1492
+ ],
1493
+ "additionalProperties": false
1494
+ }
1495
+ ]
1496
+ },
1497
+ "cert": {
1498
+ "not": {}
1499
+ },
1500
+ "key": {
1501
+ "not": {}
1502
+ }
1503
+ },
1504
+ "required": [
1505
+ "url"
1506
+ ],
1507
+ "additionalProperties": false
1508
+ },
1509
+ {
1510
+ "type": "object",
1511
+ "properties": {
1512
+ "url": {
1513
+ "type": "string",
1514
+ "pattern": "^wss:\\/\\/"
1515
+ },
1516
+ "unix": {
1517
+ "not": {}
1518
+ },
1519
+ "command": {
1520
+ "not": {}
1521
+ },
1522
+ "stdio": {
1523
+ "not": {}
1524
+ },
1525
+ "local": {
1526
+ "not": {}
1527
+ },
1528
+ "worker": {
1529
+ "not": {}
1530
+ },
1531
+ "transport": {
1532
+ "not": {}
1533
+ },
1534
+ "auth": {
1535
+ "anyOf": [
1536
+ {
1537
+ "type": "object",
1538
+ "properties": {
1539
+ "name": {
1540
+ "type": "string"
1541
+ },
1542
+ "config": {},
1543
+ "mtls": {
1544
+ "not": {}
1545
+ },
1546
+ "bearer": {
1547
+ "not": {}
1548
+ },
1549
+ "jwt": {
1550
+ "not": {}
1551
+ },
1552
+ "none": {
1553
+ "not": {}
1554
+ }
1555
+ },
1556
+ "required": [
1557
+ "name"
1558
+ ],
1559
+ "additionalProperties": false
1560
+ },
1561
+ {
1562
+ "type": "object",
1563
+ "properties": {
1564
+ "name": {
1565
+ "not": {}
1566
+ },
1567
+ "config": {
1568
+ "not": {}
1569
+ },
1570
+ "mtls": {
1571
+ "type": "object",
1572
+ "properties": {
1573
+ "ca": {
1574
+ "type": "string"
1575
+ }
1576
+ },
1577
+ "required": [
1578
+ "ca"
1579
+ ],
1580
+ "additionalProperties": false
1581
+ },
1582
+ "bearer": {
1583
+ "not": {}
1584
+ },
1585
+ "jwt": {
1586
+ "not": {}
1587
+ },
1588
+ "none": {
1589
+ "not": {}
1590
+ }
1591
+ },
1592
+ "required": [
1593
+ "mtls"
1594
+ ],
1595
+ "additionalProperties": false
1596
+ },
1597
+ {
1598
+ "type": "object",
1599
+ "properties": {
1600
+ "name": {
1601
+ "not": {}
1602
+ },
1603
+ "config": {
1604
+ "not": {}
1605
+ },
1606
+ "mtls": {
1607
+ "not": {}
1608
+ },
1609
+ "bearer": {
1610
+ "type": "object",
1611
+ "properties": {
1612
+ "tokens": {
1613
+ "type": "string"
1614
+ }
1615
+ },
1616
+ "required": [
1617
+ "tokens"
1618
+ ],
1619
+ "additionalProperties": false
1620
+ },
1621
+ "jwt": {
1622
+ "not": {}
1623
+ },
1624
+ "none": {
1625
+ "not": {}
1626
+ }
1627
+ },
1628
+ "required": [
1629
+ "bearer"
1630
+ ],
1631
+ "additionalProperties": false
1632
+ },
1633
+ {
1634
+ "type": "object",
1635
+ "properties": {
1636
+ "name": {
1637
+ "not": {}
1638
+ },
1639
+ "config": {
1640
+ "not": {}
1641
+ },
1642
+ "mtls": {
1643
+ "not": {}
1644
+ },
1645
+ "bearer": {
1646
+ "not": {}
1647
+ },
1648
+ "jwt": {
1649
+ "type": "object",
1650
+ "properties": {
1651
+ "issuer": {
1652
+ "type": "string",
1653
+ "minLength": 1
1654
+ },
1655
+ "audience": {
1656
+ "type": "array",
1657
+ "minItems": 1,
1658
+ "items": [
1659
+ {
1660
+ "type": "string",
1661
+ "minLength": 1
1662
+ }
1663
+ ],
1664
+ "additionalItems": {
1665
+ "type": "string",
1666
+ "minLength": 1
1667
+ }
1668
+ },
1669
+ "algorithms": {
1670
+ "type": "array",
1671
+ "minItems": 1,
1672
+ "items": [
1673
+ {
1674
+ "type": "string",
1675
+ "enum": [
1676
+ "RS256",
1677
+ "RS384",
1678
+ "RS512",
1679
+ "PS256",
1680
+ "PS384",
1681
+ "PS512",
1682
+ "ES256",
1683
+ "ES384",
1684
+ "ES512",
1685
+ "EdDSA"
1686
+ ]
1687
+ }
1688
+ ],
1689
+ "additionalItems": {
1690
+ "type": "string",
1691
+ "enum": [
1692
+ "RS256",
1693
+ "RS384",
1694
+ "RS512",
1695
+ "PS256",
1696
+ "PS384",
1697
+ "PS512",
1698
+ "ES256",
1699
+ "ES384",
1700
+ "ES512",
1701
+ "EdDSA"
1702
+ ]
1703
+ }
1704
+ },
1705
+ "identityClaim": {
1706
+ "type": "string",
1707
+ "minLength": 1
1708
+ },
1709
+ "clockTolerance": {
1710
+ "type": "string"
1711
+ },
1712
+ "keys": {
1713
+ "anyOf": [
1714
+ {
1715
+ "type": "object",
1716
+ "properties": {
1717
+ "jwksUrl": {
1718
+ "type": "string"
1719
+ },
1720
+ "publicKey": {
1721
+ "not": {}
1722
+ }
1723
+ },
1724
+ "required": [
1725
+ "jwksUrl"
1726
+ ],
1727
+ "additionalProperties": false
1728
+ },
1729
+ {
1730
+ "type": "object",
1731
+ "properties": {
1732
+ "publicKey": {
1733
+ "type": "string"
1734
+ },
1735
+ "jwksUrl": {
1736
+ "not": {}
1737
+ }
1738
+ },
1739
+ "required": [
1740
+ "publicKey"
1741
+ ],
1742
+ "additionalProperties": false
1743
+ }
1744
+ ]
1745
+ }
1746
+ },
1747
+ "required": [
1748
+ "issuer",
1749
+ "audience",
1750
+ "algorithms",
1751
+ "keys"
1752
+ ],
1753
+ "additionalProperties": false
1754
+ },
1755
+ "none": {
1756
+ "not": {}
1757
+ }
1758
+ },
1759
+ "required": [
1760
+ "jwt"
1761
+ ],
1762
+ "additionalProperties": false
1763
+ },
1764
+ {
1765
+ "type": "object",
1766
+ "properties": {
1767
+ "name": {
1768
+ "not": {}
1769
+ },
1770
+ "config": {
1771
+ "not": {}
1772
+ },
1773
+ "mtls": {
1774
+ "not": {}
1775
+ },
1776
+ "bearer": {
1777
+ "not": {}
1778
+ },
1779
+ "jwt": {
1780
+ "not": {}
1781
+ },
1782
+ "none": {
1783
+ "type": "object",
1784
+ "properties": {
1785
+ "identity": {
1786
+ "type": "string"
1787
+ }
1788
+ },
1789
+ "additionalProperties": false
1790
+ }
1791
+ },
1792
+ "required": [
1793
+ "none"
1794
+ ],
1795
+ "additionalProperties": false
1796
+ }
1797
+ ]
1798
+ },
1799
+ "cert": {
1800
+ "type": "string"
1801
+ },
1802
+ "key": {
1803
+ "type": "string"
1804
+ }
1805
+ },
1806
+ "required": [
1807
+ "url",
1808
+ "cert",
1809
+ "key"
1810
+ ],
1811
+ "additionalProperties": false
1812
+ },
1813
+ {
1814
+ "type": "object",
1815
+ "properties": {
1816
+ "url": {
1817
+ "not": {}
1818
+ },
1819
+ "unix": {
1820
+ "type": "string"
1821
+ },
1822
+ "command": {
1823
+ "not": {}
1824
+ },
1825
+ "stdio": {
1826
+ "not": {}
1827
+ },
1828
+ "local": {
1829
+ "not": {}
1830
+ },
1831
+ "worker": {
1832
+ "not": {}
1833
+ },
1834
+ "transport": {
1835
+ "not": {}
1836
+ },
1837
+ "auth": {
1838
+ "anyOf": [
1839
+ {
1840
+ "type": "object",
1841
+ "properties": {
1842
+ "name": {
1843
+ "type": "string"
1844
+ },
1845
+ "config": {},
1846
+ "mtls": {
1847
+ "not": {}
1848
+ },
1849
+ "bearer": {
1850
+ "not": {}
1851
+ },
1852
+ "jwt": {
1853
+ "not": {}
1854
+ },
1855
+ "none": {
1856
+ "not": {}
1857
+ }
1858
+ },
1859
+ "required": [
1860
+ "name"
1861
+ ],
1862
+ "additionalProperties": false
1863
+ },
1864
+ {
1865
+ "type": "object",
1866
+ "properties": {
1867
+ "name": {
1868
+ "not": {}
1869
+ },
1870
+ "config": {
1871
+ "not": {}
1872
+ },
1873
+ "mtls": {
1874
+ "type": "object",
1875
+ "properties": {
1876
+ "ca": {
1877
+ "type": "string"
1878
+ }
1879
+ },
1880
+ "required": [
1881
+ "ca"
1882
+ ],
1883
+ "additionalProperties": false
1884
+ },
1885
+ "bearer": {
1886
+ "not": {}
1887
+ },
1888
+ "jwt": {
1889
+ "not": {}
1890
+ },
1891
+ "none": {
1892
+ "not": {}
1893
+ }
1894
+ },
1895
+ "required": [
1896
+ "mtls"
1897
+ ],
1898
+ "additionalProperties": false
1899
+ },
1900
+ {
1901
+ "type": "object",
1902
+ "properties": {
1903
+ "name": {
1904
+ "not": {}
1905
+ },
1906
+ "config": {
1907
+ "not": {}
1908
+ },
1909
+ "mtls": {
1910
+ "not": {}
1911
+ },
1912
+ "bearer": {
1913
+ "type": "object",
1914
+ "properties": {
1915
+ "tokens": {
1916
+ "type": "string"
1917
+ }
1918
+ },
1919
+ "required": [
1920
+ "tokens"
1921
+ ],
1922
+ "additionalProperties": false
1923
+ },
1924
+ "jwt": {
1925
+ "not": {}
1926
+ },
1927
+ "none": {
1928
+ "not": {}
1929
+ }
1930
+ },
1931
+ "required": [
1932
+ "bearer"
1933
+ ],
1934
+ "additionalProperties": false
1935
+ },
1936
+ {
1937
+ "type": "object",
1938
+ "properties": {
1939
+ "name": {
1940
+ "not": {}
1941
+ },
1942
+ "config": {
1943
+ "not": {}
1944
+ },
1945
+ "mtls": {
1946
+ "not": {}
1947
+ },
1948
+ "bearer": {
1949
+ "not": {}
1950
+ },
1951
+ "jwt": {
1952
+ "type": "object",
1953
+ "properties": {
1954
+ "issuer": {
1955
+ "type": "string",
1956
+ "minLength": 1
1957
+ },
1958
+ "audience": {
1959
+ "type": "array",
1960
+ "minItems": 1,
1961
+ "items": [
1962
+ {
1963
+ "type": "string",
1964
+ "minLength": 1
1965
+ }
1966
+ ],
1967
+ "additionalItems": {
1968
+ "type": "string",
1969
+ "minLength": 1
1970
+ }
1971
+ },
1972
+ "algorithms": {
1973
+ "type": "array",
1974
+ "minItems": 1,
1975
+ "items": [
1976
+ {
1977
+ "type": "string",
1978
+ "enum": [
1979
+ "RS256",
1980
+ "RS384",
1981
+ "RS512",
1982
+ "PS256",
1983
+ "PS384",
1984
+ "PS512",
1985
+ "ES256",
1986
+ "ES384",
1987
+ "ES512",
1988
+ "EdDSA"
1989
+ ]
1990
+ }
1991
+ ],
1992
+ "additionalItems": {
1993
+ "type": "string",
1994
+ "enum": [
1995
+ "RS256",
1996
+ "RS384",
1997
+ "RS512",
1998
+ "PS256",
1999
+ "PS384",
2000
+ "PS512",
2001
+ "ES256",
2002
+ "ES384",
2003
+ "ES512",
2004
+ "EdDSA"
2005
+ ]
2006
+ }
2007
+ },
2008
+ "identityClaim": {
2009
+ "type": "string",
2010
+ "minLength": 1
2011
+ },
2012
+ "clockTolerance": {
2013
+ "type": "string"
2014
+ },
2015
+ "keys": {
2016
+ "anyOf": [
2017
+ {
2018
+ "type": "object",
2019
+ "properties": {
2020
+ "jwksUrl": {
2021
+ "type": "string"
2022
+ },
2023
+ "publicKey": {
2024
+ "not": {}
2025
+ }
2026
+ },
2027
+ "required": [
2028
+ "jwksUrl"
2029
+ ],
2030
+ "additionalProperties": false
2031
+ },
2032
+ {
2033
+ "type": "object",
2034
+ "properties": {
2035
+ "publicKey": {
2036
+ "type": "string"
2037
+ },
2038
+ "jwksUrl": {
2039
+ "not": {}
2040
+ }
2041
+ },
2042
+ "required": [
2043
+ "publicKey"
2044
+ ],
2045
+ "additionalProperties": false
2046
+ }
2047
+ ]
2048
+ }
2049
+ },
2050
+ "required": [
2051
+ "issuer",
2052
+ "audience",
2053
+ "algorithms",
2054
+ "keys"
2055
+ ],
2056
+ "additionalProperties": false
2057
+ },
2058
+ "none": {
2059
+ "not": {}
2060
+ }
2061
+ },
2062
+ "required": [
2063
+ "jwt"
2064
+ ],
2065
+ "additionalProperties": false
2066
+ },
2067
+ {
2068
+ "type": "object",
2069
+ "properties": {
2070
+ "name": {
2071
+ "not": {}
2072
+ },
2073
+ "config": {
2074
+ "not": {}
2075
+ },
2076
+ "mtls": {
2077
+ "not": {}
2078
+ },
2079
+ "bearer": {
2080
+ "not": {}
2081
+ },
2082
+ "jwt": {
2083
+ "not": {}
2084
+ },
2085
+ "none": {
2086
+ "type": "object",
2087
+ "properties": {
2088
+ "identity": {
2089
+ "type": "string"
2090
+ }
2091
+ },
2092
+ "additionalProperties": false
2093
+ }
2094
+ },
2095
+ "required": [
2096
+ "none"
2097
+ ],
2098
+ "additionalProperties": false
2099
+ }
2100
+ ]
2101
+ }
2102
+ },
2103
+ "required": [
2104
+ "unix"
2105
+ ],
2106
+ "additionalProperties": false
2107
+ },
2108
+ {
2109
+ "type": "object",
2110
+ "properties": {
2111
+ "url": {
2112
+ "not": {}
2113
+ },
2114
+ "unix": {
2115
+ "not": {}
2116
+ },
2117
+ "command": {
2118
+ "not": {}
2119
+ },
2120
+ "stdio": {
2121
+ "type": "boolean",
2122
+ "enum": [
2123
+ true
2124
+ ]
2125
+ },
2126
+ "local": {
2127
+ "not": {}
2128
+ },
2129
+ "worker": {
2130
+ "not": {}
2131
+ },
2132
+ "transport": {
2133
+ "not": {}
2134
+ },
2135
+ "auth": {
2136
+ "not": {}
2137
+ },
2138
+ "identity": {
2139
+ "type": "string"
2140
+ }
2141
+ },
2142
+ "required": [
2143
+ "stdio"
2144
+ ],
2145
+ "additionalProperties": false
2146
+ },
2147
+ {
2148
+ "type": "object",
2149
+ "properties": {
2150
+ "url": {
2151
+ "not": {}
2152
+ },
2153
+ "unix": {
2154
+ "not": {}
2155
+ },
2156
+ "command": {
2157
+ "not": {}
2158
+ },
2159
+ "stdio": {
2160
+ "not": {}
2161
+ },
2162
+ "local": {
2163
+ "not": {}
2164
+ },
2165
+ "worker": {
2166
+ "not": {}
2167
+ },
2168
+ "transport": {
2169
+ "type": "object",
2170
+ "properties": {
2171
+ "name": {
2172
+ "type": "string"
2173
+ },
2174
+ "config": {}
2175
+ },
2176
+ "required": [
2177
+ "name"
2178
+ ],
2179
+ "additionalProperties": false
2180
+ },
2181
+ "auth": {
2182
+ "anyOf": [
2183
+ {
2184
+ "type": "object",
2185
+ "properties": {
2186
+ "name": {
2187
+ "type": "string"
2188
+ },
2189
+ "config": {},
2190
+ "mtls": {
2191
+ "not": {}
2192
+ },
2193
+ "bearer": {
2194
+ "not": {}
2195
+ },
2196
+ "jwt": {
2197
+ "not": {}
2198
+ },
2199
+ "none": {
2200
+ "not": {}
2201
+ }
2202
+ },
2203
+ "required": [
2204
+ "name"
2205
+ ],
2206
+ "additionalProperties": false
2207
+ },
2208
+ {
2209
+ "type": "object",
2210
+ "properties": {
2211
+ "name": {
2212
+ "not": {}
2213
+ },
2214
+ "config": {
2215
+ "not": {}
2216
+ },
2217
+ "mtls": {
2218
+ "type": "object",
2219
+ "properties": {
2220
+ "ca": {
2221
+ "type": "string"
2222
+ }
2223
+ },
2224
+ "required": [
2225
+ "ca"
2226
+ ],
2227
+ "additionalProperties": false
2228
+ },
2229
+ "bearer": {
2230
+ "not": {}
2231
+ },
2232
+ "jwt": {
2233
+ "not": {}
2234
+ },
2235
+ "none": {
2236
+ "not": {}
2237
+ }
2238
+ },
2239
+ "required": [
2240
+ "mtls"
2241
+ ],
2242
+ "additionalProperties": false
2243
+ },
2244
+ {
2245
+ "type": "object",
2246
+ "properties": {
2247
+ "name": {
2248
+ "not": {}
2249
+ },
2250
+ "config": {
2251
+ "not": {}
2252
+ },
2253
+ "mtls": {
2254
+ "not": {}
2255
+ },
2256
+ "bearer": {
2257
+ "type": "object",
2258
+ "properties": {
2259
+ "tokens": {
2260
+ "type": "string"
2261
+ }
2262
+ },
2263
+ "required": [
2264
+ "tokens"
2265
+ ],
2266
+ "additionalProperties": false
2267
+ },
2268
+ "jwt": {
2269
+ "not": {}
2270
+ },
2271
+ "none": {
2272
+ "not": {}
2273
+ }
2274
+ },
2275
+ "required": [
2276
+ "bearer"
2277
+ ],
2278
+ "additionalProperties": false
2279
+ },
2280
+ {
2281
+ "type": "object",
2282
+ "properties": {
2283
+ "name": {
2284
+ "not": {}
2285
+ },
2286
+ "config": {
2287
+ "not": {}
2288
+ },
2289
+ "mtls": {
2290
+ "not": {}
2291
+ },
2292
+ "bearer": {
2293
+ "not": {}
2294
+ },
2295
+ "jwt": {
2296
+ "type": "object",
2297
+ "properties": {
2298
+ "issuer": {
2299
+ "type": "string",
2300
+ "minLength": 1
2301
+ },
2302
+ "audience": {
2303
+ "type": "array",
2304
+ "minItems": 1,
2305
+ "items": [
2306
+ {
2307
+ "type": "string",
2308
+ "minLength": 1
2309
+ }
2310
+ ],
2311
+ "additionalItems": {
2312
+ "type": "string",
2313
+ "minLength": 1
2314
+ }
2315
+ },
2316
+ "algorithms": {
2317
+ "type": "array",
2318
+ "minItems": 1,
2319
+ "items": [
2320
+ {
2321
+ "type": "string",
2322
+ "enum": [
2323
+ "RS256",
2324
+ "RS384",
2325
+ "RS512",
2326
+ "PS256",
2327
+ "PS384",
2328
+ "PS512",
2329
+ "ES256",
2330
+ "ES384",
2331
+ "ES512",
2332
+ "EdDSA"
2333
+ ]
2334
+ }
2335
+ ],
2336
+ "additionalItems": {
2337
+ "type": "string",
2338
+ "enum": [
2339
+ "RS256",
2340
+ "RS384",
2341
+ "RS512",
2342
+ "PS256",
2343
+ "PS384",
2344
+ "PS512",
2345
+ "ES256",
2346
+ "ES384",
2347
+ "ES512",
2348
+ "EdDSA"
2349
+ ]
2350
+ }
2351
+ },
2352
+ "identityClaim": {
2353
+ "type": "string",
2354
+ "minLength": 1
2355
+ },
2356
+ "clockTolerance": {
2357
+ "type": "string"
2358
+ },
2359
+ "keys": {
2360
+ "anyOf": [
2361
+ {
2362
+ "type": "object",
2363
+ "properties": {
2364
+ "jwksUrl": {
2365
+ "type": "string"
2366
+ },
2367
+ "publicKey": {
2368
+ "not": {}
2369
+ }
2370
+ },
2371
+ "required": [
2372
+ "jwksUrl"
2373
+ ],
2374
+ "additionalProperties": false
2375
+ },
2376
+ {
2377
+ "type": "object",
2378
+ "properties": {
2379
+ "publicKey": {
2380
+ "type": "string"
2381
+ },
2382
+ "jwksUrl": {
2383
+ "not": {}
2384
+ }
2385
+ },
2386
+ "required": [
2387
+ "publicKey"
2388
+ ],
2389
+ "additionalProperties": false
2390
+ }
2391
+ ]
2392
+ }
2393
+ },
2394
+ "required": [
2395
+ "issuer",
2396
+ "audience",
2397
+ "algorithms",
2398
+ "keys"
2399
+ ],
2400
+ "additionalProperties": false
2401
+ },
2402
+ "none": {
2403
+ "not": {}
2404
+ }
2405
+ },
2406
+ "required": [
2407
+ "jwt"
2408
+ ],
2409
+ "additionalProperties": false
2410
+ },
2411
+ {
2412
+ "type": "object",
2413
+ "properties": {
2414
+ "name": {
2415
+ "not": {}
2416
+ },
2417
+ "config": {
2418
+ "not": {}
2419
+ },
2420
+ "mtls": {
2421
+ "not": {}
2422
+ },
2423
+ "bearer": {
2424
+ "not": {}
2425
+ },
2426
+ "jwt": {
2427
+ "not": {}
2428
+ },
2429
+ "none": {
2430
+ "type": "object",
2431
+ "properties": {
2432
+ "identity": {
2433
+ "type": "string"
2434
+ }
2435
+ },
2436
+ "additionalProperties": false
2437
+ }
2438
+ },
2439
+ "required": [
2440
+ "none"
2441
+ ],
2442
+ "additionalProperties": false
2443
+ }
2444
+ ]
2445
+ }
2446
+ },
2447
+ "required": [
2448
+ "transport"
2449
+ ],
2450
+ "additionalProperties": false
2451
+ }
2452
+ ]
2453
+ }
2454
+ }
2455
+ },
2456
+ "required": [
2457
+ "root",
2458
+ "state",
2459
+ "listen"
2460
+ ],
2461
+ "additionalProperties": false
2462
+ }
2463
+ },
2464
+ "required": [
2465
+ "config"
2466
+ ]
2467
+ }
2468
+ },
2469
+ {
2470
+ "if": {
2471
+ "properties": {
2472
+ "name": {
2473
+ "enum": [
2474
+ "remote/cli",
2475
+ "@graftland/plugin-remote/cli"
2476
+ ]
2477
+ },
2478
+ "group": {
2479
+ "const": false
2480
+ }
2481
+ },
2482
+ "required": [
2483
+ "name"
2484
+ ]
2485
+ },
2486
+ "then": {
2487
+ "properties": {
2488
+ "config": {
2489
+ "not": {
2490
+ "type": "null"
2491
+ }
2492
+ }
2493
+ }
2494
+ }
2495
+ }
175
2496
  ]
176
2497
  }
177
2498
  }