@faable/deploy-sdk 2.2.0 → 2.3.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/FaableDeployApi.d.ts +20 -0
- package/dist/FaableDeployApi.d.ts.map +1 -1
- package/dist/api/api-types.d.ts +4 -0
- package/dist/api/api-types.d.ts.map +1 -1
- package/dist/api/generated-client.d.ts +99 -0
- package/dist/api/generated-client.d.ts.map +1 -1
- package/dist/api/generated-client.js +27 -0
- package/dist/api/types.d.ts +283 -146
- package/dist/api/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/spec/openapi.json +798 -121
package/spec/openapi.json
CHANGED
|
@@ -234,9 +234,11 @@
|
|
|
234
234
|
"phase",
|
|
235
235
|
"deployment",
|
|
236
236
|
"deployment_previous",
|
|
237
|
+
"deploy_workflow",
|
|
237
238
|
"last_commited_purge",
|
|
238
239
|
"last_commited_purge_key",
|
|
239
240
|
"last_commited_purge_service",
|
|
241
|
+
"versions",
|
|
240
242
|
"secrets_revision"
|
|
241
243
|
],
|
|
242
244
|
"properties": {
|
|
@@ -290,6 +292,64 @@
|
|
|
290
292
|
],
|
|
291
293
|
"default": null
|
|
292
294
|
},
|
|
295
|
+
"deploy_workflow": {
|
|
296
|
+
"anyOf": [
|
|
297
|
+
{
|
|
298
|
+
"type": "object",
|
|
299
|
+
"required": [
|
|
300
|
+
"configured",
|
|
301
|
+
"path",
|
|
302
|
+
"verified_at",
|
|
303
|
+
"commit"
|
|
304
|
+
],
|
|
305
|
+
"properties": {
|
|
306
|
+
"configured": {
|
|
307
|
+
"type": "boolean",
|
|
308
|
+
"description": "Whether a Faable deploy workflow exists on the repository"
|
|
309
|
+
},
|
|
310
|
+
"path": {
|
|
311
|
+
"anyOf": [
|
|
312
|
+
{
|
|
313
|
+
"type": "string",
|
|
314
|
+
"description": "Workflow file path, e.g. \".github/workflows/deploy.yaml\""
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"type": "null"
|
|
318
|
+
}
|
|
319
|
+
]
|
|
320
|
+
},
|
|
321
|
+
"verified_at": {
|
|
322
|
+
"anyOf": [
|
|
323
|
+
{
|
|
324
|
+
"type": "string",
|
|
325
|
+
"description": "ISO date of the last time the workflow was verified"
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"type": "null"
|
|
329
|
+
}
|
|
330
|
+
]
|
|
331
|
+
},
|
|
332
|
+
"commit": {
|
|
333
|
+
"anyOf": [
|
|
334
|
+
{
|
|
335
|
+
"type": "string",
|
|
336
|
+
"description": "Head commit sha at the last verification (from webhook)"
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"type": "null"
|
|
340
|
+
}
|
|
341
|
+
]
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
"additionalProperties": false
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"type": "null"
|
|
348
|
+
}
|
|
349
|
+
],
|
|
350
|
+
"default": null,
|
|
351
|
+
"description": "Observed state of the push-to-deploy workflow on the linked repository"
|
|
352
|
+
},
|
|
293
353
|
"last_commited_purge": {
|
|
294
354
|
"type": "string",
|
|
295
355
|
"description": "Last commited cache Purge",
|
|
@@ -308,6 +368,66 @@
|
|
|
308
368
|
"nullable": true,
|
|
309
369
|
"default": null
|
|
310
370
|
},
|
|
371
|
+
"versions": {
|
|
372
|
+
"anyOf": [
|
|
373
|
+
{
|
|
374
|
+
"type": "array",
|
|
375
|
+
"items": {
|
|
376
|
+
"type": "object",
|
|
377
|
+
"required": [
|
|
378
|
+
"deployment",
|
|
379
|
+
"role",
|
|
380
|
+
"promoted_at",
|
|
381
|
+
"drain_until"
|
|
382
|
+
],
|
|
383
|
+
"properties": {
|
|
384
|
+
"deployment": {
|
|
385
|
+
"type": "string",
|
|
386
|
+
"description": "Deployment id of this version"
|
|
387
|
+
},
|
|
388
|
+
"role": {
|
|
389
|
+
"anyOf": [
|
|
390
|
+
{
|
|
391
|
+
"type": "string",
|
|
392
|
+
"enum": [
|
|
393
|
+
"promoted"
|
|
394
|
+
]
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"type": "string",
|
|
398
|
+
"enum": [
|
|
399
|
+
"coexisting"
|
|
400
|
+
]
|
|
401
|
+
}
|
|
402
|
+
],
|
|
403
|
+
"description": "promoted = current production; coexisting = draining"
|
|
404
|
+
},
|
|
405
|
+
"promoted_at": {
|
|
406
|
+
"type": "string",
|
|
407
|
+
"description": "ISO date this version was promoted"
|
|
408
|
+
},
|
|
409
|
+
"drain_until": {
|
|
410
|
+
"anyOf": [
|
|
411
|
+
{
|
|
412
|
+
"type": "string"
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
"type": "null"
|
|
416
|
+
}
|
|
417
|
+
],
|
|
418
|
+
"description": "GC-eligibility deadline for a coexisting version (demotion + drain window). Null on the promoted entry."
|
|
419
|
+
}
|
|
420
|
+
},
|
|
421
|
+
"additionalProperties": false
|
|
422
|
+
}
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"type": "null"
|
|
426
|
+
}
|
|
427
|
+
],
|
|
428
|
+
"default": null,
|
|
429
|
+
"description": "Live versions of the app: the promoted one plus any draining (coexistence) versions"
|
|
430
|
+
},
|
|
311
431
|
"secrets_revision": {
|
|
312
432
|
"type": "string",
|
|
313
433
|
"description": "Opaque revision token; changes whenever the app secrets change",
|
|
@@ -325,6 +445,20 @@
|
|
|
325
445
|
"php"
|
|
326
446
|
]
|
|
327
447
|
},
|
|
448
|
+
"AppMode": {
|
|
449
|
+
"enum": [
|
|
450
|
+
"standard",
|
|
451
|
+
"coexistence"
|
|
452
|
+
],
|
|
453
|
+
"default": "standard"
|
|
454
|
+
},
|
|
455
|
+
"AppCoexistenceRouting": {
|
|
456
|
+
"enum": [
|
|
457
|
+
"cookie",
|
|
458
|
+
"path"
|
|
459
|
+
],
|
|
460
|
+
"default": "cookie"
|
|
461
|
+
},
|
|
328
462
|
"App": {
|
|
329
463
|
"type": "object",
|
|
330
464
|
"required": [
|
|
@@ -337,6 +471,7 @@
|
|
|
337
471
|
"active",
|
|
338
472
|
"runtime",
|
|
339
473
|
"runtime_strategy",
|
|
474
|
+
"mode",
|
|
340
475
|
"instance_type",
|
|
341
476
|
"region",
|
|
342
477
|
"status",
|
|
@@ -366,6 +501,17 @@
|
|
|
366
501
|
"active": {
|
|
367
502
|
"type": "boolean"
|
|
368
503
|
},
|
|
504
|
+
"disabled_reason": {
|
|
505
|
+
"anyOf": [
|
|
506
|
+
{
|
|
507
|
+
"type": "string"
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
"type": "null"
|
|
511
|
+
}
|
|
512
|
+
],
|
|
513
|
+
"description": "Reason the app was administratively disabled. Null when the app is active."
|
|
514
|
+
},
|
|
369
515
|
"runtime": {
|
|
370
516
|
"$ref": "#/components/schemas/AppRuntime"
|
|
371
517
|
},
|
|
@@ -379,6 +525,45 @@
|
|
|
379
525
|
}
|
|
380
526
|
]
|
|
381
527
|
},
|
|
528
|
+
"mode": {
|
|
529
|
+
"$ref": "#/components/schemas/AppMode"
|
|
530
|
+
},
|
|
531
|
+
"coexistence_routing": {
|
|
532
|
+
"anyOf": [
|
|
533
|
+
{
|
|
534
|
+
"enum": [
|
|
535
|
+
"cookie",
|
|
536
|
+
"path"
|
|
537
|
+
],
|
|
538
|
+
"default": "cookie"
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
"type": "null"
|
|
542
|
+
}
|
|
543
|
+
]
|
|
544
|
+
},
|
|
545
|
+
"coexistence_keep_versions": {
|
|
546
|
+
"anyOf": [
|
|
547
|
+
{
|
|
548
|
+
"type": "number",
|
|
549
|
+
"description": "K: how many versions stay live under mode=coexistence (active + K-1 draining)"
|
|
550
|
+
},
|
|
551
|
+
{
|
|
552
|
+
"type": "null"
|
|
553
|
+
}
|
|
554
|
+
]
|
|
555
|
+
},
|
|
556
|
+
"coexistence_drain_hours": {
|
|
557
|
+
"anyOf": [
|
|
558
|
+
{
|
|
559
|
+
"type": "number",
|
|
560
|
+
"description": "Max hours a demoted version keeps serving pinned sessions before GC"
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
"type": "null"
|
|
564
|
+
}
|
|
565
|
+
]
|
|
566
|
+
},
|
|
382
567
|
"instance_type": {
|
|
383
568
|
"type": "string",
|
|
384
569
|
"description": "Faable instance types comprise varying combinations of CPU, memory, storage, and networking capacity."
|
|
@@ -546,6 +731,27 @@
|
|
|
546
731
|
"configured": {
|
|
547
732
|
"type": "boolean"
|
|
548
733
|
},
|
|
734
|
+
"workflow_path": {
|
|
735
|
+
"type": "string"
|
|
736
|
+
},
|
|
737
|
+
"updated": {
|
|
738
|
+
"type": "boolean"
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
},
|
|
742
|
+
"DeployBranchResult": {
|
|
743
|
+
"type": "object",
|
|
744
|
+
"required": [
|
|
745
|
+
"github_branch",
|
|
746
|
+
"workflow_synced"
|
|
747
|
+
],
|
|
748
|
+
"properties": {
|
|
749
|
+
"github_branch": {
|
|
750
|
+
"type": "string"
|
|
751
|
+
},
|
|
752
|
+
"workflow_synced": {
|
|
753
|
+
"type": "boolean"
|
|
754
|
+
},
|
|
549
755
|
"workflow_path": {
|
|
550
756
|
"type": "string"
|
|
551
757
|
}
|
|
@@ -563,13 +769,27 @@
|
|
|
563
769
|
"QUEUED",
|
|
564
770
|
"BUILDING",
|
|
565
771
|
"ERROR",
|
|
772
|
+
"BUILD_ERROR",
|
|
566
773
|
"INITIALIZING",
|
|
567
774
|
"READY",
|
|
568
775
|
"CANCELED",
|
|
569
776
|
"TERMINATING"
|
|
570
777
|
],
|
|
571
778
|
"description": "High-level summary of where the Deployment is in its lifecycle",
|
|
572
|
-
"default": "
|
|
779
|
+
"default": "QUEUED"
|
|
780
|
+
},
|
|
781
|
+
"controlled_at": {
|
|
782
|
+
"type": "string",
|
|
783
|
+
"format": "date-time",
|
|
784
|
+
"description": "When a controller took control of this deployment"
|
|
785
|
+
},
|
|
786
|
+
"controlled_by": {
|
|
787
|
+
"type": "string",
|
|
788
|
+
"description": "INSTANCE_NAME of the controller that claimed it"
|
|
789
|
+
},
|
|
790
|
+
"reason": {
|
|
791
|
+
"type": "string",
|
|
792
|
+
"description": "Why the deployment failed (shown to the user on ERROR)"
|
|
573
793
|
}
|
|
574
794
|
},
|
|
575
795
|
"additionalProperties": false
|
|
@@ -735,6 +955,17 @@
|
|
|
735
955
|
}
|
|
736
956
|
}
|
|
737
957
|
},
|
|
958
|
+
"DeploymentUpdate": {
|
|
959
|
+
"type": "object",
|
|
960
|
+
"required": [
|
|
961
|
+
"image"
|
|
962
|
+
],
|
|
963
|
+
"properties": {
|
|
964
|
+
"image": {
|
|
965
|
+
"type": "string"
|
|
966
|
+
}
|
|
967
|
+
}
|
|
968
|
+
},
|
|
738
969
|
"DomainStatus": {
|
|
739
970
|
"type": "object",
|
|
740
971
|
"required": [
|
|
@@ -2458,6 +2689,7 @@
|
|
|
2458
2689
|
"active",
|
|
2459
2690
|
"runtime",
|
|
2460
2691
|
"runtime_strategy",
|
|
2692
|
+
"mode",
|
|
2461
2693
|
"instance_type",
|
|
2462
2694
|
"region",
|
|
2463
2695
|
"status",
|
|
@@ -2487,6 +2719,17 @@
|
|
|
2487
2719
|
"active": {
|
|
2488
2720
|
"type": "boolean"
|
|
2489
2721
|
},
|
|
2722
|
+
"disabled_reason": {
|
|
2723
|
+
"anyOf": [
|
|
2724
|
+
{
|
|
2725
|
+
"type": "string"
|
|
2726
|
+
},
|
|
2727
|
+
{
|
|
2728
|
+
"type": "null"
|
|
2729
|
+
}
|
|
2730
|
+
],
|
|
2731
|
+
"description": "Reason the app was administratively disabled. Null when the app is active."
|
|
2732
|
+
},
|
|
2490
2733
|
"runtime": {
|
|
2491
2734
|
"$ref": "#/components/schemas/AppRuntime"
|
|
2492
2735
|
},
|
|
@@ -2500,6 +2743,45 @@
|
|
|
2500
2743
|
}
|
|
2501
2744
|
]
|
|
2502
2745
|
},
|
|
2746
|
+
"mode": {
|
|
2747
|
+
"$ref": "#/components/schemas/AppMode"
|
|
2748
|
+
},
|
|
2749
|
+
"coexistence_routing": {
|
|
2750
|
+
"anyOf": [
|
|
2751
|
+
{
|
|
2752
|
+
"enum": [
|
|
2753
|
+
"cookie",
|
|
2754
|
+
"path"
|
|
2755
|
+
],
|
|
2756
|
+
"default": "cookie"
|
|
2757
|
+
},
|
|
2758
|
+
{
|
|
2759
|
+
"type": "null"
|
|
2760
|
+
}
|
|
2761
|
+
]
|
|
2762
|
+
},
|
|
2763
|
+
"coexistence_keep_versions": {
|
|
2764
|
+
"anyOf": [
|
|
2765
|
+
{
|
|
2766
|
+
"type": "number",
|
|
2767
|
+
"description": "K: how many versions stay live under mode=coexistence (active + K-1 draining)"
|
|
2768
|
+
},
|
|
2769
|
+
{
|
|
2770
|
+
"type": "null"
|
|
2771
|
+
}
|
|
2772
|
+
]
|
|
2773
|
+
},
|
|
2774
|
+
"coexistence_drain_hours": {
|
|
2775
|
+
"anyOf": [
|
|
2776
|
+
{
|
|
2777
|
+
"type": "number",
|
|
2778
|
+
"description": "Max hours a demoted version keeps serving pinned sessions before GC"
|
|
2779
|
+
},
|
|
2780
|
+
{
|
|
2781
|
+
"type": "null"
|
|
2782
|
+
}
|
|
2783
|
+
]
|
|
2784
|
+
},
|
|
2503
2785
|
"instance_type": {
|
|
2504
2786
|
"type": "string",
|
|
2505
2787
|
"description": "Faable instance types comprise varying combinations of CPU, memory, storage, and networking capacity."
|
|
@@ -2610,6 +2892,7 @@
|
|
|
2610
2892
|
"active",
|
|
2611
2893
|
"runtime",
|
|
2612
2894
|
"runtime_strategy",
|
|
2895
|
+
"mode",
|
|
2613
2896
|
"instance_type",
|
|
2614
2897
|
"region",
|
|
2615
2898
|
"status",
|
|
@@ -2639,6 +2922,17 @@
|
|
|
2639
2922
|
"active": {
|
|
2640
2923
|
"type": "boolean"
|
|
2641
2924
|
},
|
|
2925
|
+
"disabled_reason": {
|
|
2926
|
+
"anyOf": [
|
|
2927
|
+
{
|
|
2928
|
+
"type": "string"
|
|
2929
|
+
},
|
|
2930
|
+
{
|
|
2931
|
+
"type": "null"
|
|
2932
|
+
}
|
|
2933
|
+
],
|
|
2934
|
+
"description": "Reason the app was administratively disabled. Null when the app is active."
|
|
2935
|
+
},
|
|
2642
2936
|
"runtime": {
|
|
2643
2937
|
"$ref": "#/components/schemas/AppRuntime"
|
|
2644
2938
|
},
|
|
@@ -2652,6 +2946,45 @@
|
|
|
2652
2946
|
}
|
|
2653
2947
|
]
|
|
2654
2948
|
},
|
|
2949
|
+
"mode": {
|
|
2950
|
+
"$ref": "#/components/schemas/AppMode"
|
|
2951
|
+
},
|
|
2952
|
+
"coexistence_routing": {
|
|
2953
|
+
"anyOf": [
|
|
2954
|
+
{
|
|
2955
|
+
"enum": [
|
|
2956
|
+
"cookie",
|
|
2957
|
+
"path"
|
|
2958
|
+
],
|
|
2959
|
+
"default": "cookie"
|
|
2960
|
+
},
|
|
2961
|
+
{
|
|
2962
|
+
"type": "null"
|
|
2963
|
+
}
|
|
2964
|
+
]
|
|
2965
|
+
},
|
|
2966
|
+
"coexistence_keep_versions": {
|
|
2967
|
+
"anyOf": [
|
|
2968
|
+
{
|
|
2969
|
+
"type": "number",
|
|
2970
|
+
"description": "K: how many versions stay live under mode=coexistence (active + K-1 draining)"
|
|
2971
|
+
},
|
|
2972
|
+
{
|
|
2973
|
+
"type": "null"
|
|
2974
|
+
}
|
|
2975
|
+
]
|
|
2976
|
+
},
|
|
2977
|
+
"coexistence_drain_hours": {
|
|
2978
|
+
"anyOf": [
|
|
2979
|
+
{
|
|
2980
|
+
"type": "number",
|
|
2981
|
+
"description": "Max hours a demoted version keeps serving pinned sessions before GC"
|
|
2982
|
+
},
|
|
2983
|
+
{
|
|
2984
|
+
"type": "null"
|
|
2985
|
+
}
|
|
2986
|
+
]
|
|
2987
|
+
},
|
|
2655
2988
|
"instance_type": {
|
|
2656
2989
|
"type": "string",
|
|
2657
2990
|
"description": "Faable instance types comprise varying combinations of CPU, memory, storage, and networking capacity."
|
|
@@ -2771,6 +3104,7 @@
|
|
|
2771
3104
|
"active",
|
|
2772
3105
|
"runtime",
|
|
2773
3106
|
"runtime_strategy",
|
|
3107
|
+
"mode",
|
|
2774
3108
|
"instance_type",
|
|
2775
3109
|
"region",
|
|
2776
3110
|
"status",
|
|
@@ -2800,6 +3134,17 @@
|
|
|
2800
3134
|
"active": {
|
|
2801
3135
|
"type": "boolean"
|
|
2802
3136
|
},
|
|
3137
|
+
"disabled_reason": {
|
|
3138
|
+
"anyOf": [
|
|
3139
|
+
{
|
|
3140
|
+
"type": "string"
|
|
3141
|
+
},
|
|
3142
|
+
{
|
|
3143
|
+
"type": "null"
|
|
3144
|
+
}
|
|
3145
|
+
],
|
|
3146
|
+
"description": "Reason the app was administratively disabled. Null when the app is active."
|
|
3147
|
+
},
|
|
2803
3148
|
"runtime": {
|
|
2804
3149
|
"$ref": "#/components/schemas/AppRuntime"
|
|
2805
3150
|
},
|
|
@@ -2813,6 +3158,45 @@
|
|
|
2813
3158
|
}
|
|
2814
3159
|
]
|
|
2815
3160
|
},
|
|
3161
|
+
"mode": {
|
|
3162
|
+
"$ref": "#/components/schemas/AppMode"
|
|
3163
|
+
},
|
|
3164
|
+
"coexistence_routing": {
|
|
3165
|
+
"anyOf": [
|
|
3166
|
+
{
|
|
3167
|
+
"enum": [
|
|
3168
|
+
"cookie",
|
|
3169
|
+
"path"
|
|
3170
|
+
],
|
|
3171
|
+
"default": "cookie"
|
|
3172
|
+
},
|
|
3173
|
+
{
|
|
3174
|
+
"type": "null"
|
|
3175
|
+
}
|
|
3176
|
+
]
|
|
3177
|
+
},
|
|
3178
|
+
"coexistence_keep_versions": {
|
|
3179
|
+
"anyOf": [
|
|
3180
|
+
{
|
|
3181
|
+
"type": "number",
|
|
3182
|
+
"description": "K: how many versions stay live under mode=coexistence (active + K-1 draining)"
|
|
3183
|
+
},
|
|
3184
|
+
{
|
|
3185
|
+
"type": "null"
|
|
3186
|
+
}
|
|
3187
|
+
]
|
|
3188
|
+
},
|
|
3189
|
+
"coexistence_drain_hours": {
|
|
3190
|
+
"anyOf": [
|
|
3191
|
+
{
|
|
3192
|
+
"type": "number",
|
|
3193
|
+
"description": "Max hours a demoted version keeps serving pinned sessions before GC"
|
|
3194
|
+
},
|
|
3195
|
+
{
|
|
3196
|
+
"type": "null"
|
|
3197
|
+
}
|
|
3198
|
+
]
|
|
3199
|
+
},
|
|
2816
3200
|
"instance_type": {
|
|
2817
3201
|
"type": "string",
|
|
2818
3202
|
"description": "Faable instance types comprise varying combinations of CPU, memory, storage, and networking capacity."
|
|
@@ -2903,6 +3287,7 @@
|
|
|
2903
3287
|
"active",
|
|
2904
3288
|
"runtime",
|
|
2905
3289
|
"runtime_strategy",
|
|
3290
|
+
"mode",
|
|
2906
3291
|
"instance_type",
|
|
2907
3292
|
"region",
|
|
2908
3293
|
"status",
|
|
@@ -2932,6 +3317,17 @@
|
|
|
2932
3317
|
"active": {
|
|
2933
3318
|
"type": "boolean"
|
|
2934
3319
|
},
|
|
3320
|
+
"disabled_reason": {
|
|
3321
|
+
"anyOf": [
|
|
3322
|
+
{
|
|
3323
|
+
"type": "string"
|
|
3324
|
+
},
|
|
3325
|
+
{
|
|
3326
|
+
"type": "null"
|
|
3327
|
+
}
|
|
3328
|
+
],
|
|
3329
|
+
"description": "Reason the app was administratively disabled. Null when the app is active."
|
|
3330
|
+
},
|
|
2935
3331
|
"runtime": {
|
|
2936
3332
|
"$ref": "#/components/schemas/AppRuntime"
|
|
2937
3333
|
},
|
|
@@ -2945,16 +3341,55 @@
|
|
|
2945
3341
|
}
|
|
2946
3342
|
]
|
|
2947
3343
|
},
|
|
2948
|
-
"
|
|
2949
|
-
"
|
|
2950
|
-
"description": "Faable instance types comprise varying combinations of CPU, memory, storage, and networking capacity."
|
|
3344
|
+
"mode": {
|
|
3345
|
+
"$ref": "#/components/schemas/AppMode"
|
|
2951
3346
|
},
|
|
2952
|
-
"
|
|
2953
|
-
"
|
|
2954
|
-
|
|
2955
|
-
|
|
2956
|
-
|
|
2957
|
-
|
|
3347
|
+
"coexistence_routing": {
|
|
3348
|
+
"anyOf": [
|
|
3349
|
+
{
|
|
3350
|
+
"enum": [
|
|
3351
|
+
"cookie",
|
|
3352
|
+
"path"
|
|
3353
|
+
],
|
|
3354
|
+
"default": "cookie"
|
|
3355
|
+
},
|
|
3356
|
+
{
|
|
3357
|
+
"type": "null"
|
|
3358
|
+
}
|
|
3359
|
+
]
|
|
3360
|
+
},
|
|
3361
|
+
"coexistence_keep_versions": {
|
|
3362
|
+
"anyOf": [
|
|
3363
|
+
{
|
|
3364
|
+
"type": "number",
|
|
3365
|
+
"description": "K: how many versions stay live under mode=coexistence (active + K-1 draining)"
|
|
3366
|
+
},
|
|
3367
|
+
{
|
|
3368
|
+
"type": "null"
|
|
3369
|
+
}
|
|
3370
|
+
]
|
|
3371
|
+
},
|
|
3372
|
+
"coexistence_drain_hours": {
|
|
3373
|
+
"anyOf": [
|
|
3374
|
+
{
|
|
3375
|
+
"type": "number",
|
|
3376
|
+
"description": "Max hours a demoted version keeps serving pinned sessions before GC"
|
|
3377
|
+
},
|
|
3378
|
+
{
|
|
3379
|
+
"type": "null"
|
|
3380
|
+
}
|
|
3381
|
+
]
|
|
3382
|
+
},
|
|
3383
|
+
"instance_type": {
|
|
3384
|
+
"type": "string",
|
|
3385
|
+
"description": "Faable instance types comprise varying combinations of CPU, memory, storage, and networking capacity."
|
|
3386
|
+
},
|
|
3387
|
+
"region": {
|
|
3388
|
+
"enum": [
|
|
3389
|
+
"gui1",
|
|
3390
|
+
"poz1",
|
|
3391
|
+
"ams1"
|
|
3392
|
+
],
|
|
2958
3393
|
"description": "High-level summary of where the Database is in its lifecycle",
|
|
2959
3394
|
"default": "UNKNOWN"
|
|
2960
3395
|
},
|
|
@@ -3694,6 +4129,9 @@
|
|
|
3694
4129
|
},
|
|
3695
4130
|
"workflow_path": {
|
|
3696
4131
|
"type": "string"
|
|
4132
|
+
},
|
|
4133
|
+
"updated": {
|
|
4134
|
+
"type": "boolean"
|
|
3697
4135
|
}
|
|
3698
4136
|
}
|
|
3699
4137
|
}
|
|
@@ -3709,7 +4147,7 @@
|
|
|
3709
4147
|
"apps",
|
|
3710
4148
|
"github"
|
|
3711
4149
|
],
|
|
3712
|
-
"description": "Commit the Faable deploy GitHub Actions workflow to the app’s linked repository (no-op if already present).",
|
|
4150
|
+
"description": "Commit the Faable deploy GitHub Actions workflow to the app’s linked repository (no-op if already present; upgrades an unmodified legacy workflow).",
|
|
3713
4151
|
"parameters": [
|
|
3714
4152
|
{
|
|
3715
4153
|
"schema": {
|
|
@@ -3742,6 +4180,86 @@
|
|
|
3742
4180
|
"configured": {
|
|
3743
4181
|
"type": "boolean"
|
|
3744
4182
|
},
|
|
4183
|
+
"workflow_path": {
|
|
4184
|
+
"type": "string"
|
|
4185
|
+
},
|
|
4186
|
+
"updated": {
|
|
4187
|
+
"type": "boolean"
|
|
4188
|
+
}
|
|
4189
|
+
}
|
|
4190
|
+
}
|
|
4191
|
+
}
|
|
4192
|
+
}
|
|
4193
|
+
}
|
|
4194
|
+
}
|
|
4195
|
+
}
|
|
4196
|
+
},
|
|
4197
|
+
"/app/{id}/deploy-branch": {
|
|
4198
|
+
"post": {
|
|
4199
|
+
"operationId": "app/set_deploy_branch",
|
|
4200
|
+
"summary": "Change the deploy branch",
|
|
4201
|
+
"tags": [
|
|
4202
|
+
"apps",
|
|
4203
|
+
"github"
|
|
4204
|
+
],
|
|
4205
|
+
"description": "Change the branch the app deploys from. Also rewrites the committed deploy workflow to trigger on the new branch, unless the user has customized it.",
|
|
4206
|
+
"requestBody": {
|
|
4207
|
+
"required": true,
|
|
4208
|
+
"content": {
|
|
4209
|
+
"application/json": {
|
|
4210
|
+
"schema": {
|
|
4211
|
+
"type": "object",
|
|
4212
|
+
"required": [
|
|
4213
|
+
"github_branch"
|
|
4214
|
+
],
|
|
4215
|
+
"properties": {
|
|
4216
|
+
"github_branch": {
|
|
4217
|
+
"type": "string",
|
|
4218
|
+
"minLength": 1,
|
|
4219
|
+
"maxLength": 250
|
|
4220
|
+
}
|
|
4221
|
+
},
|
|
4222
|
+
"additionalProperties": false
|
|
4223
|
+
}
|
|
4224
|
+
}
|
|
4225
|
+
}
|
|
4226
|
+
},
|
|
4227
|
+
"parameters": [
|
|
4228
|
+
{
|
|
4229
|
+
"schema": {
|
|
4230
|
+
"type": "string"
|
|
4231
|
+
},
|
|
4232
|
+
"in": "path",
|
|
4233
|
+
"name": "id",
|
|
4234
|
+
"required": true
|
|
4235
|
+
}
|
|
4236
|
+
],
|
|
4237
|
+
"security": [
|
|
4238
|
+
{
|
|
4239
|
+
"faable_user": [],
|
|
4240
|
+
"faable_cli": [],
|
|
4241
|
+
"apikey": [],
|
|
4242
|
+
"faable_machine": []
|
|
4243
|
+
}
|
|
4244
|
+
],
|
|
4245
|
+
"responses": {
|
|
4246
|
+
"200": {
|
|
4247
|
+
"description": "Default Response",
|
|
4248
|
+
"content": {
|
|
4249
|
+
"application/json": {
|
|
4250
|
+
"schema": {
|
|
4251
|
+
"type": "object",
|
|
4252
|
+
"required": [
|
|
4253
|
+
"github_branch",
|
|
4254
|
+
"workflow_synced"
|
|
4255
|
+
],
|
|
4256
|
+
"properties": {
|
|
4257
|
+
"github_branch": {
|
|
4258
|
+
"type": "string"
|
|
4259
|
+
},
|
|
4260
|
+
"workflow_synced": {
|
|
4261
|
+
"type": "boolean"
|
|
4262
|
+
},
|
|
3745
4263
|
"workflow_path": {
|
|
3746
4264
|
"type": "string"
|
|
3747
4265
|
}
|
|
@@ -4057,6 +4575,116 @@
|
|
|
4057
4575
|
}
|
|
4058
4576
|
}
|
|
4059
4577
|
},
|
|
4578
|
+
"post": {
|
|
4579
|
+
"operationId": "deployment/update",
|
|
4580
|
+
"summary": "Update Deployment",
|
|
4581
|
+
"tags": [
|
|
4582
|
+
"deployments"
|
|
4583
|
+
],
|
|
4584
|
+
"description": "Update Deployment",
|
|
4585
|
+
"requestBody": {
|
|
4586
|
+
"required": true,
|
|
4587
|
+
"content": {
|
|
4588
|
+
"application/json": {
|
|
4589
|
+
"schema": {
|
|
4590
|
+
"type": "object",
|
|
4591
|
+
"required": [
|
|
4592
|
+
"image"
|
|
4593
|
+
],
|
|
4594
|
+
"properties": {
|
|
4595
|
+
"image": {
|
|
4596
|
+
"type": "string"
|
|
4597
|
+
}
|
|
4598
|
+
}
|
|
4599
|
+
}
|
|
4600
|
+
}
|
|
4601
|
+
}
|
|
4602
|
+
},
|
|
4603
|
+
"parameters": [
|
|
4604
|
+
{
|
|
4605
|
+
"schema": {
|
|
4606
|
+
"type": "string"
|
|
4607
|
+
},
|
|
4608
|
+
"in": "path",
|
|
4609
|
+
"name": "id",
|
|
4610
|
+
"required": true
|
|
4611
|
+
}
|
|
4612
|
+
],
|
|
4613
|
+
"security": [
|
|
4614
|
+
{
|
|
4615
|
+
"faable_user": [],
|
|
4616
|
+
"faable_cli": [],
|
|
4617
|
+
"apikey": [],
|
|
4618
|
+
"faable_machine": []
|
|
4619
|
+
}
|
|
4620
|
+
],
|
|
4621
|
+
"responses": {
|
|
4622
|
+
"200": {
|
|
4623
|
+
"description": "Deployment",
|
|
4624
|
+
"content": {
|
|
4625
|
+
"application/json": {
|
|
4626
|
+
"schema": {
|
|
4627
|
+
"type": "object",
|
|
4628
|
+
"required": [
|
|
4629
|
+
"id",
|
|
4630
|
+
"team",
|
|
4631
|
+
"app_id",
|
|
4632
|
+
"status",
|
|
4633
|
+
"metadata",
|
|
4634
|
+
"createdAt"
|
|
4635
|
+
],
|
|
4636
|
+
"properties": {
|
|
4637
|
+
"id": {
|
|
4638
|
+
"type": "string",
|
|
4639
|
+
"description": "Deployment ID"
|
|
4640
|
+
},
|
|
4641
|
+
"team": {
|
|
4642
|
+
"type": "string"
|
|
4643
|
+
},
|
|
4644
|
+
"app_id": {
|
|
4645
|
+
"type": "string"
|
|
4646
|
+
},
|
|
4647
|
+
"image": {
|
|
4648
|
+
"type": "string"
|
|
4649
|
+
},
|
|
4650
|
+
"github_commit": {
|
|
4651
|
+
"type": "string"
|
|
4652
|
+
},
|
|
4653
|
+
"github_ref": {
|
|
4654
|
+
"type": "string"
|
|
4655
|
+
},
|
|
4656
|
+
"github_actor": {
|
|
4657
|
+
"type": "string"
|
|
4658
|
+
},
|
|
4659
|
+
"github_commit_message": {
|
|
4660
|
+
"type": "string"
|
|
4661
|
+
},
|
|
4662
|
+
"status": {
|
|
4663
|
+
"$ref": "#/components/schemas/DeploymentStatus"
|
|
4664
|
+
},
|
|
4665
|
+
"metadata": {
|
|
4666
|
+
"type": "object",
|
|
4667
|
+
"properties": {},
|
|
4668
|
+
"additionalProperties": true,
|
|
4669
|
+
"default": {}
|
|
4670
|
+
},
|
|
4671
|
+
"createdAt": {
|
|
4672
|
+
"type": "string",
|
|
4673
|
+
"description": "Deployment creation date"
|
|
4674
|
+
},
|
|
4675
|
+
"updatedAt": {
|
|
4676
|
+
"type": "string",
|
|
4677
|
+
"description": "Deployment updated date"
|
|
4678
|
+
}
|
|
4679
|
+
},
|
|
4680
|
+
"description": "Deployment",
|
|
4681
|
+
"additionalProperties": false
|
|
4682
|
+
}
|
|
4683
|
+
}
|
|
4684
|
+
}
|
|
4685
|
+
}
|
|
4686
|
+
}
|
|
4687
|
+
},
|
|
4060
4688
|
"delete": {
|
|
4061
4689
|
"operationId": "deployment/delete",
|
|
4062
4690
|
"summary": "Delete Deployment",
|
|
@@ -4150,6 +4778,165 @@
|
|
|
4150
4778
|
}
|
|
4151
4779
|
}
|
|
4152
4780
|
},
|
|
4781
|
+
"/deployment/{deployment_id}/logs": {
|
|
4782
|
+
"post": {
|
|
4783
|
+
"operationId": "deployment/upload_logs",
|
|
4784
|
+
"summary": "Upload deployment build logs",
|
|
4785
|
+
"tags": [
|
|
4786
|
+
"deployments"
|
|
4787
|
+
],
|
|
4788
|
+
"description": "Attach the CLI build/deploy output to a deployment",
|
|
4789
|
+
"requestBody": {
|
|
4790
|
+
"required": true,
|
|
4791
|
+
"content": {
|
|
4792
|
+
"application/json": {
|
|
4793
|
+
"schema": {
|
|
4794
|
+
"type": "object",
|
|
4795
|
+
"required": [
|
|
4796
|
+
"content"
|
|
4797
|
+
],
|
|
4798
|
+
"properties": {
|
|
4799
|
+
"content": {
|
|
4800
|
+
"type": "string"
|
|
4801
|
+
},
|
|
4802
|
+
"truncated": {
|
|
4803
|
+
"type": "boolean",
|
|
4804
|
+
"default": false
|
|
4805
|
+
}
|
|
4806
|
+
}
|
|
4807
|
+
}
|
|
4808
|
+
}
|
|
4809
|
+
}
|
|
4810
|
+
},
|
|
4811
|
+
"parameters": [
|
|
4812
|
+
{
|
|
4813
|
+
"schema": {
|
|
4814
|
+
"type": "string"
|
|
4815
|
+
},
|
|
4816
|
+
"in": "path",
|
|
4817
|
+
"name": "deployment_id",
|
|
4818
|
+
"required": true
|
|
4819
|
+
}
|
|
4820
|
+
],
|
|
4821
|
+
"security": [
|
|
4822
|
+
{
|
|
4823
|
+
"faable_user": [],
|
|
4824
|
+
"faable_cli": [],
|
|
4825
|
+
"apikey": [],
|
|
4826
|
+
"faable_machine": []
|
|
4827
|
+
}
|
|
4828
|
+
],
|
|
4829
|
+
"x-internal": true,
|
|
4830
|
+
"responses": {
|
|
4831
|
+
"201": {
|
|
4832
|
+
"description": "Default Response",
|
|
4833
|
+
"content": {
|
|
4834
|
+
"application/json": {
|
|
4835
|
+
"schema": {
|
|
4836
|
+
"type": "object",
|
|
4837
|
+
"required": [
|
|
4838
|
+
"id",
|
|
4839
|
+
"deployment_id",
|
|
4840
|
+
"truncated",
|
|
4841
|
+
"size"
|
|
4842
|
+
],
|
|
4843
|
+
"properties": {
|
|
4844
|
+
"id": {
|
|
4845
|
+
"type": "string"
|
|
4846
|
+
},
|
|
4847
|
+
"deployment_id": {
|
|
4848
|
+
"type": "string"
|
|
4849
|
+
},
|
|
4850
|
+
"truncated": {
|
|
4851
|
+
"type": "boolean"
|
|
4852
|
+
},
|
|
4853
|
+
"size": {
|
|
4854
|
+
"type": "number"
|
|
4855
|
+
}
|
|
4856
|
+
}
|
|
4857
|
+
}
|
|
4858
|
+
}
|
|
4859
|
+
}
|
|
4860
|
+
}
|
|
4861
|
+
}
|
|
4862
|
+
},
|
|
4863
|
+
"get": {
|
|
4864
|
+
"operationId": "deployment/get_logs",
|
|
4865
|
+
"summary": "Get deployment build logs",
|
|
4866
|
+
"tags": [
|
|
4867
|
+
"deployments"
|
|
4868
|
+
],
|
|
4869
|
+
"description": "Get the CLI build/deploy output attached to a deployment",
|
|
4870
|
+
"parameters": [
|
|
4871
|
+
{
|
|
4872
|
+
"schema": {
|
|
4873
|
+
"type": "string"
|
|
4874
|
+
},
|
|
4875
|
+
"in": "path",
|
|
4876
|
+
"name": "deployment_id",
|
|
4877
|
+
"required": true
|
|
4878
|
+
}
|
|
4879
|
+
],
|
|
4880
|
+
"security": [
|
|
4881
|
+
{
|
|
4882
|
+
"faable_user": [],
|
|
4883
|
+
"faable_cli": [],
|
|
4884
|
+
"apikey": [],
|
|
4885
|
+
"faable_machine": []
|
|
4886
|
+
}
|
|
4887
|
+
],
|
|
4888
|
+
"responses": {
|
|
4889
|
+
"200": {
|
|
4890
|
+
"description": "Default Response",
|
|
4891
|
+
"content": {
|
|
4892
|
+
"application/json": {
|
|
4893
|
+
"schema": {
|
|
4894
|
+
"type": "object",
|
|
4895
|
+
"required": [
|
|
4896
|
+
"id",
|
|
4897
|
+
"deployment_id",
|
|
4898
|
+
"app_id",
|
|
4899
|
+
"team",
|
|
4900
|
+
"content",
|
|
4901
|
+
"truncated",
|
|
4902
|
+
"size"
|
|
4903
|
+
],
|
|
4904
|
+
"properties": {
|
|
4905
|
+
"id": {
|
|
4906
|
+
"type": "string"
|
|
4907
|
+
},
|
|
4908
|
+
"deployment_id": {
|
|
4909
|
+
"type": "string"
|
|
4910
|
+
},
|
|
4911
|
+
"app_id": {
|
|
4912
|
+
"type": "string"
|
|
4913
|
+
},
|
|
4914
|
+
"team": {
|
|
4915
|
+
"type": "string"
|
|
4916
|
+
},
|
|
4917
|
+
"content": {
|
|
4918
|
+
"type": "string"
|
|
4919
|
+
},
|
|
4920
|
+
"truncated": {
|
|
4921
|
+
"type": "boolean"
|
|
4922
|
+
},
|
|
4923
|
+
"size": {
|
|
4924
|
+
"type": "number"
|
|
4925
|
+
},
|
|
4926
|
+
"createdAt": {
|
|
4927
|
+
"type": "string"
|
|
4928
|
+
},
|
|
4929
|
+
"updatedAt": {
|
|
4930
|
+
"type": "string"
|
|
4931
|
+
}
|
|
4932
|
+
}
|
|
4933
|
+
}
|
|
4934
|
+
}
|
|
4935
|
+
}
|
|
4936
|
+
}
|
|
4937
|
+
}
|
|
4938
|
+
}
|
|
4939
|
+
},
|
|
4153
4940
|
"/domain": {
|
|
4154
4941
|
"get": {
|
|
4155
4942
|
"operationId": "domain/list",
|
|
@@ -6009,108 +6796,6 @@
|
|
|
6009
6796
|
}
|
|
6010
6797
|
}
|
|
6011
6798
|
},
|
|
6012
|
-
"/stripe/billing-portal": {
|
|
6013
|
-
"get": {
|
|
6014
|
-
"operationId": "stripe/billingPortal",
|
|
6015
|
-
"summary": "Redirect to Stripe billing portal",
|
|
6016
|
-
"tags": [
|
|
6017
|
-
"stripe"
|
|
6018
|
-
],
|
|
6019
|
-
"parameters": [
|
|
6020
|
-
{
|
|
6021
|
-
"schema": {
|
|
6022
|
-
"type": "string"
|
|
6023
|
-
},
|
|
6024
|
-
"in": "query",
|
|
6025
|
-
"name": "return_to",
|
|
6026
|
-
"required": true
|
|
6027
|
-
}
|
|
6028
|
-
],
|
|
6029
|
-
"security": [
|
|
6030
|
-
{
|
|
6031
|
-
"faable_user": [],
|
|
6032
|
-
"faable_cli": [],
|
|
6033
|
-
"apikey": [],
|
|
6034
|
-
"faable_machine": []
|
|
6035
|
-
}
|
|
6036
|
-
],
|
|
6037
|
-
"x-internal": true,
|
|
6038
|
-
"responses": {
|
|
6039
|
-
"200": {
|
|
6040
|
-
"description": "Default Response"
|
|
6041
|
-
}
|
|
6042
|
-
}
|
|
6043
|
-
}
|
|
6044
|
-
},
|
|
6045
|
-
"/stripe/payment-methods": {
|
|
6046
|
-
"get": {
|
|
6047
|
-
"operationId": "stripe/paymentMethods",
|
|
6048
|
-
"summary": "List Stripe payment methods",
|
|
6049
|
-
"tags": [
|
|
6050
|
-
"stripe"
|
|
6051
|
-
],
|
|
6052
|
-
"security": [
|
|
6053
|
-
{
|
|
6054
|
-
"faable_user": [],
|
|
6055
|
-
"faable_cli": [],
|
|
6056
|
-
"apikey": [],
|
|
6057
|
-
"faable_machine": []
|
|
6058
|
-
}
|
|
6059
|
-
],
|
|
6060
|
-
"x-internal": true,
|
|
6061
|
-
"responses": {
|
|
6062
|
-
"200": {
|
|
6063
|
-
"description": "Default Response"
|
|
6064
|
-
}
|
|
6065
|
-
}
|
|
6066
|
-
}
|
|
6067
|
-
},
|
|
6068
|
-
"/stripe/setup-intent": {
|
|
6069
|
-
"get": {
|
|
6070
|
-
"operationId": "stripe/setupIntent",
|
|
6071
|
-
"summary": "Create a Stripe setup intent",
|
|
6072
|
-
"tags": [
|
|
6073
|
-
"stripe"
|
|
6074
|
-
],
|
|
6075
|
-
"security": [
|
|
6076
|
-
{
|
|
6077
|
-
"faable_user": [],
|
|
6078
|
-
"faable_cli": [],
|
|
6079
|
-
"apikey": [],
|
|
6080
|
-
"faable_machine": []
|
|
6081
|
-
}
|
|
6082
|
-
],
|
|
6083
|
-
"x-internal": true,
|
|
6084
|
-
"responses": {
|
|
6085
|
-
"200": {
|
|
6086
|
-
"description": "Default Response"
|
|
6087
|
-
}
|
|
6088
|
-
}
|
|
6089
|
-
}
|
|
6090
|
-
},
|
|
6091
|
-
"/stripe/invoices": {
|
|
6092
|
-
"get": {
|
|
6093
|
-
"operationId": "stripe/invoices",
|
|
6094
|
-
"summary": "List Stripe invoices",
|
|
6095
|
-
"tags": [
|
|
6096
|
-
"stripe"
|
|
6097
|
-
],
|
|
6098
|
-
"security": [
|
|
6099
|
-
{
|
|
6100
|
-
"faable_user": [],
|
|
6101
|
-
"faable_cli": [],
|
|
6102
|
-
"apikey": [],
|
|
6103
|
-
"faable_machine": []
|
|
6104
|
-
}
|
|
6105
|
-
],
|
|
6106
|
-
"x-internal": true,
|
|
6107
|
-
"responses": {
|
|
6108
|
-
"200": {
|
|
6109
|
-
"description": "Default Response"
|
|
6110
|
-
}
|
|
6111
|
-
}
|
|
6112
|
-
}
|
|
6113
|
-
},
|
|
6114
6799
|
"/github/setup": {
|
|
6115
6800
|
"get": {
|
|
6116
6801
|
"operationId": "github/setup",
|
|
@@ -6575,14 +7260,6 @@
|
|
|
6575
7260
|
"url": "https://faable.com/docs/github"
|
|
6576
7261
|
}
|
|
6577
7262
|
},
|
|
6578
|
-
{
|
|
6579
|
-
"name": "stripe",
|
|
6580
|
-
"description": "Billing and subscriptions (Stripe)",
|
|
6581
|
-
"externalDocs": {
|
|
6582
|
-
"description": "Official Faable documentation",
|
|
6583
|
-
"url": "https://faable.com/docs/billing"
|
|
6584
|
-
}
|
|
6585
|
-
},
|
|
6586
7263
|
{
|
|
6587
7264
|
"name": "usage",
|
|
6588
7265
|
"description": "App usage and metering",
|