Skip to content

Commit ecda374

Browse files
authored
Merge pull request #75 from leaseweb/develop
feat: K8s 1.33 support with CAPI 1.10.4
2 parents 20f8e81 + bd05cc3 commit ecda374

39 files changed

+563
-540
lines changed

.github/workflows/pr-check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
with:
1717
go-version: '1.23'
1818

19-
- name: Run unit tests
19+
- name: Run lint checks
2020
run: make lint
2121

2222
build:

Makefile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ include $(REPO_ROOT)/common.mk
1919
#
2020
# Kubebuilder.
2121
#
22-
export KUBEBUILDER_ENVTEST_KUBERNETES_VERSION ?= 1.31.0
22+
export KUBEBUILDER_ENVTEST_KUBERNETES_VERSION ?= 1.33.0
2323
export KUBEBUILDER_CONTROLPLANE_START_TIMEOUT ?= 60s
2424
export KUBEBUILDER_CONTROLPLANE_STOP_TIMEOUT ?=
2525

@@ -44,12 +44,12 @@ KUSTOMIZE_BIN := kustomize
4444
KUSTOMIZE := $(abspath $(TOOLS_BIN_DIR)/$(KUSTOMIZE_BIN)-$(KUSTOMIZE_VER))
4545
KUSTOMIZE_PKG := sigs.k8s.io/kustomize/kustomize/v5
4646

47-
SETUP_ENVTEST_VER := release-0.19
47+
SETUP_ENVTEST_VER := release-0.20
4848
SETUP_ENVTEST_BIN := setup-envtest
4949
SETUP_ENVTEST := $(abspath $(TOOLS_BIN_DIR)/$(SETUP_ENVTEST_BIN)-$(SETUP_ENVTEST_VER))
5050
SETUP_ENVTEST_PKG := sigs.k8s.io/controller-runtime/tools/setup-envtest
5151

52-
CONTROLLER_GEN_VER := v0.16.1
52+
CONTROLLER_GEN_VER := v0.17.2
5353
CONTROLLER_GEN_BIN := controller-gen
5454
CONTROLLER_GEN := $(abspath $(TOOLS_BIN_DIR)/$(CONTROLLER_GEN_BIN)-$(CONTROLLER_GEN_VER))
5555
CONTROLLER_GEN_PKG := sigs.k8s.io/controller-tools/cmd/controller-gen
@@ -59,7 +59,7 @@ GOTESTSUM_BIN := gotestsum
5959
GOTESTSUM := $(abspath $(TOOLS_BIN_DIR)/$(GOTESTSUM_BIN)-$(GOTESTSUM_VER))
6060
GOTESTSUM_PKG := gotest.tools/gotestsum
6161

62-
CONVERSION_GEN_VER := v0.31.8
62+
CONVERSION_GEN_VER := v0.32.2
6363
CONVERSION_GEN_BIN := conversion-gen
6464
# We are intentionally using the binary without version suffix, to avoid the version
6565
# in generated files.
@@ -288,7 +288,7 @@ delete-kind-cluster:
288288
kind delete cluster --name $(KIND_CLUSTER_NAME)
289289

290290
cluster-api: ## Clone cluster-api repository for tilt use.
291-
git clone --branch v1.9.10 --depth 1 https://github.com/kubernetes-sigs/cluster-api.git
291+
git clone --branch v1.10.4 --depth 1 https://github.com/kubernetes-sigs/cluster-api.git
292292

293293
cluster-api/tilt-settings.json: hack/tilt-settings.json cluster-api
294294
cp ./hack/tilt-settings.json cluster-api

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

Lines changed: 1 addition & 1 deletion
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.16.1
6+
controller-gen.kubebuilder.io/version: v0.17.2
77
name: cloudstackaffinitygroups.infrastructure.cluster.x-k8s.io
88
spec:
99
group: infrastructure.cluster.x-k8s.io

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

Lines changed: 20 additions & 10 deletions
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.16.1
6+
controller-gen.kubebuilder.io/version: v0.17.2
77
name: cloudstackclusters.infrastructure.cluster.x-k8s.io
88
spec:
99
group: infrastructure.cluster.x-k8s.io
@@ -50,10 +50,11 @@ spec:
5050
description: The kubernetes control plane endpoint.
5151
properties:
5252
host:
53-
description: The hostname on which the API server is serving.
53+
description: host is the hostname on which the API server is serving.
54+
maxLength: 512
5455
type: string
5556
port:
56-
description: The port on which the API server is serving.
57+
description: port is the port on which the API server is serving.
5758
format: int32
5859
type: integer
5960
required:
@@ -220,10 +221,11 @@ spec:
220221
description: The kubernetes control plane endpoint.
221222
properties:
222223
host:
223-
description: The hostname on which the API server is serving.
224+
description: host is the hostname on which the API server is serving.
225+
maxLength: 512
224226
type: string
225227
port:
226-
description: The port on which the API server is serving.
228+
description: port is the port on which the API server is serving.
227229
format: int32
228230
type: integer
229231
required:
@@ -405,10 +407,11 @@ spec:
405407
description: The kubernetes control plane endpoint.
406408
properties:
407409
host:
408-
description: The hostname on which the API server is serving.
410+
description: host is the hostname on which the API server is serving.
411+
maxLength: 512
409412
type: string
410413
port:
411-
description: The port on which the API server is serving.
414+
description: port is the port on which the API server is serving.
412415
format: int32
413416
type: integer
414417
required:
@@ -507,27 +510,32 @@ spec:
507510
properties:
508511
lastTransitionTime:
509512
description: |-
510-
Last time the condition transitioned from one status to another.
513+
lastTransitionTime is the last time the condition transitioned from one status to another.
511514
This should be when the underlying condition changed. If that is not known, then using the time when
512515
the API field changed is acceptable.
513516
format: date-time
514517
type: string
515518
message:
516519
description: |-
517-
A human readable message indicating details about the transition.
520+
message is a human readable message indicating details about the transition.
518521
This field may be empty.
522+
maxLength: 10240
523+
minLength: 1
519524
type: string
520525
reason:
521526
description: |-
522-
The reason for the condition's last transition in CamelCase.
527+
reason is the reason for the condition's last transition in CamelCase.
523528
The specific API may choose whether or not this field is considered a guaranteed API.
524529
This field may be empty.
530+
maxLength: 256
531+
minLength: 1
525532
type: string
526533
severity:
527534
description: |-
528535
severity provides an explicit classification of Reason code, so the users or machines can immediately
529536
understand the current situation and act accordingly.
530537
The Severity field MUST be set only when Status=False.
538+
maxLength: 32
531539
type: string
532540
status:
533541
description: status of the condition, one of True, False, Unknown.
@@ -537,6 +545,8 @@ spec:
537545
type of condition in CamelCase or in foo.example.com/CamelCase.
538546
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions
539547
can be useful (see .node.status.conditions), the ability to deconflict is important.
548+
maxLength: 256
549+
minLength: 1
540550
type: string
541551
required:
542552
- lastTransitionTime

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

Lines changed: 7 additions & 4 deletions
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.16.1
6+
controller-gen.kubebuilder.io/version: v0.17.2
77
name: cloudstackclustertemplates.infrastructure.cluster.x-k8s.io
88
spec:
99
group: infrastructure.cluster.x-k8s.io
@@ -72,7 +72,7 @@ spec:
7272
additionalProperties:
7373
type: string
7474
description: |-
75-
Map of string keys and values that can be used to organize and categorize
75+
labels is a map of string keys and values that can be used to organize and categorize
7676
(scope and select) objects. May match selectors of replication controllers
7777
and services.
7878
More info: http://kubernetes.io/docs/user-guide/labels
@@ -118,10 +118,13 @@ spec:
118118
description: The kubernetes control plane endpoint.
119119
properties:
120120
host:
121-
description: The hostname on which the API server is serving.
121+
description: host is the hostname on which the API server
122+
is serving.
123+
maxLength: 512
122124
type: string
123125
port:
124-
description: The port on which the API server is serving.
126+
description: port is the port on which the API server
127+
is serving.
125128
format: int32
126129
type: integer
127130
required:

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

Lines changed: 1 addition & 1 deletion
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.16.1
6+
controller-gen.kubebuilder.io/version: v0.17.2
77
name: cloudstackfailuredomains.infrastructure.cluster.x-k8s.io
88
spec:
99
group: infrastructure.cluster.x-k8s.io

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

Lines changed: 10 additions & 7 deletions
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.16.1
6+
controller-gen.kubebuilder.io/version: v0.17.2
77
name: cloudstackisolatednetworks.infrastructure.cluster.x-k8s.io
88
spec:
99
group: infrastructure.cluster.x-k8s.io
@@ -45,10 +45,11 @@ spec:
4545
description: The kubernetes control plane endpoint.
4646
properties:
4747
host:
48-
description: The hostname on which the API server is serving.
48+
description: host is the hostname on which the API server is serving.
49+
maxLength: 512
4950
type: string
5051
port:
51-
description: The port on which the API server is serving.
52+
description: port is the port on which the API server is serving.
5253
format: int32
5354
type: integer
5455
required:
@@ -116,10 +117,11 @@ spec:
116117
description: The kubernetes control plane endpoint.
117118
properties:
118119
host:
119-
description: The hostname on which the API server is serving.
120+
description: host is the hostname on which the API server is serving.
121+
maxLength: 512
120122
type: string
121123
port:
122-
description: The port on which the API server is serving.
124+
description: port is the port on which the API server is serving.
123125
format: int32
124126
type: integer
125127
required:
@@ -195,10 +197,11 @@ spec:
195197
description: The kubernetes control plane endpoint.
196198
properties:
197199
host:
198-
description: The hostname on which the API server is serving.
200+
description: host is the hostname on which the API server is serving.
201+
maxLength: 512
199202
type: string
200203
port:
201-
description: The port on which the API server is serving.
204+
description: port is the port on which the API server is serving.
202205
format: int32
203206
type: integer
204207
required:

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

Lines changed: 11 additions & 4 deletions
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.16.1
6+
controller-gen.kubebuilder.io/version: v0.17.2
77
name: cloudstackmachines.infrastructure.cluster.x-k8s.io
88
spec:
99
group: infrastructure.cluster.x-k8s.io
@@ -728,27 +728,32 @@ spec:
728728
properties:
729729
lastTransitionTime:
730730
description: |-
731-
Last time the condition transitioned from one status to another.
731+
lastTransitionTime is the last time the condition transitioned from one status to another.
732732
This should be when the underlying condition changed. If that is not known, then using the time when
733733
the API field changed is acceptable.
734734
format: date-time
735735
type: string
736736
message:
737737
description: |-
738-
A human readable message indicating details about the transition.
738+
message is a human readable message indicating details about the transition.
739739
This field may be empty.
740+
maxLength: 10240
741+
minLength: 1
740742
type: string
741743
reason:
742744
description: |-
743-
The reason for the condition's last transition in CamelCase.
745+
reason is the reason for the condition's last transition in CamelCase.
744746
The specific API may choose whether or not this field is considered a guaranteed API.
745747
This field may be empty.
748+
maxLength: 256
749+
minLength: 1
746750
type: string
747751
severity:
748752
description: |-
749753
severity provides an explicit classification of Reason code, so the users or machines can immediately
750754
understand the current situation and act accordingly.
751755
The Severity field MUST be set only when Status=False.
756+
maxLength: 32
752757
type: string
753758
status:
754759
description: status of the condition, one of True, False, Unknown.
@@ -758,6 +763,8 @@ spec:
758763
type of condition in CamelCase or in foo.example.com/CamelCase.
759764
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions
760765
can be useful (see .node.status.conditions), the ability to deconflict is important.
766+
maxLength: 256
767+
minLength: 1
761768
type: string
762769
required:
763770
- lastTransitionTime

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

Lines changed: 1 addition & 1 deletion
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.16.1
6+
controller-gen.kubebuilder.io/version: v0.17.2
77
name: cloudstackmachinestatecheckers.infrastructure.cluster.x-k8s.io
88
spec:
99
group: infrastructure.cluster.x-k8s.io

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

Lines changed: 2 additions & 2 deletions
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.16.1
6+
controller-gen.kubebuilder.io/version: v0.17.2
77
name: cloudstackmachinetemplates.infrastructure.cluster.x-k8s.io
88
spec:
99
group: infrastructure.cluster.x-k8s.io
@@ -482,7 +482,7 @@ spec:
482482
additionalProperties:
483483
type: string
484484
description: |-
485-
Map of string keys and values that can be used to organize and categorize
485+
labels is a map of string keys and values that can be used to organize and categorize
486486
(scope and select) objects. May match selectors of replication controllers
487487
and services.
488488
More info: http://kubernetes.io/docs/user-guide/labels

0 commit comments

Comments
 (0)