@cloudfleet/sdk 0.0.1-bbca6e3 → 0.0.1-bd45f1a

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.
@@ -440,31 +440,117 @@ export const ClusterCreateInputSchema = {
440
440
  tier: {
441
441
  type: 'string',
442
442
  description: 'Tier of the cluster.',
443
+ default: 'basic',
443
444
  example: 'pro',
444
445
  enum: [
445
446
  'basic',
446
447
  'pro'
447
448
  ]
448
449
  },
449
- region: {
450
- type: 'string',
451
- description: 'Cloudfleet control plane region. This field can not be updated after creation.',
452
- example: 'europe-central-1a'
453
- },
454
450
  version_channel: {
455
451
  type: 'string',
456
452
  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-]+)*))?$',
457
453
  description: 'Version of the kubernetes cluster.',
458
454
  default: '1.x.x-cfke.x',
459
455
  example: '1.x.x-cfke.x'
456
+ },
457
+ release_channel: {
458
+ type: 'string',
459
+ description: 'Release channel for the cluster\'s control plane.',
460
+ default: 'rapid',
461
+ example: 'rapid',
462
+ enum: [
463
+ 'rapid',
464
+ 'stable',
465
+ 'extended'
466
+ ]
467
+ },
468
+ features: {
469
+ type: 'object',
470
+ properties: {
471
+ gpu_sharing_strategy: {
472
+ type: 'string',
473
+ description: 'GPU sharing strategy.',
474
+ default: 'none',
475
+ example: 'none',
476
+ enum: [
477
+ 'none',
478
+ 'mps',
479
+ 'time_slicing'
480
+ ]
481
+ },
482
+ gpu_max_shared_clients_per_gpu: {
483
+ type: 'integer',
484
+ minimum: 2,
485
+ maximum: 48,
486
+ description: 'Maximum number of pods that may share a single GPU.',
487
+ default: 4,
488
+ example: 10
489
+ },
490
+ cilium_socket_lb_host_namespace_only: {
491
+ type: 'boolean',
492
+ description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
493
+ example: false
494
+ }
495
+ },
496
+ additionalProperties: false,
497
+ description: 'Cluster feature toggles.',
498
+ default: {
499
+ gpu_sharing_strategy: 'none',
500
+ gpu_max_shared_clients_per_gpu: 4,
501
+ cilium_socket_lb_host_namespace_only: false
502
+ }
503
+ },
504
+ region: {
505
+ type: 'string',
506
+ description: 'Cloudfleet control plane region. This field can not be updated after creation.',
507
+ example: 'europe-central-1a'
508
+ },
509
+ networking: {
510
+ type: 'object',
511
+ properties: {
512
+ pod_cidr: {
513
+ type: 'string',
514
+ description: 'CIDR block for pod IPs.',
515
+ default: '10.244.0.0/16'
516
+ },
517
+ service_cidr: {
518
+ type: 'string',
519
+ description: 'CIDR block for service IPs.',
520
+ default: '10.96.0.0/12'
521
+ },
522
+ dual_stack: {
523
+ type: 'boolean',
524
+ description: 'Enable IPv4+IPv6 dual-stack networking.'
525
+ },
526
+ pod_cidr_v6: {
527
+ type: 'string',
528
+ description: 'IPv6 pod CIDR. Requires dual_stack.',
529
+ default: '2001:db8:1:2::/48'
530
+ },
531
+ service_cidr_v6: {
532
+ type: 'string',
533
+ description: 'IPv6 service CIDR. Requires dual_stack.',
534
+ default: '2001:db8:1:1::/112'
535
+ }
536
+ },
537
+ additionalProperties: false,
538
+ description: 'Cluster networking configuration. Immutable after creation.',
539
+ default: {
540
+ pod_cidr: '10.244.0.0/16',
541
+ service_cidr: '10.96.0.0/12',
542
+ dual_stack: false,
543
+ pod_cidr_v6: '2001:db8:1:2::/48',
544
+ service_cidr_v6: '2001:db8:1:1::/112'
545
+ }
460
546
  }
461
547
  },
462
548
  required: [
463
549
  'name',
464
- 'tier',
465
550
  'region'
466
551
  ],
467
- additionalProperties: false
552
+ additionalProperties: false,
553
+ description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
468
554
  };
469
555
  export const ClusterJoinInformationSchema = {
470
556
  type: 'object',
@@ -587,17 +673,122 @@ export const ClusterSchema = {
587
673
  tier: {
588
674
  type: 'string',
589
675
  description: 'Tier of the cluster.',
676
+ default: 'basic',
590
677
  example: 'pro',
591
678
  enum: [
592
679
  'basic',
593
680
  'pro'
594
681
  ]
595
682
  },
683
+ version_channel: {
684
+ type: 'string',
685
+ 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-]+)*))?$',
686
+ description: 'Version of the kubernetes cluster.',
687
+ default: '1.x.x-cfke.x',
688
+ example: '1.x.x-cfke.x'
689
+ },
690
+ release_channel: {
691
+ type: 'string',
692
+ description: 'Release channel for the cluster\'s control plane.',
693
+ default: 'rapid',
694
+ example: 'rapid',
695
+ enum: [
696
+ 'rapid',
697
+ 'stable',
698
+ 'extended'
699
+ ]
700
+ },
701
+ features: {
702
+ type: 'object',
703
+ properties: {
704
+ gpu_sharing_strategy: {
705
+ type: 'string',
706
+ description: 'GPU sharing strategy.',
707
+ default: 'none',
708
+ example: 'none',
709
+ enum: [
710
+ 'none',
711
+ 'mps',
712
+ 'time_slicing'
713
+ ]
714
+ },
715
+ gpu_max_shared_clients_per_gpu: {
716
+ type: 'integer',
717
+ minimum: 2,
718
+ maximum: 48,
719
+ description: 'Maximum number of pods that may share a single GPU.',
720
+ default: 4,
721
+ example: 10
722
+ },
723
+ cilium_socket_lb_host_namespace_only: {
724
+ type: 'boolean',
725
+ description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
726
+ example: false
727
+ }
728
+ },
729
+ required: [
730
+ 'gpu_sharing_strategy',
731
+ 'gpu_max_shared_clients_per_gpu',
732
+ 'cilium_socket_lb_host_namespace_only'
733
+ ],
734
+ additionalProperties: false,
735
+ description: 'Cluster feature toggles.',
736
+ default: {
737
+ gpu_sharing_strategy: 'none',
738
+ gpu_max_shared_clients_per_gpu: 4,
739
+ cilium_socket_lb_host_namespace_only: false
740
+ }
741
+ },
596
742
  region: {
597
743
  type: 'string',
598
744
  description: 'Cloudfleet control plane region. This field can not be updated after creation.',
599
745
  example: 'europe-central-1a'
600
746
  },
747
+ networking: {
748
+ type: 'object',
749
+ properties: {
750
+ pod_cidr: {
751
+ type: 'string',
752
+ description: 'CIDR block for pod IPs.',
753
+ default: '10.244.0.0/16'
754
+ },
755
+ service_cidr: {
756
+ type: 'string',
757
+ description: 'CIDR block for service IPs.',
758
+ default: '10.96.0.0/12'
759
+ },
760
+ dual_stack: {
761
+ type: 'boolean',
762
+ description: 'Enable IPv4+IPv6 dual-stack networking.'
763
+ },
764
+ pod_cidr_v6: {
765
+ type: 'string',
766
+ description: 'IPv6 pod CIDR. Requires dual_stack.',
767
+ default: '2001:db8:1:2::/48'
768
+ },
769
+ service_cidr_v6: {
770
+ type: 'string',
771
+ description: 'IPv6 service CIDR. Requires dual_stack.',
772
+ default: '2001:db8:1:1::/112'
773
+ }
774
+ },
775
+ required: [
776
+ 'pod_cidr',
777
+ 'service_cidr',
778
+ 'dual_stack',
779
+ 'pod_cidr_v6',
780
+ 'service_cidr_v6'
781
+ ],
782
+ additionalProperties: false,
783
+ description: 'Cluster networking configuration. Immutable after creation.',
784
+ default: {
785
+ pod_cidr: '10.244.0.0/16',
786
+ service_cidr: '10.96.0.0/12',
787
+ dual_stack: false,
788
+ pod_cidr_v6: '2001:db8:1:2::/48',
789
+ service_cidr_v6: '2001:db8:1:1::/112'
790
+ }
791
+ },
601
792
  id: {
602
793
  type: 'string',
603
794
  format: 'uuid',
@@ -606,16 +797,13 @@ export const ClusterSchema = {
606
797
  },
607
798
  status: {
608
799
  type: 'string',
609
- description: 'Status of the cluster. When creating a new cluster, set to `active`. When deleting a clusters, set to `deleted`.',
610
- example: 'active',
800
+ description: 'Status of the cluster.',
801
+ example: 'deployed',
611
802
  enum: [
612
- 'active',
613
- 'disabled',
614
- 'deleted',
615
803
  'creating',
616
804
  'deployed',
617
- 'failed',
618
- 'updating'
805
+ 'updating',
806
+ 'disabled'
619
807
  ]
620
808
  },
621
809
  endpoint: {
@@ -623,8 +811,8 @@ export const ClusterSchema = {
623
811
  {
624
812
  type: 'string',
625
813
  format: 'uri',
626
- description: 'URL signed by the private CA of the Kubernetes cluster control plane. This is the endpoint that kubectl uses to connect to the cluster. (Deprecated, use endpoint_public instead)',
627
- example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.cloudfleet.dev:6443'
814
+ 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.',
815
+ example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.io'
628
816
  },
629
817
  {
630
818
  type: 'string',
@@ -639,7 +827,7 @@ export const ClusterSchema = {
639
827
  {
640
828
  type: 'string',
641
829
  format: 'uri',
642
- 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.',
830
+ description: 'Deprecated alias of `endpoint`; retained for backward compatibility.',
643
831
  example: 'https://2ae6557c-c61f-49c6-b4c1-a65473470a03.staging.cfke.io'
644
832
  },
645
833
  {
@@ -674,22 +862,22 @@ export const ClusterSchema = {
674
862
  type: 'boolean',
675
863
  description: 'Indicates if the cluster is ready to be used.',
676
864
  example: true
677
- },
678
- version_channel: {
679
- type: 'string',
680
- 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-]+)*))?$',
681
- description: 'Version of the kubernetes cluster.',
682
- example: '1.x.x-cfke.x'
683
865
  }
684
866
  },
685
867
  required: [
686
868
  'name',
687
869
  'tier',
870
+ 'version_channel',
871
+ 'release_channel',
872
+ 'features',
688
873
  'region',
874
+ 'networking',
689
875
  'id',
690
- 'status'
876
+ 'status',
877
+ 'ready'
691
878
  ],
692
- additionalProperties: false
879
+ additionalProperties: false,
880
+ description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
693
881
  };
694
882
  export const ClusterUpdateInputSchema = {
695
883
  type: 'object',
@@ -705,6 +893,7 @@ export const ClusterUpdateInputSchema = {
705
893
  tier: {
706
894
  type: 'string',
707
895
  description: 'Tier of the cluster.',
896
+ default: 'basic',
708
897
  example: 'pro',
709
898
  enum: [
710
899
  'basic',
@@ -715,13 +904,62 @@ export const ClusterUpdateInputSchema = {
715
904
  type: 'string',
716
905
  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-]+)*))?$',
717
906
  description: 'Version of the kubernetes cluster.',
907
+ default: '1.x.x-cfke.x',
718
908
  example: '1.x.x-cfke.x'
909
+ },
910
+ release_channel: {
911
+ type: 'string',
912
+ description: 'Release channel for the cluster\'s control plane.',
913
+ default: 'rapid',
914
+ example: 'rapid',
915
+ enum: [
916
+ 'rapid',
917
+ 'stable',
918
+ 'extended'
919
+ ]
920
+ },
921
+ features: {
922
+ type: 'object',
923
+ properties: {
924
+ gpu_sharing_strategy: {
925
+ type: 'string',
926
+ description: 'GPU sharing strategy.',
927
+ default: 'none',
928
+ example: 'none',
929
+ enum: [
930
+ 'none',
931
+ 'mps',
932
+ 'time_slicing'
933
+ ]
934
+ },
935
+ gpu_max_shared_clients_per_gpu: {
936
+ type: 'integer',
937
+ minimum: 2,
938
+ maximum: 48,
939
+ description: 'Maximum number of pods that may share a single GPU.',
940
+ default: 4,
941
+ example: 10
942
+ },
943
+ cilium_socket_lb_host_namespace_only: {
944
+ type: 'boolean',
945
+ description: 'Restrict Cilium socket load-balancing to the host namespace. Required for the Tailscale operator and Istio.',
946
+ example: false
947
+ }
948
+ },
949
+ additionalProperties: false,
950
+ description: 'Cluster feature toggles.',
951
+ default: {
952
+ gpu_sharing_strategy: 'none',
953
+ gpu_max_shared_clients_per_gpu: 4,
954
+ cilium_socket_lb_host_namespace_only: false
955
+ }
719
956
  }
720
957
  },
721
958
  required: [
722
- 'tier'
959
+ 'name'
723
960
  ],
724
- additionalProperties: false
961
+ additionalProperties: false,
962
+ description: 'Mutable cluster configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
725
963
  };
726
964
  export const FleetCreateInputSchema = {
727
965
  type: 'object',
@@ -993,7 +1231,8 @@ export const FleetCreateInputSchema = {
993
1231
  'z3'
994
1232
  ]
995
1233
  },
996
- description: 'Allowed values for `cfke.io/instance-family`.'
1234
+ description: 'Allowed values for `cfke.io/instance-family`.',
1235
+ default: []
997
1236
  },
998
1237
  'topology.kubernetes.io/region': {
999
1238
  type: 'array',
@@ -1066,15 +1305,27 @@ export const FleetCreateInputSchema = {
1066
1305
  'us-west4'
1067
1306
  ]
1068
1307
  },
1069
- description: 'Allowed values for `topology.kubernetes.io/region`.'
1308
+ description: 'Allowed values for `topology.kubernetes.io/region`.',
1309
+ default: []
1070
1310
  }
1071
1311
  },
1072
1312
  additionalProperties: false,
1073
- 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. Omit a field to place no restriction on that key.'
1313
+ 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.',
1314
+ default: {
1315
+ 'karpenter.sh/capacity-type': [
1316
+ 'on-demand',
1317
+ 'spot'
1318
+ ],
1319
+ 'kubernetes.io/arch': [
1320
+ 'amd64'
1321
+ ],
1322
+ 'cfke.io/instance-family': [],
1323
+ 'topology.kubernetes.io/region': []
1324
+ }
1074
1325
  },
1075
1326
  scalingProfile: {
1076
1327
  type: 'string',
1077
- description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
1328
+ 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`).',
1078
1329
  default: 'conservative',
1079
1330
  example: 'conservative',
1080
1331
  enum: [
@@ -1094,7 +1345,8 @@ export const FleetCreateInputSchema = {
1094
1345
  required: [
1095
1346
  'id'
1096
1347
  ],
1097
- additionalProperties: false
1348
+ additionalProperties: false,
1349
+ description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
1098
1350
  };
1099
1351
  export const FleetSchema = {
1100
1352
  type: 'object',
@@ -1364,7 +1616,8 @@ export const FleetSchema = {
1364
1616
  'z3'
1365
1617
  ]
1366
1618
  },
1367
- description: 'Allowed values for `cfke.io/instance-family`.'
1619
+ description: 'Allowed values for `cfke.io/instance-family`.',
1620
+ default: []
1368
1621
  },
1369
1622
  'topology.kubernetes.io/region': {
1370
1623
  type: 'array',
@@ -1437,15 +1690,31 @@ export const FleetSchema = {
1437
1690
  'us-west4'
1438
1691
  ]
1439
1692
  },
1440
- description: 'Allowed values for `topology.kubernetes.io/region`.'
1693
+ description: 'Allowed values for `topology.kubernetes.io/region`.',
1694
+ default: []
1441
1695
  }
1442
1696
  },
1697
+ required: [
1698
+ 'karpenter.sh/capacity-type',
1699
+ 'kubernetes.io/arch'
1700
+ ],
1443
1701
  additionalProperties: false,
1444
- 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. Omit a field to place no restriction on that key.'
1702
+ 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.',
1703
+ default: {
1704
+ 'karpenter.sh/capacity-type': [
1705
+ 'on-demand',
1706
+ 'spot'
1707
+ ],
1708
+ 'kubernetes.io/arch': [
1709
+ 'amd64'
1710
+ ],
1711
+ 'cfke.io/instance-family': [],
1712
+ 'topology.kubernetes.io/region': []
1713
+ }
1445
1714
  },
1446
1715
  scalingProfile: {
1447
1716
  type: 'string',
1448
- description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
1717
+ 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`).',
1449
1718
  default: 'conservative',
1450
1719
  example: 'conservative',
1451
1720
  enum: [
@@ -1460,13 +1729,38 @@ export const FleetSchema = {
1460
1729
  pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$',
1461
1730
  description: 'Unique identifier of the kubernetes fleet.',
1462
1731
  example: 'new-clouds-fleet'
1732
+ },
1733
+ ready: {
1734
+ type: 'boolean',
1735
+ description: 'Indicates whether the fleet configuration is healthy.',
1736
+ example: true
1737
+ },
1738
+ status_message: {
1739
+ type: 'string',
1740
+ description: 'Human-readable reason the fleet is not ready. Present only when `ready` is false.',
1741
+ example: 'Invalid provider permissions.'
1742
+ },
1743
+ created_at: {
1744
+ type: 'string',
1745
+ description: 'Creation date and time of the fleet.',
1746
+ example: '2024-09-12T09:11:27Z'
1747
+ },
1748
+ updated_at: {
1749
+ type: 'string',
1750
+ description: 'Date and time the fleet was last updated.',
1751
+ example: '2024-09-12T09:11:27Z'
1463
1752
  }
1464
1753
  },
1465
1754
  required: [
1755
+ 'constraints',
1466
1756
  'scalingProfile',
1467
- 'id'
1757
+ 'id',
1758
+ 'ready',
1759
+ 'created_at',
1760
+ 'updated_at'
1468
1761
  ],
1469
- additionalProperties: false
1762
+ additionalProperties: false,
1763
+ description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
1470
1764
  };
1471
1765
  export const FleetUpdateInputSchema = {
1472
1766
  type: 'object',
@@ -1552,7 +1846,11 @@ export const FleetUpdateInputSchema = {
1552
1846
  ]
1553
1847
  },
1554
1848
  minItems: 1,
1555
- description: 'Allowed values for `karpenter.sh/capacity-type`.'
1849
+ description: 'Allowed values for `karpenter.sh/capacity-type`.',
1850
+ default: [
1851
+ 'on-demand',
1852
+ 'spot'
1853
+ ]
1556
1854
  },
1557
1855
  'kubernetes.io/arch': {
1558
1856
  type: 'array',
@@ -1564,7 +1862,10 @@ export const FleetUpdateInputSchema = {
1564
1862
  ]
1565
1863
  },
1566
1864
  minItems: 1,
1567
- description: 'Allowed values for `kubernetes.io/arch`.'
1865
+ description: 'Allowed values for `kubernetes.io/arch`.',
1866
+ default: [
1867
+ 'amd64'
1868
+ ]
1568
1869
  },
1569
1870
  'cfke.io/instance-family': {
1570
1871
  type: 'array',
@@ -1731,7 +2032,8 @@ export const FleetUpdateInputSchema = {
1731
2032
  'z3'
1732
2033
  ]
1733
2034
  },
1734
- description: 'Allowed values for `cfke.io/instance-family`.'
2035
+ description: 'Allowed values for `cfke.io/instance-family`.',
2036
+ default: []
1735
2037
  },
1736
2038
  'topology.kubernetes.io/region': {
1737
2039
  type: 'array',
@@ -1804,15 +2106,28 @@ export const FleetUpdateInputSchema = {
1804
2106
  'us-west4'
1805
2107
  ]
1806
2108
  },
1807
- description: 'Allowed values for `topology.kubernetes.io/region`.'
2109
+ description: 'Allowed values for `topology.kubernetes.io/region`.',
2110
+ default: []
1808
2111
  }
1809
2112
  },
1810
2113
  additionalProperties: false,
1811
- 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. Omit a field to place no restriction on that key.'
2114
+ 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.',
2115
+ default: {
2116
+ 'karpenter.sh/capacity-type': [
2117
+ 'on-demand',
2118
+ 'spot'
2119
+ ],
2120
+ 'kubernetes.io/arch': [
2121
+ 'amd64'
2122
+ ],
2123
+ 'cfke.io/instance-family': [],
2124
+ 'topology.kubernetes.io/region': []
2125
+ }
1812
2126
  },
1813
2127
  scalingProfile: {
1814
2128
  type: 'string',
1815
- description: 'Controls scale-up / scale-down responsiveness. `aggressive` prioritizes cost-optimization. `conservative` prioritizes stability of the fleet.',
2129
+ 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`).',
2130
+ default: 'conservative',
1816
2131
  example: 'conservative',
1817
2132
  enum: [
1818
2133
  'aggressive',
@@ -1820,10 +2135,8 @@ export const FleetUpdateInputSchema = {
1820
2135
  ]
1821
2136
  }
1822
2137
  },
1823
- required: [
1824
- 'scalingProfile'
1825
- ],
1826
- additionalProperties: false
2138
+ additionalProperties: false,
2139
+ description: 'Mutable fleet configuration. Applied as a full overwrite: any omitted field is reset to its default rather than left unchanged.'
1827
2140
  };
1828
2141
  export const InviteCreateInputSchema = {
1829
2142
  type: 'object',