Skip to content

Commit d8ef695

Browse files
authored
Merge branch 'main' into main
2 parents 2fb3dee + 3f45f21 commit d8ef695

106 files changed

Lines changed: 30689 additions & 18450 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

charts/karpenter-crd/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ apiVersion: v2
22
name: karpenter-crd
33
description: A Helm chart for Karpenter Custom Resource Definitions (CRDs).
44
type: application
5-
version: 1.12.1
6-
appVersion: 1.12.1
5+
version: 1.13.0
6+
appVersion: 1.13.0
77
keywords:
88
- cluster
99
- node

charts/karpenter-crd/templates/karpenter.sh_nodeclaims.yaml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ spec:
178178
type: object
179179
maxItems: 100
180180
type: array
181+
x-kubernetes-list-type: atomic
181182
x-kubernetes-validations:
182183
- message: requirements with operator 'In' must have a value defined
183184
rule: 'self.all(x, x.operator == ''In'' ? x.values.size() != 0 : true)'
@@ -200,7 +201,7 @@ spec:
200201
type: object
201202
startupTaints:
202203
description: |-
203-
StartupTaints are taints that are applied to nodes upon startup which are expected to be removed automatically
204+
startupTaints are taints that are applied to nodes upon startup which are expected to be removed automatically
204205
within a short period of time, typically by a DaemonSet that tolerates the taint. These are commonly used by
205206
daemonsets to allow initialization and enforce startup ordering. StartupTaints are ignored for provisioning
206207
purposes in that pods are not required to tolerate a StartupTaint in order to have nodes provisioned for them.
@@ -237,8 +238,9 @@ spec:
237238
- key
238239
type: object
239240
type: array
241+
x-kubernetes-list-type: atomic
240242
taints:
241-
description: Taints will be applied to the NodeClaim's node.
243+
description: taints will be applied to the NodeClaim's node.
242244
items:
243245
description: |-
244246
The node this Taint is attached to has the "effect" on
@@ -272,6 +274,7 @@ spec:
272274
- key
273275
type: object
274276
type: array
277+
x-kubernetes-list-type: atomic
275278
terminationGracePeriod:
276279
description: |-
277280
TerminationGracePeriod is the maximum duration the controller will wait before forcefully deleting the pods on a node, measured from when deletion is first initiated.
@@ -370,6 +373,9 @@ spec:
370373
- type
371374
type: object
372375
type: array
376+
x-kubernetes-list-map-keys:
377+
- type
378+
x-kubernetes-list-type: map
373379
imageID:
374380
description: ImageID is an identifier for the image that runs on the node
375381
type: string

charts/karpenter-crd/templates/karpenter.sh_nodeoverlays.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ spec:
8383
type: string
8484
requirements:
8585
description: |-
86-
Requirements constrain when this NodeOverlay is applied during scheduling simulations.
86+
requirements constrain when this NodeOverlay is applied during scheduling simulations.
8787
These requirements can match:
8888
- Well-known labels (e.g., node.kubernetes.io/instance-type, karpenter.sh/nodepool)
8989
- Custom labels from NodePool's spec.template.labels
@@ -136,6 +136,7 @@ spec:
136136
type: object
137137
maxItems: 100
138138
type: array
139+
x-kubernetes-list-type: atomic
139140
x-kubernetes-validations:
140141
- message: requirements with operator 'NotIn' must have a value defined
141142
rule: 'self.all(x, x.operator == ''NotIn'' ? x.values.size() != 0 : true)'
@@ -218,6 +219,9 @@ spec:
218219
- type
219220
type: object
220221
type: array
222+
x-kubernetes-list-map-keys:
223+
- type
224+
x-kubernetes-list-type: map
221225
type: object
222226
required:
223227
- spec

charts/karpenter-crd/templates/karpenter.sh_nodepools.yaml

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ spec:
115115
type: string
116116
reasons:
117117
description: |-
118-
Reasons is a list of disruption methods that this budget applies to. If Reasons is not set, this budget applies to all methods.
118+
reasons is a list of disruption methods that this budget applies to. If Reasons is not set, this budget applies to all methods.
119119
Otherwise, this will apply to each reason defined.
120120
allowed reasons are Underutilized, Empty, and Drifted.
121121
items:
@@ -127,6 +127,7 @@ spec:
127127
type: string
128128
maxItems: 50
129129
type: array
130+
x-kubernetes-list-type: set
130131
schedule:
131132
description: |-
132133
Schedule specifies when a budget begins being active, following
@@ -140,6 +141,7 @@ spec:
140141
type: object
141142
maxItems: 50
142143
type: array
144+
x-kubernetes-list-type: atomic
143145
x-kubernetes-validations:
144146
- message: '''schedule'' must be set with ''duration'''
145147
rule: self.all(x, has(x.schedule) == has(x.duration))
@@ -200,22 +202,24 @@ spec:
200202
additionalProperties:
201203
type: string
202204
description: |-
203-
Annotations is an unstructured key value map stored with a resource that may be
205+
annotations is an unstructured key value map stored with a resource that may be
204206
set by external tools to store and retrieve arbitrary metadata. They are not
205207
queryable and should be preserved when modifying objects.
206208
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations
207209
type: object
210+
x-kubernetes-map-type: granular
208211
labels:
209212
additionalProperties:
210213
type: string
211214
maxLength: 63
212215
pattern: ^(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?$
213216
description: |-
214-
Map of string keys and values that can be used to organize and categorize
217+
labels is a map of string keys and values that can be used to organize and categorize
215218
(scope and select) objects. May match selectors of replication controllers
216219
and services.
217220
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
218221
type: object
222+
x-kubernetes-map-type: atomic
219223
maxProperties: 100
220224
x-kubernetes-validations:
221225
- message: label domain "karpenter.sh" is restricted
@@ -335,6 +339,7 @@ spec:
335339
type: object
336340
maxItems: 100
337341
type: array
342+
x-kubernetes-list-type: atomic
338343
x-kubernetes-validations:
339344
- message: requirements with operator 'In' must have a value defined
340345
rule: 'self.all(x, x.operator == ''In'' ? x.values.size() != 0 : true)'
@@ -344,7 +349,7 @@ spec:
344349
rule: 'self.all(x, (x.operator == ''In'' && has(x.minValues)) ? x.values.size() >= x.minValues : true)'
345350
startupTaints:
346351
description: |-
347-
StartupTaints are taints that are applied to nodes upon startup which are expected to be removed automatically
352+
startupTaints are taints that are applied to nodes upon startup which are expected to be removed automatically
348353
within a short period of time, typically by a DaemonSet that tolerates the taint. These are commonly used by
349354
daemonsets to allow initialization and enforce startup ordering. StartupTaints are ignored for provisioning
350355
purposes in that pods are not required to tolerate a StartupTaint in order to have nodes provisioned for them.
@@ -381,8 +386,9 @@ spec:
381386
- key
382387
type: object
383388
type: array
389+
x-kubernetes-list-type: atomic
384390
taints:
385-
description: Taints will be applied to the NodeClaim's node.
391+
description: taints will be applied to the NodeClaim's node.
386392
items:
387393
description: |-
388394
The node this Taint is attached to has the "effect" on
@@ -416,6 +422,7 @@ spec:
416422
- key
417423
type: object
418424
type: array
425+
x-kubernetes-list-type: atomic
419426
terminationGracePeriod:
420427
description: |-
421428
TerminationGracePeriod is the maximum duration the controller will wait before forcefully deleting the pods on a node, measured from when deletion is first initiated.
@@ -520,6 +527,9 @@ spec:
520527
- type
521528
type: object
522529
type: array
530+
x-kubernetes-list-map-keys:
531+
- type
532+
x-kubernetes-list-type: map
523533
nodeClassObservedGeneration:
524534
description: |-
525535
NodeClassObservedGeneration represents the observed nodeClass generation for referenced nodeClass. If this does not match

charts/karpenter/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ apiVersion: v2
22
name: karpenter
33
description: A Helm chart for Karpenter, an open-source node provisioning project built for Kubernetes.
44
type: application
5-
version: 1.12.1
6-
appVersion: 1.12.1
5+
version: 1.13.0
6+
appVersion: 1.13.0
77
keywords:
88
- cluster
99
- node

charts/karpenter/README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
A Helm chart for Karpenter, an open-source node provisioning project built for Kubernetes.
44

5-
![Version: 1.12.1](https://img.shields.io/badge/Version-1.12.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.12.1](https://img.shields.io/badge/AppVersion-1.12.1-informational?style=flat-square)
5+
![Version: 1.13.0](https://img.shields.io/badge/Version-1.13.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.13.0](https://img.shields.io/badge/AppVersion-1.13.0-informational?style=flat-square)
66

77
## Documentation
88

@@ -15,7 +15,7 @@ You can follow the detailed installation instruction in the [documentation](http
1515
```bash
1616
helm upgrade --install --namespace karpenter --create-namespace \
1717
karpenter oci://public.ecr.aws/karpenter/karpenter \
18-
--version 1.12.1 \
18+
--version 1.13.0 \
1919
--set "serviceAccount.annotations.eks\.amazonaws\.com/role-arn=${KARPENTER_IAM_ROLE_ARN}" \
2020
--set settings.clusterName=${CLUSTER_NAME} \
2121
--set settings.interruptionQueue=${CLUSTER_NAME} \
@@ -27,13 +27,13 @@ helm upgrade --install --namespace karpenter --create-namespace \
2727
As the OCI Helm chart is signed by [Cosign](https://github.com/sigstore/cosign) as part of the release process you can verify the chart before installing it by running the following command.
2828

2929
```shell
30-
cosign verify public.ecr.aws/karpenter/karpenter:1.12.1 \
30+
cosign verify public.ecr.aws/karpenter/karpenter:1.13.0 \
3131
--certificate-oidc-issuer=https://token.actions.githubusercontent.com \
3232
--certificate-identity-regexp='https://github\.com/aws/karpenter-provider-aws/\.github/workflows/release\.yaml@.+' \
3333
--certificate-github-workflow-repository=aws/karpenter-provider-aws \
3434
--certificate-github-workflow-name=Release \
35-
--certificate-github-workflow-ref=refs/tags/v1.12.1 \
36-
--annotations version=1.12.1
35+
--certificate-github-workflow-ref=refs/tags/v1.13.0 \
36+
--annotations version=1.13.0
3737
```
3838

3939
## Values
@@ -49,9 +49,9 @@ cosign verify public.ecr.aws/karpenter/karpenter:1.12.1 \
4949
| controller.envFrom | list | `[]` | |
5050
| controller.extraVolumeMounts | list | `[]` | Additional volumeMounts for the controller container. |
5151
| controller.healthProbe.port | int | `8081` | The container port to use for http health probe. |
52-
| controller.image.digest | string | `"sha256:8128bc8cdd0cc8ca2d2cf68ec61033eceb8cfb24834a08ab278784924013cfd0"` | SHA256 digest of the controller image. |
52+
| controller.image.digest | string | `"sha256:ea731b0cd813add8b2947a76bfe861c38069d85922b01d0c1647d1466279b7fe"` | SHA256 digest of the controller image. |
5353
| controller.image.repository | string | `"public.ecr.aws/karpenter/controller"` | Repository path to the controller image. |
54-
| controller.image.tag | string | `"1.12.1"` | Tag of the controller image. |
54+
| controller.image.tag | string | `"1.13.0"` | Tag of the controller image. |
5555
| controller.metrics.port | int | `8080` | The container port to use for metrics. |
5656
| controller.resources | object | `{}` | Resources for the controller container. |
5757
| controller.securityContext.appArmorProfile | object | `{}` | AppArmor profile for the controller container. |

charts/karpenter/values.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,9 @@ controller:
126126
# -- Repository path to the controller image.
127127
repository: public.ecr.aws/karpenter/controller
128128
# -- Tag of the controller image.
129-
tag: 1.12.1
129+
tag: 1.13.0
130130
# -- SHA256 digest of the controller image.
131-
digest: sha256:8128bc8cdd0cc8ca2d2cf68ec61033eceb8cfb24834a08ab278784924013cfd0
131+
digest: sha256:ea731b0cd813add8b2947a76bfe861c38069d85922b01d0c1647d1466279b7fe
132132
# -- Additional environment variables for the controller pod.
133133
env: []
134134
# - name: AWS_REGION

go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ require (
2323
github.com/aws/karpenter-provider-aws/tools/kompat v0.0.0-20260430210630-2cd163d6f0d3
2424
github.com/aws/smithy-go v1.27.1
2525
github.com/awslabs/amazon-eks-ami/nodeadm v0.0.0-20240229193347-cfab22a10647
26-
github.com/awslabs/operatorpkg v0.0.0-20251222193911-34e9a1898737
26+
github.com/awslabs/operatorpkg v0.0.0-20260501204335-c49b4ca8d58d
2727
github.com/awslabs/operatorpkg/aws v0.0.0-20250414225955-b47cd315ffe9
2828
github.com/go-logr/zapr v1.3.0
2929
github.com/google/uuid v1.6.0
@@ -45,8 +45,8 @@ require (
4545
k8s.io/client-go v0.35.3
4646
k8s.io/klog/v2 v2.130.1
4747
k8s.io/utils v0.0.0-20251222233032-718f0e51e6d2
48-
sigs.k8s.io/controller-runtime v0.22.4
49-
sigs.k8s.io/karpenter v1.12.1-0.20260508221319-9655ec09a42e
48+
sigs.k8s.io/controller-runtime v0.23.1
49+
sigs.k8s.io/karpenter v1.13.0
5050
sigs.k8s.io/yaml v1.6.0
5151
)
5252

@@ -139,5 +139,5 @@ require (
139139
k8s.io/kube-openapi v0.0.0-20251125145642-4e65d59e963e // indirect
140140
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect
141141
sigs.k8s.io/randfill v1.0.0 // indirect
142-
sigs.k8s.io/structured-merge-diff/v6 v6.3.1 // indirect
142+
sigs.k8s.io/structured-merge-diff/v6 v6.3.2-0.20260122202528-d9cc6641c482 // indirect
143143
)

go.sum

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ github.com/aws/smithy-go v1.27.1 h1:4T340VFndXtADGF52gYa1POyL7s9E4Z1OeZ1hCscIw8=
6464
github.com/aws/smithy-go v1.27.1/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc=
6565
github.com/awslabs/amazon-eks-ami/nodeadm v0.0.0-20240229193347-cfab22a10647 h1:8yRBVsjGmI7qQsPWtIrbWP+XfwHO9Wq7gdLVzjqiZFs=
6666
github.com/awslabs/amazon-eks-ami/nodeadm v0.0.0-20240229193347-cfab22a10647/go.mod h1:9NafTAUHL0FlMeL6Cu5PXnMZ1q/LnC9X2emLXHsVbM8=
67-
github.com/awslabs/operatorpkg v0.0.0-20251222193911-34e9a1898737 h1:hF8FFDPnboX/ABn1r8oS77t8tG4TVS8i99iPXMaL8Jk=
68-
github.com/awslabs/operatorpkg v0.0.0-20251222193911-34e9a1898737/go.mod h1:reUhRkYche5Vkz+ACdxho8smFwdAspzr8rpA2dNqsVQ=
67+
github.com/awslabs/operatorpkg v0.0.0-20260501204335-c49b4ca8d58d h1:9mmEijoinfobWnkvs9nGiy+Wvsms31+Ng3O2Nn83JIE=
68+
github.com/awslabs/operatorpkg v0.0.0-20260501204335-c49b4ca8d58d/go.mod h1:G/D6aERpu0RWYGZC8wrAfrtEI6nWHAQIkXmTGnNn2jM=
6969
github.com/awslabs/operatorpkg/aws v0.0.0-20250414225955-b47cd315ffe9 h1:Li3ZDz/k5Ob9gRzBvZ5qP3zaE183FWaBTYKayURTub8=
7070
github.com/awslabs/operatorpkg/aws v0.0.0-20250414225955-b47cd315ffe9/go.mod h1:XuupixySxAZwqT/PRxIce7JqAI8NaKUer/TIdm3OMA4=
7171
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
@@ -383,15 +383,15 @@ k8s.io/kube-openapi v0.0.0-20251125145642-4e65d59e963e h1:iW9ChlU0cU16w8MpVYjXk1
383383
k8s.io/kube-openapi v0.0.0-20251125145642-4e65d59e963e/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ=
384384
k8s.io/utils v0.0.0-20251222233032-718f0e51e6d2 h1:OfgiEo21hGiwx1oJUU5MpEaeOEg6coWndBkZF/lkFuE=
385385
k8s.io/utils v0.0.0-20251222233032-718f0e51e6d2/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk=
386-
sigs.k8s.io/controller-runtime v0.22.4 h1:GEjV7KV3TY8e+tJ2LCTxUTanW4z/FmNB7l327UfMq9A=
387-
sigs.k8s.io/controller-runtime v0.22.4/go.mod h1:+QX1XUpTXN4mLoblf4tqr5CQcyHPAki2HLXqQMY6vh8=
386+
sigs.k8s.io/controller-runtime v0.23.1 h1:TjJSM80Nf43Mg21+RCy3J70aj/W6KyvDtOlpKf+PupE=
387+
sigs.k8s.io/controller-runtime v0.23.1/go.mod h1:B6COOxKptp+YaUT5q4l6LqUJTRpizbgf9KSRNdQGns0=
388388
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg=
389389
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
390-
sigs.k8s.io/karpenter v1.12.1-0.20260508221319-9655ec09a42e h1:Y5Y6ZyJPx72Q/VWeHw+m69xKoST8esmu1+K0H19Cbvs=
391-
sigs.k8s.io/karpenter v1.12.1-0.20260508221319-9655ec09a42e/go.mod h1:yeUUaUa37iZD4kVwr+xK1k6Orjs++HGjHti2YWTFhBI=
390+
sigs.k8s.io/karpenter v1.13.0 h1:7/ZergHciATEZ/hubSe9S2fB4iYWcRZqrWIItupUjVM=
391+
sigs.k8s.io/karpenter v1.13.0/go.mod h1:tvcSVkvYItUKfbfzHXpgfL7Zl1M93dwheaqXyuMHqoQ=
392392
sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU=
393393
sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
394-
sigs.k8s.io/structured-merge-diff/v6 v6.3.1 h1:JrhdFMqOd/+3ByqlP2I45kTOZmTRLBUm5pvRjeheg7E=
395-
sigs.k8s.io/structured-merge-diff/v6 v6.3.1/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE=
394+
sigs.k8s.io/structured-merge-diff/v6 v6.3.2-0.20260122202528-d9cc6641c482 h1:2WOzJpHUBVrrkDjU4KBT8n5LDcj824eX0I5UKcgeRUs=
395+
sigs.k8s.io/structured-merge-diff/v6 v6.3.2-0.20260122202528-d9cc6641c482/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE=
396396
sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs=
397397
sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4=

hack/docs/compatibilitymatrix_gen/compatibility.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,4 +96,7 @@ compatibility:
9696
maxK8sVersion: 1.35
9797
- appVersion: 1.12.x
9898
minK8sVersion: 1.26
99-
maxK8sVersion: 1.35
99+
maxK8sVersion: 1.35
100+
- appVersion: 1.13.x
101+
minK8sVersion: 1.26
102+
maxK8sVersion: 1.36

0 commit comments

Comments
 (0)