@cloudfleet/sdk 0.0.1-cb875c6 → 0.0.1-cc8badf
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 +26 -2
- package/dist/@tanstack/react-query.gen.d.ts +1077 -0
- package/dist/@tanstack/react-query.gen.d.ts.map +1 -0
- package/dist/@tanstack/react-query.gen.js +1286 -0
- package/dist/@tanstack/react-query.gen.js.map +1 -0
- package/dist/client/client.gen.d.ts.map +1 -1
- package/dist/client/client.gen.js +114 -102
- package/dist/client/client.gen.js.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/types.gen.d.ts +9 -13
- package/dist/client/types.gen.d.ts.map +1 -1
- package/dist/client/utils.gen.d.ts +8 -4
- package/dist/client/utils.gen.d.ts.map +1 -1
- package/dist/client/utils.gen.js +13 -15
- package/dist/client/utils.gen.js.map +1 -1
- package/dist/client.gen.d.ts.map +1 -1
- package/dist/client.gen.js +1 -3
- package/dist/client.gen.js.map +1 -1
- package/dist/core/auth.gen.d.ts.map +1 -1
- package/dist/core/auth.gen.js.map +1 -1
- package/dist/core/bodySerializer.gen.d.ts +16 -8
- package/dist/core/bodySerializer.gen.d.ts.map +1 -1
- package/dist/core/bodySerializer.gen.js +1 -1
- package/dist/core/bodySerializer.gen.js.map +1 -1
- package/dist/core/params.gen.d.ts +10 -0
- package/dist/core/params.gen.d.ts.map +1 -1
- package/dist/core/params.gen.js +22 -10
- package/dist/core/params.gen.js.map +1 -1
- package/dist/core/pathSerializer.gen.d.ts.map +1 -1
- package/dist/core/pathSerializer.gen.js +3 -11
- package/dist/core/pathSerializer.gen.js.map +1 -1
- package/dist/core/queryKeySerializer.gen.d.ts.map +1 -1
- package/dist/core/queryKeySerializer.gen.js +4 -11
- package/dist/core/queryKeySerializer.gen.js.map +1 -1
- package/dist/core/serverSentEvents.gen.d.ts +1 -1
- package/dist/core/serverSentEvents.gen.d.ts.map +1 -1
- package/dist/core/serverSentEvents.gen.js +6 -9
- package/dist/core/serverSentEvents.gen.js.map +1 -1
- package/dist/core/types.gen.d.ts +1 -1
- package/dist/core/types.gen.d.ts.map +1 -1
- package/dist/core/utils.gen.d.ts.map +1 -1
- package/dist/core/utils.gen.js +1 -1
- package/dist/core/utils.gen.js.map +1 -1
- package/dist/schemas.gen.d.ts +1363 -171
- package/dist/schemas.gen.d.ts.map +1 -1
- package/dist/schemas.gen.js +2830 -239
- package/dist/schemas.gen.js.map +1 -1
- package/dist/sdk.gen.d.ts +287 -184
- package/dist/sdk.gen.d.ts.map +1 -1
- package/dist/sdk.gen.js +436 -379
- package/dist/sdk.gen.js.map +1 -1
- package/dist/services/kubernetes/api.d.ts +8 -8
- package/dist/types.gen.d.ts +1775 -693
- package/dist/types.gen.d.ts.map +1 -1
- package/dist/zod.gen.d.ts +3707 -1414
- package/dist/zod.gen.d.ts.map +1 -1
- package/dist/zod.gen.js +1509 -618
- package/dist/zod.gen.js.map +1 -1
- package/package.json +28 -8
package/dist/schemas.gen.js
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
export const BillingContactSchema = {
|
|
3
3
|
type: 'object',
|
|
4
4
|
properties: {
|
|
5
|
+
type: {
|
|
6
|
+
type: 'string',
|
|
7
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
8
|
+
example: 'business',
|
|
9
|
+
enum: [
|
|
10
|
+
'business',
|
|
11
|
+
'personal'
|
|
12
|
+
]
|
|
13
|
+
},
|
|
5
14
|
company: {
|
|
6
15
|
type: 'string',
|
|
7
16
|
maxLength: 120,
|
|
@@ -74,10 +83,154 @@ export const BillingContactSchema = {
|
|
|
74
83
|
nullable: true,
|
|
75
84
|
description: 'Type of the tax ID.',
|
|
76
85
|
example: 'de_vat',
|
|
77
|
-
enum: [
|
|
86
|
+
enum: [
|
|
87
|
+
'ad_nrt',
|
|
88
|
+
'ae_trn',
|
|
89
|
+
'al_tin',
|
|
90
|
+
'am_tin',
|
|
91
|
+
'ao_tin',
|
|
92
|
+
'ar_cuit',
|
|
93
|
+
'at_vat',
|
|
94
|
+
'au_abn',
|
|
95
|
+
'au_arn',
|
|
96
|
+
'aw_tin',
|
|
97
|
+
'az_tin',
|
|
98
|
+
'ba_tin',
|
|
99
|
+
'bb_tin',
|
|
100
|
+
'bd_bin',
|
|
101
|
+
'be_vat',
|
|
102
|
+
'bf_ifu',
|
|
103
|
+
'bg_uic',
|
|
104
|
+
'bg_vat',
|
|
105
|
+
'bh_vat',
|
|
106
|
+
'bj_ifu',
|
|
107
|
+
'bo_tin',
|
|
108
|
+
'br_cnpj',
|
|
109
|
+
'br_cpf',
|
|
110
|
+
'bs_tin',
|
|
111
|
+
'by_tin',
|
|
112
|
+
'ca_bn',
|
|
113
|
+
'ca_gst_hst',
|
|
114
|
+
'ca_pst_bc',
|
|
115
|
+
'ca_pst_mb',
|
|
116
|
+
'ca_pst_sk',
|
|
117
|
+
'ca_qst',
|
|
118
|
+
'cd_nif',
|
|
119
|
+
'ch_uid',
|
|
120
|
+
'ch_vat',
|
|
121
|
+
'cl_tin',
|
|
122
|
+
'cm_niu',
|
|
123
|
+
'cn_tin',
|
|
124
|
+
'co_nit',
|
|
125
|
+
'cr_tin',
|
|
126
|
+
'cv_nif',
|
|
127
|
+
'cy_vat',
|
|
128
|
+
'cz_vat',
|
|
129
|
+
'de_stn',
|
|
130
|
+
'de_vat',
|
|
131
|
+
'dk_vat',
|
|
132
|
+
'do_rcn',
|
|
133
|
+
'ec_ruc',
|
|
134
|
+
'ee_vat',
|
|
135
|
+
'eg_tin',
|
|
136
|
+
'es_cif',
|
|
137
|
+
'es_vat',
|
|
138
|
+
'et_tin',
|
|
139
|
+
'eu_oss_vat',
|
|
140
|
+
'fi_vat',
|
|
141
|
+
'fr_vat',
|
|
142
|
+
'gb_vat',
|
|
143
|
+
'ge_vat',
|
|
144
|
+
'gn_nif',
|
|
145
|
+
'gr_vat',
|
|
146
|
+
'hk_br',
|
|
147
|
+
'hr_oib',
|
|
148
|
+
'hr_vat',
|
|
149
|
+
'hu_tin',
|
|
150
|
+
'hu_vat',
|
|
151
|
+
'id_npwp',
|
|
152
|
+
'ie_vat',
|
|
153
|
+
'il_vat',
|
|
154
|
+
'in_gst',
|
|
155
|
+
'is_vat',
|
|
156
|
+
'it_vat',
|
|
157
|
+
'jp_cn',
|
|
158
|
+
'jp_rn',
|
|
159
|
+
'jp_trn',
|
|
160
|
+
'ke_pin',
|
|
161
|
+
'kg_tin',
|
|
162
|
+
'kh_tin',
|
|
163
|
+
'kr_brn',
|
|
164
|
+
'kz_bin',
|
|
165
|
+
'la_tin',
|
|
166
|
+
'li_uid',
|
|
167
|
+
'li_vat',
|
|
168
|
+
'lk_vat',
|
|
169
|
+
'lt_vat',
|
|
170
|
+
'lu_vat',
|
|
171
|
+
'lv_vat',
|
|
172
|
+
'ma_vat',
|
|
173
|
+
'md_vat',
|
|
174
|
+
'me_pib',
|
|
175
|
+
'mk_vat',
|
|
176
|
+
'mr_nif',
|
|
177
|
+
'mt_vat',
|
|
178
|
+
'mx_rfc',
|
|
179
|
+
'my_frp',
|
|
180
|
+
'my_itn',
|
|
181
|
+
'my_sst',
|
|
182
|
+
'ng_tin',
|
|
183
|
+
'nl_vat',
|
|
184
|
+
'no_vat',
|
|
185
|
+
'no_voec',
|
|
186
|
+
'np_pan',
|
|
187
|
+
'nz_gst',
|
|
188
|
+
'om_vat',
|
|
189
|
+
'pe_ruc',
|
|
190
|
+
'ph_tin',
|
|
191
|
+
'pl_vat',
|
|
192
|
+
'pt_vat',
|
|
193
|
+
'ro_tin',
|
|
194
|
+
'ro_vat',
|
|
195
|
+
'rs_pib',
|
|
196
|
+
'ru_inn',
|
|
197
|
+
'ru_kpp',
|
|
198
|
+
'sa_vat',
|
|
199
|
+
'se_vat',
|
|
200
|
+
'sg_gst',
|
|
201
|
+
'sg_uen',
|
|
202
|
+
'si_tin',
|
|
203
|
+
'si_vat',
|
|
204
|
+
'sk_vat',
|
|
205
|
+
'sn_ninea',
|
|
206
|
+
'sr_fin',
|
|
207
|
+
'sv_nit',
|
|
208
|
+
'th_vat',
|
|
209
|
+
'tj_tin',
|
|
210
|
+
'tr_tin',
|
|
211
|
+
'tw_vat',
|
|
212
|
+
'tz_vat',
|
|
213
|
+
'ua_vat',
|
|
214
|
+
'ug_tin',
|
|
215
|
+
'us_ein',
|
|
216
|
+
'uy_ruc',
|
|
217
|
+
'uz_tin',
|
|
218
|
+
'uz_vat',
|
|
219
|
+
've_rif',
|
|
220
|
+
'vn_tin',
|
|
221
|
+
'xi_vat',
|
|
222
|
+
'za_vat',
|
|
223
|
+
'zm_tin',
|
|
224
|
+
'zw_tin',
|
|
225
|
+
''
|
|
226
|
+
]
|
|
78
227
|
}
|
|
79
228
|
},
|
|
80
|
-
required: [
|
|
229
|
+
required: [
|
|
230
|
+
'type',
|
|
231
|
+
'email',
|
|
232
|
+
'individual_name'
|
|
233
|
+
],
|
|
81
234
|
additionalProperties: false
|
|
82
235
|
};
|
|
83
236
|
export const BillingCreditsSchema = {
|
|
@@ -92,7 +245,10 @@ export const BillingCreditsSchema = {
|
|
|
92
245
|
type: 'string',
|
|
93
246
|
description: 'Type of the promotional code.',
|
|
94
247
|
example: 'credit',
|
|
95
|
-
enum: [
|
|
248
|
+
enum: [
|
|
249
|
+
'credit',
|
|
250
|
+
'discount'
|
|
251
|
+
]
|
|
96
252
|
},
|
|
97
253
|
date_start: {
|
|
98
254
|
type: 'string',
|
|
@@ -129,7 +285,12 @@ export const BillingCreditsSchema = {
|
|
|
129
285
|
example: 8
|
|
130
286
|
}
|
|
131
287
|
},
|
|
132
|
-
required: [
|
|
288
|
+
required: [
|
|
289
|
+
'type',
|
|
290
|
+
'date_start',
|
|
291
|
+
'code',
|
|
292
|
+
'value_total'
|
|
293
|
+
],
|
|
133
294
|
additionalProperties: false
|
|
134
295
|
};
|
|
135
296
|
export const ChartCreateInputSchema = {
|
|
@@ -170,7 +331,13 @@ export const ChartCreateInputSchema = {
|
|
|
170
331
|
example: 'postgresql'
|
|
171
332
|
}
|
|
172
333
|
},
|
|
173
|
-
required: [
|
|
334
|
+
required: [
|
|
335
|
+
'values',
|
|
336
|
+
'version_channel',
|
|
337
|
+
'name',
|
|
338
|
+
'namespace',
|
|
339
|
+
'chart'
|
|
340
|
+
],
|
|
174
341
|
additionalProperties: false
|
|
175
342
|
};
|
|
176
343
|
export const ChartSchema = {
|
|
@@ -212,9 +379,8 @@ export const ChartSchema = {
|
|
|
212
379
|
},
|
|
213
380
|
status: {
|
|
214
381
|
type: 'string',
|
|
215
|
-
description: 'Status of the chart deployment.',
|
|
216
|
-
example: '
|
|
217
|
-
enum: ['InstallSucceeded', 'InstallFailed', 'UpgradeSucceeded', 'UpgradeFailed', 'TestSucceeded', 'TestFailed', 'RollbackSucceeded', 'RollbackFailed', 'UninstallSucceeded', 'UninstallFailed', 'ArtifactFailed', 'DependencyNotReady', 'Progressing', 'SourceNotReady']
|
|
382
|
+
description: 'Status of the chart deployment (Flux HelmRelease Ready condition reason, e.g. InstallSucceeded, UpgradeFailed, Progressing).',
|
|
383
|
+
example: 'InstallSucceeded'
|
|
218
384
|
},
|
|
219
385
|
version_current: {
|
|
220
386
|
type: 'string',
|
|
@@ -237,7 +403,18 @@ export const ChartSchema = {
|
|
|
237
403
|
example: true
|
|
238
404
|
}
|
|
239
405
|
},
|
|
240
|
-
required: [
|
|
406
|
+
required: [
|
|
407
|
+
'values',
|
|
408
|
+
'version_channel',
|
|
409
|
+
'name',
|
|
410
|
+
'namespace',
|
|
411
|
+
'chart',
|
|
412
|
+
'status',
|
|
413
|
+
'version_current',
|
|
414
|
+
'created_at',
|
|
415
|
+
'updated_at',
|
|
416
|
+
'ready'
|
|
417
|
+
],
|
|
241
418
|
additionalProperties: false
|
|
242
419
|
};
|
|
243
420
|
export const ChartUpdateInputSchema = {
|
|
@@ -254,7 +431,10 @@ export const ChartUpdateInputSchema = {
|
|
|
254
431
|
example: '2.x.x-cfke.x'
|
|
255
432
|
}
|
|
256
433
|
},
|
|
257
|
-
required: [
|
|
434
|
+
required: [
|
|
435
|
+
'values',
|
|
436
|
+
'version_channel'
|
|
437
|
+
],
|
|
258
438
|
additionalProperties: false
|
|
259
439
|
};
|
|
260
440
|
export const ClusterCreateInputSchema = {
|
|
@@ -271,26 +451,118 @@ export const ClusterCreateInputSchema = {
|
|
|
271
451
|
tier: {
|
|
272
452
|
type: 'string',
|
|
273
453
|
description: 'Tier of the cluster.',
|
|
454
|
+
default: 'basic',
|
|
274
455
|
example: 'pro',
|
|
275
|
-
enum: [
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
default: 'staging',
|
|
281
|
-
example: 'northamerica-central-1a',
|
|
282
|
-
enum: ['staging', 'northamerica-central-1', 'europe-central-1a', 'northamerica-central-1a']
|
|
456
|
+
enum: [
|
|
457
|
+
'basic',
|
|
458
|
+
'pro',
|
|
459
|
+
'enterprise'
|
|
460
|
+
]
|
|
283
461
|
},
|
|
284
462
|
version_channel: {
|
|
285
463
|
type: 'string',
|
|
286
464
|
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-]+)*))?$',
|
|
287
465
|
description: 'Version of the kubernetes cluster.',
|
|
288
466
|
default: '1.x.x-cfke.x',
|
|
289
|
-
example: '1.
|
|
467
|
+
example: '1.x.x-cfke.x'
|
|
468
|
+
},
|
|
469
|
+
release_channel: {
|
|
470
|
+
type: 'string',
|
|
471
|
+
description: 'Release channel for the cluster\'s control plane.',
|
|
472
|
+
default: 'rapid',
|
|
473
|
+
example: 'rapid',
|
|
474
|
+
enum: [
|
|
475
|
+
'rapid',
|
|
476
|
+
'stable',
|
|
477
|
+
'extended'
|
|
478
|
+
]
|
|
479
|
+
},
|
|
480
|
+
features: {
|
|
481
|
+
type: 'object',
|
|
482
|
+
properties: {
|
|
483
|
+
gpu_sharing_strategy: {
|
|
484
|
+
type: 'string',
|
|
485
|
+
description: 'GPU sharing strategy.',
|
|
486
|
+
default: 'none',
|
|
487
|
+
example: 'none',
|
|
488
|
+
enum: [
|
|
489
|
+
'none',
|
|
490
|
+
'mps',
|
|
491
|
+
'time_slicing'
|
|
492
|
+
]
|
|
493
|
+
},
|
|
494
|
+
gpu_max_shared_clients_per_gpu: {
|
|
495
|
+
type: 'integer',
|
|
496
|
+
minimum: 2,
|
|
497
|
+
maximum: 48,
|
|
498
|
+
description: 'Maximum number of pods that may share a single GPU.',
|
|
499
|
+
default: 4,
|
|
500
|
+
example: 10
|
|
501
|
+
},
|
|
502
|
+
cilium_socket_lb_host_namespace_only: {
|
|
503
|
+
type: 'boolean',
|
|
504
|
+
description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
|
|
505
|
+
example: false
|
|
506
|
+
}
|
|
507
|
+
},
|
|
508
|
+
additionalProperties: false,
|
|
509
|
+
description: 'Cluster feature toggles.',
|
|
510
|
+
default: {
|
|
511
|
+
gpu_sharing_strategy: 'none',
|
|
512
|
+
gpu_max_shared_clients_per_gpu: 4,
|
|
513
|
+
cilium_socket_lb_host_namespace_only: false
|
|
514
|
+
}
|
|
515
|
+
},
|
|
516
|
+
region: {
|
|
517
|
+
type: 'string',
|
|
518
|
+
description: 'Cloudfleet control plane region. This field can not be updated after creation.',
|
|
519
|
+
example: 'europe-central-1a'
|
|
520
|
+
},
|
|
521
|
+
networking: {
|
|
522
|
+
type: 'object',
|
|
523
|
+
properties: {
|
|
524
|
+
pod_cidr: {
|
|
525
|
+
type: 'string',
|
|
526
|
+
description: 'CIDR block for pod IPs.',
|
|
527
|
+
default: '10.244.0.0/16'
|
|
528
|
+
},
|
|
529
|
+
service_cidr: {
|
|
530
|
+
type: 'string',
|
|
531
|
+
description: 'CIDR block for service IPs.',
|
|
532
|
+
default: '10.96.0.0/12'
|
|
533
|
+
},
|
|
534
|
+
dual_stack: {
|
|
535
|
+
type: 'boolean',
|
|
536
|
+
description: 'Enable IPv4+IPv6 dual-stack networking.'
|
|
537
|
+
},
|
|
538
|
+
pod_cidr_v6: {
|
|
539
|
+
type: 'string',
|
|
540
|
+
description: 'IPv6 pod CIDR. Requires dual_stack.',
|
|
541
|
+
default: '2001:db8:1:2::/48'
|
|
542
|
+
},
|
|
543
|
+
service_cidr_v6: {
|
|
544
|
+
type: 'string',
|
|
545
|
+
description: 'IPv6 service CIDR. Requires dual_stack.',
|
|
546
|
+
default: '2001:db8:1:1::/112'
|
|
547
|
+
}
|
|
548
|
+
},
|
|
549
|
+
additionalProperties: false,
|
|
550
|
+
description: 'Cluster networking configuration. Immutable after creation.',
|
|
551
|
+
default: {
|
|
552
|
+
pod_cidr: '10.244.0.0/16',
|
|
553
|
+
service_cidr: '10.96.0.0/12',
|
|
554
|
+
dual_stack: false,
|
|
555
|
+
pod_cidr_v6: '2001:db8:1:2::/48',
|
|
556
|
+
service_cidr_v6: '2001:db8:1:1::/112'
|
|
557
|
+
}
|
|
290
558
|
}
|
|
291
559
|
},
|
|
292
|
-
required: [
|
|
293
|
-
|
|
560
|
+
required: [
|
|
561
|
+
'name',
|
|
562
|
+
'region'
|
|
563
|
+
],
|
|
564
|
+
additionalProperties: false,
|
|
565
|
+
description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
294
566
|
};
|
|
295
567
|
export const ClusterJoinInformationSchema = {
|
|
296
568
|
type: 'object',
|
|
@@ -298,8 +570,7 @@ export const ClusterJoinInformationSchema = {
|
|
|
298
570
|
certificate_authority: {
|
|
299
571
|
type: 'string',
|
|
300
572
|
description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
|
|
301
|
-
example:
|
|
302
|
-
MIIC0DCCAbigAwIBAgI...`
|
|
573
|
+
example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
|
|
303
574
|
},
|
|
304
575
|
endpoint: {
|
|
305
576
|
type: 'string',
|
|
@@ -307,11 +578,26 @@ MIIC0DCCAbigAwIBAgI...`
|
|
|
307
578
|
description: 'Internal URL of the Kubernetes cluster control plane. This is the endpoint that kubelet uses to connect to the cluster.',
|
|
308
579
|
example: 'https://10.31.64.7:6443'
|
|
309
580
|
},
|
|
581
|
+
cluster_dns: {
|
|
582
|
+
type: 'string',
|
|
583
|
+
description: 'Cluster DNS IP address. This is the IP address of the kube-dns service in the cluster.',
|
|
584
|
+
example: '10.96.0.10'
|
|
585
|
+
},
|
|
586
|
+
pod_cidr: {
|
|
587
|
+
type: 'string',
|
|
588
|
+
description: 'Pod CIDR for the cluster. Used to configure iptables rules on nodes to prevent Tailscale routing loops.',
|
|
589
|
+
example: '10.244.0.0/16'
|
|
590
|
+
},
|
|
310
591
|
auth_key: {
|
|
311
592
|
type: 'string',
|
|
312
593
|
description: 'Authentication key for the cluster.',
|
|
313
594
|
example: 'tskey-auth-kBV8wr1dk911CNTRL-...'
|
|
314
595
|
},
|
|
596
|
+
login_server: {
|
|
597
|
+
type: 'string',
|
|
598
|
+
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.',
|
|
599
|
+
example: 'https://415026b6-f00f-44f8-968d-fc6ef4d0fc6d.fabric.europe-central-1a.cfke.io'
|
|
600
|
+
},
|
|
315
601
|
bootstrap_token: {
|
|
316
602
|
type: 'string',
|
|
317
603
|
description: 'Bootstrap token for the cluster.',
|
|
@@ -341,7 +627,12 @@ MIIC0DCCAbigAwIBAgI...`
|
|
|
341
627
|
example: '565.0.0'
|
|
342
628
|
}
|
|
343
629
|
},
|
|
344
|
-
required: [
|
|
630
|
+
required: [
|
|
631
|
+
'kubernetes',
|
|
632
|
+
'tailscale',
|
|
633
|
+
'containerd',
|
|
634
|
+
'nvidia_driver'
|
|
635
|
+
],
|
|
345
636
|
additionalProperties: false,
|
|
346
637
|
description: 'Versions of the different components of the cluster.'
|
|
347
638
|
},
|
|
@@ -364,12 +655,26 @@ MIIC0DCCAbigAwIBAgI...`
|
|
|
364
655
|
example: '//iam.googleapis.com/projects/89014267864/locations/global/workloadIdentityPools/cfke/providers/oidc'
|
|
365
656
|
}
|
|
366
657
|
},
|
|
367
|
-
required: [
|
|
658
|
+
required: [
|
|
659
|
+
'metadata_url',
|
|
660
|
+
'aws_role_arn',
|
|
661
|
+
'gcp_workload_identity_provider'
|
|
662
|
+
],
|
|
368
663
|
additionalProperties: false,
|
|
369
|
-
description:
|
|
664
|
+
description: 'OIDC Information for hosts to access to third party API\'s.'
|
|
370
665
|
}
|
|
371
666
|
},
|
|
372
|
-
required: [
|
|
667
|
+
required: [
|
|
668
|
+
'certificate_authority',
|
|
669
|
+
'endpoint',
|
|
670
|
+
'cluster_dns',
|
|
671
|
+
'pod_cidr',
|
|
672
|
+
'auth_key',
|
|
673
|
+
'login_server',
|
|
674
|
+
'bootstrap_token',
|
|
675
|
+
'versions',
|
|
676
|
+
'third_party_api_access_config'
|
|
677
|
+
],
|
|
373
678
|
additionalProperties: false
|
|
374
679
|
};
|
|
375
680
|
export const ClusterSchema = {
|
|
@@ -386,22 +691,122 @@ export const ClusterSchema = {
|
|
|
386
691
|
tier: {
|
|
387
692
|
type: 'string',
|
|
388
693
|
description: 'Tier of the cluster.',
|
|
694
|
+
default: 'basic',
|
|
389
695
|
example: 'pro',
|
|
390
|
-
enum: [
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
default: 'staging',
|
|
396
|
-
example: 'northamerica-central-1a',
|
|
397
|
-
enum: ['staging', 'northamerica-central-1', 'europe-central-1a', 'northamerica-central-1a']
|
|
696
|
+
enum: [
|
|
697
|
+
'basic',
|
|
698
|
+
'pro',
|
|
699
|
+
'enterprise'
|
|
700
|
+
]
|
|
398
701
|
},
|
|
399
702
|
version_channel: {
|
|
400
703
|
type: 'string',
|
|
401
704
|
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-]+)*))?$',
|
|
402
705
|
description: 'Version of the kubernetes cluster.',
|
|
403
706
|
default: '1.x.x-cfke.x',
|
|
404
|
-
example: '1.
|
|
707
|
+
example: '1.x.x-cfke.x'
|
|
708
|
+
},
|
|
709
|
+
release_channel: {
|
|
710
|
+
type: 'string',
|
|
711
|
+
description: 'Release channel for the cluster\'s control plane.',
|
|
712
|
+
default: 'rapid',
|
|
713
|
+
example: 'rapid',
|
|
714
|
+
enum: [
|
|
715
|
+
'rapid',
|
|
716
|
+
'stable',
|
|
717
|
+
'extended'
|
|
718
|
+
]
|
|
719
|
+
},
|
|
720
|
+
features: {
|
|
721
|
+
type: 'object',
|
|
722
|
+
properties: {
|
|
723
|
+
gpu_sharing_strategy: {
|
|
724
|
+
type: 'string',
|
|
725
|
+
description: 'GPU sharing strategy.',
|
|
726
|
+
default: 'none',
|
|
727
|
+
example: 'none',
|
|
728
|
+
enum: [
|
|
729
|
+
'none',
|
|
730
|
+
'mps',
|
|
731
|
+
'time_slicing'
|
|
732
|
+
]
|
|
733
|
+
},
|
|
734
|
+
gpu_max_shared_clients_per_gpu: {
|
|
735
|
+
type: 'integer',
|
|
736
|
+
minimum: 2,
|
|
737
|
+
maximum: 48,
|
|
738
|
+
description: 'Maximum number of pods that may share a single GPU.',
|
|
739
|
+
default: 4,
|
|
740
|
+
example: 10
|
|
741
|
+
},
|
|
742
|
+
cilium_socket_lb_host_namespace_only: {
|
|
743
|
+
type: 'boolean',
|
|
744
|
+
description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
|
|
745
|
+
example: false
|
|
746
|
+
}
|
|
747
|
+
},
|
|
748
|
+
required: [
|
|
749
|
+
'gpu_sharing_strategy',
|
|
750
|
+
'gpu_max_shared_clients_per_gpu',
|
|
751
|
+
'cilium_socket_lb_host_namespace_only'
|
|
752
|
+
],
|
|
753
|
+
additionalProperties: false,
|
|
754
|
+
description: 'Cluster feature toggles.',
|
|
755
|
+
default: {
|
|
756
|
+
gpu_sharing_strategy: 'none',
|
|
757
|
+
gpu_max_shared_clients_per_gpu: 4,
|
|
758
|
+
cilium_socket_lb_host_namespace_only: false
|
|
759
|
+
}
|
|
760
|
+
},
|
|
761
|
+
region: {
|
|
762
|
+
type: 'string',
|
|
763
|
+
description: 'Cloudfleet control plane region. This field can not be updated after creation.',
|
|
764
|
+
example: 'europe-central-1a'
|
|
765
|
+
},
|
|
766
|
+
networking: {
|
|
767
|
+
type: 'object',
|
|
768
|
+
properties: {
|
|
769
|
+
pod_cidr: {
|
|
770
|
+
type: 'string',
|
|
771
|
+
description: 'CIDR block for pod IPs.',
|
|
772
|
+
default: '10.244.0.0/16'
|
|
773
|
+
},
|
|
774
|
+
service_cidr: {
|
|
775
|
+
type: 'string',
|
|
776
|
+
description: 'CIDR block for service IPs.',
|
|
777
|
+
default: '10.96.0.0/12'
|
|
778
|
+
},
|
|
779
|
+
dual_stack: {
|
|
780
|
+
type: 'boolean',
|
|
781
|
+
description: 'Enable IPv4+IPv6 dual-stack networking.'
|
|
782
|
+
},
|
|
783
|
+
pod_cidr_v6: {
|
|
784
|
+
type: 'string',
|
|
785
|
+
description: 'IPv6 pod CIDR. Requires dual_stack.',
|
|
786
|
+
default: '2001:db8:1:2::/48'
|
|
787
|
+
},
|
|
788
|
+
service_cidr_v6: {
|
|
789
|
+
type: 'string',
|
|
790
|
+
description: 'IPv6 service CIDR. Requires dual_stack.',
|
|
791
|
+
default: '2001:db8:1:1::/112'
|
|
792
|
+
}
|
|
793
|
+
},
|
|
794
|
+
required: [
|
|
795
|
+
'pod_cidr',
|
|
796
|
+
'service_cidr',
|
|
797
|
+
'dual_stack',
|
|
798
|
+
'pod_cidr_v6',
|
|
799
|
+
'service_cidr_v6'
|
|
800
|
+
],
|
|
801
|
+
additionalProperties: false,
|
|
802
|
+
description: 'Cluster networking configuration. Immutable after creation.',
|
|
803
|
+
default: {
|
|
804
|
+
pod_cidr: '10.244.0.0/16',
|
|
805
|
+
service_cidr: '10.96.0.0/12',
|
|
806
|
+
dual_stack: false,
|
|
807
|
+
pod_cidr_v6: '2001:db8:1:2::/48',
|
|
808
|
+
service_cidr_v6: '2001:db8:1:1::/112'
|
|
809
|
+
}
|
|
405
810
|
},
|
|
406
811
|
id: {
|
|
407
812
|
type: 'string',
|
|
@@ -411,29 +816,51 @@ export const ClusterSchema = {
|
|
|
411
816
|
},
|
|
412
817
|
status: {
|
|
413
818
|
type: 'string',
|
|
414
|
-
description: 'Status of the cluster.
|
|
415
|
-
example: '
|
|
416
|
-
enum: [
|
|
819
|
+
description: 'Status of the cluster.',
|
|
820
|
+
example: 'deployed',
|
|
821
|
+
enum: [
|
|
822
|
+
'creating',
|
|
823
|
+
'deployed',
|
|
824
|
+
'updating',
|
|
825
|
+
'disabled'
|
|
826
|
+
]
|
|
417
827
|
},
|
|
418
828
|
endpoint: {
|
|
419
829
|
anyOf: [
|
|
420
830
|
{
|
|
421
831
|
type: 'string',
|
|
422
832
|
format: 'uri',
|
|
423
|
-
description: 'URL of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster.',
|
|
424
|
-
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.
|
|
833
|
+
description: 'URL signed by a public CA of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster.',
|
|
834
|
+
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.io'
|
|
425
835
|
},
|
|
426
836
|
{
|
|
427
837
|
type: 'string',
|
|
428
|
-
enum: [
|
|
838
|
+
enum: [
|
|
839
|
+
''
|
|
840
|
+
]
|
|
841
|
+
}
|
|
842
|
+
]
|
|
843
|
+
},
|
|
844
|
+
endpoint_public: {
|
|
845
|
+
anyOf: [
|
|
846
|
+
{
|
|
847
|
+
type: 'string',
|
|
848
|
+
format: 'uri',
|
|
849
|
+
description: 'Deprecated alias of `endpoint`; retained for backward compatibility.',
|
|
850
|
+
example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.io'
|
|
851
|
+
},
|
|
852
|
+
{
|
|
853
|
+
type: 'string',
|
|
854
|
+
enum: [
|
|
855
|
+
''
|
|
856
|
+
]
|
|
429
857
|
}
|
|
430
858
|
]
|
|
431
859
|
},
|
|
432
860
|
certificate_ca: {
|
|
433
861
|
type: 'string',
|
|
434
862
|
description: 'Certificate authority data for the kubernetes cluster. This is the root certificate authority for the cluster.',
|
|
435
|
-
example:
|
|
436
|
-
MIIC0DCCAbigAwIBAgI...`
|
|
863
|
+
example: '-----BEGIN CERTIFICATE-----\nMIIC0DCCAbigAwIBAgI...'
|
|
437
864
|
},
|
|
438
865
|
version_current: {
|
|
439
866
|
type: 'string',
|
|
@@ -456,8 +883,20 @@ MIIC0DCCAbigAwIBAgI...`
|
|
|
456
883
|
example: true
|
|
457
884
|
}
|
|
458
885
|
},
|
|
459
|
-
required: [
|
|
460
|
-
|
|
886
|
+
required: [
|
|
887
|
+
'name',
|
|
888
|
+
'tier',
|
|
889
|
+
'version_channel',
|
|
890
|
+
'release_channel',
|
|
891
|
+
'features',
|
|
892
|
+
'region',
|
|
893
|
+
'networking',
|
|
894
|
+
'id',
|
|
895
|
+
'status',
|
|
896
|
+
'ready'
|
|
897
|
+
],
|
|
898
|
+
additionalProperties: false,
|
|
899
|
+
description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
461
900
|
};
|
|
462
901
|
export const ClusterUpdateInputSchema = {
|
|
463
902
|
type: 'object',
|
|
@@ -473,18 +912,74 @@ export const ClusterUpdateInputSchema = {
|
|
|
473
912
|
tier: {
|
|
474
913
|
type: 'string',
|
|
475
914
|
description: 'Tier of the cluster.',
|
|
915
|
+
default: 'basic',
|
|
476
916
|
example: 'pro',
|
|
477
|
-
enum: [
|
|
917
|
+
enum: [
|
|
918
|
+
'basic',
|
|
919
|
+
'pro',
|
|
920
|
+
'enterprise'
|
|
921
|
+
]
|
|
478
922
|
},
|
|
479
923
|
version_channel: {
|
|
480
924
|
type: 'string',
|
|
481
925
|
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-]+)*))?$',
|
|
482
926
|
description: 'Version of the kubernetes cluster.',
|
|
483
|
-
|
|
927
|
+
default: '1.x.x-cfke.x',
|
|
928
|
+
example: '1.x.x-cfke.x'
|
|
929
|
+
},
|
|
930
|
+
release_channel: {
|
|
931
|
+
type: 'string',
|
|
932
|
+
description: 'Release channel for the cluster\'s control plane.',
|
|
933
|
+
default: 'rapid',
|
|
934
|
+
example: 'rapid',
|
|
935
|
+
enum: [
|
|
936
|
+
'rapid',
|
|
937
|
+
'stable',
|
|
938
|
+
'extended'
|
|
939
|
+
]
|
|
940
|
+
},
|
|
941
|
+
features: {
|
|
942
|
+
type: 'object',
|
|
943
|
+
properties: {
|
|
944
|
+
gpu_sharing_strategy: {
|
|
945
|
+
type: 'string',
|
|
946
|
+
description: 'GPU sharing strategy.',
|
|
947
|
+
default: 'none',
|
|
948
|
+
example: 'none',
|
|
949
|
+
enum: [
|
|
950
|
+
'none',
|
|
951
|
+
'mps',
|
|
952
|
+
'time_slicing'
|
|
953
|
+
]
|
|
954
|
+
},
|
|
955
|
+
gpu_max_shared_clients_per_gpu: {
|
|
956
|
+
type: 'integer',
|
|
957
|
+
minimum: 2,
|
|
958
|
+
maximum: 48,
|
|
959
|
+
description: 'Maximum number of pods that may share a single GPU.',
|
|
960
|
+
default: 4,
|
|
961
|
+
example: 10
|
|
962
|
+
},
|
|
963
|
+
cilium_socket_lb_host_namespace_only: {
|
|
964
|
+
type: 'boolean',
|
|
965
|
+
description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
|
|
966
|
+
example: false
|
|
967
|
+
}
|
|
968
|
+
},
|
|
969
|
+
additionalProperties: false,
|
|
970
|
+
description: 'Cluster feature toggles.',
|
|
971
|
+
default: {
|
|
972
|
+
gpu_sharing_strategy: 'none',
|
|
973
|
+
gpu_max_shared_clients_per_gpu: 4,
|
|
974
|
+
cilium_socket_lb_host_namespace_only: false
|
|
975
|
+
}
|
|
484
976
|
}
|
|
485
977
|
},
|
|
486
|
-
required: [
|
|
487
|
-
|
|
978
|
+
required: [
|
|
979
|
+
'name'
|
|
980
|
+
],
|
|
981
|
+
additionalProperties: false,
|
|
982
|
+
description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
488
983
|
};
|
|
489
984
|
export const FleetCreateInputSchema = {
|
|
490
985
|
type: 'object',
|
|
@@ -493,13 +988,12 @@ export const FleetCreateInputSchema = {
|
|
|
493
988
|
type: 'object',
|
|
494
989
|
properties: {
|
|
495
990
|
cpu: {
|
|
496
|
-
type: '
|
|
497
|
-
format: 'float',
|
|
991
|
+
type: 'integer',
|
|
498
992
|
minimum: 0,
|
|
499
|
-
|
|
993
|
+
maximum: 100000,
|
|
994
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
500
995
|
}
|
|
501
996
|
},
|
|
502
|
-
required: ['cpu'],
|
|
503
997
|
additionalProperties: false,
|
|
504
998
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
505
999
|
},
|
|
@@ -507,47 +1001,396 @@ export const FleetCreateInputSchema = {
|
|
|
507
1001
|
type: 'object',
|
|
508
1002
|
properties: {
|
|
509
1003
|
enabled: {
|
|
510
|
-
type: 'boolean'
|
|
511
|
-
default: true
|
|
1004
|
+
type: 'boolean'
|
|
512
1005
|
},
|
|
513
1006
|
project: {
|
|
514
1007
|
type: 'string',
|
|
515
|
-
|
|
1008
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
1009
|
+
description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
|
|
1010
|
+
example: 'my-cloudfleet-project'
|
|
516
1011
|
}
|
|
517
1012
|
},
|
|
518
|
-
required: [
|
|
1013
|
+
required: [
|
|
1014
|
+
'enabled'
|
|
1015
|
+
],
|
|
519
1016
|
additionalProperties: false
|
|
520
1017
|
},
|
|
521
1018
|
hetzner: {
|
|
522
1019
|
type: 'object',
|
|
523
1020
|
properties: {
|
|
524
1021
|
enabled: {
|
|
525
|
-
type: 'boolean'
|
|
526
|
-
default: true
|
|
1022
|
+
type: 'boolean'
|
|
527
1023
|
},
|
|
528
1024
|
apiKey: {
|
|
529
1025
|
type: 'string',
|
|
530
|
-
|
|
1026
|
+
maxLength: 64,
|
|
1027
|
+
minLength: 64,
|
|
1028
|
+
pattern: '^([A-Za-z0-9]{64}|\\*{64})$',
|
|
1029
|
+
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.'
|
|
531
1030
|
}
|
|
532
1031
|
},
|
|
533
|
-
required: [
|
|
1032
|
+
required: [
|
|
1033
|
+
'enabled'
|
|
1034
|
+
],
|
|
534
1035
|
additionalProperties: false
|
|
535
1036
|
},
|
|
536
1037
|
aws: {
|
|
537
1038
|
type: 'object',
|
|
538
1039
|
properties: {
|
|
539
1040
|
enabled: {
|
|
540
|
-
type: 'boolean'
|
|
541
|
-
default: true
|
|
1041
|
+
type: 'boolean'
|
|
542
1042
|
},
|
|
543
1043
|
controllerRoleArn: {
|
|
544
1044
|
type: 'string',
|
|
545
|
-
|
|
1045
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1046
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1047
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
546
1048
|
}
|
|
547
1049
|
},
|
|
548
|
-
required: [
|
|
1050
|
+
required: [
|
|
1051
|
+
'enabled'
|
|
1052
|
+
],
|
|
549
1053
|
additionalProperties: false
|
|
550
1054
|
},
|
|
1055
|
+
constraints: {
|
|
1056
|
+
type: 'object',
|
|
1057
|
+
properties: {
|
|
1058
|
+
'karpenter.sh/capacity-type': {
|
|
1059
|
+
type: 'array',
|
|
1060
|
+
items: {
|
|
1061
|
+
type: 'string',
|
|
1062
|
+
enum: [
|
|
1063
|
+
'on-demand',
|
|
1064
|
+
'spot'
|
|
1065
|
+
]
|
|
1066
|
+
},
|
|
1067
|
+
minItems: 1,
|
|
1068
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1069
|
+
default: [
|
|
1070
|
+
'on-demand',
|
|
1071
|
+
'spot'
|
|
1072
|
+
]
|
|
1073
|
+
},
|
|
1074
|
+
'kubernetes.io/arch': {
|
|
1075
|
+
type: 'array',
|
|
1076
|
+
items: {
|
|
1077
|
+
type: 'string',
|
|
1078
|
+
enum: [
|
|
1079
|
+
'amd64',
|
|
1080
|
+
'arm64'
|
|
1081
|
+
]
|
|
1082
|
+
},
|
|
1083
|
+
minItems: 1,
|
|
1084
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1085
|
+
default: [
|
|
1086
|
+
'amd64'
|
|
1087
|
+
]
|
|
1088
|
+
},
|
|
1089
|
+
'cfke.io/instance-family': {
|
|
1090
|
+
type: 'array',
|
|
1091
|
+
items: {
|
|
1092
|
+
type: 'string',
|
|
1093
|
+
enum: [
|
|
1094
|
+
'a1',
|
|
1095
|
+
'a2',
|
|
1096
|
+
'a3',
|
|
1097
|
+
'a4',
|
|
1098
|
+
'c1',
|
|
1099
|
+
'c2',
|
|
1100
|
+
'c2d',
|
|
1101
|
+
'c3',
|
|
1102
|
+
'c3d',
|
|
1103
|
+
'c4',
|
|
1104
|
+
'c4a',
|
|
1105
|
+
'c4d',
|
|
1106
|
+
'c5',
|
|
1107
|
+
'c5a',
|
|
1108
|
+
'c5ad',
|
|
1109
|
+
'c5d',
|
|
1110
|
+
'c5n',
|
|
1111
|
+
'c6a',
|
|
1112
|
+
'c6g',
|
|
1113
|
+
'c6gd',
|
|
1114
|
+
'c6gn',
|
|
1115
|
+
'c6i',
|
|
1116
|
+
'c6id',
|
|
1117
|
+
'c6in',
|
|
1118
|
+
'c7a',
|
|
1119
|
+
'c7g',
|
|
1120
|
+
'c7gd',
|
|
1121
|
+
'c7gn',
|
|
1122
|
+
'c7i',
|
|
1123
|
+
'c7i-flex',
|
|
1124
|
+
'c8g',
|
|
1125
|
+
'c8gd',
|
|
1126
|
+
'cax',
|
|
1127
|
+
'ccx',
|
|
1128
|
+
'cpx',
|
|
1129
|
+
'cx',
|
|
1130
|
+
'd2',
|
|
1131
|
+
'd3',
|
|
1132
|
+
'd3en',
|
|
1133
|
+
'dl1',
|
|
1134
|
+
'dl2q',
|
|
1135
|
+
'e2',
|
|
1136
|
+
'f1',
|
|
1137
|
+
'f2',
|
|
1138
|
+
'g1',
|
|
1139
|
+
'g2',
|
|
1140
|
+
'g4ad',
|
|
1141
|
+
'g4dn',
|
|
1142
|
+
'g5',
|
|
1143
|
+
'g5g',
|
|
1144
|
+
'g6',
|
|
1145
|
+
'g6e',
|
|
1146
|
+
'gr6',
|
|
1147
|
+
'h1',
|
|
1148
|
+
'h3',
|
|
1149
|
+
'hpc6a',
|
|
1150
|
+
'hpc6id',
|
|
1151
|
+
'hpc7a',
|
|
1152
|
+
'hpc7g',
|
|
1153
|
+
'i2',
|
|
1154
|
+
'i3',
|
|
1155
|
+
'i3en',
|
|
1156
|
+
'i4g',
|
|
1157
|
+
'i4i',
|
|
1158
|
+
'i7i',
|
|
1159
|
+
'i7ie',
|
|
1160
|
+
'i8g',
|
|
1161
|
+
'im4gn',
|
|
1162
|
+
'inf1',
|
|
1163
|
+
'inf2',
|
|
1164
|
+
'is4gen',
|
|
1165
|
+
'm1',
|
|
1166
|
+
'm2',
|
|
1167
|
+
'm3',
|
|
1168
|
+
'm4',
|
|
1169
|
+
'm5',
|
|
1170
|
+
'm5a',
|
|
1171
|
+
'm5ad',
|
|
1172
|
+
'm5d',
|
|
1173
|
+
'm5dn',
|
|
1174
|
+
'm5n',
|
|
1175
|
+
'm5zn',
|
|
1176
|
+
'm6a',
|
|
1177
|
+
'm6g',
|
|
1178
|
+
'm6gd',
|
|
1179
|
+
'm6i',
|
|
1180
|
+
'm6id',
|
|
1181
|
+
'm6idn',
|
|
1182
|
+
'm6in',
|
|
1183
|
+
'm7a',
|
|
1184
|
+
'm7g',
|
|
1185
|
+
'm7gd',
|
|
1186
|
+
'm7i',
|
|
1187
|
+
'm7i-flex',
|
|
1188
|
+
'm8g',
|
|
1189
|
+
'm8gd',
|
|
1190
|
+
'n1',
|
|
1191
|
+
'n2',
|
|
1192
|
+
'n2d',
|
|
1193
|
+
'n4',
|
|
1194
|
+
'p3',
|
|
1195
|
+
'p3dn',
|
|
1196
|
+
'p4d',
|
|
1197
|
+
'p4de',
|
|
1198
|
+
'p5',
|
|
1199
|
+
'p5e',
|
|
1200
|
+
'p5en',
|
|
1201
|
+
'p6-b200',
|
|
1202
|
+
'r3',
|
|
1203
|
+
'r4',
|
|
1204
|
+
'r5',
|
|
1205
|
+
'r5a',
|
|
1206
|
+
'r5ad',
|
|
1207
|
+
'r5b',
|
|
1208
|
+
'r5d',
|
|
1209
|
+
'r5dn',
|
|
1210
|
+
'r5n',
|
|
1211
|
+
'r6a',
|
|
1212
|
+
'r6g',
|
|
1213
|
+
'r6gd',
|
|
1214
|
+
'r6i',
|
|
1215
|
+
'r6id',
|
|
1216
|
+
'r6idn',
|
|
1217
|
+
'r6in',
|
|
1218
|
+
'r7a',
|
|
1219
|
+
'r7g',
|
|
1220
|
+
'r7gd',
|
|
1221
|
+
'r7i',
|
|
1222
|
+
'r7iz',
|
|
1223
|
+
'r8g',
|
|
1224
|
+
'r8gd',
|
|
1225
|
+
't2',
|
|
1226
|
+
't2a',
|
|
1227
|
+
't2d',
|
|
1228
|
+
't3',
|
|
1229
|
+
't3a',
|
|
1230
|
+
't4g',
|
|
1231
|
+
'trn1',
|
|
1232
|
+
'trn1n',
|
|
1233
|
+
'u-3tb1',
|
|
1234
|
+
'u-6tb1',
|
|
1235
|
+
'u7i-12tb',
|
|
1236
|
+
'u7i-6tb',
|
|
1237
|
+
'u7i-8tb',
|
|
1238
|
+
'u7in-16tb',
|
|
1239
|
+
'u7in-24tb',
|
|
1240
|
+
'u7in-32tb',
|
|
1241
|
+
'vt1',
|
|
1242
|
+
'x1',
|
|
1243
|
+
'x1e',
|
|
1244
|
+
'x2gd',
|
|
1245
|
+
'x2idn',
|
|
1246
|
+
'x2iedn',
|
|
1247
|
+
'x2iezn',
|
|
1248
|
+
'x4',
|
|
1249
|
+
'x8g',
|
|
1250
|
+
'z1d',
|
|
1251
|
+
'z3'
|
|
1252
|
+
]
|
|
1253
|
+
},
|
|
1254
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
1255
|
+
default: []
|
|
1256
|
+
},
|
|
1257
|
+
'topology.kubernetes.io/region': {
|
|
1258
|
+
type: 'array',
|
|
1259
|
+
items: {
|
|
1260
|
+
type: 'string',
|
|
1261
|
+
enum: [
|
|
1262
|
+
'africa-south1',
|
|
1263
|
+
'ap-northeast-1',
|
|
1264
|
+
'ap-northeast-2',
|
|
1265
|
+
'ap-northeast-3',
|
|
1266
|
+
'ap-south-1',
|
|
1267
|
+
'ap-southeast-1',
|
|
1268
|
+
'ap-southeast-2',
|
|
1269
|
+
'ash',
|
|
1270
|
+
'asia-east1',
|
|
1271
|
+
'asia-east2',
|
|
1272
|
+
'asia-northeast1',
|
|
1273
|
+
'asia-northeast2',
|
|
1274
|
+
'asia-northeast3',
|
|
1275
|
+
'asia-south1',
|
|
1276
|
+
'asia-south2',
|
|
1277
|
+
'asia-southeast1',
|
|
1278
|
+
'asia-southeast2',
|
|
1279
|
+
'australia-southeast1',
|
|
1280
|
+
'australia-southeast2',
|
|
1281
|
+
'ca-central-1',
|
|
1282
|
+
'eu-central-1',
|
|
1283
|
+
'eu-central-2',
|
|
1284
|
+
'eu-north-1',
|
|
1285
|
+
'eu-west-1',
|
|
1286
|
+
'eu-west-2',
|
|
1287
|
+
'eu-west-3',
|
|
1288
|
+
'europe-central2',
|
|
1289
|
+
'europe-north1',
|
|
1290
|
+
'europe-southwest1',
|
|
1291
|
+
'europe-west1',
|
|
1292
|
+
'europe-west10',
|
|
1293
|
+
'europe-west12',
|
|
1294
|
+
'europe-west2',
|
|
1295
|
+
'europe-west3',
|
|
1296
|
+
'europe-west4',
|
|
1297
|
+
'europe-west6',
|
|
1298
|
+
'europe-west8',
|
|
1299
|
+
'europe-west9',
|
|
1300
|
+
'fsn1',
|
|
1301
|
+
'hel1',
|
|
1302
|
+
'hil',
|
|
1303
|
+
'me-central1',
|
|
1304
|
+
'me-central2',
|
|
1305
|
+
'me-west1',
|
|
1306
|
+
'nbg1',
|
|
1307
|
+
'northamerica-northeast1',
|
|
1308
|
+
'northamerica-northeast2',
|
|
1309
|
+
'sa-east-1',
|
|
1310
|
+
'sin',
|
|
1311
|
+
'southamerica-east1',
|
|
1312
|
+
'southamerica-west1',
|
|
1313
|
+
'us-central1',
|
|
1314
|
+
'us-east-1',
|
|
1315
|
+
'us-east-2',
|
|
1316
|
+
'us-east1',
|
|
1317
|
+
'us-east4',
|
|
1318
|
+
'us-east5',
|
|
1319
|
+
'us-south1',
|
|
1320
|
+
'us-west-1',
|
|
1321
|
+
'us-west-2',
|
|
1322
|
+
'us-west1',
|
|
1323
|
+
'us-west2',
|
|
1324
|
+
'us-west3',
|
|
1325
|
+
'us-west4'
|
|
1326
|
+
]
|
|
1327
|
+
},
|
|
1328
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
1329
|
+
default: []
|
|
1330
|
+
}
|
|
1331
|
+
},
|
|
1332
|
+
additionalProperties: false,
|
|
1333
|
+
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.',
|
|
1334
|
+
default: {
|
|
1335
|
+
'karpenter.sh/capacity-type': [
|
|
1336
|
+
'on-demand',
|
|
1337
|
+
'spot'
|
|
1338
|
+
],
|
|
1339
|
+
'kubernetes.io/arch': [
|
|
1340
|
+
'amd64'
|
|
1341
|
+
],
|
|
1342
|
+
'cfke.io/instance-family': [],
|
|
1343
|
+
'topology.kubernetes.io/region': []
|
|
1344
|
+
}
|
|
1345
|
+
},
|
|
1346
|
+
scalingProfile: {
|
|
1347
|
+
type: 'string',
|
|
1348
|
+
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`).',
|
|
1349
|
+
default: 'conservative',
|
|
1350
|
+
example: 'conservative',
|
|
1351
|
+
enum: [
|
|
1352
|
+
'aggressive',
|
|
1353
|
+
'conservative'
|
|
1354
|
+
]
|
|
1355
|
+
},
|
|
1356
|
+
taints: {
|
|
1357
|
+
type: 'array',
|
|
1358
|
+
items: {
|
|
1359
|
+
type: 'object',
|
|
1360
|
+
properties: {
|
|
1361
|
+
key: {
|
|
1362
|
+
type: 'string',
|
|
1363
|
+
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.',
|
|
1364
|
+
example: 'dedicated'
|
|
1365
|
+
},
|
|
1366
|
+
value: {
|
|
1367
|
+
type: 'string',
|
|
1368
|
+
maxLength: 63,
|
|
1369
|
+
pattern: '^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$',
|
|
1370
|
+
description: 'Taint value. Optional.',
|
|
1371
|
+
example: 'ci'
|
|
1372
|
+
},
|
|
1373
|
+
effect: {
|
|
1374
|
+
type: 'string',
|
|
1375
|
+
description: 'Taint effect.',
|
|
1376
|
+
example: 'NoSchedule',
|
|
1377
|
+
enum: [
|
|
1378
|
+
'NoSchedule',
|
|
1379
|
+
'PreferNoSchedule',
|
|
1380
|
+
'NoExecute'
|
|
1381
|
+
]
|
|
1382
|
+
}
|
|
1383
|
+
},
|
|
1384
|
+
required: [
|
|
1385
|
+
'key',
|
|
1386
|
+
'effect'
|
|
1387
|
+
],
|
|
1388
|
+
additionalProperties: false
|
|
1389
|
+
},
|
|
1390
|
+
maxItems: 50,
|
|
1391
|
+
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.',
|
|
1392
|
+
default: []
|
|
1393
|
+
},
|
|
551
1394
|
id: {
|
|
552
1395
|
type: 'string',
|
|
553
1396
|
maxLength: 63,
|
|
@@ -557,8 +1400,11 @@ export const FleetCreateInputSchema = {
|
|
|
557
1400
|
example: 'new-clouds-fleet'
|
|
558
1401
|
}
|
|
559
1402
|
},
|
|
560
|
-
required: [
|
|
561
|
-
|
|
1403
|
+
required: [
|
|
1404
|
+
'id'
|
|
1405
|
+
],
|
|
1406
|
+
additionalProperties: false,
|
|
1407
|
+
description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
562
1408
|
};
|
|
563
1409
|
export const FleetSchema = {
|
|
564
1410
|
type: 'object',
|
|
@@ -567,13 +1413,12 @@ export const FleetSchema = {
|
|
|
567
1413
|
type: 'object',
|
|
568
1414
|
properties: {
|
|
569
1415
|
cpu: {
|
|
570
|
-
type: '
|
|
571
|
-
format: 'float',
|
|
1416
|
+
type: 'integer',
|
|
572
1417
|
minimum: 0,
|
|
573
|
-
|
|
1418
|
+
maximum: 100000,
|
|
1419
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
574
1420
|
}
|
|
575
1421
|
},
|
|
576
|
-
required: ['cpu'],
|
|
577
1422
|
additionalProperties: false,
|
|
578
1423
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
579
1424
|
},
|
|
@@ -581,47 +1426,398 @@ export const FleetSchema = {
|
|
|
581
1426
|
type: 'object',
|
|
582
1427
|
properties: {
|
|
583
1428
|
enabled: {
|
|
584
|
-
type: 'boolean'
|
|
585
|
-
default: true
|
|
1429
|
+
type: 'boolean'
|
|
586
1430
|
},
|
|
587
1431
|
project: {
|
|
588
1432
|
type: 'string',
|
|
589
|
-
|
|
1433
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
1434
|
+
description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
|
|
1435
|
+
example: 'my-cloudfleet-project'
|
|
590
1436
|
}
|
|
591
1437
|
},
|
|
592
|
-
required: [
|
|
1438
|
+
required: [
|
|
1439
|
+
'enabled'
|
|
1440
|
+
],
|
|
593
1441
|
additionalProperties: false
|
|
594
1442
|
},
|
|
595
1443
|
hetzner: {
|
|
596
1444
|
type: 'object',
|
|
597
1445
|
properties: {
|
|
598
1446
|
enabled: {
|
|
599
|
-
type: 'boolean'
|
|
600
|
-
default: true
|
|
1447
|
+
type: 'boolean'
|
|
601
1448
|
},
|
|
602
1449
|
apiKey: {
|
|
603
1450
|
type: 'string',
|
|
604
|
-
|
|
1451
|
+
pattern: '^\\*{64}$',
|
|
1452
|
+
description: 'Redacted Hetzner API token. Returned as 64 asterisks when a token is configured; omitted otherwise. The real value is never echoed by the API.'
|
|
605
1453
|
}
|
|
606
1454
|
},
|
|
607
|
-
required: [
|
|
1455
|
+
required: [
|
|
1456
|
+
'enabled'
|
|
1457
|
+
],
|
|
608
1458
|
additionalProperties: false
|
|
609
1459
|
},
|
|
610
1460
|
aws: {
|
|
611
1461
|
type: 'object',
|
|
612
1462
|
properties: {
|
|
613
1463
|
enabled: {
|
|
614
|
-
type: 'boolean'
|
|
615
|
-
default: true
|
|
1464
|
+
type: 'boolean'
|
|
616
1465
|
},
|
|
617
1466
|
controllerRoleArn: {
|
|
618
1467
|
type: 'string',
|
|
619
|
-
|
|
1468
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1469
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1470
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
620
1471
|
}
|
|
621
1472
|
},
|
|
622
|
-
required: [
|
|
1473
|
+
required: [
|
|
1474
|
+
'enabled'
|
|
1475
|
+
],
|
|
623
1476
|
additionalProperties: false
|
|
624
1477
|
},
|
|
1478
|
+
constraints: {
|
|
1479
|
+
type: 'object',
|
|
1480
|
+
properties: {
|
|
1481
|
+
'karpenter.sh/capacity-type': {
|
|
1482
|
+
type: 'array',
|
|
1483
|
+
items: {
|
|
1484
|
+
type: 'string',
|
|
1485
|
+
enum: [
|
|
1486
|
+
'on-demand',
|
|
1487
|
+
'spot'
|
|
1488
|
+
]
|
|
1489
|
+
},
|
|
1490
|
+
minItems: 1,
|
|
1491
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1492
|
+
default: [
|
|
1493
|
+
'on-demand',
|
|
1494
|
+
'spot'
|
|
1495
|
+
]
|
|
1496
|
+
},
|
|
1497
|
+
'kubernetes.io/arch': {
|
|
1498
|
+
type: 'array',
|
|
1499
|
+
items: {
|
|
1500
|
+
type: 'string',
|
|
1501
|
+
enum: [
|
|
1502
|
+
'amd64',
|
|
1503
|
+
'arm64'
|
|
1504
|
+
]
|
|
1505
|
+
},
|
|
1506
|
+
minItems: 1,
|
|
1507
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1508
|
+
default: [
|
|
1509
|
+
'amd64'
|
|
1510
|
+
]
|
|
1511
|
+
},
|
|
1512
|
+
'cfke.io/instance-family': {
|
|
1513
|
+
type: 'array',
|
|
1514
|
+
items: {
|
|
1515
|
+
type: 'string',
|
|
1516
|
+
enum: [
|
|
1517
|
+
'a1',
|
|
1518
|
+
'a2',
|
|
1519
|
+
'a3',
|
|
1520
|
+
'a4',
|
|
1521
|
+
'c1',
|
|
1522
|
+
'c2',
|
|
1523
|
+
'c2d',
|
|
1524
|
+
'c3',
|
|
1525
|
+
'c3d',
|
|
1526
|
+
'c4',
|
|
1527
|
+
'c4a',
|
|
1528
|
+
'c4d',
|
|
1529
|
+
'c5',
|
|
1530
|
+
'c5a',
|
|
1531
|
+
'c5ad',
|
|
1532
|
+
'c5d',
|
|
1533
|
+
'c5n',
|
|
1534
|
+
'c6a',
|
|
1535
|
+
'c6g',
|
|
1536
|
+
'c6gd',
|
|
1537
|
+
'c6gn',
|
|
1538
|
+
'c6i',
|
|
1539
|
+
'c6id',
|
|
1540
|
+
'c6in',
|
|
1541
|
+
'c7a',
|
|
1542
|
+
'c7g',
|
|
1543
|
+
'c7gd',
|
|
1544
|
+
'c7gn',
|
|
1545
|
+
'c7i',
|
|
1546
|
+
'c7i-flex',
|
|
1547
|
+
'c8g',
|
|
1548
|
+
'c8gd',
|
|
1549
|
+
'cax',
|
|
1550
|
+
'ccx',
|
|
1551
|
+
'cpx',
|
|
1552
|
+
'cx',
|
|
1553
|
+
'd2',
|
|
1554
|
+
'd3',
|
|
1555
|
+
'd3en',
|
|
1556
|
+
'dl1',
|
|
1557
|
+
'dl2q',
|
|
1558
|
+
'e2',
|
|
1559
|
+
'f1',
|
|
1560
|
+
'f2',
|
|
1561
|
+
'g1',
|
|
1562
|
+
'g2',
|
|
1563
|
+
'g4ad',
|
|
1564
|
+
'g4dn',
|
|
1565
|
+
'g5',
|
|
1566
|
+
'g5g',
|
|
1567
|
+
'g6',
|
|
1568
|
+
'g6e',
|
|
1569
|
+
'gr6',
|
|
1570
|
+
'h1',
|
|
1571
|
+
'h3',
|
|
1572
|
+
'hpc6a',
|
|
1573
|
+
'hpc6id',
|
|
1574
|
+
'hpc7a',
|
|
1575
|
+
'hpc7g',
|
|
1576
|
+
'i2',
|
|
1577
|
+
'i3',
|
|
1578
|
+
'i3en',
|
|
1579
|
+
'i4g',
|
|
1580
|
+
'i4i',
|
|
1581
|
+
'i7i',
|
|
1582
|
+
'i7ie',
|
|
1583
|
+
'i8g',
|
|
1584
|
+
'im4gn',
|
|
1585
|
+
'inf1',
|
|
1586
|
+
'inf2',
|
|
1587
|
+
'is4gen',
|
|
1588
|
+
'm1',
|
|
1589
|
+
'm2',
|
|
1590
|
+
'm3',
|
|
1591
|
+
'm4',
|
|
1592
|
+
'm5',
|
|
1593
|
+
'm5a',
|
|
1594
|
+
'm5ad',
|
|
1595
|
+
'm5d',
|
|
1596
|
+
'm5dn',
|
|
1597
|
+
'm5n',
|
|
1598
|
+
'm5zn',
|
|
1599
|
+
'm6a',
|
|
1600
|
+
'm6g',
|
|
1601
|
+
'm6gd',
|
|
1602
|
+
'm6i',
|
|
1603
|
+
'm6id',
|
|
1604
|
+
'm6idn',
|
|
1605
|
+
'm6in',
|
|
1606
|
+
'm7a',
|
|
1607
|
+
'm7g',
|
|
1608
|
+
'm7gd',
|
|
1609
|
+
'm7i',
|
|
1610
|
+
'm7i-flex',
|
|
1611
|
+
'm8g',
|
|
1612
|
+
'm8gd',
|
|
1613
|
+
'n1',
|
|
1614
|
+
'n2',
|
|
1615
|
+
'n2d',
|
|
1616
|
+
'n4',
|
|
1617
|
+
'p3',
|
|
1618
|
+
'p3dn',
|
|
1619
|
+
'p4d',
|
|
1620
|
+
'p4de',
|
|
1621
|
+
'p5',
|
|
1622
|
+
'p5e',
|
|
1623
|
+
'p5en',
|
|
1624
|
+
'p6-b200',
|
|
1625
|
+
'r3',
|
|
1626
|
+
'r4',
|
|
1627
|
+
'r5',
|
|
1628
|
+
'r5a',
|
|
1629
|
+
'r5ad',
|
|
1630
|
+
'r5b',
|
|
1631
|
+
'r5d',
|
|
1632
|
+
'r5dn',
|
|
1633
|
+
'r5n',
|
|
1634
|
+
'r6a',
|
|
1635
|
+
'r6g',
|
|
1636
|
+
'r6gd',
|
|
1637
|
+
'r6i',
|
|
1638
|
+
'r6id',
|
|
1639
|
+
'r6idn',
|
|
1640
|
+
'r6in',
|
|
1641
|
+
'r7a',
|
|
1642
|
+
'r7g',
|
|
1643
|
+
'r7gd',
|
|
1644
|
+
'r7i',
|
|
1645
|
+
'r7iz',
|
|
1646
|
+
'r8g',
|
|
1647
|
+
'r8gd',
|
|
1648
|
+
't2',
|
|
1649
|
+
't2a',
|
|
1650
|
+
't2d',
|
|
1651
|
+
't3',
|
|
1652
|
+
't3a',
|
|
1653
|
+
't4g',
|
|
1654
|
+
'trn1',
|
|
1655
|
+
'trn1n',
|
|
1656
|
+
'u-3tb1',
|
|
1657
|
+
'u-6tb1',
|
|
1658
|
+
'u7i-12tb',
|
|
1659
|
+
'u7i-6tb',
|
|
1660
|
+
'u7i-8tb',
|
|
1661
|
+
'u7in-16tb',
|
|
1662
|
+
'u7in-24tb',
|
|
1663
|
+
'u7in-32tb',
|
|
1664
|
+
'vt1',
|
|
1665
|
+
'x1',
|
|
1666
|
+
'x1e',
|
|
1667
|
+
'x2gd',
|
|
1668
|
+
'x2idn',
|
|
1669
|
+
'x2iedn',
|
|
1670
|
+
'x2iezn',
|
|
1671
|
+
'x4',
|
|
1672
|
+
'x8g',
|
|
1673
|
+
'z1d',
|
|
1674
|
+
'z3'
|
|
1675
|
+
]
|
|
1676
|
+
},
|
|
1677
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
1678
|
+
default: []
|
|
1679
|
+
},
|
|
1680
|
+
'topology.kubernetes.io/region': {
|
|
1681
|
+
type: 'array',
|
|
1682
|
+
items: {
|
|
1683
|
+
type: 'string',
|
|
1684
|
+
enum: [
|
|
1685
|
+
'africa-south1',
|
|
1686
|
+
'ap-northeast-1',
|
|
1687
|
+
'ap-northeast-2',
|
|
1688
|
+
'ap-northeast-3',
|
|
1689
|
+
'ap-south-1',
|
|
1690
|
+
'ap-southeast-1',
|
|
1691
|
+
'ap-southeast-2',
|
|
1692
|
+
'ash',
|
|
1693
|
+
'asia-east1',
|
|
1694
|
+
'asia-east2',
|
|
1695
|
+
'asia-northeast1',
|
|
1696
|
+
'asia-northeast2',
|
|
1697
|
+
'asia-northeast3',
|
|
1698
|
+
'asia-south1',
|
|
1699
|
+
'asia-south2',
|
|
1700
|
+
'asia-southeast1',
|
|
1701
|
+
'asia-southeast2',
|
|
1702
|
+
'australia-southeast1',
|
|
1703
|
+
'australia-southeast2',
|
|
1704
|
+
'ca-central-1',
|
|
1705
|
+
'eu-central-1',
|
|
1706
|
+
'eu-central-2',
|
|
1707
|
+
'eu-north-1',
|
|
1708
|
+
'eu-west-1',
|
|
1709
|
+
'eu-west-2',
|
|
1710
|
+
'eu-west-3',
|
|
1711
|
+
'europe-central2',
|
|
1712
|
+
'europe-north1',
|
|
1713
|
+
'europe-southwest1',
|
|
1714
|
+
'europe-west1',
|
|
1715
|
+
'europe-west10',
|
|
1716
|
+
'europe-west12',
|
|
1717
|
+
'europe-west2',
|
|
1718
|
+
'europe-west3',
|
|
1719
|
+
'europe-west4',
|
|
1720
|
+
'europe-west6',
|
|
1721
|
+
'europe-west8',
|
|
1722
|
+
'europe-west9',
|
|
1723
|
+
'fsn1',
|
|
1724
|
+
'hel1',
|
|
1725
|
+
'hil',
|
|
1726
|
+
'me-central1',
|
|
1727
|
+
'me-central2',
|
|
1728
|
+
'me-west1',
|
|
1729
|
+
'nbg1',
|
|
1730
|
+
'northamerica-northeast1',
|
|
1731
|
+
'northamerica-northeast2',
|
|
1732
|
+
'sa-east-1',
|
|
1733
|
+
'sin',
|
|
1734
|
+
'southamerica-east1',
|
|
1735
|
+
'southamerica-west1',
|
|
1736
|
+
'us-central1',
|
|
1737
|
+
'us-east-1',
|
|
1738
|
+
'us-east-2',
|
|
1739
|
+
'us-east1',
|
|
1740
|
+
'us-east4',
|
|
1741
|
+
'us-east5',
|
|
1742
|
+
'us-south1',
|
|
1743
|
+
'us-west-1',
|
|
1744
|
+
'us-west-2',
|
|
1745
|
+
'us-west1',
|
|
1746
|
+
'us-west2',
|
|
1747
|
+
'us-west3',
|
|
1748
|
+
'us-west4'
|
|
1749
|
+
]
|
|
1750
|
+
},
|
|
1751
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
1752
|
+
default: []
|
|
1753
|
+
}
|
|
1754
|
+
},
|
|
1755
|
+
required: [
|
|
1756
|
+
'karpenter.sh/capacity-type',
|
|
1757
|
+
'kubernetes.io/arch'
|
|
1758
|
+
],
|
|
1759
|
+
additionalProperties: false,
|
|
1760
|
+
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.',
|
|
1761
|
+
default: {
|
|
1762
|
+
'karpenter.sh/capacity-type': [
|
|
1763
|
+
'on-demand',
|
|
1764
|
+
'spot'
|
|
1765
|
+
],
|
|
1766
|
+
'kubernetes.io/arch': [
|
|
1767
|
+
'amd64'
|
|
1768
|
+
],
|
|
1769
|
+
'cfke.io/instance-family': [],
|
|
1770
|
+
'topology.kubernetes.io/region': []
|
|
1771
|
+
}
|
|
1772
|
+
},
|
|
1773
|
+
scalingProfile: {
|
|
1774
|
+
type: 'string',
|
|
1775
|
+
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`).',
|
|
1776
|
+
default: 'conservative',
|
|
1777
|
+
example: 'conservative',
|
|
1778
|
+
enum: [
|
|
1779
|
+
'aggressive',
|
|
1780
|
+
'conservative'
|
|
1781
|
+
]
|
|
1782
|
+
},
|
|
1783
|
+
taints: {
|
|
1784
|
+
type: 'array',
|
|
1785
|
+
items: {
|
|
1786
|
+
type: 'object',
|
|
1787
|
+
properties: {
|
|
1788
|
+
key: {
|
|
1789
|
+
type: 'string',
|
|
1790
|
+
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.',
|
|
1791
|
+
example: 'dedicated'
|
|
1792
|
+
},
|
|
1793
|
+
value: {
|
|
1794
|
+
type: 'string',
|
|
1795
|
+
maxLength: 63,
|
|
1796
|
+
pattern: '^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$',
|
|
1797
|
+
description: 'Taint value. Optional.',
|
|
1798
|
+
example: 'ci'
|
|
1799
|
+
},
|
|
1800
|
+
effect: {
|
|
1801
|
+
type: 'string',
|
|
1802
|
+
description: 'Taint effect.',
|
|
1803
|
+
example: 'NoSchedule',
|
|
1804
|
+
enum: [
|
|
1805
|
+
'NoSchedule',
|
|
1806
|
+
'PreferNoSchedule',
|
|
1807
|
+
'NoExecute'
|
|
1808
|
+
]
|
|
1809
|
+
}
|
|
1810
|
+
},
|
|
1811
|
+
required: [
|
|
1812
|
+
'key',
|
|
1813
|
+
'effect'
|
|
1814
|
+
],
|
|
1815
|
+
additionalProperties: false
|
|
1816
|
+
},
|
|
1817
|
+
maxItems: 50,
|
|
1818
|
+
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.',
|
|
1819
|
+
default: []
|
|
1820
|
+
},
|
|
625
1821
|
id: {
|
|
626
1822
|
type: 'string',
|
|
627
1823
|
maxLength: 63,
|
|
@@ -629,10 +1825,39 @@ export const FleetSchema = {
|
|
|
629
1825
|
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
630
1826
|
description: 'Unique identifier of the kubernetes fleet.',
|
|
631
1827
|
example: 'new-clouds-fleet'
|
|
1828
|
+
},
|
|
1829
|
+
ready: {
|
|
1830
|
+
type: 'boolean',
|
|
1831
|
+
description: 'Indicates whether the fleet configuration is healthy.',
|
|
1832
|
+
example: true
|
|
1833
|
+
},
|
|
1834
|
+
status_message: {
|
|
1835
|
+
type: 'string',
|
|
1836
|
+
description: 'Human-readable reason the fleet is not ready. Present only when `ready` is false.',
|
|
1837
|
+
example: 'Invalid provider permissions.'
|
|
1838
|
+
},
|
|
1839
|
+
created_at: {
|
|
1840
|
+
type: 'string',
|
|
1841
|
+
description: 'Creation date and time of the fleet.',
|
|
1842
|
+
example: '2024-09-12T09:11:27Z'
|
|
1843
|
+
},
|
|
1844
|
+
updated_at: {
|
|
1845
|
+
type: 'string',
|
|
1846
|
+
description: 'Date and time the fleet was last updated.',
|
|
1847
|
+
example: '2024-09-12T09:11:27Z'
|
|
632
1848
|
}
|
|
633
1849
|
},
|
|
634
|
-
required: [
|
|
635
|
-
|
|
1850
|
+
required: [
|
|
1851
|
+
'constraints',
|
|
1852
|
+
'scalingProfile',
|
|
1853
|
+
'taints',
|
|
1854
|
+
'id',
|
|
1855
|
+
'ready',
|
|
1856
|
+
'created_at',
|
|
1857
|
+
'updated_at'
|
|
1858
|
+
],
|
|
1859
|
+
additionalProperties: false,
|
|
1860
|
+
description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
636
1861
|
};
|
|
637
1862
|
export const FleetUpdateInputSchema = {
|
|
638
1863
|
type: 'object',
|
|
@@ -641,13 +1866,12 @@ export const FleetUpdateInputSchema = {
|
|
|
641
1866
|
type: 'object',
|
|
642
1867
|
properties: {
|
|
643
1868
|
cpu: {
|
|
644
|
-
type: '
|
|
645
|
-
format: 'float',
|
|
1869
|
+
type: 'integer',
|
|
646
1870
|
minimum: 0,
|
|
647
|
-
|
|
1871
|
+
maximum: 100000,
|
|
1872
|
+
description: 'CPU limit in cores. Maximum 100,000.'
|
|
648
1873
|
}
|
|
649
1874
|
},
|
|
650
|
-
required: ['cpu'],
|
|
651
1875
|
additionalProperties: false,
|
|
652
1876
|
description: 'Limits define a set of bounds for provisioning capacity.'
|
|
653
1877
|
},
|
|
@@ -655,48 +1879,423 @@ export const FleetUpdateInputSchema = {
|
|
|
655
1879
|
type: 'object',
|
|
656
1880
|
properties: {
|
|
657
1881
|
enabled: {
|
|
658
|
-
type: 'boolean'
|
|
659
|
-
default: true
|
|
1882
|
+
type: 'boolean'
|
|
660
1883
|
},
|
|
661
1884
|
project: {
|
|
662
1885
|
type: 'string',
|
|
663
|
-
|
|
1886
|
+
pattern: '^[a-z][a-z0-9-]{4,28}[a-z0-9]$',
|
|
1887
|
+
description: 'GCP project ID to deploy instances into. 6-30 chars, lowercase letters/digits/hyphens, must start with a letter and not end with a hyphen. Omit when GCP is disabled.',
|
|
1888
|
+
example: 'my-cloudfleet-project'
|
|
664
1889
|
}
|
|
665
1890
|
},
|
|
666
|
-
required: [
|
|
1891
|
+
required: [
|
|
1892
|
+
'enabled'
|
|
1893
|
+
],
|
|
667
1894
|
additionalProperties: false
|
|
668
1895
|
},
|
|
669
1896
|
hetzner: {
|
|
670
1897
|
type: 'object',
|
|
671
1898
|
properties: {
|
|
672
1899
|
enabled: {
|
|
673
|
-
type: 'boolean'
|
|
674
|
-
default: true
|
|
1900
|
+
type: 'boolean'
|
|
675
1901
|
},
|
|
676
1902
|
apiKey: {
|
|
677
1903
|
type: 'string',
|
|
678
|
-
|
|
1904
|
+
maxLength: 64,
|
|
1905
|
+
minLength: 64,
|
|
1906
|
+
pattern: '^([A-Za-z0-9]{64}|\\*{64})$',
|
|
1907
|
+
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.'
|
|
679
1908
|
}
|
|
680
1909
|
},
|
|
681
|
-
required: [
|
|
1910
|
+
required: [
|
|
1911
|
+
'enabled'
|
|
1912
|
+
],
|
|
682
1913
|
additionalProperties: false
|
|
683
1914
|
},
|
|
684
1915
|
aws: {
|
|
685
1916
|
type: 'object',
|
|
686
1917
|
properties: {
|
|
687
1918
|
enabled: {
|
|
688
|
-
type: 'boolean'
|
|
689
|
-
default: true
|
|
1919
|
+
type: 'boolean'
|
|
690
1920
|
},
|
|
691
1921
|
controllerRoleArn: {
|
|
692
1922
|
type: 'string',
|
|
693
|
-
|
|
1923
|
+
pattern: '^arn:aws(-[a-z]+)*:iam::\\d{12}:role\\/[\\w+=,.@/-]+$',
|
|
1924
|
+
description: 'AWS IAM role ARN that Karpenter uses to manage resources. Omit when AWS is disabled.',
|
|
1925
|
+
example: 'arn:aws:iam::123456789012:role/Cloudfleet'
|
|
694
1926
|
}
|
|
695
1927
|
},
|
|
696
|
-
required: [
|
|
1928
|
+
required: [
|
|
1929
|
+
'enabled'
|
|
1930
|
+
],
|
|
697
1931
|
additionalProperties: false
|
|
1932
|
+
},
|
|
1933
|
+
constraints: {
|
|
1934
|
+
type: 'object',
|
|
1935
|
+
properties: {
|
|
1936
|
+
'karpenter.sh/capacity-type': {
|
|
1937
|
+
type: 'array',
|
|
1938
|
+
items: {
|
|
1939
|
+
type: 'string',
|
|
1940
|
+
enum: [
|
|
1941
|
+
'on-demand',
|
|
1942
|
+
'spot'
|
|
1943
|
+
]
|
|
1944
|
+
},
|
|
1945
|
+
minItems: 1,
|
|
1946
|
+
description: 'Allowed values for `karpenter.sh/capacity-type`.',
|
|
1947
|
+
default: [
|
|
1948
|
+
'on-demand',
|
|
1949
|
+
'spot'
|
|
1950
|
+
]
|
|
1951
|
+
},
|
|
1952
|
+
'kubernetes.io/arch': {
|
|
1953
|
+
type: 'array',
|
|
1954
|
+
items: {
|
|
1955
|
+
type: 'string',
|
|
1956
|
+
enum: [
|
|
1957
|
+
'amd64',
|
|
1958
|
+
'arm64'
|
|
1959
|
+
]
|
|
1960
|
+
},
|
|
1961
|
+
minItems: 1,
|
|
1962
|
+
description: 'Allowed values for `kubernetes.io/arch`.',
|
|
1963
|
+
default: [
|
|
1964
|
+
'amd64'
|
|
1965
|
+
]
|
|
1966
|
+
},
|
|
1967
|
+
'cfke.io/instance-family': {
|
|
1968
|
+
type: 'array',
|
|
1969
|
+
items: {
|
|
1970
|
+
type: 'string',
|
|
1971
|
+
enum: [
|
|
1972
|
+
'a1',
|
|
1973
|
+
'a2',
|
|
1974
|
+
'a3',
|
|
1975
|
+
'a4',
|
|
1976
|
+
'c1',
|
|
1977
|
+
'c2',
|
|
1978
|
+
'c2d',
|
|
1979
|
+
'c3',
|
|
1980
|
+
'c3d',
|
|
1981
|
+
'c4',
|
|
1982
|
+
'c4a',
|
|
1983
|
+
'c4d',
|
|
1984
|
+
'c5',
|
|
1985
|
+
'c5a',
|
|
1986
|
+
'c5ad',
|
|
1987
|
+
'c5d',
|
|
1988
|
+
'c5n',
|
|
1989
|
+
'c6a',
|
|
1990
|
+
'c6g',
|
|
1991
|
+
'c6gd',
|
|
1992
|
+
'c6gn',
|
|
1993
|
+
'c6i',
|
|
1994
|
+
'c6id',
|
|
1995
|
+
'c6in',
|
|
1996
|
+
'c7a',
|
|
1997
|
+
'c7g',
|
|
1998
|
+
'c7gd',
|
|
1999
|
+
'c7gn',
|
|
2000
|
+
'c7i',
|
|
2001
|
+
'c7i-flex',
|
|
2002
|
+
'c8g',
|
|
2003
|
+
'c8gd',
|
|
2004
|
+
'cax',
|
|
2005
|
+
'ccx',
|
|
2006
|
+
'cpx',
|
|
2007
|
+
'cx',
|
|
2008
|
+
'd2',
|
|
2009
|
+
'd3',
|
|
2010
|
+
'd3en',
|
|
2011
|
+
'dl1',
|
|
2012
|
+
'dl2q',
|
|
2013
|
+
'e2',
|
|
2014
|
+
'f1',
|
|
2015
|
+
'f2',
|
|
2016
|
+
'g1',
|
|
2017
|
+
'g2',
|
|
2018
|
+
'g4ad',
|
|
2019
|
+
'g4dn',
|
|
2020
|
+
'g5',
|
|
2021
|
+
'g5g',
|
|
2022
|
+
'g6',
|
|
2023
|
+
'g6e',
|
|
2024
|
+
'gr6',
|
|
2025
|
+
'h1',
|
|
2026
|
+
'h3',
|
|
2027
|
+
'hpc6a',
|
|
2028
|
+
'hpc6id',
|
|
2029
|
+
'hpc7a',
|
|
2030
|
+
'hpc7g',
|
|
2031
|
+
'i2',
|
|
2032
|
+
'i3',
|
|
2033
|
+
'i3en',
|
|
2034
|
+
'i4g',
|
|
2035
|
+
'i4i',
|
|
2036
|
+
'i7i',
|
|
2037
|
+
'i7ie',
|
|
2038
|
+
'i8g',
|
|
2039
|
+
'im4gn',
|
|
2040
|
+
'inf1',
|
|
2041
|
+
'inf2',
|
|
2042
|
+
'is4gen',
|
|
2043
|
+
'm1',
|
|
2044
|
+
'm2',
|
|
2045
|
+
'm3',
|
|
2046
|
+
'm4',
|
|
2047
|
+
'm5',
|
|
2048
|
+
'm5a',
|
|
2049
|
+
'm5ad',
|
|
2050
|
+
'm5d',
|
|
2051
|
+
'm5dn',
|
|
2052
|
+
'm5n',
|
|
2053
|
+
'm5zn',
|
|
2054
|
+
'm6a',
|
|
2055
|
+
'm6g',
|
|
2056
|
+
'm6gd',
|
|
2057
|
+
'm6i',
|
|
2058
|
+
'm6id',
|
|
2059
|
+
'm6idn',
|
|
2060
|
+
'm6in',
|
|
2061
|
+
'm7a',
|
|
2062
|
+
'm7g',
|
|
2063
|
+
'm7gd',
|
|
2064
|
+
'm7i',
|
|
2065
|
+
'm7i-flex',
|
|
2066
|
+
'm8g',
|
|
2067
|
+
'm8gd',
|
|
2068
|
+
'n1',
|
|
2069
|
+
'n2',
|
|
2070
|
+
'n2d',
|
|
2071
|
+
'n4',
|
|
2072
|
+
'p3',
|
|
2073
|
+
'p3dn',
|
|
2074
|
+
'p4d',
|
|
2075
|
+
'p4de',
|
|
2076
|
+
'p5',
|
|
2077
|
+
'p5e',
|
|
2078
|
+
'p5en',
|
|
2079
|
+
'p6-b200',
|
|
2080
|
+
'r3',
|
|
2081
|
+
'r4',
|
|
2082
|
+
'r5',
|
|
2083
|
+
'r5a',
|
|
2084
|
+
'r5ad',
|
|
2085
|
+
'r5b',
|
|
2086
|
+
'r5d',
|
|
2087
|
+
'r5dn',
|
|
2088
|
+
'r5n',
|
|
2089
|
+
'r6a',
|
|
2090
|
+
'r6g',
|
|
2091
|
+
'r6gd',
|
|
2092
|
+
'r6i',
|
|
2093
|
+
'r6id',
|
|
2094
|
+
'r6idn',
|
|
2095
|
+
'r6in',
|
|
2096
|
+
'r7a',
|
|
2097
|
+
'r7g',
|
|
2098
|
+
'r7gd',
|
|
2099
|
+
'r7i',
|
|
2100
|
+
'r7iz',
|
|
2101
|
+
'r8g',
|
|
2102
|
+
'r8gd',
|
|
2103
|
+
't2',
|
|
2104
|
+
't2a',
|
|
2105
|
+
't2d',
|
|
2106
|
+
't3',
|
|
2107
|
+
't3a',
|
|
2108
|
+
't4g',
|
|
2109
|
+
'trn1',
|
|
2110
|
+
'trn1n',
|
|
2111
|
+
'u-3tb1',
|
|
2112
|
+
'u-6tb1',
|
|
2113
|
+
'u7i-12tb',
|
|
2114
|
+
'u7i-6tb',
|
|
2115
|
+
'u7i-8tb',
|
|
2116
|
+
'u7in-16tb',
|
|
2117
|
+
'u7in-24tb',
|
|
2118
|
+
'u7in-32tb',
|
|
2119
|
+
'vt1',
|
|
2120
|
+
'x1',
|
|
2121
|
+
'x1e',
|
|
2122
|
+
'x2gd',
|
|
2123
|
+
'x2idn',
|
|
2124
|
+
'x2iedn',
|
|
2125
|
+
'x2iezn',
|
|
2126
|
+
'x4',
|
|
2127
|
+
'x8g',
|
|
2128
|
+
'z1d',
|
|
2129
|
+
'z3'
|
|
2130
|
+
]
|
|
2131
|
+
},
|
|
2132
|
+
description: 'Allowed values for `cfke.io/instance-family`.',
|
|
2133
|
+
default: []
|
|
2134
|
+
},
|
|
2135
|
+
'topology.kubernetes.io/region': {
|
|
2136
|
+
type: 'array',
|
|
2137
|
+
items: {
|
|
2138
|
+
type: 'string',
|
|
2139
|
+
enum: [
|
|
2140
|
+
'africa-south1',
|
|
2141
|
+
'ap-northeast-1',
|
|
2142
|
+
'ap-northeast-2',
|
|
2143
|
+
'ap-northeast-3',
|
|
2144
|
+
'ap-south-1',
|
|
2145
|
+
'ap-southeast-1',
|
|
2146
|
+
'ap-southeast-2',
|
|
2147
|
+
'ash',
|
|
2148
|
+
'asia-east1',
|
|
2149
|
+
'asia-east2',
|
|
2150
|
+
'asia-northeast1',
|
|
2151
|
+
'asia-northeast2',
|
|
2152
|
+
'asia-northeast3',
|
|
2153
|
+
'asia-south1',
|
|
2154
|
+
'asia-south2',
|
|
2155
|
+
'asia-southeast1',
|
|
2156
|
+
'asia-southeast2',
|
|
2157
|
+
'australia-southeast1',
|
|
2158
|
+
'australia-southeast2',
|
|
2159
|
+
'ca-central-1',
|
|
2160
|
+
'eu-central-1',
|
|
2161
|
+
'eu-central-2',
|
|
2162
|
+
'eu-north-1',
|
|
2163
|
+
'eu-west-1',
|
|
2164
|
+
'eu-west-2',
|
|
2165
|
+
'eu-west-3',
|
|
2166
|
+
'europe-central2',
|
|
2167
|
+
'europe-north1',
|
|
2168
|
+
'europe-southwest1',
|
|
2169
|
+
'europe-west1',
|
|
2170
|
+
'europe-west10',
|
|
2171
|
+
'europe-west12',
|
|
2172
|
+
'europe-west2',
|
|
2173
|
+
'europe-west3',
|
|
2174
|
+
'europe-west4',
|
|
2175
|
+
'europe-west6',
|
|
2176
|
+
'europe-west8',
|
|
2177
|
+
'europe-west9',
|
|
2178
|
+
'fsn1',
|
|
2179
|
+
'hel1',
|
|
2180
|
+
'hil',
|
|
2181
|
+
'me-central1',
|
|
2182
|
+
'me-central2',
|
|
2183
|
+
'me-west1',
|
|
2184
|
+
'nbg1',
|
|
2185
|
+
'northamerica-northeast1',
|
|
2186
|
+
'northamerica-northeast2',
|
|
2187
|
+
'sa-east-1',
|
|
2188
|
+
'sin',
|
|
2189
|
+
'southamerica-east1',
|
|
2190
|
+
'southamerica-west1',
|
|
2191
|
+
'us-central1',
|
|
2192
|
+
'us-east-1',
|
|
2193
|
+
'us-east-2',
|
|
2194
|
+
'us-east1',
|
|
2195
|
+
'us-east4',
|
|
2196
|
+
'us-east5',
|
|
2197
|
+
'us-south1',
|
|
2198
|
+
'us-west-1',
|
|
2199
|
+
'us-west-2',
|
|
2200
|
+
'us-west1',
|
|
2201
|
+
'us-west2',
|
|
2202
|
+
'us-west3',
|
|
2203
|
+
'us-west4'
|
|
2204
|
+
]
|
|
2205
|
+
},
|
|
2206
|
+
description: 'Allowed values for `topology.kubernetes.io/region`.',
|
|
2207
|
+
default: []
|
|
2208
|
+
}
|
|
2209
|
+
},
|
|
2210
|
+
additionalProperties: false,
|
|
2211
|
+
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.',
|
|
2212
|
+
default: {
|
|
2213
|
+
'karpenter.sh/capacity-type': [
|
|
2214
|
+
'on-demand',
|
|
2215
|
+
'spot'
|
|
2216
|
+
],
|
|
2217
|
+
'kubernetes.io/arch': [
|
|
2218
|
+
'amd64'
|
|
2219
|
+
],
|
|
2220
|
+
'cfke.io/instance-family': [],
|
|
2221
|
+
'topology.kubernetes.io/region': []
|
|
2222
|
+
}
|
|
2223
|
+
},
|
|
2224
|
+
scalingProfile: {
|
|
2225
|
+
type: 'string',
|
|
2226
|
+
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`).',
|
|
2227
|
+
default: 'conservative',
|
|
2228
|
+
example: 'conservative',
|
|
2229
|
+
enum: [
|
|
2230
|
+
'aggressive',
|
|
2231
|
+
'conservative'
|
|
2232
|
+
]
|
|
2233
|
+
},
|
|
2234
|
+
taints: {
|
|
2235
|
+
type: 'array',
|
|
2236
|
+
items: {
|
|
2237
|
+
type: 'object',
|
|
2238
|
+
properties: {
|
|
2239
|
+
key: {
|
|
2240
|
+
type: 'string',
|
|
2241
|
+
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.',
|
|
2242
|
+
example: 'dedicated'
|
|
2243
|
+
},
|
|
2244
|
+
value: {
|
|
2245
|
+
type: 'string',
|
|
2246
|
+
maxLength: 63,
|
|
2247
|
+
pattern: '^([A-Za-z0-9]([-A-Za-z0-9_.]*[A-Za-z0-9])?)?$',
|
|
2248
|
+
description: 'Taint value. Optional.',
|
|
2249
|
+
example: 'ci'
|
|
2250
|
+
},
|
|
2251
|
+
effect: {
|
|
2252
|
+
type: 'string',
|
|
2253
|
+
description: 'Taint effect.',
|
|
2254
|
+
example: 'NoSchedule',
|
|
2255
|
+
enum: [
|
|
2256
|
+
'NoSchedule',
|
|
2257
|
+
'PreferNoSchedule',
|
|
2258
|
+
'NoExecute'
|
|
2259
|
+
]
|
|
2260
|
+
}
|
|
2261
|
+
},
|
|
2262
|
+
required: [
|
|
2263
|
+
'key',
|
|
2264
|
+
'effect'
|
|
2265
|
+
],
|
|
2266
|
+
additionalProperties: false
|
|
2267
|
+
},
|
|
2268
|
+
maxItems: 50,
|
|
2269
|
+
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.',
|
|
2270
|
+
default: []
|
|
2271
|
+
}
|
|
2272
|
+
},
|
|
2273
|
+
additionalProperties: false,
|
|
2274
|
+
description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
|
|
2275
|
+
};
|
|
2276
|
+
export const InviteCreateInputSchema = {
|
|
2277
|
+
type: 'object',
|
|
2278
|
+
properties: {
|
|
2279
|
+
email: {
|
|
2280
|
+
type: 'string',
|
|
2281
|
+
format: 'email',
|
|
2282
|
+
description: 'Email address of the user to invite.',
|
|
2283
|
+
example: 'email@example.com'
|
|
2284
|
+
},
|
|
2285
|
+
role: {
|
|
2286
|
+
type: 'string',
|
|
2287
|
+
description: 'Role the invited user will be assigned on redemption. Can be \'Administrator\' or \'User\'.',
|
|
2288
|
+
default: 'User',
|
|
2289
|
+
example: 'User',
|
|
2290
|
+
enum: [
|
|
2291
|
+
'Administrator',
|
|
2292
|
+
'User'
|
|
2293
|
+
]
|
|
698
2294
|
}
|
|
699
2295
|
},
|
|
2296
|
+
required: [
|
|
2297
|
+
'email'
|
|
2298
|
+
],
|
|
700
2299
|
additionalProperties: false
|
|
701
2300
|
};
|
|
702
2301
|
export const InviteSchema = {
|
|
@@ -729,9 +2328,185 @@ export const InviteSchema = {
|
|
|
729
2328
|
type: 'string',
|
|
730
2329
|
description: 'Generated unique invite code.',
|
|
731
2330
|
example: '7kUZnH7nnKUFfvc4NK2KQF'
|
|
2331
|
+
},
|
|
2332
|
+
role: {
|
|
2333
|
+
type: 'string',
|
|
2334
|
+
description: 'Role the invited user will be assigned on redemption. Can be \'Administrator\' or \'User\'.',
|
|
2335
|
+
default: 'User',
|
|
2336
|
+
example: 'User',
|
|
2337
|
+
enum: [
|
|
2338
|
+
'Administrator',
|
|
2339
|
+
'User'
|
|
2340
|
+
]
|
|
2341
|
+
}
|
|
2342
|
+
},
|
|
2343
|
+
required: [
|
|
2344
|
+
'date_created'
|
|
2345
|
+
],
|
|
2346
|
+
additionalProperties: false
|
|
2347
|
+
};
|
|
2348
|
+
export const InvoicePaymentAttemptSchema = {
|
|
2349
|
+
type: 'object',
|
|
2350
|
+
properties: {
|
|
2351
|
+
invoice_id: {
|
|
2352
|
+
type: 'string',
|
|
2353
|
+
description: 'Identifier of the invoice.',
|
|
2354
|
+
example: 'in_1234567890xCrwxghOTj1234'
|
|
2355
|
+
},
|
|
2356
|
+
number: {
|
|
2357
|
+
type: 'string',
|
|
2358
|
+
nullable: true,
|
|
2359
|
+
description: 'Invoice number. Null if the invoice has no number.',
|
|
2360
|
+
example: 'CF-0042'
|
|
2361
|
+
},
|
|
2362
|
+
amount: {
|
|
2363
|
+
type: 'number',
|
|
2364
|
+
format: 'float',
|
|
2365
|
+
description: 'Amount outstanding when the charge was attempted, in the smallest currency unit.',
|
|
2366
|
+
example: 4200
|
|
2367
|
+
},
|
|
2368
|
+
currency: {
|
|
2369
|
+
type: 'string',
|
|
2370
|
+
description: 'Currency of the invoice.',
|
|
2371
|
+
example: 'eur'
|
|
2372
|
+
},
|
|
2373
|
+
status: {
|
|
2374
|
+
type: 'string',
|
|
2375
|
+
description: 'Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).',
|
|
2376
|
+
example: 'paid',
|
|
2377
|
+
enum: [
|
|
2378
|
+
'paid',
|
|
2379
|
+
'processing',
|
|
2380
|
+
'requires_action',
|
|
2381
|
+
'failed'
|
|
2382
|
+
]
|
|
2383
|
+
},
|
|
2384
|
+
client_secret: {
|
|
2385
|
+
type: 'string',
|
|
2386
|
+
nullable: true,
|
|
2387
|
+
description: 'Client secret used to complete customer authentication. Set only when `status` is `requires_action`.',
|
|
2388
|
+
example: 'pi_3MtwBwLkdIwHu7ix28a3tqPa_secret_YrKJUKribcBjcG8HVhfZluoGH'
|
|
2389
|
+
},
|
|
2390
|
+
failure_code: {
|
|
2391
|
+
type: 'string',
|
|
2392
|
+
nullable: true,
|
|
2393
|
+
description: 'Decline code. Set only when `status` is `failed`.',
|
|
2394
|
+
example: 'insufficient_funds'
|
|
2395
|
+
},
|
|
2396
|
+
failure_message: {
|
|
2397
|
+
type: 'string',
|
|
2398
|
+
nullable: true,
|
|
2399
|
+
description: 'Explanation of the decline, suitable for display. Set only when `status` is `failed`.',
|
|
2400
|
+
example: 'Your card has insufficient funds.'
|
|
732
2401
|
}
|
|
733
2402
|
},
|
|
734
|
-
required: [
|
|
2403
|
+
required: [
|
|
2404
|
+
'invoice_id',
|
|
2405
|
+
'number',
|
|
2406
|
+
'amount',
|
|
2407
|
+
'currency',
|
|
2408
|
+
'status',
|
|
2409
|
+
'client_secret',
|
|
2410
|
+
'failure_code',
|
|
2411
|
+
'failure_message'
|
|
2412
|
+
],
|
|
2413
|
+
additionalProperties: false
|
|
2414
|
+
};
|
|
2415
|
+
export const InvoicePaymentResultSchema = {
|
|
2416
|
+
type: 'object',
|
|
2417
|
+
properties: {
|
|
2418
|
+
code: {
|
|
2419
|
+
type: 'string',
|
|
2420
|
+
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).',
|
|
2421
|
+
example: 'partially_paid',
|
|
2422
|
+
enum: [
|
|
2423
|
+
'paid',
|
|
2424
|
+
'processing',
|
|
2425
|
+
'action_required',
|
|
2426
|
+
'partially_paid',
|
|
2427
|
+
'failed',
|
|
2428
|
+
'nothing_due',
|
|
2429
|
+
'bank_transfer_due'
|
|
2430
|
+
]
|
|
2431
|
+
},
|
|
2432
|
+
message: {
|
|
2433
|
+
type: 'string',
|
|
2434
|
+
description: 'Summary of the outcome, suitable for display.',
|
|
2435
|
+
example: '1 of 2 open invoices was paid. Invoice CF-0043 was declined: Your card has insufficient funds.'
|
|
2436
|
+
},
|
|
2437
|
+
results: {
|
|
2438
|
+
type: 'array',
|
|
2439
|
+
items: {
|
|
2440
|
+
type: 'object',
|
|
2441
|
+
properties: {
|
|
2442
|
+
invoice_id: {
|
|
2443
|
+
type: 'string',
|
|
2444
|
+
description: 'Identifier of the invoice.',
|
|
2445
|
+
example: 'in_1234567890xCrwxghOTj1234'
|
|
2446
|
+
},
|
|
2447
|
+
number: {
|
|
2448
|
+
type: 'string',
|
|
2449
|
+
description: 'Invoice number. Null if the invoice has no number.',
|
|
2450
|
+
example: 'CF-0042'
|
|
2451
|
+
},
|
|
2452
|
+
amount: {
|
|
2453
|
+
type: 'number',
|
|
2454
|
+
format: 'float',
|
|
2455
|
+
description: 'Amount outstanding when the charge was attempted, in the smallest currency unit.',
|
|
2456
|
+
example: 4200
|
|
2457
|
+
},
|
|
2458
|
+
currency: {
|
|
2459
|
+
type: 'string',
|
|
2460
|
+
description: 'Currency of the invoice.',
|
|
2461
|
+
example: 'eur'
|
|
2462
|
+
},
|
|
2463
|
+
status: {
|
|
2464
|
+
type: 'string',
|
|
2465
|
+
description: 'Outcome for this invoice: `paid`, `processing` (accepted, not yet settled), `requires_action` (awaiting customer authentication), or `failed` (declined).',
|
|
2466
|
+
example: 'paid',
|
|
2467
|
+
enum: [
|
|
2468
|
+
'paid',
|
|
2469
|
+
'processing',
|
|
2470
|
+
'requires_action',
|
|
2471
|
+
'failed'
|
|
2472
|
+
]
|
|
2473
|
+
},
|
|
2474
|
+
client_secret: {
|
|
2475
|
+
type: 'string',
|
|
2476
|
+
description: 'Client secret used to complete customer authentication. Set only when `status` is `requires_action`.',
|
|
2477
|
+
example: 'pi_3MtwBwLkdIwHu7ix28a3tqPa_secret_YrKJUKribcBjcG8HVhfZluoGH'
|
|
2478
|
+
},
|
|
2479
|
+
failure_code: {
|
|
2480
|
+
type: 'string',
|
|
2481
|
+
description: 'Decline code. Set only when `status` is `failed`.',
|
|
2482
|
+
example: 'insufficient_funds'
|
|
2483
|
+
},
|
|
2484
|
+
failure_message: {
|
|
2485
|
+
type: 'string',
|
|
2486
|
+
description: 'Explanation of the decline, suitable for display. Set only when `status` is `failed`.',
|
|
2487
|
+
example: 'Your card has insufficient funds.'
|
|
2488
|
+
}
|
|
2489
|
+
},
|
|
2490
|
+
required: [
|
|
2491
|
+
'invoice_id',
|
|
2492
|
+
'number',
|
|
2493
|
+
'amount',
|
|
2494
|
+
'currency',
|
|
2495
|
+
'status',
|
|
2496
|
+
'client_secret',
|
|
2497
|
+
'failure_code',
|
|
2498
|
+
'failure_message'
|
|
2499
|
+
],
|
|
2500
|
+
additionalProperties: false
|
|
2501
|
+
},
|
|
2502
|
+
description: 'One entry per invoice charged, oldest first.'
|
|
2503
|
+
}
|
|
2504
|
+
},
|
|
2505
|
+
required: [
|
|
2506
|
+
'code',
|
|
2507
|
+
'message',
|
|
2508
|
+
'results'
|
|
2509
|
+
],
|
|
735
2510
|
additionalProperties: false
|
|
736
2511
|
};
|
|
737
2512
|
export const InvoiceSchema = {
|
|
@@ -739,9 +2514,8 @@ export const InvoiceSchema = {
|
|
|
739
2514
|
properties: {
|
|
740
2515
|
id: {
|
|
741
2516
|
type: 'string',
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
example: '415026b6-f00f-44f8-968d-fc6ef4d0fc6d'
|
|
2517
|
+
description: 'Unique identifier of the invoice.',
|
|
2518
|
+
example: 'in_1234567890xCrwxghOTj1234'
|
|
745
2519
|
},
|
|
746
2520
|
number: {
|
|
747
2521
|
type: 'string'
|
|
@@ -784,95 +2558,179 @@ export const InvoiceSchema = {
|
|
|
784
2558
|
type: 'string'
|
|
785
2559
|
}
|
|
786
2560
|
},
|
|
787
|
-
required: [
|
|
2561
|
+
required: [
|
|
2562
|
+
'created',
|
|
2563
|
+
'period_start',
|
|
2564
|
+
'period_end'
|
|
2565
|
+
],
|
|
788
2566
|
additionalProperties: false
|
|
789
2567
|
};
|
|
790
|
-
export const
|
|
2568
|
+
export const MarketplaceListingFilesSchema = {
|
|
791
2569
|
type: 'object',
|
|
792
2570
|
properties: {
|
|
793
|
-
|
|
2571
|
+
chartYaml: {
|
|
794
2572
|
type: 'string',
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
|
|
798
|
-
description: 'Id of the chart listing',
|
|
799
|
-
example: 'portworx-enterprise-disaster-recovery-baremetal'
|
|
2573
|
+
description: 'Raw Chart.yaml content from the Helm chart',
|
|
2574
|
+
example: 'apiVersion: v2\nname: nginx-ingress\nversion: 1.18.2-cfke.45\nappVersion: 1.9.4'
|
|
800
2575
|
},
|
|
801
|
-
|
|
2576
|
+
valuesYaml: {
|
|
802
2577
|
type: 'string',
|
|
803
|
-
description: '
|
|
804
|
-
example: '
|
|
2578
|
+
description: 'Raw values.yaml content from the Helm chart',
|
|
2579
|
+
example: 'replicaCount: 1\nimage:\n repository: nginx\n tag: latest'
|
|
805
2580
|
},
|
|
806
|
-
|
|
2581
|
+
valuesSchemaJson: {
|
|
807
2582
|
type: 'string',
|
|
808
|
-
description: '
|
|
809
|
-
example: '
|
|
810
|
-
}
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
description: 'Logo of the chart listing',
|
|
819
|
-
example: 'https://portworx.com/wp-content/themes/portworx/assets/images/header/portworx-logo.png'
|
|
820
|
-
},
|
|
821
|
-
longDescription: {
|
|
2583
|
+
description: 'JSON schema for values.yaml as a string',
|
|
2584
|
+
example: '{"type":"object","properties":{"replicaCount":{"type":"number"}}}'
|
|
2585
|
+
}
|
|
2586
|
+
},
|
|
2587
|
+
additionalProperties: false
|
|
2588
|
+
};
|
|
2589
|
+
export const MarketplaceListingSchema = {
|
|
2590
|
+
type: 'object',
|
|
2591
|
+
properties: {
|
|
2592
|
+
name: {
|
|
822
2593
|
type: 'string',
|
|
823
|
-
description: '
|
|
824
|
-
example: '
|
|
2594
|
+
description: 'Name of the chart',
|
|
2595
|
+
example: 'nginx-ingress'
|
|
825
2596
|
},
|
|
826
|
-
|
|
2597
|
+
versions: {
|
|
827
2598
|
type: 'array',
|
|
828
2599
|
items: {
|
|
829
2600
|
type: 'string',
|
|
830
|
-
|
|
2601
|
+
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-]+)*))?$',
|
|
2602
|
+
description: 'Specific version of the chart',
|
|
2603
|
+
example: '1.18.2-cfke.45'
|
|
831
2604
|
},
|
|
832
|
-
description: '
|
|
2605
|
+
description: 'Available versions of the chart'
|
|
833
2606
|
},
|
|
834
2607
|
version_channels: {
|
|
835
2608
|
type: 'array',
|
|
836
2609
|
items: {
|
|
837
2610
|
type: 'string',
|
|
838
2611
|
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-]+)*))?$',
|
|
839
|
-
description: 'Version
|
|
840
|
-
example: '
|
|
841
|
-
}
|
|
2612
|
+
description: 'Version channel pattern',
|
|
2613
|
+
example: '1.18.x-cfke.x'
|
|
2614
|
+
},
|
|
2615
|
+
description: 'Version channels for the chart'
|
|
842
2616
|
},
|
|
843
|
-
|
|
844
|
-
type: '
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
2617
|
+
latestVersion: {
|
|
2618
|
+
type: 'string',
|
|
2619
|
+
description: 'Latest version of the chart',
|
|
2620
|
+
example: '1.18.2-cfke.45'
|
|
2621
|
+
},
|
|
2622
|
+
metadata: {
|
|
2623
|
+
type: 'object',
|
|
2624
|
+
properties: {
|
|
2625
|
+
name: {
|
|
2626
|
+
type: 'string',
|
|
2627
|
+
description: 'Chart name from metadata',
|
|
2628
|
+
example: 'nginx-ingress'
|
|
2629
|
+
},
|
|
2630
|
+
version: {
|
|
2631
|
+
type: 'string',
|
|
2632
|
+
description: 'Chart version from metadata',
|
|
2633
|
+
example: '1.18.2-cfke.45'
|
|
2634
|
+
},
|
|
2635
|
+
description: {
|
|
2636
|
+
type: 'string',
|
|
2637
|
+
description: 'Chart description',
|
|
2638
|
+
example: 'NGINX Ingress Controller for Kubernetes'
|
|
2639
|
+
},
|
|
2640
|
+
appVersion: {
|
|
2641
|
+
type: 'string',
|
|
2642
|
+
description: 'Application version',
|
|
2643
|
+
example: '1.9.4'
|
|
2644
|
+
},
|
|
2645
|
+
apiVersion: {
|
|
2646
|
+
type: 'string',
|
|
2647
|
+
description: 'Helm API version',
|
|
2648
|
+
example: 'v2'
|
|
2649
|
+
},
|
|
2650
|
+
keywords: {
|
|
2651
|
+
type: 'array',
|
|
2652
|
+
items: {
|
|
2653
|
+
type: 'string'
|
|
853
2654
|
},
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
2655
|
+
description: 'Chart keywords',
|
|
2656
|
+
example: [
|
|
2657
|
+
'ingress',
|
|
2658
|
+
'nginx',
|
|
2659
|
+
'load-balancer'
|
|
2660
|
+
]
|
|
2661
|
+
},
|
|
2662
|
+
home: {
|
|
2663
|
+
type: 'string',
|
|
2664
|
+
description: 'Chart home URL',
|
|
2665
|
+
example: 'https://kubernetes.github.io/ingress-nginx/'
|
|
2666
|
+
},
|
|
2667
|
+
icon: {
|
|
2668
|
+
type: 'string',
|
|
2669
|
+
description: 'A URL to an SVG or PNG image to be used as an icon',
|
|
2670
|
+
example: 'https://cloudfleet.ai/images/marketplace/icons/ingress-nginx.png'
|
|
2671
|
+
},
|
|
2672
|
+
sources: {
|
|
2673
|
+
type: 'array',
|
|
2674
|
+
items: {
|
|
2675
|
+
type: 'string'
|
|
857
2676
|
},
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
bar: example`
|
|
863
|
-
}
|
|
2677
|
+
description: 'Chart source URLs',
|
|
2678
|
+
example: [
|
|
2679
|
+
'https://github.com/kubernetes/ingress-nginx'
|
|
2680
|
+
]
|
|
864
2681
|
},
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
2682
|
+
maintainers: {
|
|
2683
|
+
type: 'array',
|
|
2684
|
+
items: {
|
|
2685
|
+
type: 'object',
|
|
2686
|
+
properties: {
|
|
2687
|
+
name: {
|
|
2688
|
+
type: 'string',
|
|
2689
|
+
description: 'Maintainer name',
|
|
2690
|
+
example: 'NGINX Team'
|
|
2691
|
+
},
|
|
2692
|
+
email: {
|
|
2693
|
+
type: 'string',
|
|
2694
|
+
description: 'Maintainer email',
|
|
2695
|
+
example: 'support@nginx.org'
|
|
2696
|
+
}
|
|
2697
|
+
},
|
|
2698
|
+
required: [
|
|
2699
|
+
'name'
|
|
2700
|
+
],
|
|
2701
|
+
additionalProperties: false
|
|
2702
|
+
},
|
|
2703
|
+
description: 'Chart maintainers'
|
|
2704
|
+
}
|
|
2705
|
+
},
|
|
2706
|
+
required: [
|
|
2707
|
+
'name',
|
|
2708
|
+
'version'
|
|
2709
|
+
],
|
|
2710
|
+
additionalProperties: false,
|
|
2711
|
+
description: 'Chart metadata'
|
|
868
2712
|
}
|
|
869
2713
|
},
|
|
870
|
-
required: [
|
|
2714
|
+
required: [
|
|
2715
|
+
'name',
|
|
2716
|
+
'versions',
|
|
2717
|
+
'version_channels',
|
|
2718
|
+
'latestVersion'
|
|
2719
|
+
],
|
|
871
2720
|
additionalProperties: false
|
|
872
2721
|
};
|
|
873
2722
|
export const OrganizationCreateInputSchema = {
|
|
874
2723
|
type: 'object',
|
|
875
2724
|
properties: {
|
|
2725
|
+
type: {
|
|
2726
|
+
type: 'string',
|
|
2727
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
2728
|
+
example: 'business',
|
|
2729
|
+
enum: [
|
|
2730
|
+
'business',
|
|
2731
|
+
'personal'
|
|
2732
|
+
]
|
|
2733
|
+
},
|
|
876
2734
|
email: {
|
|
877
2735
|
type: 'string',
|
|
878
2736
|
format: 'email',
|
|
@@ -881,11 +2739,13 @@ export const OrganizationCreateInputSchema = {
|
|
|
881
2739
|
},
|
|
882
2740
|
first_name: {
|
|
883
2741
|
type: 'string',
|
|
2742
|
+
minLength: 1,
|
|
884
2743
|
description: 'First name of the billing contact person.',
|
|
885
2744
|
example: 'John'
|
|
886
2745
|
},
|
|
887
2746
|
last_name: {
|
|
888
2747
|
type: 'string',
|
|
2748
|
+
minLength: 1,
|
|
889
2749
|
description: 'Last name of the billing contact person.',
|
|
890
2750
|
example: 'Doe'
|
|
891
2751
|
},
|
|
@@ -903,7 +2763,28 @@ export const OrganizationCreateInputSchema = {
|
|
|
903
2763
|
description: 'Password for the root account. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character.'
|
|
904
2764
|
}
|
|
905
2765
|
},
|
|
906
|
-
required: [
|
|
2766
|
+
required: [
|
|
2767
|
+
'type',
|
|
2768
|
+
'email',
|
|
2769
|
+
'first_name',
|
|
2770
|
+
'last_name',
|
|
2771
|
+
'company_name',
|
|
2772
|
+
'password'
|
|
2773
|
+
],
|
|
2774
|
+
additionalProperties: false
|
|
2775
|
+
};
|
|
2776
|
+
export const OrganizationCreateOutputSchema = {
|
|
2777
|
+
type: 'object',
|
|
2778
|
+
properties: {
|
|
2779
|
+
id: {
|
|
2780
|
+
type: 'string',
|
|
2781
|
+
description: 'Unique identifier of the newly created organization. Generated by the API and safe to use for client-side tracking immediately.',
|
|
2782
|
+
example: 'organization-id'
|
|
2783
|
+
}
|
|
2784
|
+
},
|
|
2785
|
+
required: [
|
|
2786
|
+
'id'
|
|
2787
|
+
],
|
|
907
2788
|
additionalProperties: false
|
|
908
2789
|
};
|
|
909
2790
|
export const OrganizationSchema = {
|
|
@@ -922,6 +2803,15 @@ export const OrganizationSchema = {
|
|
|
922
2803
|
description: 'Name of the legal entity. This name will be used in invoices. Use your first and last name for individual accounts.',
|
|
923
2804
|
example: 'ACME Corp.'
|
|
924
2805
|
},
|
|
2806
|
+
type: {
|
|
2807
|
+
type: 'string',
|
|
2808
|
+
description: 'Type of the organization. `business` for legal entities, `personal` for individuals.',
|
|
2809
|
+
example: 'business',
|
|
2810
|
+
enum: [
|
|
2811
|
+
'business',
|
|
2812
|
+
'personal'
|
|
2813
|
+
]
|
|
2814
|
+
},
|
|
925
2815
|
date_created: {
|
|
926
2816
|
type: 'string',
|
|
927
2817
|
format: 'date-time',
|
|
@@ -953,6 +2843,17 @@ export const OrganizationSchema = {
|
|
|
953
2843
|
description: 'Available number of Pro clusters that can be created.',
|
|
954
2844
|
example: 999
|
|
955
2845
|
},
|
|
2846
|
+
enterprise_clusters_max: {
|
|
2847
|
+
type: 'integer',
|
|
2848
|
+
minimum: 0,
|
|
2849
|
+
description: 'Maximum number of Enterprise clusters that can be created.',
|
|
2850
|
+
example: 999
|
|
2851
|
+
},
|
|
2852
|
+
enterprise_clusters_available: {
|
|
2853
|
+
type: 'integer',
|
|
2854
|
+
description: 'Available number of Enterprise clusters that can be created.',
|
|
2855
|
+
example: 999
|
|
2856
|
+
},
|
|
956
2857
|
fleets_max: {
|
|
957
2858
|
type: 'integer',
|
|
958
2859
|
minimum: 0,
|
|
@@ -972,7 +2873,7 @@ export const OrganizationSchema = {
|
|
|
972
2873
|
type: 'array',
|
|
973
2874
|
items: {
|
|
974
2875
|
type: 'string',
|
|
975
|
-
example: 'northamerica-central-
|
|
2876
|
+
example: 'northamerica-central-1a'
|
|
976
2877
|
},
|
|
977
2878
|
minItems: 1,
|
|
978
2879
|
description: 'List of Cloudfleet control plane regions available for the organization.'
|
|
@@ -993,24 +2894,66 @@ export const OrganizationSchema = {
|
|
|
993
2894
|
example: '1.33.x (Always latest 1.33 patch version)'
|
|
994
2895
|
}
|
|
995
2896
|
},
|
|
996
|
-
required: [
|
|
2897
|
+
required: [
|
|
2898
|
+
'id',
|
|
2899
|
+
'label'
|
|
2900
|
+
],
|
|
997
2901
|
additionalProperties: false
|
|
998
2902
|
},
|
|
999
2903
|
minItems: 1,
|
|
1000
2904
|
description: 'List of CFKE control plane versions available for the organization.'
|
|
2905
|
+
},
|
|
2906
|
+
cfcr_storage_gb: {
|
|
2907
|
+
type: 'integer',
|
|
2908
|
+
minimum: -1,
|
|
2909
|
+
description: 'Organization-level maximum CFCR storage volume in GB. -1 means no limit.',
|
|
2910
|
+
example: 500
|
|
1001
2911
|
}
|
|
1002
2912
|
},
|
|
1003
|
-
required: [
|
|
2913
|
+
required: [
|
|
2914
|
+
'basic_clusters_max',
|
|
2915
|
+
'basic_clusters_available',
|
|
2916
|
+
'pro_clusters_max',
|
|
2917
|
+
'pro_clusters_available',
|
|
2918
|
+
'enterprise_clusters_max',
|
|
2919
|
+
'enterprise_clusters_available',
|
|
2920
|
+
'fleets_max',
|
|
2921
|
+
'cluster_tiers',
|
|
2922
|
+
'regions',
|
|
2923
|
+
'versions',
|
|
2924
|
+
'cfcr_storage_gb'
|
|
2925
|
+
],
|
|
1004
2926
|
additionalProperties: false,
|
|
1005
2927
|
description: 'For security reasons, platform quota is controlled by Cloudfleet and can be updated only by Cloudfleet administrators. Please open a support ticket if you need to change the platform quota.'
|
|
1006
2928
|
},
|
|
1007
2929
|
status: {
|
|
1008
2930
|
type: 'string',
|
|
1009
2931
|
description: 'Status of the organization. Can be `active` or `closed`, or `suspended`.',
|
|
1010
|
-
enum: [
|
|
2932
|
+
enum: [
|
|
2933
|
+
'active',
|
|
2934
|
+
'closed',
|
|
2935
|
+
'suspended'
|
|
2936
|
+
]
|
|
2937
|
+
},
|
|
2938
|
+
verification: {
|
|
2939
|
+
type: 'string',
|
|
2940
|
+
description: 'Verification status of the organization, which determines the assigned quota. `none` when billing information is incomplete, `submitted` when billing information is complete but the organization is not yet verified, `verified` when the organization is verified.',
|
|
2941
|
+
example: 'verified',
|
|
2942
|
+
enum: [
|
|
2943
|
+
'none',
|
|
2944
|
+
'submitted',
|
|
2945
|
+
'verified'
|
|
2946
|
+
]
|
|
1011
2947
|
}
|
|
1012
2948
|
},
|
|
1013
|
-
required: [
|
|
2949
|
+
required: [
|
|
2950
|
+
'id',
|
|
2951
|
+
'type',
|
|
2952
|
+
'date_created',
|
|
2953
|
+
'quota',
|
|
2954
|
+
'status',
|
|
2955
|
+
'verification'
|
|
2956
|
+
],
|
|
1014
2957
|
additionalProperties: false
|
|
1015
2958
|
};
|
|
1016
2959
|
export const PaymentMethodSchema = {
|
|
@@ -1018,26 +2961,23 @@ export const PaymentMethodSchema = {
|
|
|
1018
2961
|
properties: {
|
|
1019
2962
|
id: {
|
|
1020
2963
|
type: 'string',
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
example: 'e94d30ec-a2dd-4dcb-832c-ac2be144ba91'
|
|
1024
|
-
},
|
|
1025
|
-
setup: {
|
|
1026
|
-
type: 'boolean',
|
|
1027
|
-
description: 'Whether organization payment method was set up and ready to use for payments.',
|
|
1028
|
-
example: true
|
|
2964
|
+
description: 'Payment method identifier. Stripe payment method id for cards/SEPA; the constant `bank_transfer` for the invoice/bank-transfer method. Used to set as default or delete the payment method.',
|
|
2965
|
+
example: 'pm_1MtwBwLkdIwHu7ix28a3tqPa'
|
|
1029
2966
|
},
|
|
1030
2967
|
type: {
|
|
1031
2968
|
type: 'string',
|
|
1032
|
-
|
|
1033
|
-
description: 'Payment method type type. Only `card` payments supported at the moment.',
|
|
2969
|
+
description: 'Payment method type. `card`, `sepa_debit` for SEPA Direct Debit (business accounts only), or `bank_transfer` for paying invoices by bank transfer.',
|
|
1034
2970
|
example: 'card',
|
|
1035
|
-
enum: [
|
|
2971
|
+
enum: [
|
|
2972
|
+
'card',
|
|
2973
|
+
'sepa_debit',
|
|
2974
|
+
'bank_transfer'
|
|
2975
|
+
]
|
|
1036
2976
|
},
|
|
1037
2977
|
last4: {
|
|
1038
2978
|
type: 'string',
|
|
1039
2979
|
nullable: true,
|
|
1040
|
-
description: 'Last 4 digits of the payment card number.',
|
|
2980
|
+
description: 'Last 4 digits of the payment card number, of the bank account (IBAN) for SEPA Direct Debit, or of the destination IBAN for bank transfer.',
|
|
1041
2981
|
example: '4242'
|
|
1042
2982
|
},
|
|
1043
2983
|
exp_month: {
|
|
@@ -1045,25 +2985,57 @@ export const PaymentMethodSchema = {
|
|
|
1045
2985
|
minimum: 1,
|
|
1046
2986
|
maximum: 12,
|
|
1047
2987
|
nullable: true,
|
|
1048
|
-
description:
|
|
1049
|
-
example:
|
|
2988
|
+
description: 'Two-digit number representing the card\'s expiration month. Null for SEPA Direct Debit and bank transfer.',
|
|
2989
|
+
example: 12
|
|
1050
2990
|
},
|
|
1051
2991
|
exp_year: {
|
|
1052
2992
|
type: 'integer',
|
|
1053
|
-
minimum: 2024,
|
|
1054
2993
|
nullable: true,
|
|
1055
|
-
description:
|
|
1056
|
-
example:
|
|
2994
|
+
description: 'Four-digit number representing the card\'s expiration year. May be in the past for an expired card still on file. Null for SEPA Direct Debit and bank transfer.',
|
|
2995
|
+
example: 2028
|
|
1057
2996
|
},
|
|
1058
2997
|
brand: {
|
|
1059
2998
|
type: 'string',
|
|
1060
2999
|
nullable: true,
|
|
1061
|
-
description: 'Payment card brand
|
|
1062
|
-
example: 'visa'
|
|
1063
|
-
|
|
3000
|
+
description: 'Payment card brand as reported by Stripe, e.g. `visa`, `mastercard`, `amex`, `cartes_bancaires`, or `unknown`. Null for SEPA Direct Debit and bank transfer.',
|
|
3001
|
+
example: 'visa'
|
|
3002
|
+
},
|
|
3003
|
+
iban: {
|
|
3004
|
+
type: 'string',
|
|
3005
|
+
nullable: true,
|
|
3006
|
+
description: 'Full destination IBAN to send bank transfers to. Set only for `bank_transfer`; null otherwise. This is Cloudfleet\'s virtual receiving account, shown in full so the customer can pay into it.',
|
|
3007
|
+
example: 'DE11243015658023127510'
|
|
3008
|
+
},
|
|
3009
|
+
bic: {
|
|
3010
|
+
type: 'string',
|
|
3011
|
+
nullable: true,
|
|
3012
|
+
description: 'BIC/SWIFT of the destination bank for bank transfers. Set only for `bank_transfer`; null otherwise.',
|
|
3013
|
+
example: 'SOGEDEFFXXX'
|
|
3014
|
+
},
|
|
3015
|
+
account_holder_name: {
|
|
3016
|
+
type: 'string',
|
|
3017
|
+
nullable: true,
|
|
3018
|
+
description: 'Account holder name of the destination bank account for bank transfers. Set only for `bank_transfer`; null otherwise.',
|
|
3019
|
+
example: 'Cloudfleet GmbH'
|
|
3020
|
+
},
|
|
3021
|
+
is_default: {
|
|
3022
|
+
type: 'boolean',
|
|
3023
|
+
description: 'Whether this payment method is the default used for invoices and active subscriptions. Always false for `bank_transfer` (it cannot be a Stripe default payment method).',
|
|
3024
|
+
example: true
|
|
1064
3025
|
}
|
|
1065
3026
|
},
|
|
1066
|
-
required: [
|
|
3027
|
+
required: [
|
|
3028
|
+
'id',
|
|
3029
|
+
'type',
|
|
3030
|
+
'last4',
|
|
3031
|
+
'exp_month',
|
|
3032
|
+
'exp_year',
|
|
3033
|
+
'brand',
|
|
3034
|
+
'iban',
|
|
3035
|
+
'bic',
|
|
3036
|
+
'account_holder_name',
|
|
3037
|
+
'is_default'
|
|
3038
|
+
],
|
|
1067
3039
|
additionalProperties: false
|
|
1068
3040
|
};
|
|
1069
3041
|
export const PlatformQuotaSchema = {
|
|
@@ -1091,6 +3063,17 @@ export const PlatformQuotaSchema = {
|
|
|
1091
3063
|
description: 'Available number of Pro clusters that can be created.',
|
|
1092
3064
|
example: 999
|
|
1093
3065
|
},
|
|
3066
|
+
enterprise_clusters_max: {
|
|
3067
|
+
type: 'integer',
|
|
3068
|
+
minimum: 0,
|
|
3069
|
+
description: 'Maximum number of Enterprise clusters that can be created.',
|
|
3070
|
+
example: 999
|
|
3071
|
+
},
|
|
3072
|
+
enterprise_clusters_available: {
|
|
3073
|
+
type: 'integer',
|
|
3074
|
+
description: 'Available number of Enterprise clusters that can be created.',
|
|
3075
|
+
example: 999
|
|
3076
|
+
},
|
|
1094
3077
|
fleets_max: {
|
|
1095
3078
|
type: 'integer',
|
|
1096
3079
|
minimum: 0,
|
|
@@ -1110,7 +3093,7 @@ export const PlatformQuotaSchema = {
|
|
|
1110
3093
|
type: 'array',
|
|
1111
3094
|
items: {
|
|
1112
3095
|
type: 'string',
|
|
1113
|
-
example: 'northamerica-central-
|
|
3096
|
+
example: 'northamerica-central-1a'
|
|
1114
3097
|
},
|
|
1115
3098
|
minItems: 1,
|
|
1116
3099
|
description: 'List of Cloudfleet control plane regions available for the organization.'
|
|
@@ -1131,14 +3114,35 @@ export const PlatformQuotaSchema = {
|
|
|
1131
3114
|
example: '1.33.x (Always latest 1.33 patch version)'
|
|
1132
3115
|
}
|
|
1133
3116
|
},
|
|
1134
|
-
required: [
|
|
3117
|
+
required: [
|
|
3118
|
+
'id',
|
|
3119
|
+
'label'
|
|
3120
|
+
],
|
|
1135
3121
|
additionalProperties: false
|
|
1136
3122
|
},
|
|
1137
3123
|
minItems: 1,
|
|
1138
3124
|
description: 'List of CFKE control plane versions available for the organization.'
|
|
3125
|
+
},
|
|
3126
|
+
cfcr_storage_gb: {
|
|
3127
|
+
type: 'integer',
|
|
3128
|
+
minimum: -1,
|
|
3129
|
+
description: 'Organization-level maximum CFCR storage volume in GB. -1 means no limit.',
|
|
3130
|
+
example: 500
|
|
1139
3131
|
}
|
|
1140
3132
|
},
|
|
1141
|
-
required: [
|
|
3133
|
+
required: [
|
|
3134
|
+
'basic_clusters_max',
|
|
3135
|
+
'basic_clusters_available',
|
|
3136
|
+
'pro_clusters_max',
|
|
3137
|
+
'pro_clusters_available',
|
|
3138
|
+
'enterprise_clusters_max',
|
|
3139
|
+
'enterprise_clusters_available',
|
|
3140
|
+
'fleets_max',
|
|
3141
|
+
'cluster_tiers',
|
|
3142
|
+
'regions',
|
|
3143
|
+
'versions',
|
|
3144
|
+
'cfcr_storage_gb'
|
|
3145
|
+
],
|
|
1142
3146
|
additionalProperties: false
|
|
1143
3147
|
};
|
|
1144
3148
|
export const RegistryRepositorySchema = {
|
|
@@ -1157,10 +3161,14 @@ export const RegistryRepositorySchema = {
|
|
|
1157
3161
|
uri: {
|
|
1158
3162
|
type: 'string',
|
|
1159
3163
|
description: 'Full URI of the repository.',
|
|
1160
|
-
example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/
|
|
3164
|
+
example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app'
|
|
1161
3165
|
}
|
|
1162
3166
|
},
|
|
1163
|
-
required: [
|
|
3167
|
+
required: [
|
|
3168
|
+
'name',
|
|
3169
|
+
'region',
|
|
3170
|
+
'uri'
|
|
3171
|
+
],
|
|
1164
3172
|
additionalProperties: false
|
|
1165
3173
|
};
|
|
1166
3174
|
export const RegistryRepositoryWithTagsSchema = {
|
|
@@ -1179,7 +3187,7 @@ export const RegistryRepositoryWithTagsSchema = {
|
|
|
1179
3187
|
uri: {
|
|
1180
3188
|
type: 'string',
|
|
1181
3189
|
description: 'Full URI of the repository.',
|
|
1182
|
-
example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/
|
|
3190
|
+
example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app'
|
|
1183
3191
|
},
|
|
1184
3192
|
tags: {
|
|
1185
3193
|
type: 'array',
|
|
@@ -1201,9 +3209,23 @@ export const RegistryRepositoryWithTagsSchema = {
|
|
|
1201
3209
|
type: 'string',
|
|
1202
3210
|
description: 'Media type of the manifest.',
|
|
1203
3211
|
example: 'application/vnd.docker.distribution.manifest.v2+json'
|
|
3212
|
+
},
|
|
3213
|
+
platforms: {
|
|
3214
|
+
type: 'array',
|
|
3215
|
+
items: {
|
|
3216
|
+
type: 'string'
|
|
3217
|
+
},
|
|
3218
|
+
description: 'Array of platform strings for multi-arch images (e.g., linux/amd64, linux/arm64).',
|
|
3219
|
+
example: [
|
|
3220
|
+
'linux/amd64',
|
|
3221
|
+
'linux/arm64'
|
|
3222
|
+
]
|
|
1204
3223
|
}
|
|
1205
3224
|
},
|
|
1206
|
-
required: [
|
|
3225
|
+
required: [
|
|
3226
|
+
'name',
|
|
3227
|
+
'size'
|
|
3228
|
+
],
|
|
1207
3229
|
additionalProperties: false
|
|
1208
3230
|
},
|
|
1209
3231
|
description: 'Array of tags in the repository.'
|
|
@@ -1215,7 +3237,13 @@ export const RegistryRepositoryWithTagsSchema = {
|
|
|
1215
3237
|
example: 987654321
|
|
1216
3238
|
}
|
|
1217
3239
|
},
|
|
1218
|
-
required: [
|
|
3240
|
+
required: [
|
|
3241
|
+
'name',
|
|
3242
|
+
'region',
|
|
3243
|
+
'uri',
|
|
3244
|
+
'tags',
|
|
3245
|
+
'totalSize'
|
|
3246
|
+
],
|
|
1219
3247
|
additionalProperties: false
|
|
1220
3248
|
};
|
|
1221
3249
|
export const RegistryTagSchema = {
|
|
@@ -1226,6 +3254,11 @@ export const RegistryTagSchema = {
|
|
|
1226
3254
|
description: 'Tag name.',
|
|
1227
3255
|
example: 'latest'
|
|
1228
3256
|
},
|
|
3257
|
+
digest: {
|
|
3258
|
+
type: 'string',
|
|
3259
|
+
description: 'Manifest digest for pulling by digest.',
|
|
3260
|
+
example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
|
|
3261
|
+
},
|
|
1229
3262
|
mediaType: {
|
|
1230
3263
|
type: 'string',
|
|
1231
3264
|
description: 'Media type of the manifest.',
|
|
@@ -1241,7 +3274,9 @@ export const RegistryTagSchema = {
|
|
|
1241
3274
|
example: 1234
|
|
1242
3275
|
}
|
|
1243
3276
|
},
|
|
1244
|
-
required: [
|
|
3277
|
+
required: [
|
|
3278
|
+
'size'
|
|
3279
|
+
],
|
|
1245
3280
|
additionalProperties: false,
|
|
1246
3281
|
description: 'Manifest config metadata.'
|
|
1247
3282
|
},
|
|
@@ -1250,6 +3285,11 @@ export const RegistryTagSchema = {
|
|
|
1250
3285
|
items: {
|
|
1251
3286
|
type: 'object',
|
|
1252
3287
|
properties: {
|
|
3288
|
+
digest: {
|
|
3289
|
+
type: 'string',
|
|
3290
|
+
description: 'Digest of the layer.',
|
|
3291
|
+
example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
|
|
3292
|
+
},
|
|
1253
3293
|
size: {
|
|
1254
3294
|
type: 'number',
|
|
1255
3295
|
format: 'float',
|
|
@@ -1257,7 +3297,9 @@ export const RegistryTagSchema = {
|
|
|
1257
3297
|
example: 5678
|
|
1258
3298
|
}
|
|
1259
3299
|
},
|
|
1260
|
-
required: [
|
|
3300
|
+
required: [
|
|
3301
|
+
'size'
|
|
3302
|
+
],
|
|
1261
3303
|
additionalProperties: false
|
|
1262
3304
|
},
|
|
1263
3305
|
description: 'Array of layer metadata.'
|
|
@@ -1284,14 +3326,54 @@ export const RegistryTagSchema = {
|
|
|
1284
3326
|
type: 'string',
|
|
1285
3327
|
description: 'Operating system of the platform.',
|
|
1286
3328
|
example: 'linux'
|
|
3329
|
+
},
|
|
3330
|
+
variant: {
|
|
3331
|
+
type: 'string',
|
|
3332
|
+
description: 'Variant of the platform (e.g., v7, v8 for ARM).',
|
|
3333
|
+
example: 'v8'
|
|
1287
3334
|
}
|
|
1288
3335
|
},
|
|
1289
|
-
required: [
|
|
3336
|
+
required: [
|
|
3337
|
+
'architecture',
|
|
3338
|
+
'os'
|
|
3339
|
+
],
|
|
1290
3340
|
additionalProperties: false,
|
|
1291
3341
|
description: 'Platform information for the manifest.'
|
|
3342
|
+
},
|
|
3343
|
+
layers: {
|
|
3344
|
+
type: 'array',
|
|
3345
|
+
items: {
|
|
3346
|
+
type: 'object',
|
|
3347
|
+
properties: {
|
|
3348
|
+
digest: {
|
|
3349
|
+
type: 'string',
|
|
3350
|
+
description: 'Digest of the layer.',
|
|
3351
|
+
example: 'sha256:abcd1234ef567890abcd1234ef567890abcd1234ef567890abcd1234ef567890'
|
|
3352
|
+
},
|
|
3353
|
+
size: {
|
|
3354
|
+
type: 'number',
|
|
3355
|
+
format: 'float',
|
|
3356
|
+
description: 'Size of the layer in bytes.',
|
|
3357
|
+
example: 5678
|
|
3358
|
+
}
|
|
3359
|
+
},
|
|
3360
|
+
required: [
|
|
3361
|
+
'size'
|
|
3362
|
+
],
|
|
3363
|
+
additionalProperties: false
|
|
3364
|
+
},
|
|
3365
|
+
description: 'Layers for this platform.'
|
|
3366
|
+
},
|
|
3367
|
+
size: {
|
|
3368
|
+
type: 'number',
|
|
3369
|
+
format: 'float',
|
|
3370
|
+
description: 'Total size of this platform manifest in bytes.',
|
|
3371
|
+
example: 12345678
|
|
1292
3372
|
}
|
|
1293
3373
|
},
|
|
1294
|
-
required: [
|
|
3374
|
+
required: [
|
|
3375
|
+
'digest'
|
|
3376
|
+
],
|
|
1295
3377
|
additionalProperties: false
|
|
1296
3378
|
},
|
|
1297
3379
|
description: 'Array of manifests for multi-arch images.'
|
|
@@ -1318,7 +3400,423 @@ export const RegistryTagSchema = {
|
|
|
1318
3400
|
example: 'ssds123e-6651-4e5d-9c04-079f6532989b.northamerica.registry.cloudfleet.dev/my-app:latest'
|
|
1319
3401
|
}
|
|
1320
3402
|
},
|
|
1321
|
-
required: [
|
|
3403
|
+
required: [
|
|
3404
|
+
'name',
|
|
3405
|
+
'digest',
|
|
3406
|
+
'size',
|
|
3407
|
+
'region',
|
|
3408
|
+
'repository',
|
|
3409
|
+
'uri'
|
|
3410
|
+
],
|
|
3411
|
+
additionalProperties: false
|
|
3412
|
+
};
|
|
3413
|
+
export const RoadmapItemCreateInputSchema = {
|
|
3414
|
+
type: 'object',
|
|
3415
|
+
properties: {
|
|
3416
|
+
text: {
|
|
3417
|
+
type: 'string',
|
|
3418
|
+
maxLength: 500,
|
|
3419
|
+
minLength: 1,
|
|
3420
|
+
description: 'Your suggestion in one or two sentences. It is reviewed before it appears on the roadmap.',
|
|
3421
|
+
example: 'Support for ARM nodes on Hetzner.'
|
|
3422
|
+
}
|
|
3423
|
+
},
|
|
3424
|
+
required: [
|
|
3425
|
+
'text'
|
|
3426
|
+
],
|
|
3427
|
+
additionalProperties: false
|
|
3428
|
+
};
|
|
3429
|
+
export const RoadmapItemSchema = {
|
|
3430
|
+
type: 'object',
|
|
3431
|
+
properties: {
|
|
3432
|
+
id: {
|
|
3433
|
+
type: 'string',
|
|
3434
|
+
description: 'Unique identifier of the roadmap item (Mongo ObjectId).',
|
|
3435
|
+
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
3436
|
+
},
|
|
3437
|
+
text: {
|
|
3438
|
+
type: 'string',
|
|
3439
|
+
description: 'Short description of the roadmap item.',
|
|
3440
|
+
example: 'Support for ARM nodes on Hetzner.'
|
|
3441
|
+
},
|
|
3442
|
+
vote: {
|
|
3443
|
+
type: 'integer',
|
|
3444
|
+
nullable: true,
|
|
3445
|
+
description: 'The caller\'s vote on this item: -1 (down), 1 (up), 2 (double up), or null if the caller has not voted.',
|
|
3446
|
+
example: 1,
|
|
3447
|
+
enum: [
|
|
3448
|
+
-1,
|
|
3449
|
+
1,
|
|
3450
|
+
2
|
|
3451
|
+
]
|
|
3452
|
+
}
|
|
3453
|
+
},
|
|
3454
|
+
required: [
|
|
3455
|
+
'id',
|
|
3456
|
+
'text',
|
|
3457
|
+
'vote'
|
|
3458
|
+
],
|
|
3459
|
+
additionalProperties: false
|
|
3460
|
+
};
|
|
3461
|
+
export const RoadmapVoteInputSchema = {
|
|
3462
|
+
type: 'object',
|
|
3463
|
+
properties: {
|
|
3464
|
+
value: {
|
|
3465
|
+
type: 'integer',
|
|
3466
|
+
description: 'Vote value: -1 (down), 1 (up), or 2 (double up).',
|
|
3467
|
+
example: 1,
|
|
3468
|
+
enum: [
|
|
3469
|
+
-1,
|
|
3470
|
+
1,
|
|
3471
|
+
2
|
|
3472
|
+
]
|
|
3473
|
+
}
|
|
3474
|
+
},
|
|
3475
|
+
required: [
|
|
3476
|
+
'value'
|
|
3477
|
+
],
|
|
3478
|
+
additionalProperties: false
|
|
3479
|
+
};
|
|
3480
|
+
export const TicketAttachmentSchema = {
|
|
3481
|
+
type: 'object',
|
|
3482
|
+
properties: {
|
|
3483
|
+
id: {
|
|
3484
|
+
type: 'string',
|
|
3485
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
3486
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
3487
|
+
},
|
|
3488
|
+
filename: {
|
|
3489
|
+
type: 'string',
|
|
3490
|
+
description: 'Original filename as uploaded.',
|
|
3491
|
+
example: 'debug.log'
|
|
3492
|
+
},
|
|
3493
|
+
content_type: {
|
|
3494
|
+
type: 'string',
|
|
3495
|
+
description: 'MIME content type of the attachment.',
|
|
3496
|
+
example: 'text/plain'
|
|
3497
|
+
},
|
|
3498
|
+
size: {
|
|
3499
|
+
type: 'integer',
|
|
3500
|
+
description: 'Size of the attachment in bytes.',
|
|
3501
|
+
example: 12345
|
|
3502
|
+
}
|
|
3503
|
+
},
|
|
3504
|
+
required: [
|
|
3505
|
+
'id',
|
|
3506
|
+
'filename',
|
|
3507
|
+
'content_type',
|
|
3508
|
+
'size'
|
|
3509
|
+
],
|
|
3510
|
+
additionalProperties: false
|
|
3511
|
+
};
|
|
3512
|
+
export const TicketCreateInputSchema = {
|
|
3513
|
+
type: 'object',
|
|
3514
|
+
properties: {
|
|
3515
|
+
category: {
|
|
3516
|
+
type: 'string',
|
|
3517
|
+
description: 'Ticket category. Drives auto-assignment and may carry a subcategory in `properties`.',
|
|
3518
|
+
example: 'technical',
|
|
3519
|
+
enum: [
|
|
3520
|
+
'billing',
|
|
3521
|
+
'technical',
|
|
3522
|
+
'general'
|
|
3523
|
+
]
|
|
3524
|
+
},
|
|
3525
|
+
body: {
|
|
3526
|
+
type: 'string',
|
|
3527
|
+
maxLength: 50000,
|
|
3528
|
+
minLength: 1,
|
|
3529
|
+
pattern: '\\S',
|
|
3530
|
+
description: 'Initial message body in markdown. There is no separate subject — the first message body is the description.',
|
|
3531
|
+
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
3532
|
+
},
|
|
3533
|
+
properties: {
|
|
3534
|
+
type: 'object',
|
|
3535
|
+
additionalProperties: true,
|
|
3536
|
+
description: 'Free-form key/value bag set by the UI (e.g. `subcategory`, `cluster_id`, `cluster_name`, `region`).',
|
|
3537
|
+
example: {
|
|
3538
|
+
subcategory: 'cluster-question',
|
|
3539
|
+
cluster_id: '60c72b2f9f1b2c001f8e4d3a'
|
|
3540
|
+
}
|
|
3541
|
+
},
|
|
3542
|
+
grant_support_access: {
|
|
3543
|
+
type: 'boolean',
|
|
3544
|
+
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.',
|
|
3545
|
+
example: true
|
|
3546
|
+
}
|
|
3547
|
+
},
|
|
3548
|
+
required: [
|
|
3549
|
+
'category',
|
|
3550
|
+
'body'
|
|
3551
|
+
],
|
|
3552
|
+
additionalProperties: false
|
|
3553
|
+
};
|
|
3554
|
+
export const TicketMessageInputSchema = {
|
|
3555
|
+
type: 'object',
|
|
3556
|
+
properties: {
|
|
3557
|
+
body: {
|
|
3558
|
+
type: 'string',
|
|
3559
|
+
maxLength: 50000,
|
|
3560
|
+
minLength: 1,
|
|
3561
|
+
pattern: '\\S',
|
|
3562
|
+
description: 'Reply body in markdown.',
|
|
3563
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3564
|
+
}
|
|
3565
|
+
},
|
|
3566
|
+
required: [
|
|
3567
|
+
'body'
|
|
3568
|
+
],
|
|
3569
|
+
additionalProperties: false
|
|
3570
|
+
};
|
|
3571
|
+
export const TicketMessageSchema = {
|
|
3572
|
+
type: 'object',
|
|
3573
|
+
properties: {
|
|
3574
|
+
id: {
|
|
3575
|
+
type: 'string',
|
|
3576
|
+
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
3577
|
+
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
3578
|
+
},
|
|
3579
|
+
type: {
|
|
3580
|
+
type: 'string',
|
|
3581
|
+
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
3582
|
+
example: 'customer_reply',
|
|
3583
|
+
enum: [
|
|
3584
|
+
'customer_reply',
|
|
3585
|
+
'agent_reply'
|
|
3586
|
+
]
|
|
3587
|
+
},
|
|
3588
|
+
body: {
|
|
3589
|
+
type: 'string',
|
|
3590
|
+
description: 'Message body in markdown.',
|
|
3591
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3592
|
+
},
|
|
3593
|
+
author_first_name: {
|
|
3594
|
+
type: 'string',
|
|
3595
|
+
nullable: true,
|
|
3596
|
+
description: 'First name of the author. Null when not provided.',
|
|
3597
|
+
example: 'Jane'
|
|
3598
|
+
},
|
|
3599
|
+
author_last_name: {
|
|
3600
|
+
type: 'string',
|
|
3601
|
+
nullable: true,
|
|
3602
|
+
description: 'Last name of the author. Null when not provided.',
|
|
3603
|
+
example: 'Doe'
|
|
3604
|
+
},
|
|
3605
|
+
attachments: {
|
|
3606
|
+
type: 'array',
|
|
3607
|
+
items: {
|
|
3608
|
+
type: 'object',
|
|
3609
|
+
properties: {
|
|
3610
|
+
id: {
|
|
3611
|
+
type: 'string',
|
|
3612
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
3613
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
3614
|
+
},
|
|
3615
|
+
filename: {
|
|
3616
|
+
type: 'string',
|
|
3617
|
+
description: 'Original filename as uploaded.',
|
|
3618
|
+
example: 'debug.log'
|
|
3619
|
+
},
|
|
3620
|
+
content_type: {
|
|
3621
|
+
type: 'string',
|
|
3622
|
+
description: 'MIME content type of the attachment.',
|
|
3623
|
+
example: 'text/plain'
|
|
3624
|
+
},
|
|
3625
|
+
size: {
|
|
3626
|
+
type: 'integer',
|
|
3627
|
+
description: 'Size of the attachment in bytes.',
|
|
3628
|
+
example: 12345
|
|
3629
|
+
}
|
|
3630
|
+
},
|
|
3631
|
+
required: [
|
|
3632
|
+
'id',
|
|
3633
|
+
'filename',
|
|
3634
|
+
'content_type',
|
|
3635
|
+
'size'
|
|
3636
|
+
],
|
|
3637
|
+
additionalProperties: false
|
|
3638
|
+
},
|
|
3639
|
+
description: 'Attachments associated with this message.',
|
|
3640
|
+
example: []
|
|
3641
|
+
},
|
|
3642
|
+
date_created: {
|
|
3643
|
+
type: 'string',
|
|
3644
|
+
format: 'date-time',
|
|
3645
|
+
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
3646
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3647
|
+
}
|
|
3648
|
+
},
|
|
3649
|
+
required: [
|
|
3650
|
+
'id',
|
|
3651
|
+
'type',
|
|
3652
|
+
'body',
|
|
3653
|
+
'date_created'
|
|
3654
|
+
],
|
|
3655
|
+
additionalProperties: false
|
|
3656
|
+
};
|
|
3657
|
+
export const TicketSchema = {
|
|
3658
|
+
type: 'object',
|
|
3659
|
+
properties: {
|
|
3660
|
+
id: {
|
|
3661
|
+
type: 'string',
|
|
3662
|
+
description: 'Unique identifier of the ticket (Mongo ObjectId).',
|
|
3663
|
+
example: '60c72b2f9f1b2c001f8e4d3a'
|
|
3664
|
+
},
|
|
3665
|
+
status: {
|
|
3666
|
+
type: 'string',
|
|
3667
|
+
description: 'Current state of the ticket.',
|
|
3668
|
+
example: 'waiting_on_us',
|
|
3669
|
+
enum: [
|
|
3670
|
+
'waiting_on_us',
|
|
3671
|
+
'waiting_on_user',
|
|
3672
|
+
'closed'
|
|
3673
|
+
]
|
|
3674
|
+
},
|
|
3675
|
+
category: {
|
|
3676
|
+
type: 'string',
|
|
3677
|
+
description: 'Ticket category.',
|
|
3678
|
+
example: 'technical',
|
|
3679
|
+
enum: [
|
|
3680
|
+
'billing',
|
|
3681
|
+
'technical',
|
|
3682
|
+
'general'
|
|
3683
|
+
]
|
|
3684
|
+
},
|
|
3685
|
+
summary: {
|
|
3686
|
+
type: 'string',
|
|
3687
|
+
description: 'First 128 characters of the initial message body, with markdown formatting and newlines stripped. Used for ticket list previews.',
|
|
3688
|
+
example: 'My cluster cannot reach the registry. Logs attached.'
|
|
3689
|
+
},
|
|
3690
|
+
support_access_granted: {
|
|
3691
|
+
type: 'boolean',
|
|
3692
|
+
description: 'Whether Cloudfleet support staff currently have access to the organization\'s resources. True once access is granted and until the ticket is closed.',
|
|
3693
|
+
example: true
|
|
3694
|
+
},
|
|
3695
|
+
support_access_granted_at: {
|
|
3696
|
+
type: 'string',
|
|
3697
|
+
format: 'date-time',
|
|
3698
|
+
nullable: true,
|
|
3699
|
+
description: 'When support access was granted. Null if it never was. Kept after the ticket is closed.',
|
|
3700
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3701
|
+
},
|
|
3702
|
+
closed_at: {
|
|
3703
|
+
type: 'string',
|
|
3704
|
+
format: 'date-time',
|
|
3705
|
+
nullable: true,
|
|
3706
|
+
description: 'Closure timestamp. Null while the ticket is open.',
|
|
3707
|
+
example: '2026-05-18T16:08:14.338Z'
|
|
3708
|
+
},
|
|
3709
|
+
date_created: {
|
|
3710
|
+
type: 'string',
|
|
3711
|
+
format: 'date-time',
|
|
3712
|
+
description: 'Creation date of the ticket. ISO 8601 UTC.',
|
|
3713
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3714
|
+
},
|
|
3715
|
+
date_updated: {
|
|
3716
|
+
type: 'string',
|
|
3717
|
+
format: 'date-time',
|
|
3718
|
+
description: 'Last update date of the ticket. ISO 8601 UTC.',
|
|
3719
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3720
|
+
},
|
|
3721
|
+
messages: {
|
|
3722
|
+
type: 'array',
|
|
3723
|
+
items: {
|
|
3724
|
+
type: 'object',
|
|
3725
|
+
properties: {
|
|
3726
|
+
id: {
|
|
3727
|
+
type: 'string',
|
|
3728
|
+
description: 'Unique identifier of the message (Mongo ObjectId).',
|
|
3729
|
+
example: '60c72b2f9f1b2c001f8e4d3b'
|
|
3730
|
+
},
|
|
3731
|
+
type: {
|
|
3732
|
+
type: 'string',
|
|
3733
|
+
description: 'Message type. Internal notes are filtered out of customer-facing responses.',
|
|
3734
|
+
example: 'customer_reply',
|
|
3735
|
+
enum: [
|
|
3736
|
+
'customer_reply',
|
|
3737
|
+
'agent_reply'
|
|
3738
|
+
]
|
|
3739
|
+
},
|
|
3740
|
+
body: {
|
|
3741
|
+
type: 'string',
|
|
3742
|
+
description: 'Message body in markdown.',
|
|
3743
|
+
example: 'Thanks — that resolved it on my side.'
|
|
3744
|
+
},
|
|
3745
|
+
author_first_name: {
|
|
3746
|
+
type: 'string',
|
|
3747
|
+
description: 'First name of the author. Null when not provided.',
|
|
3748
|
+
example: 'Jane'
|
|
3749
|
+
},
|
|
3750
|
+
author_last_name: {
|
|
3751
|
+
type: 'string',
|
|
3752
|
+
description: 'Last name of the author. Null when not provided.',
|
|
3753
|
+
example: 'Doe'
|
|
3754
|
+
},
|
|
3755
|
+
attachments: {
|
|
3756
|
+
type: 'array',
|
|
3757
|
+
items: {
|
|
3758
|
+
type: 'object',
|
|
3759
|
+
properties: {
|
|
3760
|
+
id: {
|
|
3761
|
+
type: 'string',
|
|
3762
|
+
description: 'Unique identifier of the attachment (Mongo ObjectId).',
|
|
3763
|
+
example: '60c72b2f9f1b2c001f8e4d3c'
|
|
3764
|
+
},
|
|
3765
|
+
filename: {
|
|
3766
|
+
type: 'string',
|
|
3767
|
+
description: 'Original filename as uploaded.',
|
|
3768
|
+
example: 'debug.log'
|
|
3769
|
+
},
|
|
3770
|
+
content_type: {
|
|
3771
|
+
type: 'string',
|
|
3772
|
+
description: 'MIME content type of the attachment.',
|
|
3773
|
+
example: 'text/plain'
|
|
3774
|
+
},
|
|
3775
|
+
size: {
|
|
3776
|
+
type: 'integer',
|
|
3777
|
+
description: 'Size of the attachment in bytes.',
|
|
3778
|
+
example: 12345
|
|
3779
|
+
}
|
|
3780
|
+
},
|
|
3781
|
+
required: [
|
|
3782
|
+
'id',
|
|
3783
|
+
'filename',
|
|
3784
|
+
'content_type',
|
|
3785
|
+
'size'
|
|
3786
|
+
],
|
|
3787
|
+
additionalProperties: false
|
|
3788
|
+
},
|
|
3789
|
+
description: 'Attachments associated with this message.',
|
|
3790
|
+
example: []
|
|
3791
|
+
},
|
|
3792
|
+
date_created: {
|
|
3793
|
+
type: 'string',
|
|
3794
|
+
format: 'date-time',
|
|
3795
|
+
description: 'Creation date of the message. ISO 8601 UTC.',
|
|
3796
|
+
example: '2026-05-11T16:08:14.338Z'
|
|
3797
|
+
}
|
|
3798
|
+
},
|
|
3799
|
+
required: [
|
|
3800
|
+
'id',
|
|
3801
|
+
'type',
|
|
3802
|
+
'body',
|
|
3803
|
+
'date_created'
|
|
3804
|
+
],
|
|
3805
|
+
additionalProperties: false
|
|
3806
|
+
},
|
|
3807
|
+
description: 'Messages on the ticket in chronological order. Internal notes are excluded. Returned by the detail endpoint only.'
|
|
3808
|
+
}
|
|
3809
|
+
},
|
|
3810
|
+
required: [
|
|
3811
|
+
'id',
|
|
3812
|
+
'status',
|
|
3813
|
+
'category',
|
|
3814
|
+
'summary',
|
|
3815
|
+
'support_access_granted',
|
|
3816
|
+
'support_access_granted_at',
|
|
3817
|
+
'date_created',
|
|
3818
|
+
'date_updated'
|
|
3819
|
+
],
|
|
1322
3820
|
additionalProperties: false
|
|
1323
3821
|
};
|
|
1324
3822
|
export const TokenCreateInputSchema = {
|
|
@@ -1336,10 +3834,16 @@ export const TokenCreateInputSchema = {
|
|
|
1336
3834
|
type: 'string',
|
|
1337
3835
|
description: 'Role assumed by the token.',
|
|
1338
3836
|
example: 'User',
|
|
1339
|
-
enum: [
|
|
3837
|
+
enum: [
|
|
3838
|
+
'Administrator',
|
|
3839
|
+
'User'
|
|
3840
|
+
]
|
|
1340
3841
|
}
|
|
1341
3842
|
},
|
|
1342
|
-
required: [
|
|
3843
|
+
required: [
|
|
3844
|
+
'name',
|
|
3845
|
+
'role'
|
|
3846
|
+
],
|
|
1343
3847
|
additionalProperties: false
|
|
1344
3848
|
};
|
|
1345
3849
|
export const TokenSchema = {
|
|
@@ -1357,7 +3861,10 @@ export const TokenSchema = {
|
|
|
1357
3861
|
type: 'string',
|
|
1358
3862
|
description: 'Role assumed by the token.',
|
|
1359
3863
|
example: 'User',
|
|
1360
|
-
enum: [
|
|
3864
|
+
enum: [
|
|
3865
|
+
'Administrator',
|
|
3866
|
+
'User'
|
|
3867
|
+
]
|
|
1361
3868
|
},
|
|
1362
3869
|
id: {
|
|
1363
3870
|
type: 'string',
|
|
@@ -1376,7 +3883,11 @@ export const TokenSchema = {
|
|
|
1376
3883
|
example: '2023-12-20T13:53:32.000Z'
|
|
1377
3884
|
}
|
|
1378
3885
|
},
|
|
1379
|
-
required: [
|
|
3886
|
+
required: [
|
|
3887
|
+
'name',
|
|
3888
|
+
'role',
|
|
3889
|
+
'date_created'
|
|
3890
|
+
],
|
|
1380
3891
|
additionalProperties: false
|
|
1381
3892
|
};
|
|
1382
3893
|
export const TokenUpdateInputSchema = {
|
|
@@ -1394,7 +3905,10 @@ export const TokenUpdateInputSchema = {
|
|
|
1394
3905
|
type: 'string',
|
|
1395
3906
|
description: 'Role assumed by the token.',
|
|
1396
3907
|
example: 'User',
|
|
1397
|
-
enum: [
|
|
3908
|
+
enum: [
|
|
3909
|
+
'Administrator',
|
|
3910
|
+
'User'
|
|
3911
|
+
]
|
|
1398
3912
|
}
|
|
1399
3913
|
},
|
|
1400
3914
|
additionalProperties: false
|
|
@@ -1408,15 +3922,29 @@ export const UsageFacetsSchema = {
|
|
|
1408
3922
|
type: 'string'
|
|
1409
3923
|
},
|
|
1410
3924
|
description: 'List of unique cluster IDs',
|
|
1411
|
-
example: [
|
|
3925
|
+
example: [
|
|
3926
|
+
'6b5439b1-923a-4f2b-a371-d554e5ea23fa'
|
|
3927
|
+
]
|
|
1412
3928
|
},
|
|
1413
3929
|
product: {
|
|
1414
3930
|
type: 'array',
|
|
1415
3931
|
items: {
|
|
1416
|
-
type: 'string'
|
|
3932
|
+
type: 'string',
|
|
3933
|
+
enum: [
|
|
3934
|
+
'cfke_controlplane_basic',
|
|
3935
|
+
'cfke_controlplane_pro',
|
|
3936
|
+
'cfke_controlplane_enterprise',
|
|
3937
|
+
'cfke_connected_nodes_basic',
|
|
3938
|
+
'cfke_connected_nodes_pro',
|
|
3939
|
+
'cfke_connected_nodes_enterprise',
|
|
3940
|
+
'cfcr_storage'
|
|
3941
|
+
]
|
|
1417
3942
|
},
|
|
1418
3943
|
description: 'List of unique products',
|
|
1419
|
-
example: [
|
|
3944
|
+
example: [
|
|
3945
|
+
'cfke_controlplane_pro',
|
|
3946
|
+
'cfke_connected_nodes_pro'
|
|
3947
|
+
]
|
|
1420
3948
|
}
|
|
1421
3949
|
},
|
|
1422
3950
|
additionalProperties: false
|
|
@@ -1442,7 +3970,16 @@ export const UsageResponseSchema = {
|
|
|
1442
3970
|
product: {
|
|
1443
3971
|
type: 'string',
|
|
1444
3972
|
description: 'The product the usage is associated with',
|
|
1445
|
-
example: '
|
|
3973
|
+
example: 'cfke_controlplane_pro',
|
|
3974
|
+
enum: [
|
|
3975
|
+
'cfke_controlplane_basic',
|
|
3976
|
+
'cfke_controlplane_pro',
|
|
3977
|
+
'cfke_controlplane_enterprise',
|
|
3978
|
+
'cfke_connected_nodes_basic',
|
|
3979
|
+
'cfke_connected_nodes_pro',
|
|
3980
|
+
'cfke_connected_nodes_enterprise',
|
|
3981
|
+
'cfcr_storage'
|
|
3982
|
+
]
|
|
1446
3983
|
},
|
|
1447
3984
|
value: {
|
|
1448
3985
|
type: 'number',
|
|
@@ -1462,7 +3999,14 @@ export const UsageResponseSchema = {
|
|
|
1462
3999
|
description: 'Total cost'
|
|
1463
4000
|
}
|
|
1464
4001
|
},
|
|
1465
|
-
required: [
|
|
4002
|
+
required: [
|
|
4003
|
+
'hour',
|
|
4004
|
+
'cluster_id',
|
|
4005
|
+
'product',
|
|
4006
|
+
'value',
|
|
4007
|
+
'price',
|
|
4008
|
+
'total'
|
|
4009
|
+
],
|
|
1466
4010
|
additionalProperties: false
|
|
1467
4011
|
},
|
|
1468
4012
|
description: 'Usage data'
|
|
@@ -1476,22 +4020,39 @@ export const UsageResponseSchema = {
|
|
|
1476
4020
|
type: 'string'
|
|
1477
4021
|
},
|
|
1478
4022
|
description: 'List of unique cluster IDs',
|
|
1479
|
-
example: [
|
|
4023
|
+
example: [
|
|
4024
|
+
'6b5439b1-923a-4f2b-a371-d554e5ea23fa'
|
|
4025
|
+
]
|
|
1480
4026
|
},
|
|
1481
4027
|
product: {
|
|
1482
4028
|
type: 'array',
|
|
1483
4029
|
items: {
|
|
1484
|
-
type: 'string'
|
|
4030
|
+
type: 'string',
|
|
4031
|
+
enum: [
|
|
4032
|
+
'cfke_controlplane_basic',
|
|
4033
|
+
'cfke_controlplane_pro',
|
|
4034
|
+
'cfke_controlplane_enterprise',
|
|
4035
|
+
'cfke_connected_nodes_basic',
|
|
4036
|
+
'cfke_connected_nodes_pro',
|
|
4037
|
+
'cfke_connected_nodes_enterprise',
|
|
4038
|
+
'cfcr_storage'
|
|
4039
|
+
]
|
|
1485
4040
|
},
|
|
1486
4041
|
description: 'List of unique products',
|
|
1487
|
-
example: [
|
|
4042
|
+
example: [
|
|
4043
|
+
'cfke_controlplane_pro',
|
|
4044
|
+
'cfke_connected_nodes_pro'
|
|
4045
|
+
]
|
|
1488
4046
|
}
|
|
1489
4047
|
},
|
|
1490
4048
|
additionalProperties: false,
|
|
1491
4049
|
description: 'Facets for filtering'
|
|
1492
4050
|
}
|
|
1493
4051
|
},
|
|
1494
|
-
required: [
|
|
4052
|
+
required: [
|
|
4053
|
+
'data',
|
|
4054
|
+
'facets'
|
|
4055
|
+
],
|
|
1495
4056
|
additionalProperties: false
|
|
1496
4057
|
};
|
|
1497
4058
|
export const UsageSchema = {
|
|
@@ -1510,7 +4071,16 @@ export const UsageSchema = {
|
|
|
1510
4071
|
product: {
|
|
1511
4072
|
type: 'string',
|
|
1512
4073
|
description: 'The product the usage is associated with',
|
|
1513
|
-
example: '
|
|
4074
|
+
example: 'cfke_controlplane_pro',
|
|
4075
|
+
enum: [
|
|
4076
|
+
'cfke_controlplane_basic',
|
|
4077
|
+
'cfke_controlplane_pro',
|
|
4078
|
+
'cfke_controlplane_enterprise',
|
|
4079
|
+
'cfke_connected_nodes_basic',
|
|
4080
|
+
'cfke_connected_nodes_pro',
|
|
4081
|
+
'cfke_connected_nodes_enterprise',
|
|
4082
|
+
'cfcr_storage'
|
|
4083
|
+
]
|
|
1514
4084
|
},
|
|
1515
4085
|
value: {
|
|
1516
4086
|
type: 'number',
|
|
@@ -1530,7 +4100,14 @@ export const UsageSchema = {
|
|
|
1530
4100
|
description: 'Total cost'
|
|
1531
4101
|
}
|
|
1532
4102
|
},
|
|
1533
|
-
required: [
|
|
4103
|
+
required: [
|
|
4104
|
+
'hour',
|
|
4105
|
+
'cluster_id',
|
|
4106
|
+
'product',
|
|
4107
|
+
'value',
|
|
4108
|
+
'price',
|
|
4109
|
+
'total'
|
|
4110
|
+
],
|
|
1534
4111
|
additionalProperties: false
|
|
1535
4112
|
};
|
|
1536
4113
|
export const UserCreateInputSchema = {
|
|
@@ -1566,21 +4143,15 @@ export const UserCreateInputSchema = {
|
|
|
1566
4143
|
type: 'string',
|
|
1567
4144
|
minLength: 8,
|
|
1568
4145
|
description: 'User password. Must be at least 8 characters long.'
|
|
1569
|
-
},
|
|
1570
|
-
status: {
|
|
1571
|
-
type: 'string',
|
|
1572
|
-
description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
|
|
1573
|
-
example: 'active',
|
|
1574
|
-
enum: ['active', 'inactive']
|
|
1575
|
-
},
|
|
1576
|
-
role: {
|
|
1577
|
-
type: 'string',
|
|
1578
|
-
description: "User role. Can be 'Administrator', 'User'.",
|
|
1579
|
-
example: 'User',
|
|
1580
|
-
enum: ['Administrator', 'User']
|
|
1581
4146
|
}
|
|
1582
4147
|
},
|
|
1583
|
-
required: [
|
|
4148
|
+
required: [
|
|
4149
|
+
'email',
|
|
4150
|
+
'first_name',
|
|
4151
|
+
'last_name',
|
|
4152
|
+
'code',
|
|
4153
|
+
'password'
|
|
4154
|
+
],
|
|
1584
4155
|
additionalProperties: false
|
|
1585
4156
|
};
|
|
1586
4157
|
export const UserSchema = {
|
|
@@ -1608,15 +4179,21 @@ export const UserSchema = {
|
|
|
1608
4179
|
},
|
|
1609
4180
|
role: {
|
|
1610
4181
|
type: 'string',
|
|
1611
|
-
description:
|
|
4182
|
+
description: 'User role. Can be \'Administrator\', \'User\'.',
|
|
1612
4183
|
example: 'User',
|
|
1613
|
-
enum: [
|
|
4184
|
+
enum: [
|
|
4185
|
+
'Administrator',
|
|
4186
|
+
'User'
|
|
4187
|
+
]
|
|
1614
4188
|
},
|
|
1615
4189
|
status: {
|
|
1616
4190
|
type: 'string',
|
|
1617
4191
|
description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
|
|
1618
4192
|
example: 'active',
|
|
1619
|
-
enum: [
|
|
4193
|
+
enum: [
|
|
4194
|
+
'active',
|
|
4195
|
+
'inactive'
|
|
4196
|
+
]
|
|
1620
4197
|
},
|
|
1621
4198
|
id: {
|
|
1622
4199
|
type: 'string',
|
|
@@ -1631,7 +4208,15 @@ export const UserSchema = {
|
|
|
1631
4208
|
example: '2023-11-02T16:08:14.338Z'
|
|
1632
4209
|
}
|
|
1633
4210
|
},
|
|
1634
|
-
required: [
|
|
4211
|
+
required: [
|
|
4212
|
+
'email',
|
|
4213
|
+
'first_name',
|
|
4214
|
+
'last_name',
|
|
4215
|
+
'role',
|
|
4216
|
+
'status',
|
|
4217
|
+
'id',
|
|
4218
|
+
'date_created'
|
|
4219
|
+
],
|
|
1635
4220
|
additionalProperties: false
|
|
1636
4221
|
};
|
|
1637
4222
|
export const UserUpdateInputSchema = {
|
|
@@ -1659,15 +4244,21 @@ export const UserUpdateInputSchema = {
|
|
|
1659
4244
|
},
|
|
1660
4245
|
role: {
|
|
1661
4246
|
type: 'string',
|
|
1662
|
-
description:
|
|
4247
|
+
description: 'User role. Can be \'Administrator\', \'User\'.',
|
|
1663
4248
|
example: 'User',
|
|
1664
|
-
enum: [
|
|
4249
|
+
enum: [
|
|
4250
|
+
'Administrator',
|
|
4251
|
+
'User'
|
|
4252
|
+
]
|
|
1665
4253
|
},
|
|
1666
4254
|
status: {
|
|
1667
4255
|
type: 'string',
|
|
1668
4256
|
description: 'Status of the user. Can be `active` or `inactive`. Inactive users cannot log in or manage organization resources.',
|
|
1669
4257
|
example: 'active',
|
|
1670
|
-
enum: [
|
|
4258
|
+
enum: [
|
|
4259
|
+
'active',
|
|
4260
|
+
'inactive'
|
|
4261
|
+
]
|
|
1671
4262
|
}
|
|
1672
4263
|
},
|
|
1673
4264
|
additionalProperties: false
|