Skip to content

Commit c184c1e

Browse files
[deps] Kubernetes dep upgrades and go version upgrade (#557)
* upgrade kubenetes dependencies to latest * Upgrade to go 1.23 & switch to using v0.32.0-alpha.3 for conversion-gen since that is the only release ver that supports go 1.23 * switch chainsaw version to 0.2.11 * Update devbox json * updated devbox.lock --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1 parent 12ba433 commit c184c1e

22 files changed

+240
-486
lines changed

Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Build the manager binary
2-
FROM golang:1.22 as builder
2+
FROM golang:1.23 as builder
33
ARG TARGETOS
44
ARG TARGETARCH
55
ARG VERSION

Makefile

+7-4
Original file line numberDiff line numberDiff line change
@@ -325,17 +325,20 @@ CTLPTL_VERSION ?= v0.8.29
325325
CLUSTERCTL_VERSION ?= v1.7.2
326326
KUBECTL_VERSION ?= v1.28.0
327327
KUBEBUILDER_VERSION ?= v3.15.1
328-
CONTROLLER_TOOLS_VERSION ?= v0.14.0
328+
CONTROLLER_TOOLS_VERSION ?= v0.16.5
329329
TILT_VERSION ?= 0.33.10
330330
KIND_VERSION ?= 0.23.0
331-
CHAINSAW_VERSION ?= v0.2.2
331+
CHAINSAW_VERSION ?= v0.2.11
332332
HUSKY_VERSION ?= v0.2.16
333333
NILAWAY_VERSION ?= latest
334334
GOVULNC_VERSION ?= v1.1.1
335335
MOCKGEN_VERSION ?= v0.4.0
336-
GOWRAP_VERSION ?= v1.3.7
336+
GOWRAP_VERSION ?= v1.4.0
337337
S5CMD_VERSION ?= v2.2.2
338338

339+
# v0.31.xxx is not supported by go 1.23. Use v0.32.0-alpha.3 instead. Update this version when the next release is available.
340+
CONVERSION_GEN_VERSION ?= v0.32.0-alpha.3
341+
339342
.PHONY: tools
340343
tools: $(KUSTOMIZE) $(CTLPTL) $(CLUSTERCTL) $(KUBECTL) $(CONTROLLER_GEN) $(CONVERSION_GEN) $(TILT) $(KIND) $(CHAINSAW) $(ENVTEST) $(HUSKY) $(NILAWAY) $(GOVULNC) $(MOCKGEN) $(GOWRAP)
341344

@@ -376,7 +379,7 @@ $(CONTROLLER_GEN): $(LOCALBIN)
376379
.PHONY: conversion-gen
377380
conversion-gen: $(CONVERSION_GEN) ## Download conversion-gen locally if necessary.
378381
$(CONVERSION_GEN): $(LOCALBIN)
379-
GOBIN=$(CACHE_BIN) go install k8s.io/code-generator/cmd/conversion-gen@latest
382+
GOBIN=$(CACHE_BIN) go install k8s.io/code-generator/cmd/conversion-gen@$(CONVERSION_GEN_VERSION)
380383

381384
.PHONY: tilt
382385
tilt: $(TILT) ## Download tilt locally if necessary.

config/crd/bases/infrastructure.cluster.x-k8s.io_linodeclusters.yaml

+5-40
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.14.0
6+
controller-gen.kubebuilder.io/version: v0.16.5
77
name: linodeclusters.infrastructure.cluster.x-k8s.io
88
spec:
99
group: infrastructure.cluster.x-k8s.io
@@ -120,24 +120,8 @@ spec:
120120
- message: Value is immutable
121121
rule: self == oldSelf
122122
vpcRef:
123-
description: |-
124-
ObjectReference contains enough information to let you inspect or modify the referred object.
125-
---
126-
New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.
127-
1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage.
128-
2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular
129-
restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted".
130-
Those cannot be well described when embedded.
131-
3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen.
132-
4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity
133-
during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple
134-
and the version of the actual struct is irrelevant.
135-
5. We cannot easily change it. Because this type is embedded in many locations, updates to this type
136-
will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control.
137-
138-
139-
Instead of using this type, create a locally provided and used type that is well-focused on your reference.
140-
For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .
123+
description: ObjectReference contains enough information to let you
124+
inspect or modify the referred object.
141125
properties:
142126
apiVersion:
143127
description: API version of the referent.
@@ -151,7 +135,6 @@ spec:
151135
the event) or if no container name is specified "spec.containers[2]" (container with
152136
index 2 in this pod). This syntax is chosen only to have some well-defined way of
153137
referencing a part of an object.
154-
TODO: this design is not final and this field is subject to change in the future.
155138
type: string
156139
kind:
157140
description: |-
@@ -432,7 +415,6 @@ spec:
432415
the event) or if no container name is specified "spec.containers[2]" (container with
433416
index 2 in this pod). This syntax is chosen only to have some well-defined way of
434417
referencing a part of an object.
435-
TODO: this design is not final and this field is subject to change in the future.
436418
type: string
437419
kind:
438420
description: |-
@@ -468,24 +450,8 @@ spec:
468450
description: The Linode Region the LinodeCluster lives in.
469451
type: string
470452
vpcRef:
471-
description: |-
472-
ObjectReference contains enough information to let you inspect or modify the referred object.
473-
---
474-
New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.
475-
1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage.
476-
2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular
477-
restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted".
478-
Those cannot be well described when embedded.
479-
3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen.
480-
4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity
481-
during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple
482-
and the version of the actual struct is irrelevant.
483-
5. We cannot easily change it. Because this type is embedded in many locations, updates to this type
484-
will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control.
485-
486-
487-
Instead of using this type, create a locally provided and used type that is well-focused on your reference.
488-
For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .
453+
description: ObjectReference contains enough information to let you
454+
inspect or modify the referred object.
489455
properties:
490456
apiVersion:
491457
description: API version of the referent.
@@ -499,7 +465,6 @@ spec:
499465
the event) or if no container name is specified "spec.containers[2]" (container with
500466
index 2 in this pod). This syntax is chosen only to have some well-defined way of
501467
referencing a part of an object.
502-
TODO: this design is not final and this field is subject to change in the future.
503468
type: string
504469
kind:
505470
description: |-

config/crd/bases/infrastructure.cluster.x-k8s.io_linodeclustertemplates.yaml

+5-40
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.14.0
6+
controller-gen.kubebuilder.io/version: v0.16.5
77
name: linodeclustertemplates.infrastructure.cluster.x-k8s.io
88
spec:
99
group: infrastructure.cluster.x-k8s.io
@@ -114,24 +114,8 @@ spec:
114114
- message: Value is immutable
115115
rule: self == oldSelf
116116
vpcRef:
117-
description: |-
118-
ObjectReference contains enough information to let you inspect or modify the referred object.
119-
---
120-
New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.
121-
1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage.
122-
2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular
123-
restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted".
124-
Those cannot be well described when embedded.
125-
3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen.
126-
4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity
127-
during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple
128-
and the version of the actual struct is irrelevant.
129-
5. We cannot easily change it. Because this type is embedded in many locations, updates to this type
130-
will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control.
131-
132-
133-
Instead of using this type, create a locally provided and used type that is well-focused on your reference.
134-
For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .
117+
description: ObjectReference contains enough information to
118+
let you inspect or modify the referred object.
135119
properties:
136120
apiVersion:
137121
description: API version of the referent.
@@ -145,7 +129,6 @@ spec:
145129
the event) or if no container name is specified "spec.containers[2]" (container with
146130
index 2 in this pod). This syntax is chosen only to have some well-defined way of
147131
referencing a part of an object.
148-
TODO: this design is not final and this field is subject to change in the future.
149132
type: string
150133
kind:
151134
description: |-
@@ -360,7 +343,6 @@ spec:
360343
the event) or if no container name is specified "spec.containers[2]" (container with
361344
index 2 in this pod). This syntax is chosen only to have some well-defined way of
362345
referencing a part of an object.
363-
TODO: this design is not final and this field is subject to change in the future.
364346
type: string
365347
kind:
366348
description: |-
@@ -396,24 +378,8 @@ spec:
396378
description: The Linode Region the LinodeCluster lives in.
397379
type: string
398380
vpcRef:
399-
description: |-
400-
ObjectReference contains enough information to let you inspect or modify the referred object.
401-
---
402-
New uses of this type are discouraged because of difficulty describing its usage when embedded in APIs.
403-
1. Ignored fields. It includes many fields which are not generally honored. For instance, ResourceVersion and FieldPath are both very rarely valid in actual usage.
404-
2. Invalid usage help. It is impossible to add specific help for individual usage. In most embedded usages, there are particular
405-
restrictions like, "must refer only to types A and B" or "UID not honored" or "name must be restricted".
406-
Those cannot be well described when embedded.
407-
3. Inconsistent validation. Because the usages are different, the validation rules are different by usage, which makes it hard for users to predict what will happen.
408-
4. The fields are both imprecise and overly precise. Kind is not a precise mapping to a URL. This can produce ambiguity
409-
during interpretation and require a REST mapping. In most cases, the dependency is on the group,resource tuple
410-
and the version of the actual struct is irrelevant.
411-
5. We cannot easily change it. Because this type is embedded in many locations, updates to this type
412-
will affect numerous schemas. Don't make new APIs embed an underspecified API type they do not control.
413-
414-
415-
Instead of using this type, create a locally provided and used type that is well-focused on your reference.
416-
For example, ServiceReferences for admission registration: https://github.com/kubernetes/api/blob/release-1.17/admissionregistration/v1/types.go#L533 .
381+
description: ObjectReference contains enough information to
382+
let you inspect or modify the referred object.
417383
properties:
418384
apiVersion:
419385
description: API version of the referent.
@@ -427,7 +393,6 @@ spec:
427393
the event) or if no container name is specified "spec.containers[2]" (container with
428394
index 2 in this pod). This syntax is chosen only to have some well-defined way of
429395
referencing a part of an object.
430-
TODO: this design is not final and this field is subject to change in the future.
431396
type: string
432397
kind:
433398
description: |-

config/crd/bases/infrastructure.cluster.x-k8s.io_linodefirewalls.yaml

+1-5
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.14.0
6+
controller-gen.kubebuilder.io/version: v0.16.5
77
labels:
88
clusterctl.cluster.x-k8s.io/move-hierarchy: "true"
99
name: linodefirewalls.infrastructure.cluster.x-k8s.io
@@ -223,7 +223,6 @@ spec:
223223
reconciling the Firewall and will contain a more verbose string suitable
224224
for logging and human consumption.
225225
226-
227226
This field should not be set for transitive errors that a controller
228227
faces that are expected to be fixed automatically over
229228
time (like service outages), but instead indicate that something is
@@ -233,7 +232,6 @@ spec:
233232
spec, values that are unsupported by the controller, or the
234233
responsible controller itself being critically misconfigured.
235234
236-
237235
Any transient errors that occur during the reconciliation of Firewalls
238236
can be added as events to the Firewall object and/or logged in the
239237
controller's output.
@@ -244,7 +242,6 @@ spec:
244242
reconciling the Firewall and will contain a succinct value suitable
245243
for machine interpretation.
246244
247-
248245
This field should not be set for transitive errors that a controller
249246
faces that are expected to be fixed automatically over
250247
time (like service outages), but instead indicate that something is
@@ -254,7 +251,6 @@ spec:
254251
spec, values that are unsupported by the controller, or the
255252
responsible controller itself being critically misconfigured.
256253
257-
258254
Any transient errors that occur during the reconciliation of Firewalls
259255
can be added as events to the Firewall object and/or logged in the
260256
controller's output.

0 commit comments

Comments
 (0)