@scaleway/sdk-k8s 1.8.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,10 +23,6 @@ export interface MaintenanceWindow {
23
23
  */
24
24
  day: MaintenanceWindowDayOfTheWeek;
25
25
  }
26
- export interface PoolUpgradePolicy {
27
- maxUnavailable: number;
28
- maxSurge: number;
29
- }
30
26
  export interface CreateClusterRequestPoolConfigUpgradePolicy {
31
27
  /**
32
28
  * The maximum number of nodes that can be not ready at the same time.
@@ -49,7 +45,7 @@ export interface ClusterAutoUpgrade {
49
45
  }
50
46
  export interface ClusterAutoscalerConfig {
51
47
  /**
52
- * Disable the cluster autoscaler.
48
+ * Forbid cluster autoscaler to scale down the cluster, defaults to false.
53
49
  */
54
50
  scaleDownDisabled: boolean;
55
51
  /**
@@ -61,15 +57,15 @@ export interface ClusterAutoscalerConfig {
61
57
  */
62
58
  estimator: AutoscalerEstimator;
63
59
  /**
64
- * Type of node group expander to be used in scale up.
60
+ * Kubernetes autoscaler strategy to fit pods into nodes, see https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders for details.
65
61
  */
66
62
  expander: AutoscalerExpander;
67
63
  /**
68
- * Ignore DaemonSet pods when calculating resource utilization for scaling down.
64
+ * Ignore DaemonSet pods when calculating resource utilization for scaling down, defaults to false.
69
65
  */
70
66
  ignoreDaemonsetsUtilization: boolean;
71
67
  /**
72
- * Detect similar node groups and balance the number of nodes between them.
68
+ * Detect similar node groups and balance the number of nodes between them, defaults to false.
73
69
  */
74
70
  balanceSimilarNodeGroups: boolean;
75
71
  /**
@@ -77,15 +73,15 @@ export interface ClusterAutoscalerConfig {
77
73
  */
78
74
  expendablePodsPriorityCutoff: number;
79
75
  /**
80
- * How long a node should be unneeded before it is eligible to be scaled down.
76
+ * How long a node should be unneeded before it is eligible for scale down, defaults to 10 minutes.
81
77
  */
82
78
  scaleDownUnneededTime: string;
83
79
  /**
84
- * Node utilization level, defined as a sum of requested resources divided by capacity, below which a node can be considered for scale down.
80
+ * Node utilization level, defined as a sum of requested resources divided by allocatable capacity, below which a node can be considered for scale down.
85
81
  */
86
82
  scaleDownUtilizationThreshold: number;
87
83
  /**
88
- * Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node.
84
+ * Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node, defaults to 600 (10 minutes).
89
85
  */
90
86
  maxGracefulTerminationSec: number;
91
87
  }
@@ -119,110 +115,9 @@ export interface ClusterOpenIDConnectConfig {
119
115
  */
120
116
  requiredClaim: string[];
121
117
  }
122
- export interface Pool {
123
- /**
124
- * Pool ID.
125
- */
126
- id: string;
127
- /**
128
- * Cluster ID of the pool.
129
- */
130
- clusterId: string;
131
- /**
132
- * Date on which the pool was created.
133
- */
134
- createdAt?: Date;
135
- /**
136
- * Date on which the pool was last updated.
137
- */
138
- updatedAt?: Date;
139
- /**
140
- * Pool name.
141
- */
142
- name: string;
143
- /**
144
- * Pool status.
145
- */
146
- status: PoolStatus;
147
- /**
148
- * Pool version.
149
- */
150
- version: string;
151
- /**
152
- * Node type is the type of Scaleway Instance wanted for the pool. Nodes with insufficient memory are not eligible (DEV1-S, PLAY2-PICO, STARDUST). 'external' is a special node type used to provision instances from other cloud providers in a Kosmos Cluster.
153
- */
154
- nodeType: string;
155
- /**
156
- * Defines whether the autoscaling feature is enabled for the pool.
157
- */
158
- autoscaling: boolean;
159
- /**
160
- * Size (number of nodes) of the pool.
161
- */
162
- size: number;
163
- /**
164
- * Defines the minimum size of the pool. Note that this field is only used when autoscaling is enabled on the pool.
165
- */
166
- minSize: number;
167
- /**
168
- * Defines the maximum size of the pool. Note that this field is only used when autoscaling is enabled on the pool.
169
- */
170
- maxSize: number;
171
- /**
172
- * Customization of the container runtime is available for each pool.
173
- */
174
- containerRuntime: Runtime;
175
- /**
176
- * Defines whether the autohealing feature is enabled for the pool.
177
- */
178
- autohealing: boolean;
179
- /**
180
- * Tags associated with the pool, see [managing tags](https://www.scaleway.com/en/docs/containers/kubernetes/api-cli/managing-tags).
181
- */
182
- tags: string[];
183
- /**
184
- * Placement group ID in which all the nodes of the pool will be created, placement groups are limited to 20 instances.
185
- */
186
- placementGroupId?: string;
187
- /**
188
- * Kubelet arguments to be used by this pool. Note that this feature is experimental.
189
- */
190
- kubeletArgs: Record<string, string>;
191
- /**
192
- * Pool upgrade policy.
193
- */
194
- upgradePolicy?: PoolUpgradePolicy;
195
- /**
196
- * Zone in which the pool's nodes will be spawned.
197
- */
198
- zone: ScwZone;
199
- /**
200
- * * `l_ssd` is a local block storage which means your system is stored locally on your node's hypervisor. This type is not available for all node types
201
- * `sbs-5k` is a remote block storage which means your system is stored on a centralized and resilient cluster with 5k IOPS limits
202
- * `sbs-15k` is a faster remote block storage which means your system is stored on a centralized and resilient cluster with 15k IOPS limits
203
- * `b_ssd` is the legacy remote block storage which means your system is stored on a centralized and resilient cluster. Consider using `sbs-5k` or `sbs-15k` instead.
204
- */
205
- rootVolumeType: PoolVolumeType;
206
- /**
207
- * System volume disk size.
208
- */
209
- rootVolumeSize?: number;
210
- /**
211
- * Defines if the public IP should be removed from Nodes. To use this feature, your Cluster must have an attached Private Network set up with a Public Gateway.
212
- */
213
- publicIpDisabled: boolean;
214
- /**
215
- * @deprecated Defines whether the pool is migrated to new images.
216
- */
217
- newImagesEnabled?: boolean;
218
- /**
219
- * Security group ID in which all the nodes of the pool will be created. If unset, the pool will use default Kapsule security group in current zone.
220
- */
221
- securityGroupId: string;
222
- /**
223
- * Cluster region of the pool.
224
- */
225
- region: ScwRegion;
118
+ export interface PoolUpgradePolicy {
119
+ maxUnavailable: number;
120
+ maxSurge: number;
226
121
  }
227
122
  export interface ACLRuleRequest {
228
123
  /**
@@ -276,7 +171,7 @@ export interface CreateClusterRequestAutoUpgrade {
276
171
  }
277
172
  export interface CreateClusterRequestAutoscalerConfig {
278
173
  /**
279
- * Disable the cluster autoscaler.
174
+ * Forbid cluster autoscaler to scale down the cluster, defaults to false.
280
175
  */
281
176
  scaleDownDisabled?: boolean;
282
177
  /**
@@ -288,15 +183,15 @@ export interface CreateClusterRequestAutoscalerConfig {
288
183
  */
289
184
  estimator: AutoscalerEstimator;
290
185
  /**
291
- * Type of node group expander to be used in scale up.
186
+ * Kubernetes autoscaler strategy to fit pods into nodes, see https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders for details.
292
187
  */
293
188
  expander: AutoscalerExpander;
294
189
  /**
295
- * Ignore DaemonSet pods when calculating resource utilization for scaling down.
190
+ * Ignore DaemonSet pods when calculating resource utilization for scaling down, defaults to false.
296
191
  */
297
192
  ignoreDaemonsetsUtilization?: boolean;
298
193
  /**
299
- * Detect similar node groups and balance the number of nodes between them.
194
+ * Detect similar node groups and balance the number of nodes between them, defaults to false.
300
195
  */
301
196
  balanceSimilarNodeGroups?: boolean;
302
197
  /**
@@ -304,15 +199,15 @@ export interface CreateClusterRequestAutoscalerConfig {
304
199
  */
305
200
  expendablePodsPriorityCutoff?: number;
306
201
  /**
307
- * How long a node should be unneeded before it is eligible to be scaled down.
202
+ * How long a node should be unneeded before it is eligible for scale down, defaults to 10 minutes.
308
203
  */
309
204
  scaleDownUnneededTime?: string;
310
205
  /**
311
- * Node utilization level, defined as a sum of requested resources divided by capacity, below which a node can be considered for scale down.
206
+ * Node utilization level, defined as a sum of requested resources divided by allocatable capacity, below which a node can be considered for scale down.
312
207
  */
313
208
  scaleDownUtilizationThreshold?: number;
314
209
  /**
315
- * Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node.
210
+ * Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node, defaults to 600 (10 minutes).
316
211
  */
317
212
  maxGracefulTerminationSec?: number;
318
213
  }
@@ -384,7 +279,7 @@ export interface CreateClusterRequestPoolConfig {
384
279
  */
385
280
  autohealing: boolean;
386
281
  /**
387
- * Tags associated with the pool, see [managing tags](https://www.scaleway.com/en/docs/containers/kubernetes/api-cli/managing-tags).
282
+ * Tags associated with the pool, see [managing tags](https://www.scaleway.com/en/docs/kubernetes/api-cli/managing-tags).
388
283
  */
389
284
  tags: string[];
390
285
  /**
@@ -401,9 +296,9 @@ export interface CreateClusterRequestPoolConfig {
401
296
  zone: ScwZone;
402
297
  /**
403
298
  * * `l_ssd` is a local block storage which means your system is stored locally on your node's hypervisor. This type is not available for all node types
404
- * `sbs-5k` is a remote block storage which means your system is stored on a centralized and resilient cluster with 5k IOPS limits
405
- * `sbs-15k` is a faster remote block storage which means your system is stored on a centralized and resilient cluster with 15k IOPS limits
406
- * `b_ssd` is the legacy remote block storage which means your system is stored on a centralized and resilient cluster. Consider using `sbs-5k` or `sbs-15k` instead.
299
+ * `sbs-5k` is a remote block storage which means your system is stored on a centralized and resilient cluster with 5k IOPS limits
300
+ * `sbs-15k` is a faster remote block storage which means your system is stored on a centralized and resilient cluster with 15k IOPS limits
301
+ * `b_ssd` is the legacy remote block storage which means your system is stored on a centralized and resilient cluster. Consider using `sbs-5k` or `sbs-15k` instead.
407
302
  */
408
303
  rootVolumeType: PoolVolumeType;
409
304
  /**
@@ -578,7 +473,7 @@ export interface Cluster {
578
473
  */
579
474
  updatedAt?: Date;
580
475
  /**
581
- * Autoscaler config for the cluster.
476
+ * Autoscaler configuration for the cluster, see https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md for details.
582
477
  */
583
478
  autoscalerConfig?: ClusterAutoscalerConfig;
584
479
  /**
@@ -692,6 +587,111 @@ export interface Node {
692
587
  */
693
588
  updatedAt?: Date;
694
589
  }
590
+ export interface Pool {
591
+ /**
592
+ * Pool ID.
593
+ */
594
+ id: string;
595
+ /**
596
+ * Cluster ID of the pool.
597
+ */
598
+ clusterId: string;
599
+ /**
600
+ * Date on which the pool was created.
601
+ */
602
+ createdAt?: Date;
603
+ /**
604
+ * Date on which the pool was last updated.
605
+ */
606
+ updatedAt?: Date;
607
+ /**
608
+ * Pool name.
609
+ */
610
+ name: string;
611
+ /**
612
+ * Pool status.
613
+ */
614
+ status: PoolStatus;
615
+ /**
616
+ * Pool version.
617
+ */
618
+ version: string;
619
+ /**
620
+ * Node type is the type of Scaleway Instance wanted for the pool. Nodes with insufficient memory are not eligible (DEV1-S, PLAY2-PICO, STARDUST). 'external' is a special node type used to provision instances from other cloud providers in a Kosmos Cluster.
621
+ */
622
+ nodeType: string;
623
+ /**
624
+ * Defines whether the autoscaling feature is enabled for the pool.
625
+ */
626
+ autoscaling: boolean;
627
+ /**
628
+ * Size (number of nodes) of the pool.
629
+ */
630
+ size: number;
631
+ /**
632
+ * Defines the minimum size of the pool. Note that this field is only used when autoscaling is enabled on the pool.
633
+ */
634
+ minSize: number;
635
+ /**
636
+ * Defines the maximum size of the pool. Note that this field is only used when autoscaling is enabled on the pool.
637
+ */
638
+ maxSize: number;
639
+ /**
640
+ * Customization of the container runtime is available for each pool.
641
+ */
642
+ containerRuntime: Runtime;
643
+ /**
644
+ * Defines whether the autohealing feature is enabled for the pool.
645
+ */
646
+ autohealing: boolean;
647
+ /**
648
+ * Tags associated with the pool, see [managing tags](https://www.scaleway.com/en/docs/kubernetes/api-cli/managing-tags).
649
+ */
650
+ tags: string[];
651
+ /**
652
+ * Placement group ID in which all the nodes of the pool will be created, placement groups are limited to 20 instances.
653
+ */
654
+ placementGroupId?: string;
655
+ /**
656
+ * Kubelet arguments to be used by this pool. Note that this feature is experimental.
657
+ */
658
+ kubeletArgs: Record<string, string>;
659
+ /**
660
+ * Pool upgrade policy.
661
+ */
662
+ upgradePolicy?: PoolUpgradePolicy;
663
+ /**
664
+ * Zone in which the pool's nodes will be spawned.
665
+ */
666
+ zone: ScwZone;
667
+ /**
668
+ * * `l_ssd` is a local block storage which means your system is stored locally on your node's hypervisor. This type is not available for all node types
669
+ * `sbs-5k` is a remote block storage which means your system is stored on a centralized and resilient cluster with 5k IOPS limits
670
+ * `sbs-15k` is a faster remote block storage which means your system is stored on a centralized and resilient cluster with 15k IOPS limits
671
+ * `b_ssd` is the legacy remote block storage which means your system is stored on a centralized and resilient cluster. Consider using `sbs-5k` or `sbs-15k` instead.
672
+ */
673
+ rootVolumeType: PoolVolumeType;
674
+ /**
675
+ * System volume disk size.
676
+ */
677
+ rootVolumeSize?: number;
678
+ /**
679
+ * Defines if the public IP should be removed from Nodes. To use this feature, your Cluster must have an attached Private Network set up with a Public Gateway.
680
+ */
681
+ publicIpDisabled: boolean;
682
+ /**
683
+ * @deprecated Defines whether the pool is migrated to new images.
684
+ */
685
+ newImagesEnabled?: boolean;
686
+ /**
687
+ * Security group ID in which all the nodes of the pool will be created. If unset, the pool will use default Kapsule security group in current zone.
688
+ */
689
+ securityGroupId: string;
690
+ /**
691
+ * Cluster region of the pool.
692
+ */
693
+ region: ScwRegion;
694
+ }
695
695
  export interface NodeMetadataCoreV1Taint {
696
696
  key: string;
697
697
  value: string;
@@ -709,7 +709,7 @@ export interface UpdateClusterRequestAutoUpgrade {
709
709
  }
710
710
  export interface UpdateClusterRequestAutoscalerConfig {
711
711
  /**
712
- * Disable the cluster autoscaler.
712
+ * Forbid cluster autoscaler to scale down the cluster, defaults to false.
713
713
  */
714
714
  scaleDownDisabled?: boolean;
715
715
  /**
@@ -721,15 +721,15 @@ export interface UpdateClusterRequestAutoscalerConfig {
721
721
  */
722
722
  estimator: AutoscalerEstimator;
723
723
  /**
724
- * Type of node group expander to be used in scale up.
724
+ * Kubernetes autoscaler strategy to fit pods into nodes, see https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders for details.
725
725
  */
726
726
  expander: AutoscalerExpander;
727
727
  /**
728
- * Ignore DaemonSet pods when calculating resource utilization for scaling down.
728
+ * Ignore DaemonSet pods when calculating resource utilization for scaling down, defaults to false.
729
729
  */
730
730
  ignoreDaemonsetsUtilization?: boolean;
731
731
  /**
732
- * Detect similar node groups and balance the number of nodes between them.
732
+ * Detect similar node groups and balance the number of nodes between them, defaults to false.
733
733
  */
734
734
  balanceSimilarNodeGroups?: boolean;
735
735
  /**
@@ -737,15 +737,15 @@ export interface UpdateClusterRequestAutoscalerConfig {
737
737
  */
738
738
  expendablePodsPriorityCutoff?: number;
739
739
  /**
740
- * How long a node should be unneeded before it is eligible to be scaled down.
740
+ * How long a node should be unneeded before it is eligible for scale down, defaults to 10 minutes.
741
741
  */
742
742
  scaleDownUnneededTime?: string;
743
743
  /**
744
- * Node utilization level, defined as a sum of requested resources divided by capacity, below which a node can be considered for scale down.
744
+ * Node utilization level, defined as a sum of requested resources divided by allocatable capacity, below which a node can be considered for scale down.
745
745
  */
746
746
  scaleDownUtilizationThreshold?: number;
747
747
  /**
748
- * Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node.
748
+ * Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node, defaults to 600 (10 minutes).
749
749
  */
750
750
  maxGracefulTerminationSec?: number;
751
751
  }
@@ -952,7 +952,7 @@ export type CreatePoolRequest = {
952
952
  */
953
953
  autohealing: boolean;
954
954
  /**
955
- * Tags associated with the pool, see [managing tags](https://www.scaleway.com/en/docs/containers/kubernetes/api-cli/managing-tags).
955
+ * Tags associated with the pool, see [managing tags](https://www.scaleway.com/en/docs/kubernetes/api-cli/managing-tags).
956
956
  */
957
957
  tags?: string[];
958
958
  /**
@@ -969,9 +969,9 @@ export type CreatePoolRequest = {
969
969
  zone?: ScwZone;
970
970
  /**
971
971
  * * `l_ssd` is a local block storage which means your system is stored locally on your node's hypervisor. This type is not available for all node types
972
- * `sbs-5k` is a remote block storage which means your system is stored on a centralized and resilient cluster with 5k IOPS limits
973
- * `sbs-15k` is a faster remote block storage which means your system is stored on a centralized and resilient cluster with 15k IOPS limits
974
- * `b_ssd` is the legacy remote block storage which means your system is stored on a centralized and resilient cluster. Consider using `sbs-5k` or `sbs-15k` instead.
972
+ * `sbs-5k` is a remote block storage which means your system is stored on a centralized and resilient cluster with 5k IOPS limits
973
+ * `sbs-15k` is a faster remote block storage which means your system is stored on a centralized and resilient cluster with 15k IOPS limits
974
+ * `b_ssd` is the legacy remote block storage which means your system is stored on a centralized and resilient cluster. Consider using `sbs-5k` or `sbs-15k` instead.
975
975
  */
976
976
  rootVolumeType?: PoolVolumeType;
977
977
  /**
package/package.json CHANGED
@@ -1,23 +1,20 @@
1
1
  {
2
2
  "name": "@scaleway/sdk-k8s",
3
- "version": "1.8.0",
3
+ "version": "2.2.0",
4
4
  "description": "Scaleway SDK k8s",
5
5
  "license": "Apache-2.0",
6
6
  "files": [
7
+ "README.md",
7
8
  "dist"
8
9
  ],
9
10
  "type": "module",
10
11
  "exports": {
11
12
  ".": {
12
13
  "types": "./dist/index.gen.d.ts",
13
- "import": "./dist/index.gen.js",
14
- "require": "./dist/index.gen.cjs",
15
14
  "default": "./dist/index.gen.js"
16
15
  },
17
16
  "./*": {
18
17
  "types": "./dist/*/index.gen.d.ts",
19
- "import": "./dist/*/index.gen.js",
20
- "require": "./dist/*/index.gen.cjs",
21
18
  "default": "./dist/*/index.gen.js"
22
19
  }
23
20
  },
@@ -26,17 +23,17 @@
26
23
  "directory": "packages_generated/k8s"
27
24
  },
28
25
  "engines": {
29
- "node": ">=20.19.4"
26
+ "node": ">=20.19.6"
30
27
  },
31
28
  "dependencies": {
32
29
  "@scaleway/random-name": "5.1.2",
33
- "@scaleway/sdk-std": "1.2.0"
30
+ "@scaleway/sdk-std": "2.1.0"
34
31
  },
35
32
  "peerDependencies": {
36
- "@scaleway/sdk-client": "^1.3.3"
33
+ "@scaleway/sdk-client": "^2.1.0"
37
34
  },
38
35
  "devDependencies": {
39
- "@scaleway/sdk-client": "^1.3.3"
36
+ "@scaleway/sdk-client": "^2.1.0"
40
37
  },
41
38
  "scripts": {
42
39
  "package:check": "pnpm publint",
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./v1/index.cjs");
4
- exports.K8Sv1 = index;