@cloudfleet/sdk 0.0.1-d940b00 → 0.0.1-da466c0
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/README.md +56 -2
- package/dist/@tanstack/react-query.gen.d.ts +420 -626
- package/dist/@tanstack/react-query.gen.d.ts.map +1 -1
- package/dist/@tanstack/react-query.gen.js +410 -419
- package/dist/@tanstack/react-query.gen.js.map +1 -1
- package/dist/client/client.gen.d.ts.map +1 -1
- package/dist/client/client.gen.js +1 -4
- package/dist/client/client.gen.js.map +1 -1
- package/dist/client/types.gen.d.ts +1 -1
- package/dist/client/types.gen.d.ts.map +1 -1
- package/dist/client/utils.gen.d.ts +2 -2
- package/dist/client/utils.gen.d.ts.map +1 -1
- package/dist/client/utils.gen.js +3 -3
- package/dist/client/utils.gen.js.map +1 -1
- package/dist/core/params.gen.js +4 -4
- package/dist/core/params.gen.js.map +1 -1
- package/dist/errors.d.ts +42 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +83 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/schemas.gen.d.ts +521 -492
- package/dist/schemas.gen.d.ts.map +1 -1
- package/dist/schemas.gen.js +719 -583
- package/dist/schemas.gen.js.map +1 -1
- package/dist/sdk.gen.d.ts +221 -228
- package/dist/sdk.gen.d.ts.map +1 -1
- package/dist/sdk.gen.js +339 -339
- package/dist/sdk.gen.js.map +1 -1
- package/dist/services/kubernetes/api.d.ts +18 -55
- package/dist/services/kubernetes/api.d.ts.map +1 -1
- package/dist/services/kubernetes/api.js +36 -75
- package/dist/services/kubernetes/api.js.map +1 -1
- package/dist/services/kubernetes/index.d.ts.map +1 -1
- package/dist/services/kubernetes/index.js +36 -37
- package/dist/services/kubernetes/index.js.map +1 -1
- package/dist/types.gen.d.ts +1002 -1056
- package/dist/types.gen.d.ts.map +1 -1
- package/dist/zod.gen.d.ts +1775 -1563
- package/dist/zod.gen.d.ts.map +1 -1
- package/dist/zod.gen.js +506 -378
- package/dist/zod.gen.js.map +1 -1
- package/package.json +10 -15
package/dist/schemas.gen.js
CHANGED
|
@@ -93,12 +93,17 @@ export const BillingContactSchema = {
|
|
|
93
93
|
'at_vat',
|
|
94
94
|
'au_abn',
|
|
95
95
|
'au_arn',
|
|
96
|
+
'aw_tin',
|
|
97
|
+
'az_tin',
|
|
96
98
|
'ba_tin',
|
|
97
99
|
'bb_tin',
|
|
100
|
+
'bd_bin',
|
|
98
101
|
'be_vat',
|
|
102
|
+
'bf_ifu',
|
|
99
103
|
'bg_uic',
|
|
100
104
|
'bg_vat',
|
|
101
105
|
'bh_vat',
|
|
106
|
+
'bj_ifu',
|
|
102
107
|
'bo_tin',
|
|
103
108
|
'br_cnpj',
|
|
104
109
|
'br_cpf',
|
|
@@ -114,9 +119,11 @@ export const BillingContactSchema = {
|
|
|
114
119
|
'ch_uid',
|
|
115
120
|
'ch_vat',
|
|
116
121
|
'cl_tin',
|
|
122
|
+
'cm_niu',
|
|
117
123
|
'cn_tin',
|
|
118
124
|
'co_nit',
|
|
119
125
|
'cr_tin',
|
|
126
|
+
'cv_nif',
|
|
120
127
|
'cy_vat',
|
|
121
128
|
'cz_vat',
|
|
122
129
|
'de_stn',
|
|
@@ -128,6 +135,7 @@ export const BillingContactSchema = {
|
|
|
128
135
|
'eg_tin',
|
|
129
136
|
'es_cif',
|
|
130
137
|
'es_vat',
|
|
138
|
+
'et_tin',
|
|
131
139
|
'eu_oss_vat',
|
|
132
140
|
'fi_vat',
|
|
133
141
|
'fr_vat',
|
|
@@ -150,11 +158,14 @@ export const BillingContactSchema = {
|
|
|
150
158
|
'jp_rn',
|
|
151
159
|
'jp_trn',
|
|
152
160
|
'ke_pin',
|
|
161
|
+
'kg_tin',
|
|
153
162
|
'kh_tin',
|
|
154
163
|
'kr_brn',
|
|
155
164
|
'kz_bin',
|
|
165
|
+
'la_tin',
|
|
156
166
|
'li_uid',
|
|
157
167
|
'li_vat',
|
|
168
|
+
'lk_vat',
|
|
158
169
|
'lt_vat',
|
|
159
170
|
'lu_vat',
|
|
160
171
|
'lv_vat',
|
|
@@ -282,150 +293,6 @@ export const BillingCreditsSchema = {
|
|
|
282
293
|
],
|
|
283
294
|
additionalProperties: false
|
|
284
295
|
};
|
|
285
|
-
export const ChartCreateInputSchema = {
|
|
286
|
-
type: 'object',
|
|
287
|
-
properties: {
|
|
288
|
-
values: {
|
|
289
|
-
type: 'string',
|
|
290
|
-
description: 'Values to be used in the chart encoded as a JSON string.'
|
|
291
|
-
},
|
|
292
|
-
version_channel: {
|
|
293
|
-
type: 'string',
|
|
294
|
-
pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
|
|
295
|
-
description: 'Desired version range or channel for the chart.',
|
|
296
|
-
example: '2.x.x-cfke.x'
|
|
297
|
-
},
|
|
298
|
-
name: {
|
|
299
|
-
type: 'string',
|
|
300
|
-
maxLength: 63,
|
|
301
|
-
minLength: 1,
|
|
302
|
-
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
303
|
-
description: 'Unique identifier of the chart deployment aka name of the helm release.',
|
|
304
|
-
example: 'postgresql-0'
|
|
305
|
-
},
|
|
306
|
-
namespace: {
|
|
307
|
-
type: 'string',
|
|
308
|
-
maxLength: 63,
|
|
309
|
-
minLength: 1,
|
|
310
|
-
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
311
|
-
description: 'Namespace of the chart deployment',
|
|
312
|
-
example: 'default'
|
|
313
|
-
},
|
|
314
|
-
chart: {
|
|
315
|
-
type: 'string',
|
|
316
|
-
maxLength: 63,
|
|
317
|
-
minLength: 1,
|
|
318
|
-
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
319
|
-
description: 'Name of the chart listing',
|
|
320
|
-
example: 'postgresql'
|
|
321
|
-
}
|
|
322
|
-
},
|
|
323
|
-
required: [
|
|
324
|
-
'values',
|
|
325
|
-
'version_channel',
|
|
326
|
-
'name',
|
|
327
|
-
'namespace',
|
|
328
|
-
'chart'
|
|
329
|
-
],
|
|
330
|
-
additionalProperties: false
|
|
331
|
-
};
|
|
332
|
-
export const ChartSchema = {
|
|
333
|
-
type: 'object',
|
|
334
|
-
properties: {
|
|
335
|
-
values: {
|
|
336
|
-
type: 'string',
|
|
337
|
-
description: 'Values to be used in the chart encoded as a JSON string.'
|
|
338
|
-
},
|
|
339
|
-
version_channel: {
|
|
340
|
-
type: 'string',
|
|
341
|
-
pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
|
|
342
|
-
description: 'Desired version range or channel for the chart.',
|
|
343
|
-
example: '2.x.x-cfke.x'
|
|
344
|
-
},
|
|
345
|
-
name: {
|
|
346
|
-
type: 'string',
|
|
347
|
-
maxLength: 63,
|
|
348
|
-
minLength: 1,
|
|
349
|
-
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
350
|
-
description: 'Unique identifier of the chart deployment aka name of the helm release.',
|
|
351
|
-
example: 'postgresql-0'
|
|
352
|
-
},
|
|
353
|
-
namespace: {
|
|
354
|
-
type: 'string',
|
|
355
|
-
maxLength: 63,
|
|
356
|
-
minLength: 1,
|
|
357
|
-
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
358
|
-
description: 'Namespace of the chart deployment',
|
|
359
|
-
example: 'default'
|
|
360
|
-
},
|
|
361
|
-
chart: {
|
|
362
|
-
type: 'string',
|
|
363
|
-
maxLength: 63,
|
|
364
|
-
minLength: 1,
|
|
365
|
-
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
366
|
-
description: 'Name of the chart listing',
|
|
367
|
-
example: 'postgresql'
|
|
368
|
-
},
|
|
369
|
-
status: {
|
|
370
|
-
type: 'string',
|
|
371
|
-
description: 'Status of the chart deployment (Flux HelmRelease Ready condition reason, e.g. InstallSucceeded, UpgradeFailed, Progressing).',
|
|
372
|
-
example: 'InstallSucceeded'
|
|
373
|
-
},
|
|
374
|
-
version_current: {
|
|
375
|
-
type: 'string',
|
|
376
|
-
description: 'Current version of the chart deployment.',
|
|
377
|
-
example: '2.1.33-cfke.11'
|
|
378
|
-
},
|
|
379
|
-
created_at: {
|
|
380
|
-
type: 'string',
|
|
381
|
-
description: 'Creation date and time of the chart deployment.',
|
|
382
|
-
example: '2024-09-12T09:11:27Z'
|
|
383
|
-
},
|
|
384
|
-
updated_at: {
|
|
385
|
-
type: 'string',
|
|
386
|
-
description: 'Last update date and time of the chart deployment.',
|
|
387
|
-
example: '2024-09-12T09:11:27Z'
|
|
388
|
-
},
|
|
389
|
-
ready: {
|
|
390
|
-
type: 'boolean',
|
|
391
|
-
description: 'Indicates if the chart deployment is ready to be used.',
|
|
392
|
-
example: true
|
|
393
|
-
}
|
|
394
|
-
},
|
|
395
|
-
required: [
|
|
396
|
-
'values',
|
|
397
|
-
'version_channel',
|
|
398
|
-
'name',
|
|
399
|
-
'namespace',
|
|
400
|
-
'chart',
|
|
401
|
-
'status',
|
|
402
|
-
'version_current',
|
|
403
|
-
'created_at',
|
|
404
|
-
'updated_at',
|
|
405
|
-
'ready'
|
|
406
|
-
],
|
|
407
|
-
additionalProperties: false
|
|
408
|
-
};
|
|
409
|
-
export const ChartUpdateInputSchema = {
|
|
410
|
-
type: 'object',
|
|
411
|
-
properties: {
|
|
412
|
-
values: {
|
|
413
|
-
type: 'string',
|
|
414
|
-
description: 'Values to be used in the chart encoded as a JSON string.'
|
|
415
|
-
},
|
|
416
|
-
version_channel: {
|
|
417
|
-
type: 'string',
|
|
418
|
-
pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
|
|
419
|
-
description: 'Desired version range or channel for the chart.',
|
|
420
|
-
example: '2.x.x-cfke.x'
|
|
421
|
-
}
|
|
422
|
-
},
|
|
423
|
-
required: [
|
|
424
|
-
'values',
|
|
425
|
-
'version_channel'
|
|
426
|
-
],
|
|
427
|
-
additionalProperties: false
|
|
428
|
-
};
|
|
429
296
|
export const ClusterCreateInputSchema = {
|
|
430
297
|
type: 'object',
|
|
431
298
|
properties: {
|
|
@@ -440,17 +307,14 @@ export const ClusterCreateInputSchema = {
|
|
|
440
307
|
tier: {
|
|
441
308
|
type: 'string',
|
|
442
309
|
description: 'Tier of the cluster.',
|
|
310
|
+
default: 'basic',
|
|
443
311
|
example: 'pro',
|
|
444
312
|
enum: [
|
|
445
313
|
'basic',
|
|
446
|
-
'pro'
|
|
314
|
+
'pro',
|
|
315
|
+
'enterprise'
|
|
447
316
|
]
|
|
448
317
|
},
|
|
449
|
-
region: {
|
|
450
|
-
type: 'string',
|
|
451
|
-
description: 'Cloudfleet control plane region. This field can not be updated after creation.',
|
|
452
|
-
example: 'europe-central-1a'
|
|
453
|
-
},
|
|
454
318
|
version_channel: {
|
|
455
319
|
type: 'string',
|
|
456
320
|
pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
|
|
@@ -475,6 +339,7 @@ export const ClusterCreateInputSchema = {
|
|
|
475
339
|
gpu_sharing_strategy: {
|
|
476
340
|
type: 'string',
|
|
477
341
|
description: 'GPU sharing strategy.',
|
|
342
|
+
default: 'none',
|
|
478
343
|
example: 'none',
|
|
479
344
|
enum: [
|
|
480
345
|
'none',
|
|
@@ -484,9 +349,10 @@ export const ClusterCreateInputSchema = {
|
|
|
484
349
|
},
|
|
485
350
|
gpu_max_shared_clients_per_gpu: {
|
|
486
351
|
type: 'integer',
|
|
487
|
-
minimum:
|
|
352
|
+
minimum: 2,
|
|
488
353
|
maximum: 48,
|
|
489
354
|
description: 'Maximum number of pods that may share a single GPU.',
|
|
355
|
+
default: 4,
|
|
490
356
|
example: 10
|
|
491
357
|
},
|
|
492
358
|
cilium_socket_lb_host_namespace_only: {
|
|
@@ -495,62 +361,64 @@ export const ClusterCreateInputSchema = {
|
|
|
495
361
|
example: false
|
|
496
362
|
}
|
|
497
363
|
},
|
|
498
|
-
required: [
|
|
499
|
-
'gpu_sharing_strategy',
|
|
500
|
-
'gpu_max_shared_clients_per_gpu'
|
|
501
|
-
],
|
|
502
364
|
additionalProperties: false,
|
|
503
365
|
description: 'Cluster feature toggles.',
|
|
504
366
|
default: {
|
|
505
367
|
gpu_sharing_strategy: 'none',
|
|
506
|
-
gpu_max_shared_clients_per_gpu:
|
|
368
|
+
gpu_max_shared_clients_per_gpu: 4,
|
|
507
369
|
cilium_socket_lb_host_namespace_only: false
|
|
508
370
|
}
|
|
509
371
|
},
|
|
372
|
+
region: {
|
|
373
|
+
type: 'string',
|
|
374
|
+
description: 'Cloudfleet control plane region. This field can not be updated after creation.',
|
|
375
|
+
example: 'europe-central-1a'
|
|
376
|
+
},
|
|
510
377
|
networking: {
|
|
511
378
|
type: 'object',
|
|
512
379
|
properties: {
|
|
513
380
|
pod_cidr: {
|
|
514
381
|
type: 'string',
|
|
515
382
|
description: 'CIDR block for pod IPs.',
|
|
516
|
-
|
|
383
|
+
default: '10.244.0.0/16'
|
|
517
384
|
},
|
|
518
385
|
service_cidr: {
|
|
519
386
|
type: 'string',
|
|
520
387
|
description: 'CIDR block for service IPs.',
|
|
521
|
-
|
|
522
|
-
},
|
|
523
|
-
cluster_dns: {
|
|
524
|
-
type: 'string',
|
|
525
|
-
description: 'CoreDNS service IP.',
|
|
526
|
-
example: '10.96.0.10'
|
|
388
|
+
default: '10.96.0.0/12'
|
|
527
389
|
},
|
|
528
390
|
dual_stack: {
|
|
529
391
|
type: 'boolean',
|
|
530
|
-
description: 'Enable IPv4+IPv6 dual-stack networking.'
|
|
531
|
-
example: false
|
|
392
|
+
description: 'Enable IPv4+IPv6 dual-stack networking.'
|
|
532
393
|
},
|
|
533
394
|
pod_cidr_v6: {
|
|
534
395
|
type: 'string',
|
|
535
396
|
description: 'IPv6 pod CIDR. Requires dual_stack.',
|
|
536
|
-
|
|
397
|
+
default: '2001:db8:1:2::/48'
|
|
537
398
|
},
|
|
538
399
|
service_cidr_v6: {
|
|
539
400
|
type: 'string',
|
|
540
401
|
description: 'IPv6 service CIDR. Requires dual_stack.',
|
|
541
|
-
|
|
402
|
+
default: '2001:db8:1:1::/112'
|
|
542
403
|
}
|
|
543
404
|
},
|
|
544
405
|
additionalProperties: false,
|
|
545
|
-
description: 'Cluster networking configuration. Immutable after creation.'
|
|
406
|
+
description: 'Cluster networking configuration. Immutable after creation.',
|
|
407
|
+
default: {
|
|
408
|
+
pod_cidr: '10.244.0.0/16',
|
|
409
|
+
service_cidr: '10.96.0.0/12',
|
|
410
|
+
dual_stack: false,
|
|
411
|
+
pod_cidr_v6: '2001:db8:1:2::/48',
|
|
412
|
+
service_cidr_v6: '2001:db8:1:1::/112'
|
|
413
|
+
}
|
|
546
414
|
}
|
|
547
415
|
},
|
|
548
416
|
required: [
|
|
549
417
|
'name',
|
|
550
|
-
'tier',
|
|
551
418
|
'region'
|
|
552
419
|
],
|
|
553
|
-
additionalProperties: false
|
|
420
|
+
additionalProperties: false,
|
|
421
|
+
description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
554
422
|
};
|
|
555
423
|
export const ClusterJoinInformationSchema = {
|
|
556
424
|
type: 'object',
|
|
@@ -581,6 +449,11 @@ export const ClusterJoinInformationSchema = {
|
|
|
581
449
|
description: 'Authentication key for the cluster.',
|
|
582
450
|
example: 'tskey-auth-kBV8wr1dk911CNTRL-...'
|
|
583
451
|
},
|
|
452
|
+
login_server: {
|
|
453
|
+
type: 'string',
|
|
454
|
+
description: 'Coordination server the node registers against. Empty on data plane v1 clusters, where the node advertises its own tag instead. A non-empty value requires a client that declares the dataplane-v2 capability.',
|
|
455
|
+
example: 'https://415026b6-f00f-44f8-968d-fc6ef4d0fc6d.fabric.europe-central-1a.cfke.io'
|
|
456
|
+
},
|
|
584
457
|
bootstrap_token: {
|
|
585
458
|
type: 'string',
|
|
586
459
|
description: 'Bootstrap token for the cluster.',
|
|
@@ -653,6 +526,7 @@ export const ClusterJoinInformationSchema = {
|
|
|
653
526
|
'cluster_dns',
|
|
654
527
|
'pod_cidr',
|
|
655
528
|
'auth_key',
|
|
529
|
+
'login_server',
|
|
656
530
|
'bootstrap_token',
|
|
657
531
|
'versions',
|
|
658
532
|
'third_party_api_access_config'
|
|
@@ -673,57 +547,25 @@ export const ClusterSchema = {
|
|
|
673
547
|
tier: {
|
|
674
548
|
type: 'string',
|
|
675
549
|
description: 'Tier of the cluster.',
|
|
550
|
+
default: 'basic',
|
|
676
551
|
example: 'pro',
|
|
677
552
|
enum: [
|
|
678
553
|
'basic',
|
|
679
|
-
'pro'
|
|
554
|
+
'pro',
|
|
555
|
+
'enterprise'
|
|
680
556
|
]
|
|
681
557
|
},
|
|
682
|
-
|
|
558
|
+
version_channel: {
|
|
683
559
|
type: 'string',
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
type: 'object',
|
|
689
|
-
properties: {
|
|
690
|
-
pod_cidr: {
|
|
691
|
-
type: 'string',
|
|
692
|
-
description: 'CIDR block for pod IPs.',
|
|
693
|
-
example: '10.244.0.0/16'
|
|
694
|
-
},
|
|
695
|
-
service_cidr: {
|
|
696
|
-
type: 'string',
|
|
697
|
-
description: 'CIDR block for service IPs.',
|
|
698
|
-
example: '10.96.0.0/12'
|
|
699
|
-
},
|
|
700
|
-
cluster_dns: {
|
|
701
|
-
type: 'string',
|
|
702
|
-
description: 'CoreDNS service IP.',
|
|
703
|
-
example: '10.96.0.10'
|
|
704
|
-
},
|
|
705
|
-
dual_stack: {
|
|
706
|
-
type: 'boolean',
|
|
707
|
-
description: 'Enable IPv4+IPv6 dual-stack networking.',
|
|
708
|
-
example: false
|
|
709
|
-
},
|
|
710
|
-
pod_cidr_v6: {
|
|
711
|
-
type: 'string',
|
|
712
|
-
description: 'IPv6 pod CIDR. Requires dual_stack.',
|
|
713
|
-
example: 'fd00:10:244::/56'
|
|
714
|
-
},
|
|
715
|
-
service_cidr_v6: {
|
|
716
|
-
type: 'string',
|
|
717
|
-
description: 'IPv6 service CIDR. Requires dual_stack.',
|
|
718
|
-
example: 'fd00:10:96::/112'
|
|
719
|
-
}
|
|
720
|
-
},
|
|
721
|
-
additionalProperties: false,
|
|
722
|
-
description: 'Cluster networking configuration. Immutable after creation.'
|
|
560
|
+
pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
|
|
561
|
+
description: 'Version of the kubernetes cluster.',
|
|
562
|
+
default: '1.x.x-cfke.x',
|
|
563
|
+
example: '1.x.x-cfke.x'
|
|
723
564
|
},
|
|
724
565
|
release_channel: {
|
|
725
566
|
type: 'string',
|
|
726
567
|
description: 'Release channel for the cluster\'s control plane.',
|
|
568
|
+
default: 'rapid',
|
|
727
569
|
example: 'rapid',
|
|
728
570
|
enum: [
|
|
729
571
|
'rapid',
|
|
@@ -737,6 +579,7 @@ export const ClusterSchema = {
|
|
|
737
579
|
gpu_sharing_strategy: {
|
|
738
580
|
type: 'string',
|
|
739
581
|
description: 'GPU sharing strategy.',
|
|
582
|
+
default: 'none',
|
|
740
583
|
example: 'none',
|
|
741
584
|
enum: [
|
|
742
585
|
'none',
|
|
@@ -746,9 +589,10 @@ export const ClusterSchema = {
|
|
|
746
589
|
},
|
|
747
590
|
gpu_max_shared_clients_per_gpu: {
|
|
748
591
|
type: 'integer',
|
|
749
|
-
minimum:
|
|
592
|
+
minimum: 2,
|
|
750
593
|
maximum: 48,
|
|
751
594
|
description: 'Maximum number of pods that may share a single GPU.',
|
|
595
|
+
default: 4,
|
|
752
596
|
example: 10
|
|
753
597
|
},
|
|
754
598
|
cilium_socket_lb_host_namespace_only: {
|
|
@@ -759,10 +603,66 @@ export const ClusterSchema = {
|
|
|
759
603
|
},
|
|
760
604
|
required: [
|
|
761
605
|
'gpu_sharing_strategy',
|
|
762
|
-
'gpu_max_shared_clients_per_gpu'
|
|
606
|
+
'gpu_max_shared_clients_per_gpu',
|
|
607
|
+
'cilium_socket_lb_host_namespace_only'
|
|
763
608
|
],
|
|
764
609
|
additionalProperties: false,
|
|
765
|
-
description: 'Cluster feature toggles.'
|
|
610
|
+
description: 'Cluster feature toggles.',
|
|
611
|
+
default: {
|
|
612
|
+
gpu_sharing_strategy: 'none',
|
|
613
|
+
gpu_max_shared_clients_per_gpu: 4,
|
|
614
|
+
cilium_socket_lb_host_namespace_only: false
|
|
615
|
+
}
|
|
616
|
+
},
|
|
617
|
+
region: {
|
|
618
|
+
type: 'string',
|
|
619
|
+
description: 'Cloudfleet control plane region. This field can not be updated after creation.',
|
|
620
|
+
example: 'europe-central-1a'
|
|
621
|
+
},
|
|
622
|
+
networking: {
|
|
623
|
+
type: 'object',
|
|
624
|
+
properties: {
|
|
625
|
+
pod_cidr: {
|
|
626
|
+
type: 'string',
|
|
627
|
+
description: 'CIDR block for pod IPs.',
|
|
628
|
+
default: '10.244.0.0/16'
|
|
629
|
+
},
|
|
630
|
+
service_cidr: {
|
|
631
|
+
type: 'string',
|
|
632
|
+
description: 'CIDR block for service IPs.',
|
|
633
|
+
default: '10.96.0.0/12'
|
|
634
|
+
},
|
|
635
|
+
dual_stack: {
|
|
636
|
+
type: 'boolean',
|
|
637
|
+
description: 'Enable IPv4+IPv6 dual-stack networking.'
|
|
638
|
+
},
|
|
639
|
+
pod_cidr_v6: {
|
|
640
|
+
type: 'string',
|
|
641
|
+
description: 'IPv6 pod CIDR. Requires dual_stack.',
|
|
642
|
+
default: '2001:db8:1:2::/48'
|
|
643
|
+
},
|
|
644
|
+
service_cidr_v6: {
|
|
645
|
+
type: 'string',
|
|
646
|
+
description: 'IPv6 service CIDR. Requires dual_stack.',
|
|
647
|
+
default: '2001:db8:1:1::/112'
|
|
648
|
+
}
|
|
649
|
+
},
|
|
650
|
+
required: [
|
|
651
|
+
'pod_cidr',
|
|
652
|
+
'service_cidr',
|
|
653
|
+
'dual_stack',
|
|
654
|
+
'pod_cidr_v6',
|
|
655
|
+
'service_cidr_v6'
|
|
656
|
+
],
|
|
657
|
+
additionalProperties: false,
|
|
658
|
+
description: 'Cluster networking configuration. Immutable after creation.',
|
|
659
|
+
default: {
|
|
660
|
+
pod_cidr: '10.244.0.0/16',
|
|
661
|
+
service_cidr: '10.96.0.0/12',
|
|
662
|
+
dual_stack: false,
|
|
663
|
+
pod_cidr_v6: '2001:db8:1:2::/48',
|
|
664
|
+
service_cidr_v6: '2001:db8:1:1::/112'
|
|
665
|
+
}
|
|
766
666
|
},
|
|
767
667
|
id: {
|
|
768
668
|
type: 'string',
|
|
@@ -837,22 +737,22 @@ export const ClusterSchema = {
|
|
|
837
737
|
type: 'boolean',
|
|
838
738
|
description: 'Indicates if the cluster is ready to be used.',
|
|
839
739
|
example: true
|
|
840
|
-
},
|
|
841
|
-
version_channel: {
|
|
842
|
-
type: 'string',
|
|
843
|
-
pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
|
|
844
|
-
description: 'Version of the kubernetes cluster.',
|
|
845
|
-
example: '1.x.x-cfke.x'
|
|
846
740
|
}
|
|
847
741
|
},
|
|
848
742
|
required: [
|
|
849
743
|
'name',
|
|
850
744
|
'tier',
|
|
745
|
+
'version_channel',
|
|
746
|
+
'release_channel',
|
|
747
|
+
'features',
|
|
851
748
|
'region',
|
|
749
|
+
'networking',
|
|
852
750
|
'id',
|
|
853
|
-
'status'
|
|
751
|
+
'status',
|
|
752
|
+
'ready'
|
|
854
753
|
],
|
|
855
|
-
additionalProperties: false
|
|
754
|
+
additionalProperties: false,
|
|
755
|
+
description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
856
756
|
};
|
|
857
757
|
export const ClusterUpdateInputSchema = {
|
|
858
758
|
type: 'object',
|
|
@@ -868,21 +768,25 @@ export const ClusterUpdateInputSchema = {
|
|
|
868
768
|
tier: {
|
|
869
769
|
type: 'string',
|
|
870
770
|
description: 'Tier of the cluster.',
|
|
771
|
+
default: 'basic',
|
|
871
772
|
example: 'pro',
|
|
872
773
|
enum: [
|
|
873
774
|
'basic',
|
|
874
|
-
'pro'
|
|
775
|
+
'pro',
|
|
776
|
+
'enterprise'
|
|
875
777
|
]
|
|
876
778
|
},
|
|
877
779
|
version_channel: {
|
|
878
780
|
type: 'string',
|
|
879
781
|
pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
|
|
880
782
|
description: 'Version of the kubernetes cluster.',
|
|
783
|
+
default: '1.x.x-cfke.x',
|
|
881
784
|
example: '1.x.x-cfke.x'
|
|
882
785
|
},
|
|
883
786
|
release_channel: {
|
|
884
787
|
type: 'string',
|
|
885
788
|
description: 'Release channel for the cluster\'s control plane.',
|
|
789
|
+
default: 'rapid',
|
|
886
790
|
example: 'rapid',
|
|
887
791
|
enum: [
|
|
888
792
|
'rapid',
|
|
@@ -896,6 +800,7 @@ export const ClusterUpdateInputSchema = {
|
|
|
896
800
|
gpu_sharing_strategy: {
|
|
897
801
|
type: 'string',
|
|
898
802
|
description: 'GPU sharing strategy.',
|
|
803
|
+
default: 'none',
|
|
899
804
|
example: 'none',
|
|
900
805
|
enum: [
|
|
901
806
|
'none',
|
|
@@ -905,9 +810,10 @@ export const ClusterUpdateInputSchema = {
|
|
|
905
810
|
},
|
|
906
811
|
gpu_max_shared_clients_per_gpu: {
|
|
907
812
|
type: 'integer',
|
|
908
|
-
minimum:
|
|
813
|
+
minimum: 2,
|
|
909
814
|
maximum: 48,
|
|
910
815
|
description: 'Maximum number of pods that may share a single GPU.',
|
|
816
|
+
default: 4,
|
|
911
817
|
example: 10
|
|
912
818
|
},
|
|
913
819
|
cilium_socket_lb_host_namespace_only: {
|
|
@@ -916,16 +822,84 @@ export const ClusterUpdateInputSchema = {
|
|
|
916
822
|
example: false
|
|
917
823
|
}
|
|
918
824
|
},
|
|
919
|
-
required: [
|
|
920
|
-
'gpu_sharing_strategy',
|
|
921
|
-
'gpu_max_shared_clients_per_gpu'
|
|
922
|
-
],
|
|
923
825
|
additionalProperties: false,
|
|
924
|
-
description: 'Cluster feature toggles.'
|
|
826
|
+
description: 'Cluster feature toggles.',
|
|
827
|
+
default: {
|
|
828
|
+
gpu_sharing_strategy: 'none',
|
|
829
|
+
gpu_max_shared_clients_per_gpu: 4,
|
|
830
|
+
cilium_socket_lb_host_namespace_only: false
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
},
|
|
834
|
+
required: [
|
|
835
|
+
'name'
|
|
836
|
+
],
|
|
837
|
+
additionalProperties: false,
|
|
838
|
+
description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
839
|
+
};
|
|
840
|
+
export const FeedbackCreateInputSchema = {
|
|
841
|
+
type: 'object',
|
|
842
|
+
properties: {
|
|
843
|
+
sentiment: {
|
|
844
|
+
type: 'string',
|
|
845
|
+
description: 'Overall sentiment: positive, neutral or negative.',
|
|
846
|
+
example: 'negative',
|
|
847
|
+
enum: [
|
|
848
|
+
'positive',
|
|
849
|
+
'neutral',
|
|
850
|
+
'negative'
|
|
851
|
+
]
|
|
852
|
+
},
|
|
853
|
+
message: {
|
|
854
|
+
type: 'string',
|
|
855
|
+
maxLength: 2000,
|
|
856
|
+
minLength: 1,
|
|
857
|
+
description: 'What was useful, confusing, wrong or missing.',
|
|
858
|
+
example: 'The error for a missing kubeconfig does not say which path it looked in.'
|
|
859
|
+
},
|
|
860
|
+
context: {
|
|
861
|
+
type: 'string',
|
|
862
|
+
maxLength: 2000,
|
|
863
|
+
description: 'What you were trying to do when it happened.',
|
|
864
|
+
example: 'Connecting kubectl to a new cluster.'
|
|
865
|
+
},
|
|
866
|
+
source: {
|
|
867
|
+
type: 'string',
|
|
868
|
+
description: 'Where the feedback was sent from: cli, mcp, plugin, console or api. Defaults to api.',
|
|
869
|
+
default: 'api',
|
|
870
|
+
example: 'cli',
|
|
871
|
+
enum: [
|
|
872
|
+
'cli',
|
|
873
|
+
'mcp',
|
|
874
|
+
'plugin',
|
|
875
|
+
'console',
|
|
876
|
+
'api'
|
|
877
|
+
]
|
|
878
|
+
},
|
|
879
|
+
client: {
|
|
880
|
+
type: 'string',
|
|
881
|
+
maxLength: 100,
|
|
882
|
+
description: 'Name and version of the sending client.',
|
|
883
|
+
example: 'cloudfleet-plugin-claude/0.5.0'
|
|
925
884
|
}
|
|
926
885
|
},
|
|
927
886
|
required: [
|
|
928
|
-
'
|
|
887
|
+
'sentiment',
|
|
888
|
+
'message'
|
|
889
|
+
],
|
|
890
|
+
additionalProperties: false
|
|
891
|
+
};
|
|
892
|
+
export const FeedbackSchema = {
|
|
893
|
+
type: 'object',
|
|
894
|
+
properties: {
|
|
895
|
+
id: {
|
|
896
|
+
type: 'string',
|
|
897
|
+
description: 'Unique identifier of the feedback entry (Mongo ObjectId).',
|
|
898
|
+
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
899
|
+
}
|
|
900
|
+
},
|
|
901
|
+
required: [
|
|
902
|
+
'id'
|
|
929
903
|
],
|
|
930
904
|
additionalProperties: false
|
|
931
905
|
};
|
|
@@ -973,8 +947,8 @@ export const FleetCreateInputSchema = {
|
|
|
973
947
|
type: 'string',
|
|
974
948
|
maxLength: 64,
|
|
975
949
|
minLength: 64,
|
|
976
|
-
pattern: '^[A-Za-z0-9]
|
|
977
|
-
description: 'Hetzner Cloud API token with read
|
|
950
|
+
pattern: '^([A-Za-z0-9]{64}|\\*{64})$',
|
|
951
|
+
description: 'Hetzner Cloud API token with read/write access (64 alphanumeric characters). Write-only: reads return a redacted placeholder, never the token. Omit the field, or send the placeholder back unchanged, to keep the existing key. Send a new value to rotate it.'
|
|
978
952
|
}
|
|
979
953
|
},
|
|
980
954
|
required: [
|
|
@@ -1199,7 +1173,8 @@ export const FleetCreateInputSchema = {
|
|
|
1199
1173
|
'z3'
|
|
1200
1174
|
]
|
|
1201
1175
|
},
|
|
1202
|
-
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1176
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
1177
|
+
default: []
|
|
1203
1178
|
},
|
|
1204
1179
|
'topology.kubernetes.io/region': {
|
|
1205
1180
|
type: 'array',
|
|
@@ -1272,15 +1247,27 @@ export const FleetCreateInputSchema = {
|
|
|
1272
1247
|
'us-west4'
|
|
1273
1248
|
]
|
|
1274
1249
|
},
|
|
1275
|
-
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1250
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
1251
|
+
default: []
|
|
1276
1252
|
}
|
|
1277
1253
|
},
|
|
1278
1254
|
additionalProperties: false,
|
|
1279
|
-
description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together.
|
|
1255
|
+
description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together.',
|
|
1256
|
+
default: {
|
|
1257
|
+
'karpenter.sh/capacity-type': [
|
|
1258
|
+
'on-demand',
|
|
1259
|
+
'spot'
|
|
1260
|
+
],
|
|
1261
|
+
'kubernetes.io/arch': [
|
|
1262
|
+
'amd64'
|
|
1263
|
+
],
|
|
1264
|
+
'cfke.io/instance-family': [],
|
|
1265
|
+
'topology.kubernetes.io/region': []
|
|
1266
|
+
}
|
|
1280
1267
|
},
|
|
1281
1268
|
scalingProfile: {
|
|
1282
1269
|
type: 'string',
|
|
1283
|
-
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
1270
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).',
|
|
1284
1271
|
default: 'conservative',
|
|
1285
1272
|
example: 'conservative',
|
|
1286
1273
|
enum: [
|
|
@@ -1288,6 +1275,44 @@ export const FleetCreateInputSchema = {
|
|
|
1288
1275
|
'conservative'
|
|
1289
1276
|
]
|
|
1290
1277
|
},
|
|
1278
|
+
taints: {
|
|
1279
|
+
type: 'array',
|
|
1280
|
+
items: {
|
|
1281
|
+
type: 'object',
|
|
1282
|
+
properties: {
|
|
1283
|
+
key: {
|
|
1284
|
+
type: 'string',
|
|
1285
|
+
description: 'Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.',
|
|
1286
|
+
example: 'dedicated'
|
|
1287
|
+
},
|
|
1288
|
+
value: {
|
|
1289
|
+
type: 'string',
|
|
1290
|
+
maxLength: 63,
|
|
1291
|
+
pattern: '^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$',
|
|
1292
|
+
description: 'Taint value. Optional.',
|
|
1293
|
+
example: 'ci'
|
|
1294
|
+
},
|
|
1295
|
+
effect: {
|
|
1296
|
+
type: 'string',
|
|
1297
|
+
description: 'Taint effect.',
|
|
1298
|
+
example: 'NoSchedule',
|
|
1299
|
+
enum: [
|
|
1300
|
+
'NoSchedule',
|
|
1301
|
+
'PreferNoSchedule',
|
|
1302
|
+
'NoExecute'
|
|
1303
|
+
]
|
|
1304
|
+
}
|
|
1305
|
+
},
|
|
1306
|
+
required: [
|
|
1307
|
+
'key',
|
|
1308
|
+
'effect'
|
|
1309
|
+
],
|
|
1310
|
+
additionalProperties: false
|
|
1311
|
+
},
|
|
1312
|
+
maxItems: 50,
|
|
1313
|
+
description: 'Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.',
|
|
1314
|
+
default: []
|
|
1315
|
+
},
|
|
1291
1316
|
id: {
|
|
1292
1317
|
type: 'string',
|
|
1293
1318
|
maxLength: 63,
|
|
@@ -1300,7 +1325,8 @@ export const FleetCreateInputSchema = {
|
|
|
1300
1325
|
required: [
|
|
1301
1326
|
'id'
|
|
1302
1327
|
],
|
|
1303
|
-
additionalProperties: false
|
|
1328
|
+
additionalProperties: false,
|
|
1329
|
+
description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
1304
1330
|
};
|
|
1305
1331
|
export const FleetSchema = {
|
|
1306
1332
|
type: 'object',
|
|
@@ -1570,7 +1596,8 @@ export const FleetSchema = {
|
|
|
1570
1596
|
'z3'
|
|
1571
1597
|
]
|
|
1572
1598
|
},
|
|
1573
|
-
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
1599
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
1600
|
+
default: []
|
|
1574
1601
|
},
|
|
1575
1602
|
'topology.kubernetes.io/region': {
|
|
1576
1603
|
type: 'array',
|
|
@@ -1643,15 +1670,31 @@ export const FleetSchema = {
|
|
|
1643
1670
|
'us-west4'
|
|
1644
1671
|
]
|
|
1645
1672
|
},
|
|
1646
|
-
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
1673
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
1674
|
+
default: []
|
|
1647
1675
|
}
|
|
1648
1676
|
},
|
|
1677
|
+
required: [
|
|
1678
|
+
'karpenter.sh/capacity-type',
|
|
1679
|
+
'kubernetes.io/arch'
|
|
1680
|
+
],
|
|
1649
1681
|
additionalProperties: false,
|
|
1650
|
-
description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together.
|
|
1682
|
+
description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together.',
|
|
1683
|
+
default: {
|
|
1684
|
+
'karpenter.sh/capacity-type': [
|
|
1685
|
+
'on-demand',
|
|
1686
|
+
'spot'
|
|
1687
|
+
],
|
|
1688
|
+
'kubernetes.io/arch': [
|
|
1689
|
+
'amd64'
|
|
1690
|
+
],
|
|
1691
|
+
'cfke.io/instance-family': [],
|
|
1692
|
+
'topology.kubernetes.io/region': []
|
|
1693
|
+
}
|
|
1651
1694
|
},
|
|
1652
1695
|
scalingProfile: {
|
|
1653
1696
|
type: 'string',
|
|
1654
|
-
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
1697
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).',
|
|
1655
1698
|
default: 'conservative',
|
|
1656
1699
|
example: 'conservative',
|
|
1657
1700
|
enum: [
|
|
@@ -1659,6 +1702,44 @@ export const FleetSchema = {
|
|
|
1659
1702
|
'conservative'
|
|
1660
1703
|
]
|
|
1661
1704
|
},
|
|
1705
|
+
taints: {
|
|
1706
|
+
type: 'array',
|
|
1707
|
+
items: {
|
|
1708
|
+
type: 'object',
|
|
1709
|
+
properties: {
|
|
1710
|
+
key: {
|
|
1711
|
+
type: 'string',
|
|
1712
|
+
description: 'Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.',
|
|
1713
|
+
example: 'dedicated'
|
|
1714
|
+
},
|
|
1715
|
+
value: {
|
|
1716
|
+
type: 'string',
|
|
1717
|
+
maxLength: 63,
|
|
1718
|
+
pattern: '^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$',
|
|
1719
|
+
description: 'Taint value. Optional.',
|
|
1720
|
+
example: 'ci'
|
|
1721
|
+
},
|
|
1722
|
+
effect: {
|
|
1723
|
+
type: 'string',
|
|
1724
|
+
description: 'Taint effect.',
|
|
1725
|
+
example: 'NoSchedule',
|
|
1726
|
+
enum: [
|
|
1727
|
+
'NoSchedule',
|
|
1728
|
+
'PreferNoSchedule',
|
|
1729
|
+
'NoExecute'
|
|
1730
|
+
]
|
|
1731
|
+
}
|
|
1732
|
+
},
|
|
1733
|
+
required: [
|
|
1734
|
+
'key',
|
|
1735
|
+
'effect'
|
|
1736
|
+
],
|
|
1737
|
+
additionalProperties: false
|
|
1738
|
+
},
|
|
1739
|
+
maxItems: 50,
|
|
1740
|
+
description: 'Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.',
|
|
1741
|
+
default: []
|
|
1742
|
+
},
|
|
1662
1743
|
id: {
|
|
1663
1744
|
type: 'string',
|
|
1664
1745
|
maxLength: 63,
|
|
@@ -1689,13 +1770,16 @@ export const FleetSchema = {
|
|
|
1689
1770
|
}
|
|
1690
1771
|
},
|
|
1691
1772
|
required: [
|
|
1773
|
+
'constraints',
|
|
1692
1774
|
'scalingProfile',
|
|
1775
|
+
'taints',
|
|
1693
1776
|
'id',
|
|
1694
1777
|
'ready',
|
|
1695
1778
|
'created_at',
|
|
1696
1779
|
'updated_at'
|
|
1697
1780
|
],
|
|
1698
|
-
additionalProperties: false
|
|
1781
|
+
additionalProperties: false,
|
|
1782
|
+
description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
1699
1783
|
};
|
|
1700
1784
|
export const FleetUpdateInputSchema = {
|
|
1701
1785
|
type: 'object',
|
|
@@ -1741,8 +1825,8 @@ export const FleetUpdateInputSchema = {
|
|
|
1741
1825
|
type: 'string',
|
|
1742
1826
|
maxLength: 64,
|
|
1743
1827
|
minLength: 64,
|
|
1744
|
-
pattern: '^[A-Za-z0-9]
|
|
1745
|
-
description: 'Hetzner Cloud API token with read
|
|
1828
|
+
pattern: '^([A-Za-z0-9]{64}|\\*{64})$',
|
|
1829
|
+
description: 'Hetzner Cloud API token with read/write access (64 alphanumeric characters). Write-only: reads return a redacted placeholder, never the token. Omit the field, or send the placeholder back unchanged, to keep the existing key. Send a new value to rotate it.'
|
|
1746
1830
|
}
|
|
1747
1831
|
},
|
|
1748
1832
|
required: [
|
|
@@ -1781,7 +1865,11 @@ export const FleetUpdateInputSchema = {
|
|
|
1781
1865
|
]
|
|
1782
1866
|
},
|
|
1783
1867
|
minItems: 1,
|
|
1784
|
-
description: 'Allowed values for `karpenter.sh/capacity-type`.'
|
|
1868
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1869
|
+
default: [
|
|
1870
|
+
'on-demand',
|
|
1871
|
+
'spot'
|
|
1872
|
+
]
|
|
1785
1873
|
},
|
|
1786
1874
|
'kubernetes.io/arch': {
|
|
1787
1875
|
type: 'array',
|
|
@@ -1793,7 +1881,10 @@ export const FleetUpdateInputSchema = {
|
|
|
1793
1881
|
]
|
|
1794
1882
|
},
|
|
1795
1883
|
minItems: 1,
|
|
1796
|
-
description: 'Allowed values for `kubernetes.io/arch`.'
|
|
1884
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1885
|
+
default: [
|
|
1886
|
+
'amd64'
|
|
1887
|
+
]
|
|
1797
1888
|
},
|
|
1798
1889
|
'cfke.io/instance-family': {
|
|
1799
1890
|
type: 'array',
|
|
@@ -1960,7 +2051,8 @@ export const FleetUpdateInputSchema = {
|
|
|
1960
2051
|
'z3'
|
|
1961
2052
|
]
|
|
1962
2053
|
},
|
|
1963
|
-
description: 'Allowed values for `cfke.io/instance-family`.'
|
|
2054
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
2055
|
+
default: []
|
|
1964
2056
|
},
|
|
1965
2057
|
'topology.kubernetes.io/region': {
|
|
1966
2058
|
type: 'array',
|
|
@@ -2033,26 +2125,75 @@ export const FleetUpdateInputSchema = {
|
|
|
2033
2125
|
'us-west4'
|
|
2034
2126
|
]
|
|
2035
2127
|
},
|
|
2036
|
-
description: 'Allowed values for `topology.kubernetes.io/region`.'
|
|
2128
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
2129
|
+
default: []
|
|
2037
2130
|
}
|
|
2038
2131
|
},
|
|
2039
2132
|
additionalProperties: false,
|
|
2040
|
-
description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together.
|
|
2133
|
+
description: 'Constraints define scheduling and provisioning requirements for the fleet. Each field restricts the values allowed for a given Kubernetes label key. Multiple constraints are ANDed together.',
|
|
2134
|
+
default: {
|
|
2135
|
+
'karpenter.sh/capacity-type': [
|
|
2136
|
+
'on-demand',
|
|
2137
|
+
'spot'
|
|
2138
|
+
],
|
|
2139
|
+
'kubernetes.io/arch': [
|
|
2140
|
+
'amd64'
|
|
2141
|
+
],
|
|
2142
|
+
'cfke.io/instance-family': [],
|
|
2143
|
+
'topology.kubernetes.io/region': []
|
|
2144
|
+
}
|
|
2041
2145
|
},
|
|
2042
2146
|
scalingProfile: {
|
|
2043
2147
|
type: 'string',
|
|
2044
|
-
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
|
|
2148
|
+
description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet. Full-overwrite: omit to reset to the default (`conservative`).',
|
|
2149
|
+
default: 'conservative',
|
|
2045
2150
|
example: 'conservative',
|
|
2046
2151
|
enum: [
|
|
2047
2152
|
'aggressive',
|
|
2048
2153
|
'conservative'
|
|
2049
2154
|
]
|
|
2155
|
+
},
|
|
2156
|
+
taints: {
|
|
2157
|
+
type: 'array',
|
|
2158
|
+
items: {
|
|
2159
|
+
type: 'object',
|
|
2160
|
+
properties: {
|
|
2161
|
+
key: {
|
|
2162
|
+
type: 'string',
|
|
2163
|
+
description: 'Taint key: a Kubernetes qualified name with an optional DNS subdomain prefix. Keys under `node.kubernetes.io`, `node.cloudprovider.kubernetes.io`, `node.cilium.io`, `karpenter.sh` and `cfke.io` (and their subdomains) are reserved.',
|
|
2164
|
+
example: 'dedicated'
|
|
2165
|
+
},
|
|
2166
|
+
value: {
|
|
2167
|
+
type: 'string',
|
|
2168
|
+
maxLength: 63,
|
|
2169
|
+
pattern: '^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$',
|
|
2170
|
+
description: 'Taint value. Optional.',
|
|
2171
|
+
example: 'ci'
|
|
2172
|
+
},
|
|
2173
|
+
effect: {
|
|
2174
|
+
type: 'string',
|
|
2175
|
+
description: 'Taint effect.',
|
|
2176
|
+
example: 'NoSchedule',
|
|
2177
|
+
enum: [
|
|
2178
|
+
'NoSchedule',
|
|
2179
|
+
'PreferNoSchedule',
|
|
2180
|
+
'NoExecute'
|
|
2181
|
+
]
|
|
2182
|
+
}
|
|
2183
|
+
},
|
|
2184
|
+
required: [
|
|
2185
|
+
'key',
|
|
2186
|
+
'effect'
|
|
2187
|
+
],
|
|
2188
|
+
additionalProperties: false
|
|
2189
|
+
},
|
|
2190
|
+
maxItems: 50,
|
|
2191
|
+
description: 'Taints applied to every node the fleet provisions, so only pods that tolerate them schedule there. Each key and effect pair may appear once. Full-overwrite: omit to remove all taints.',
|
|
2192
|
+
default: []
|
|
2050
2193
|
}
|
|
2051
2194
|
},
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
],
|
|
2055
|
-
additionalProperties: false
|
|
2195
|
+
additionalProperties: false,
|
|
2196
|
+
description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
2056
2197
|
};
|
|
2057
2198
|
export const InviteCreateInputSchema = {
|
|
2058
2199
|
type: 'object',
|
|
@@ -2122,7 +2263,171 @@ export const InviteSchema = {
|
|
|
2122
2263
|
}
|
|
2123
2264
|
},
|
|
2124
2265
|
required: [
|
|
2125
|
-
'date_created'
|
|
2266
|
+
'date_created'
|
|
2267
|
+
],
|
|
2268
|
+
additionalProperties: false
|
|
2269
|
+
};
|
|
2270
|
+
export const InvoicePaymentAttemptSchema = {
|
|
2271
|
+
type: 'object',
|
|
2272
|
+
properties: {
|
|
2273
|
+
invoice_id: {
|
|
2274
|
+
type: 'string',
|
|
2275
|
+
description: 'Identifier of the invoice.',
|
|
2276
|
+
example: 'in_1234567890xCrwxghOTj1234'
|
|
2277
|
+
},
|
|
2278
|
+
number: {
|
|
2279
|
+
type: 'string',
|
|
2280
|
+
nullable: true,
|
|
2281
|
+
description: 'Invoice number. Null if the invoice has no number.',
|
|
2282
|
+
example: 'CF-0042'
|
|
2283
|
+
},
|
|
2284
|
+
amount: {
|
|
2285
|
+
type: 'number',
|
|
2286
|
+
format: 'float',
|
|
2287
|
+
description: 'Amount outstanding when the charge was attempted, in the smallest currency unit.',
|
|
2288
|
+
example: 4200
|
|
2289
|
+
},
|
|
2290
|
+
currency: {
|
|
2291
|
+
type: 'string',
|
|
2292
|
+
description: 'Currency of the invoice.',
|
|
2293
|
+
example: 'eur'
|
|
2294
|
+
},
|
|
2295
|
+
status: {
|
|
2296
|
+
type: 'string',
|
|
2297
|
+
description: 'Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).',
|
|
2298
|
+
example: 'paid',
|
|
2299
|
+
enum: [
|
|
2300
|
+
'paid',
|
|
2301
|
+
'processing',
|
|
2302
|
+
'requires_action',
|
|
2303
|
+
'failed'
|
|
2304
|
+
]
|
|
2305
|
+
},
|
|
2306
|
+
client_secret: {
|
|
2307
|
+
type: 'string',
|
|
2308
|
+
nullable: true,
|
|
2309
|
+
description: 'Client secret used to complete customer authentication. Set only when `status` is `requires_action`.',
|
|
2310
|
+
example: 'pi_3MtwBwLkdIwHu7ix28a3tqPa_secret_YrKJUKribcBjcG8HVhfZluoGH'
|
|
2311
|
+
},
|
|
2312
|
+
failure_code: {
|
|
2313
|
+
type: 'string',
|
|
2314
|
+
nullable: true,
|
|
2315
|
+
description: 'Decline code. Set only when `status` is `failed`.',
|
|
2316
|
+
example: 'insufficient_funds'
|
|
2317
|
+
},
|
|
2318
|
+
failure_message: {
|
|
2319
|
+
type: 'string',
|
|
2320
|
+
nullable: true,
|
|
2321
|
+
description: 'Explanation of the decline, suitable for display. Set only when `status` is `failed`.',
|
|
2322
|
+
example: 'Your card has insufficient funds.'
|
|
2323
|
+
}
|
|
2324
|
+
},
|
|
2325
|
+
required: [
|
|
2326
|
+
'invoice_id',
|
|
2327
|
+
'number',
|
|
2328
|
+
'amount',
|
|
2329
|
+
'currency',
|
|
2330
|
+
'status',
|
|
2331
|
+
'client_secret',
|
|
2332
|
+
'failure_code',
|
|
2333
|
+
'failure_message'
|
|
2334
|
+
],
|
|
2335
|
+
additionalProperties: false
|
|
2336
|
+
};
|
|
2337
|
+
export const InvoicePaymentResultSchema = {
|
|
2338
|
+
type: 'object',
|
|
2339
|
+
properties: {
|
|
2340
|
+
code: {
|
|
2341
|
+
type: 'string',
|
|
2342
|
+
description: 'Overall outcome: `paid` (nothing outstanding), `processing` (all accepted, not yet settled), `action_required` (one or more await customer authentication), `partially_paid`, `failed`, `nothing_due`, or `bank_transfer_due` (the organization pays by bank transfer; nothing was charged).',
|
|
2343
|
+
example: 'partially_paid',
|
|
2344
|
+
enum: [
|
|
2345
|
+
'paid',
|
|
2346
|
+
'processing',
|
|
2347
|
+
'action_required',
|
|
2348
|
+
'partially_paid',
|
|
2349
|
+
'failed',
|
|
2350
|
+
'nothing_due',
|
|
2351
|
+
'bank_transfer_due'
|
|
2352
|
+
]
|
|
2353
|
+
},
|
|
2354
|
+
message: {
|
|
2355
|
+
type: 'string',
|
|
2356
|
+
description: 'Summary of the outcome, suitable for display.',
|
|
2357
|
+
example: '1 of 2 open invoices was paid. Invoice CF-0043 was declined: Your card has insufficient funds.'
|
|
2358
|
+
},
|
|
2359
|
+
results: {
|
|
2360
|
+
type: 'array',
|
|
2361
|
+
items: {
|
|
2362
|
+
type: 'object',
|
|
2363
|
+
properties: {
|
|
2364
|
+
invoice_id: {
|
|
2365
|
+
type: 'string',
|
|
2366
|
+
description: 'Identifier of the invoice.',
|
|
2367
|
+
example: 'in_1234567890xCrwxghOTj1234'
|
|
2368
|
+
},
|
|
2369
|
+
number: {
|
|
2370
|
+
type: 'string',
|
|
2371
|
+
description: 'Invoice number. Null if the invoice has no number.',
|
|
2372
|
+
example: 'CF-0042'
|
|
2373
|
+
},
|
|
2374
|
+
amount: {
|
|
2375
|
+
type: 'number',
|
|
2376
|
+
format: 'float',
|
|
2377
|
+
description: 'Amount outstanding when the charge was attempted, in the smallest currency unit.',
|
|
2378
|
+
example: 4200
|
|
2379
|
+
},
|
|
2380
|
+
currency: {
|
|
2381
|
+
type: 'string',
|
|
2382
|
+
description: 'Currency of the invoice.',
|
|
2383
|
+
example: 'eur'
|
|
2384
|
+
},
|
|
2385
|
+
status: {
|
|
2386
|
+
type: 'string',
|
|
2387
|
+
description: 'Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).',
|
|
2388
|
+
example: 'paid',
|
|
2389
|
+
enum: [
|
|
2390
|
+
'paid',
|
|
2391
|
+
'processing',
|
|
2392
|
+
'requires_action',
|
|
2393
|
+
'failed'
|
|
2394
|
+
]
|
|
2395
|
+
},
|
|
2396
|
+
client_secret: {
|
|
2397
|
+
type: 'string',
|
|
2398
|
+
description: 'Client secret used to complete customer authentication. Set only when `status` is `requires_action`.',
|
|
2399
|
+
example: 'pi_3MtwBwLkdIwHu7ix28a3tqPa_secret_YrKJUKribcBjcG8HVhfZluoGH'
|
|
2400
|
+
},
|
|
2401
|
+
failure_code: {
|
|
2402
|
+
type: 'string',
|
|
2403
|
+
description: 'Decline code. Set only when `status` is `failed`.',
|
|
2404
|
+
example: 'insufficient_funds'
|
|
2405
|
+
},
|
|
2406
|
+
failure_message: {
|
|
2407
|
+
type: 'string',
|
|
2408
|
+
description: 'Explanation of the decline, suitable for display. Set only when `status` is `failed`.',
|
|
2409
|
+
example: 'Your card has insufficient funds.'
|
|
2410
|
+
}
|
|
2411
|
+
},
|
|
2412
|
+
required: [
|
|
2413
|
+
'invoice_id',
|
|
2414
|
+
'number',
|
|
2415
|
+
'amount',
|
|
2416
|
+
'currency',
|
|
2417
|
+
'status',
|
|
2418
|
+
'client_secret',
|
|
2419
|
+
'failure_code',
|
|
2420
|
+
'failure_message'
|
|
2421
|
+
],
|
|
2422
|
+
additionalProperties: false
|
|
2423
|
+
},
|
|
2424
|
+
description: 'One entry per invoice charged, oldest first.'
|
|
2425
|
+
}
|
|
2426
|
+
},
|
|
2427
|
+
required: [
|
|
2428
|
+
'code',
|
|
2429
|
+
'message',
|
|
2430
|
+
'results'
|
|
2126
2431
|
],
|
|
2127
2432
|
additionalProperties: false
|
|
2128
2433
|
};
|
|
@@ -2182,160 +2487,6 @@ export const InvoiceSchema = {
|
|
|
2182
2487
|
],
|
|
2183
2488
|
additionalProperties: false
|
|
2184
2489
|
};
|
|
2185
|
-
export const MarketplaceListingFilesSchema = {
|
|
2186
|
-
type: 'object',
|
|
2187
|
-
properties: {
|
|
2188
|
-
chartYaml: {
|
|
2189
|
-
type: 'string',
|
|
2190
|
-
description: 'Raw Chart.yaml content from the Helm chart',
|
|
2191
|
-
example: 'apiVersion: v2\nname: nginx-ingress\nversion: 1.18.2-cfke.45\nappVersion: 1.9.4'
|
|
2192
|
-
},
|
|
2193
|
-
valuesYaml: {
|
|
2194
|
-
type: 'string',
|
|
2195
|
-
description: 'Raw values.yaml content from the Helm chart',
|
|
2196
|
-
example: 'replicaCount: 1\nimage:\n repository: nginx\n tag: latest'
|
|
2197
|
-
},
|
|
2198
|
-
valuesSchemaJson: {
|
|
2199
|
-
type: 'string',
|
|
2200
|
-
description: 'JSON schema for values.yaml as a string',
|
|
2201
|
-
example: '{"type":"object","properties":{"replicaCount":{"type":"number"}}}'
|
|
2202
|
-
}
|
|
2203
|
-
},
|
|
2204
|
-
additionalProperties: false
|
|
2205
|
-
};
|
|
2206
|
-
export const MarketplaceListingSchema = {
|
|
2207
|
-
type: 'object',
|
|
2208
|
-
properties: {
|
|
2209
|
-
name: {
|
|
2210
|
-
type: 'string',
|
|
2211
|
-
description: 'Name of the chart',
|
|
2212
|
-
example: 'nginx-ingress'
|
|
2213
|
-
},
|
|
2214
|
-
versions: {
|
|
2215
|
-
type: 'array',
|
|
2216
|
-
items: {
|
|
2217
|
-
type: 'string',
|
|
2218
|
-
pattern: '^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
|
|
2219
|
-
description: 'Specific version of the chart',
|
|
2220
|
-
example: '1.18.2-cfke.45'
|
|
2221
|
-
},
|
|
2222
|
-
description: 'Available versions of the chart'
|
|
2223
|
-
},
|
|
2224
|
-
version_channels: {
|
|
2225
|
-
type: 'array',
|
|
2226
|
-
items: {
|
|
2227
|
-
type: 'string',
|
|
2228
|
-
pattern: '^(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)\\.(x|X|0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$',
|
|
2229
|
-
description: 'Version channel pattern',
|
|
2230
|
-
example: '1.18.x-cfke.x'
|
|
2231
|
-
},
|
|
2232
|
-
description: 'Version channels for the chart'
|
|
2233
|
-
},
|
|
2234
|
-
latestVersion: {
|
|
2235
|
-
type: 'string',
|
|
2236
|
-
description: 'Latest version of the chart',
|
|
2237
|
-
example: '1.18.2-cfke.45'
|
|
2238
|
-
},
|
|
2239
|
-
metadata: {
|
|
2240
|
-
type: 'object',
|
|
2241
|
-
properties: {
|
|
2242
|
-
name: {
|
|
2243
|
-
type: 'string',
|
|
2244
|
-
description: 'Chart name from metadata',
|
|
2245
|
-
example: 'nginx-ingress'
|
|
2246
|
-
},
|
|
2247
|
-
version: {
|
|
2248
|
-
type: 'string',
|
|
2249
|
-
description: 'Chart version from metadata',
|
|
2250
|
-
example: '1.18.2-cfke.45'
|
|
2251
|
-
},
|
|
2252
|
-
description: {
|
|
2253
|
-
type: 'string',
|
|
2254
|
-
description: 'Chart description',
|
|
2255
|
-
example: 'NGINX Ingress Controller for Kubernetes'
|
|
2256
|
-
},
|
|
2257
|
-
appVersion: {
|
|
2258
|
-
type: 'string',
|
|
2259
|
-
description: 'Application version',
|
|
2260
|
-
example: '1.9.4'
|
|
2261
|
-
},
|
|
2262
|
-
apiVersion: {
|
|
2263
|
-
type: 'string',
|
|
2264
|
-
description: 'Helm API version',
|
|
2265
|
-
example: 'v2'
|
|
2266
|
-
},
|
|
2267
|
-
keywords: {
|
|
2268
|
-
type: 'array',
|
|
2269
|
-
items: {
|
|
2270
|
-
type: 'string'
|
|
2271
|
-
},
|
|
2272
|
-
description: 'Chart keywords',
|
|
2273
|
-
example: [
|
|
2274
|
-
'ingress',
|
|
2275
|
-
'nginx',
|
|
2276
|
-
'load-balancer'
|
|
2277
|
-
]
|
|
2278
|
-
},
|
|
2279
|
-
home: {
|
|
2280
|
-
type: 'string',
|
|
2281
|
-
description: 'Chart home URL',
|
|
2282
|
-
example: 'https://kubernetes.github.io/ingress-nginx/'
|
|
2283
|
-
},
|
|
2284
|
-
icon: {
|
|
2285
|
-
type: 'string',
|
|
2286
|
-
description: 'A URL to an SVG or PNG image to be used as an icon',
|
|
2287
|
-
example: 'https://cloudfleet.ai/images/marketplace/icons/ingress-nginx.png'
|
|
2288
|
-
},
|
|
2289
|
-
sources: {
|
|
2290
|
-
type: 'array',
|
|
2291
|
-
items: {
|
|
2292
|
-
type: 'string'
|
|
2293
|
-
},
|
|
2294
|
-
description: 'Chart source URLs',
|
|
2295
|
-
example: [
|
|
2296
|
-
'https://github.com/kubernetes/ingress-nginx'
|
|
2297
|
-
]
|
|
2298
|
-
},
|
|
2299
|
-
maintainers: {
|
|
2300
|
-
type: 'array',
|
|
2301
|
-
items: {
|
|
2302
|
-
type: 'object',
|
|
2303
|
-
properties: {
|
|
2304
|
-
name: {
|
|
2305
|
-
type: 'string',
|
|
2306
|
-
description: 'Maintainer name',
|
|
2307
|
-
example: 'NGINX Team'
|
|
2308
|
-
},
|
|
2309
|
-
email: {
|
|
2310
|
-
type: 'string',
|
|
2311
|
-
description: 'Maintainer email',
|
|
2312
|
-
example: 'support@nginx.org'
|
|
2313
|
-
}
|
|
2314
|
-
},
|
|
2315
|
-
required: [
|
|
2316
|
-
'name'
|
|
2317
|
-
],
|
|
2318
|
-
additionalProperties: false
|
|
2319
|
-
},
|
|
2320
|
-
description: 'Chart maintainers'
|
|
2321
|
-
}
|
|
2322
|
-
},
|
|
2323
|
-
required: [
|
|
2324
|
-
'name',
|
|
2325
|
-
'version'
|
|
2326
|
-
],
|
|
2327
|
-
additionalProperties: false,
|
|
2328
|
-
description: 'Chart metadata'
|
|
2329
|
-
}
|
|
2330
|
-
},
|
|
2331
|
-
required: [
|
|
2332
|
-
'name',
|
|
2333
|
-
'versions',
|
|
2334
|
-
'version_channels',
|
|
2335
|
-
'latestVersion'
|
|
2336
|
-
],
|
|
2337
|
-
additionalProperties: false
|
|
2338
|
-
};
|
|
2339
2490
|
export const OrganizationCreateInputSchema = {
|
|
2340
2491
|
type: 'object',
|
|
2341
2492
|
properties: {
|
|
@@ -2460,6 +2611,17 @@ export const OrganizationSchema = {
|
|
|
2460
2611
|
description: 'Available number of Pro clusters that can be created.',
|
|
2461
2612
|
example: 999
|
|
2462
2613
|
},
|
|
2614
|
+
enterprise_clusters_max: {
|
|
2615
|
+
type: 'integer',
|
|
2616
|
+
minimum: 0,
|
|
2617
|
+
description: 'Maximum number of Enterprise clusters that can be created.',
|
|
2618
|
+
example: 999
|
|
2619
|
+
},
|
|
2620
|
+
enterprise_clusters_available: {
|
|
2621
|
+
type: 'integer',
|
|
2622
|
+
description: 'Available number of Enterprise clusters that can be created.',
|
|
2623
|
+
example: 999
|
|
2624
|
+
},
|
|
2463
2625
|
fleets_max: {
|
|
2464
2626
|
type: 'integer',
|
|
2465
2627
|
minimum: 0,
|
|
@@ -2521,6 +2683,8 @@ export const OrganizationSchema = {
|
|
|
2521
2683
|
'basic_clusters_available',
|
|
2522
2684
|
'pro_clusters_max',
|
|
2523
2685
|
'pro_clusters_available',
|
|
2686
|
+
'enterprise_clusters_max',
|
|
2687
|
+
'enterprise_clusters_available',
|
|
2524
2688
|
'fleets_max',
|
|
2525
2689
|
'cluster_tiers',
|
|
2526
2690
|
'regions',
|
|
@@ -2667,6 +2831,17 @@ export const PlatformQuotaSchema = {
|
|
|
2667
2831
|
description: 'Available number of Pro clusters that can be created.',
|
|
2668
2832
|
example: 999
|
|
2669
2833
|
},
|
|
2834
|
+
enterprise_clusters_max: {
|
|
2835
|
+
type: 'integer',
|
|
2836
|
+
minimum: 0,
|
|
2837
|
+
description: 'Maximum number of Enterprise clusters that can be created.',
|
|
2838
|
+
example: 999
|
|
2839
|
+
},
|
|
2840
|
+
enterprise_clusters_available: {
|
|
2841
|
+
type: 'integer',
|
|
2842
|
+
description: 'Available number of Enterprise clusters that can be created.',
|
|
2843
|
+
example: 999
|
|
2844
|
+
},
|
|
2670
2845
|
fleets_max: {
|
|
2671
2846
|
type: 'integer',
|
|
2672
2847
|
minimum: 0,
|
|
@@ -2728,6 +2903,8 @@ export const PlatformQuotaSchema = {
|
|
|
2728
2903
|
'basic_clusters_available',
|
|
2729
2904
|
'pro_clusters_max',
|
|
2730
2905
|
'pro_clusters_available',
|
|
2906
|
+
'enterprise_clusters_max',
|
|
2907
|
+
'enterprise_clusters_available',
|
|
2731
2908
|
'fleets_max',
|
|
2732
2909
|
'cluster_tiers',
|
|
2733
2910
|
'regions',
|
|
@@ -3001,6 +3178,73 @@ export const RegistryTagSchema = {
|
|
|
3001
3178
|
],
|
|
3002
3179
|
additionalProperties: false
|
|
3003
3180
|
};
|
|
3181
|
+
export const RoadmapItemCreateInputSchema = {
|
|
3182
|
+
type: 'object',
|
|
3183
|
+
properties: {
|
|
3184
|
+
text: {
|
|
3185
|
+
type: 'string',
|
|
3186
|
+
maxLength: 500,
|
|
3187
|
+
minLength: 1,
|
|
3188
|
+
description: 'Your suggestion in one or two sentences. It is reviewed before it appears on the roadmap.',
|
|
3189
|
+
example: 'Support for ARM nodes on Hetzner.'
|
|
3190
|
+
}
|
|
3191
|
+
},
|
|
3192
|
+
required: [
|
|
3193
|
+
'text'
|
|
3194
|
+
],
|
|
3195
|
+
additionalProperties: false
|
|
3196
|
+
};
|
|
3197
|
+
export const RoadmapItemSchema = {
|
|
3198
|
+
type: 'object',
|
|
3199
|
+
properties: {
|
|
3200
|
+
id: {
|
|
3201
|
+
type: 'string',
|
|
3202
|
+
description: 'Unique identifier of the roadmap item (Mongo ObjectId).',
|
|
3203
|
+
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
3204
|
+
},
|
|
3205
|
+
text: {
|
|
3206
|
+
type: 'string',
|
|
3207
|
+
description: 'Short description of the roadmap item.',
|
|
3208
|
+
example: 'Support for ARM nodes on Hetzner.'
|
|
3209
|
+
},
|
|
3210
|
+
vote: {
|
|
3211
|
+
type: 'integer',
|
|
3212
|
+
nullable: true,
|
|
3213
|
+
description: 'The caller\'s vote on this item: -1 (down), 1 (up), 2 (double up), or null if the caller has not voted.',
|
|
3214
|
+
example: 1,
|
|
3215
|
+
enum: [
|
|
3216
|
+
-1,
|
|
3217
|
+
1,
|
|
3218
|
+
2
|
|
3219
|
+
]
|
|
3220
|
+
}
|
|
3221
|
+
},
|
|
3222
|
+
required: [
|
|
3223
|
+
'id',
|
|
3224
|
+
'text',
|
|
3225
|
+
'vote'
|
|
3226
|
+
],
|
|
3227
|
+
additionalProperties: false
|
|
3228
|
+
};
|
|
3229
|
+
export const RoadmapVoteInputSchema = {
|
|
3230
|
+
type: 'object',
|
|
3231
|
+
properties: {
|
|
3232
|
+
value: {
|
|
3233
|
+
type: 'integer',
|
|
3234
|
+
description: 'Vote value: -1 (down), 1 (up), or 2 (double up).',
|
|
3235
|
+
example: 1,
|
|
3236
|
+
enum: [
|
|
3237
|
+
-1,
|
|
3238
|
+
1,
|
|
3239
|
+
2
|
|
3240
|
+
]
|
|
3241
|
+
}
|
|
3242
|
+
},
|
|
3243
|
+
required: [
|
|
3244
|
+
'value'
|
|
3245
|
+
],
|
|
3246
|
+
additionalProperties: false
|
|
3247
|
+
};
|
|
3004
3248
|
export const TicketAttachmentSchema = {
|
|
3005
3249
|
type: 'object',
|
|
3006
3250
|
properties: {
|
|
@@ -3062,6 +3306,11 @@ export const TicketCreateInputSchema = {
|
|
|
3062
3306
|
subcategory: 'cluster-question',
|
|
3063
3307
|
cluster_id: '60c72b2f9f1b2c001f8e4d3a'
|
|
3064
3308
|
}
|
|
3309
|
+
},
|
|
3310
|
+
grant_support_access: {
|
|
3311
|
+
type: 'boolean',
|
|
3312
|
+
description: 'Grant Cloudfleet support staff access to the organization\'s resources while the ticket is open. Access cannot be revoked; it ends when the ticket is closed.',
|
|
3313
|
+
example: true
|
|
3065
3314
|
}
|
|
3066
3315
|
},
|
|
3067
3316
|
required: [
|
|
@@ -3070,172 +3319,6 @@ export const TicketCreateInputSchema = {
|
|
|
3070
3319
|
],
|
|
3071
3320
|
additionalProperties: false
|
|
3072
3321
|
};
|
|
3073
|
-
export const TicketListResponseSchema = {
|
|
3074
|
-
type: 'object',
|
|
3075
|
-
properties: {
|
|
3076
|
-
items: {
|
|
3077
|
-
type: 'array',
|
|
3078
|
-
items: {
|
|
3079
|
-
type: 'object',
|
|
3080
|
-
properties: {
|
|
3081
|
-
id: {
|
|
3082
|
-
type: 'string',
|
|
3083
|
-
description: 'Unique identifier of the ticket (Mongo ObjectId).',
|
|
3084
|
-
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
3085
|
-
},
|
|
3086
|
-
status: {
|
|
3087
|
-
type: 'string',
|
|
3088
|
-
description: 'Current state of the ticket.',
|
|
3089
|
-
example: 'waiting_on_us',
|
|
3090
|
-
enum: [
|
|
3091
|
-
'waiting_on_us',
|
|
3092
|
-
'waiting_on_user',
|
|
3093
|
-
'closed'
|
|
3094
|
-
]
|
|
3095
|
-
},
|
|
3096
|
-
category: {
|
|
3097
|
-
type: 'string',
|
|
3098
|
-
description: 'Ticket category.',
|
|
3099
|
-
example: 'technical',
|
|
3100
|
-
enum: [
|
|
3101
|
-
'billing',
|
|
3102
|
-
'technical',
|
|
3103
|
-
'general'
|
|
3104
|
-
]
|
|
3105
|
-
},
|
|
3106
|
-
summary: {
|
|
3107
|
-
type: 'string',
|
|
3108
|
-
description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
|
|
3109
|
-
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
3110
|
-
},
|
|
3111
|
-
closed_at: {
|
|
3112
|
-
type: 'string',
|
|
3113
|
-
format: 'date-time',
|
|
3114
|
-
nullable: true,
|
|
3115
|
-
description: 'Closure timestamp. Null while the ticket is open.',
|
|
3116
|
-
example: '2026-05-18T16:08:14.338Z'
|
|
3117
|
-
},
|
|
3118
|
-
date_created: {
|
|
3119
|
-
type: 'string',
|
|
3120
|
-
format: 'date-time',
|
|
3121
|
-
description: 'Creation date of the ticket. ISO 8601 UTC.',
|
|
3122
|
-
example: '2026-05-11T16:08:14.338Z'
|
|
3123
|
-
},
|
|
3124
|
-
date_updated: {
|
|
3125
|
-
type: 'string',
|
|
3126
|
-
format: 'date-time',
|
|
3127
|
-
description: 'Last update date of the ticket. ISO 8601 UTC.',
|
|
3128
|
-
example: '2026-05-11T16:08:14.338Z'
|
|
3129
|
-
},
|
|
3130
|
-
messages: {
|
|
3131
|
-
type: 'array',
|
|
3132
|
-
items: {
|
|
3133
|
-
type: 'object',
|
|
3134
|
-
properties: {
|
|
3135
|
-
id: {
|
|
3136
|
-
type: 'string',
|
|
3137
|
-
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
3138
|
-
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
3139
|
-
},
|
|
3140
|
-
type: {
|
|
3141
|
-
type: 'string',
|
|
3142
|
-
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
3143
|
-
example: 'customer_reply',
|
|
3144
|
-
enum: [
|
|
3145
|
-
'customer_reply',
|
|
3146
|
-
'agent_reply'
|
|
3147
|
-
]
|
|
3148
|
-
},
|
|
3149
|
-
body: {
|
|
3150
|
-
type: 'string',
|
|
3151
|
-
description: 'Message body in markdown.',
|
|
3152
|
-
example: 'Thanks — that resolved it on my side.'
|
|
3153
|
-
},
|
|
3154
|
-
author_first_name: {
|
|
3155
|
-
type: 'string',
|
|
3156
|
-
nullable: true,
|
|
3157
|
-
description: 'First name of the author. Null when not provided.',
|
|
3158
|
-
example: 'Jane'
|
|
3159
|
-
},
|
|
3160
|
-
author_last_name: {
|
|
3161
|
-
type: 'string',
|
|
3162
|
-
nullable: true,
|
|
3163
|
-
description: 'Last name of the author. Null when not provided.',
|
|
3164
|
-
example: 'Doe'
|
|
3165
|
-
},
|
|
3166
|
-
attachments: {
|
|
3167
|
-
type: 'array',
|
|
3168
|
-
items: {
|
|
3169
|
-
type: 'object',
|
|
3170
|
-
properties: {
|
|
3171
|
-
id: {
|
|
3172
|
-
type: 'string',
|
|
3173
|
-
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
3174
|
-
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
3175
|
-
},
|
|
3176
|
-
filename: {
|
|
3177
|
-
type: 'string',
|
|
3178
|
-
description: 'Original filename as uploaded.',
|
|
3179
|
-
example: 'debug.log'
|
|
3180
|
-
},
|
|
3181
|
-
content_type: {
|
|
3182
|
-
type: 'string',
|
|
3183
|
-
description: 'MIME content type of the attachment.',
|
|
3184
|
-
example: 'text/plain'
|
|
3185
|
-
},
|
|
3186
|
-
size: {
|
|
3187
|
-
type: 'integer',
|
|
3188
|
-
description: 'Size of the attachment in bytes.',
|
|
3189
|
-
example: 12345
|
|
3190
|
-
}
|
|
3191
|
-
},
|
|
3192
|
-
required: [
|
|
3193
|
-
'id',
|
|
3194
|
-
'filename',
|
|
3195
|
-
'content_type',
|
|
3196
|
-
'size'
|
|
3197
|
-
],
|
|
3198
|
-
additionalProperties: false
|
|
3199
|
-
},
|
|
3200
|
-
description: 'Attachments associated with this message.',
|
|
3201
|
-
example: []
|
|
3202
|
-
},
|
|
3203
|
-
date_created: {
|
|
3204
|
-
type: 'string',
|
|
3205
|
-
format: 'date-time',
|
|
3206
|
-
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
3207
|
-
example: '2026-05-11T16:08:14.338Z'
|
|
3208
|
-
}
|
|
3209
|
-
},
|
|
3210
|
-
required: [
|
|
3211
|
-
'id',
|
|
3212
|
-
'type',
|
|
3213
|
-
'body',
|
|
3214
|
-
'date_created'
|
|
3215
|
-
],
|
|
3216
|
-
additionalProperties: false
|
|
3217
|
-
},
|
|
3218
|
-
description: 'Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.'
|
|
3219
|
-
}
|
|
3220
|
-
},
|
|
3221
|
-
required: [
|
|
3222
|
-
'id',
|
|
3223
|
-
'status',
|
|
3224
|
-
'category',
|
|
3225
|
-
'summary',
|
|
3226
|
-
'date_created',
|
|
3227
|
-
'date_updated'
|
|
3228
|
-
],
|
|
3229
|
-
additionalProperties: false
|
|
3230
|
-
},
|
|
3231
|
-
description: 'Tickets for the organization, ordered newest first. Messages are omitted from list responses.'
|
|
3232
|
-
}
|
|
3233
|
-
},
|
|
3234
|
-
required: [
|
|
3235
|
-
'items'
|
|
3236
|
-
],
|
|
3237
|
-
additionalProperties: false
|
|
3238
|
-
};
|
|
3239
3322
|
export const TicketMessageInputSchema = {
|
|
3240
3323
|
type: 'object',
|
|
3241
3324
|
properties: {
|
|
@@ -3277,11 +3360,13 @@ export const TicketMessageSchema = {
|
|
|
3277
3360
|
},
|
|
3278
3361
|
author_first_name: {
|
|
3279
3362
|
type: 'string',
|
|
3363
|
+
nullable: true,
|
|
3280
3364
|
description: 'First name of the author. Null when not provided.',
|
|
3281
3365
|
example: 'Jane'
|
|
3282
3366
|
},
|
|
3283
3367
|
author_last_name: {
|
|
3284
3368
|
type: 'string',
|
|
3369
|
+
nullable: true,
|
|
3285
3370
|
description: 'Last name of the author. Null when not provided.',
|
|
3286
3371
|
example: 'Doe'
|
|
3287
3372
|
},
|
|
@@ -3370,9 +3455,22 @@ export const TicketSchema = {
|
|
|
3370
3455
|
description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
|
|
3371
3456
|
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
3372
3457
|
},
|
|
3458
|
+
support_access_granted: {
|
|
3459
|
+
type: 'boolean',
|
|
3460
|
+
description: 'Whether Cloudfleet support staff currently have access to the organization\'s resources. True once access is granted and until the ticket is closed.',
|
|
3461
|
+
example: true
|
|
3462
|
+
},
|
|
3463
|
+
support_access_granted_at: {
|
|
3464
|
+
type: 'string',
|
|
3465
|
+
format: 'date-time',
|
|
3466
|
+
nullable: true,
|
|
3467
|
+
description: 'When support access was granted. Null if it never was. Kept after the ticket is closed.',
|
|
3468
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3469
|
+
},
|
|
3373
3470
|
closed_at: {
|
|
3374
3471
|
type: 'string',
|
|
3375
3472
|
format: 'date-time',
|
|
3473
|
+
nullable: true,
|
|
3376
3474
|
description: 'Closure timestamp. Null while the ticket is open.',
|
|
3377
3475
|
example: '2026-05-18T16:08:14.338Z'
|
|
3378
3476
|
},
|
|
@@ -3482,6 +3580,8 @@ export const TicketSchema = {
|
|
|
3482
3580
|
'status',
|
|
3483
3581
|
'category',
|
|
3484
3582
|
'summary',
|
|
3583
|
+
'support_access_granted',
|
|
3584
|
+
'support_access_granted_at',
|
|
3485
3585
|
'date_created',
|
|
3486
3586
|
'date_updated'
|
|
3487
3587
|
],
|
|
@@ -3597,12 +3697,21 @@ export const UsageFacetsSchema = {
|
|
|
3597
3697
|
product: {
|
|
3598
3698
|
type: 'array',
|
|
3599
3699
|
items: {
|
|
3600
|
-
type: 'string'
|
|
3700
|
+
type: 'string',
|
|
3701
|
+
enum: [
|
|
3702
|
+
'cfke_controlplane_basic',
|
|
3703
|
+
'cfke_controlplane_pro',
|
|
3704
|
+
'cfke_controlplane_enterprise',
|
|
3705
|
+
'cfke_connected_nodes_basic',
|
|
3706
|
+
'cfke_connected_nodes_pro',
|
|
3707
|
+
'cfke_connected_nodes_enterprise',
|
|
3708
|
+
'cfcr_storage'
|
|
3709
|
+
]
|
|
3601
3710
|
},
|
|
3602
3711
|
description: 'List of unique products',
|
|
3603
3712
|
example: [
|
|
3604
|
-
'
|
|
3605
|
-
'
|
|
3713
|
+
'cfke_controlplane_pro',
|
|
3714
|
+
'cfke_connected_nodes_pro'
|
|
3606
3715
|
]
|
|
3607
3716
|
}
|
|
3608
3717
|
},
|
|
@@ -3629,7 +3738,16 @@ export const UsageResponseSchema = {
|
|
|
3629
3738
|
product: {
|
|
3630
3739
|
type: 'string',
|
|
3631
3740
|
description: 'The product the usage is associated with',
|
|
3632
|
-
example: '
|
|
3741
|
+
example: 'cfke_controlplane_pro',
|
|
3742
|
+
enum: [
|
|
3743
|
+
'cfke_controlplane_basic',
|
|
3744
|
+
'cfke_controlplane_pro',
|
|
3745
|
+
'cfke_controlplane_enterprise',
|
|
3746
|
+
'cfke_connected_nodes_basic',
|
|
3747
|
+
'cfke_connected_nodes_pro',
|
|
3748
|
+
'cfke_connected_nodes_enterprise',
|
|
3749
|
+
'cfcr_storage'
|
|
3750
|
+
]
|
|
3633
3751
|
},
|
|
3634
3752
|
value: {
|
|
3635
3753
|
type: 'number',
|
|
@@ -3677,12 +3795,21 @@ export const UsageResponseSchema = {
|
|
|
3677
3795
|
product: {
|
|
3678
3796
|
type: 'array',
|
|
3679
3797
|
items: {
|
|
3680
|
-
type: 'string'
|
|
3798
|
+
type: 'string',
|
|
3799
|
+
enum: [
|
|
3800
|
+
'cfke_controlplane_basic',
|
|
3801
|
+
'cfke_controlplane_pro',
|
|
3802
|
+
'cfke_controlplane_enterprise',
|
|
3803
|
+
'cfke_connected_nodes_basic',
|
|
3804
|
+
'cfke_connected_nodes_pro',
|
|
3805
|
+
'cfke_connected_nodes_enterprise',
|
|
3806
|
+
'cfcr_storage'
|
|
3807
|
+
]
|
|
3681
3808
|
},
|
|
3682
3809
|
description: 'List of unique products',
|
|
3683
3810
|
example: [
|
|
3684
|
-
'
|
|
3685
|
-
'
|
|
3811
|
+
'cfke_controlplane_pro',
|
|
3812
|
+
'cfke_connected_nodes_pro'
|
|
3686
3813
|
]
|
|
3687
3814
|
}
|
|
3688
3815
|
},
|
|
@@ -3712,7 +3839,16 @@ export const UsageSchema = {
|
|
|
3712
3839
|
product: {
|
|
3713
3840
|
type: 'string',
|
|
3714
3841
|
description: 'The product the usage is associated with',
|
|
3715
|
-
example: '
|
|
3842
|
+
example: 'cfke_controlplane_pro',
|
|
3843
|
+
enum: [
|
|
3844
|
+
'cfke_controlplane_basic',
|
|
3845
|
+
'cfke_controlplane_pro',
|
|
3846
|
+
'cfke_controlplane_enterprise',
|
|
3847
|
+
'cfke_connected_nodes_basic',
|
|
3848
|
+
'cfke_connected_nodes_pro',
|
|
3849
|
+
'cfke_connected_nodes_enterprise',
|
|
3850
|
+
'cfcr_storage'
|
|
3851
|
+
]
|
|
3716
3852
|
},
|
|
3717
3853
|
value: {
|
|
3718
3854
|
type: 'number',
|