Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump k8s dependencies to 1.30 #1158

Open
wants to merge 26 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 37 additions & 17 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,7 @@ example-vms: docker-build-examples load-example-vms ## Build and push the testin

.PHONY: example-vms-arm64
example-vms-arm64: TARGET_ARCH=arm64
example-vms-arm64: example-vms
example-vms-arm64: example-vms

.PHONY: load-pg16-disk-test
load-pg16-disk-test: check-local-context kubectl kind k3d ## Load the pg16-disk-test VM image to the kind/k3d cluster.
Expand Down Expand Up @@ -477,27 +477,26 @@ $(LOCALBIN):

## Tools
KUSTOMIZE ?= $(LOCALBIN)/kustomize
# same as used in kubectl v1.28.x ; see https://github.com/kubernetes-sigs/kustomize/tree/master?tab=readme-ov-file#kubectl-integration
# _should_ be the same version kubectl v1.30.x uses (IE https://github.com/kubernetes/kubectl/blob/release-1.30/go.mod#L44) however
# there is apparently no 5.0.4 binary release
KUSTOMIZE_VERSION ?= v5.1.1

ENVTEST ?= $(LOCALBIN)/setup-envtest
# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
# List of available versions: https://storage.googleapis.com/kubebuilder-tools
ENVTEST_K8S_VERSION = 1.28.3
ENVTEST_K8S_VERSION = 1.30.0

CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen
# We went ahead of k8s 1.28 with controller-tools v0.14.0 (which depends on k8s 1.29) to unblock go 1.22 upgrade.
# It should be *relatively* safe as the only changes from this controller-tools version are description in CRD.
# Once we upgrade to k8s 1.29, there's no need to change CONTROLLER_TOOLS_VERSION, and this 3 lines can be removed.
#
# k8s deps @ 1.29.0 https://github.com/kubernetes-sigs/controller-tools/blob/<version>/go.mod
CONTROLLER_TOOLS_VERSION ?= v0.14.0

CODE_GENERATOR_VERSION ?= v0.28.12
# k8s deps @ 1.30.7 https://github.com/kubernetes-sigs/controller-tools/blob/<version>/go.mod
CONTROLLER_TOOLS_VERSION ?= v0.15.0

# Should match the kubernetes minor vesion
CODE_GENERATOR_VERSION ?= v0.30.7

KUTTL ?= $(LOCALBIN)/kuttl
# k8s deps @ 1.28.3
KUTTL_VERSION ?= v0.16.0
# k8s deps @ 1.30.7
KUTTL_VERSION ?= v0.18.0
edude03 marked this conversation as resolved.
Show resolved Hide resolved
ifeq ($(GOARCH), arm64)
KUTTL_ARCH = arm64
else ifeq ($(GOARCH), amd64)
Expand All @@ -506,15 +505,21 @@ else
$(error Unsupported architecture: $(GOARCH))
endif
KUBECTL ?= $(LOCALBIN)/kubectl
KUBECTL_VERSION ?= v1.29.10
KUBECTL_VERSION ?= v1.30.7

ETCD ?= $(LOCALBIN)/etcd

# Use the same version kuberentes is tested against, see
# https://github.com/kubernetes/kubernetes/blob/release-1.30/build/dependencies.yaml#L65-L67 for example
ETCD_VERSION ?= v3.5.15

KIND ?= $(LOCALBIN)/kind
# https://github.com/kubernetes-sigs/kind/releases/tag/v0.23.0, supports k8s up to 1.30
edude03 marked this conversation as resolved.
Show resolved Hide resolved
KIND_VERSION ?= v0.23.0
# https://github.com/kubernetes-sigs/kind/releases/tag/v0.24.0, supports k8s up to 1.31
KIND_VERSION ?= v0.24.0

K3D ?= $(LOCALBIN)/k3d
# k8s deps in go.mod @ v1.29.4 (nb: binary, separate from images)
edude03 marked this conversation as resolved.
Show resolved Hide resolved
K3D_VERSION ?= v5.7.4
# k8s deps in go.mod @ 1.30.7
K3D_VERSION ?= v5.7.5

## Install tools
KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"
Expand Down Expand Up @@ -561,3 +566,18 @@ cert-manager: check-local-context kubectl ## install cert-manager to cluster
python-init:
python3 -m venv tests/e2e/.venv
tests/e2e/.venv/bin/pip install -r requirements.txt

.PHONY: etcd
etcd: $(ETCD)
$(ETCD): $(LOCALBIN)
@test -s $(LOCALBIN)/etcd || { \
if [ "$(GOOS)" = "darwin" ]; then \
curl -sfSL -o $(LOCALBIN)/etcd-temp https://github.com/etcd-io/etcd/releases/download/$(ETCD_VERSION)/etcd-$(ETCD_VERSION)-$(GOOS)-$(GOARCH).zip && \
unzip -j $(LOCALBIN)/etcd-temp "*/etcd" "*/etcdctl" -d $(LOCALBIN) && \
rm $(LOCALBIN)/etcd-temp; \
else \
curl -sfSL -o $(LOCALBIN)/etcd-temp https://github.com/etcd-io/etcd/releases/download/$(ETCD_VERSION)/etcd-$(ETCD_VERSION)-$(GOOS)-$(GOARCH).tar.gz && \
tar -xvf $(LOCALBIN)/etcd-temp -C $(LOCALBIN) --strip-components=1 && \
rm $(LOCALBIN)/etcd-temp; \
fi \
}
88 changes: 44 additions & 44 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,35 @@ go 1.23.0
replace (
github.com/google/gnostic => github.com/google/gnostic v0.7.0
github.com/optiopay/kafka => github.com/optiopay/kafka v0.0.0
k8s.io/api => k8s.io/api v0.29.10
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.29.10
k8s.io/apimachinery => k8s.io/apimachinery v0.29.10
k8s.io/apiserver => k8s.io/apiserver v0.29.10
k8s.io/cli-runtime => k8s.io/cli-runtime v0.29.10
k8s.io/client-go => k8s.io/client-go v0.29.10
k8s.io/cloud-provider => k8s.io/cloud-provider v0.29.10
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.29.10
k8s.io/code-generator => k8s.io/code-generator v0.29.10
k8s.io/component-base => k8s.io/component-base v0.29.10
k8s.io/component-helpers => k8s.io/component-helpers v0.29.10
k8s.io/controller-manager => k8s.io/controller-manager v0.29.10
k8s.io/cri-api => k8s.io/cri-api v0.29.10
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.29.10
k8s.io/endpointslice => k8s.io/endpointslice v0.29.10
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.29.10
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.29.10
k8s.io/api => k8s.io/api v0.30.7
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.30.7
k8s.io/apimachinery => k8s.io/apimachinery v0.30.7
k8s.io/apiserver => k8s.io/apiserver v0.30.7
k8s.io/cli-runtime => k8s.io/cli-runtime v0.30.7
k8s.io/client-go => k8s.io/client-go v0.30.7
k8s.io/cloud-provider => k8s.io/cloud-provider v0.30.7
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.30.7
k8s.io/code-generator => k8s.io/code-generator v0.30.7
k8s.io/component-base => k8s.io/component-base v0.30.7
k8s.io/component-helpers => k8s.io/component-helpers v0.30.7
k8s.io/controller-manager => k8s.io/controller-manager v0.30.7
k8s.io/cri-api => k8s.io/cri-api v0.30.7
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.30.7
k8s.io/endpointslice => k8s.io/endpointslice v0.30.7
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.30.7
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.30.7
k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00
k8s.io/kube-proxy => k8s.io/kube-proxy v0.29.10
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.29.10
k8s.io/kubectl => k8s.io/kubectl v0.29.10
k8s.io/kubelet => k8s.io/kubelet v0.29.10
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.29.10
k8s.io/metrics => k8s.io/metrics v0.29.10
k8s.io/mount-utils => k8s.io/mount-utils v0.29.10
k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.29.10
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.29.10
k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.29.10
k8s.io/sample-controller => k8s.io/sample-controller v0.29.10
k8s.io/kube-proxy => k8s.io/kube-proxy v0.30.7
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.30.7
k8s.io/kubectl => k8s.io/kubectl v0.30.7
k8s.io/kubelet => k8s.io/kubelet v0.30.7
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.30.7
k8s.io/metrics => k8s.io/metrics v0.30.7
k8s.io/mount-utils => k8s.io/mount-utils v0.30.7
k8s.io/pod-security-admission => k8s.io/pod-security-admission v0.30.7
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.30.7
k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.30.7
k8s.io/sample-controller => k8s.io/sample-controller v0.30.7
)

require (
Expand Down Expand Up @@ -75,14 +75,14 @@ require (
golang.org/x/exp v0.0.0-20230425010034-47ecfdc1ba53
golang.org/x/term v0.21.0
gopkg.in/yaml.v3 v3.0.1
k8s.io/api v0.29.30
k8s.io/apimachinery v0.29.30
k8s.io/apiserver v0.30.2
k8s.io/client-go v0.29.30
k8s.io/api v0.30.7
k8s.io/apimachinery v0.30.7
k8s.io/apiserver v0.30.7
k8s.io/client-go v0.30.7
k8s.io/klog/v2 v2.120.1
k8s.io/kubernetes v1.29.10
k8s.io/kubernetes v1.30.7
nhooyr.io/websocket v1.8.7
sigs.k8s.io/controller-runtime v0.17.6 // should match k8s dependencies versions
sigs.k8s.io/controller-runtime v0.18.5 // should match k8s dependencies versions
)

require (
Expand Down Expand Up @@ -125,7 +125,7 @@ require (
github.com/docker/go-units v0.5.0 // indirect
github.com/emicklei/go-restful/v3 v3.12.1 // indirect
github.com/evanphx/json-patch v5.6.0+incompatible // indirect
github.com/evanphx/json-patch/v5 v5.8.0 // indirect
github.com/evanphx/json-patch/v5 v5.9.0 // indirect
github.com/felixge/httpsnoop v1.0.3 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
Expand All @@ -138,7 +138,7 @@ require (
github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/protobuf v1.5.4 // indirect
github.com/google/cel-go v0.17.7 // indirect
github.com/google/cel-go v0.17.8 // indirect
github.com/google/gnostic-models v0.6.9-0.20230804172637-c7be7c783f49 // indirect
github.com/google/go-cmp v0.6.0 // indirect
github.com/google/gofuzz v1.2.0 // indirect
Expand Down Expand Up @@ -206,20 +206,20 @@ require (
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gotest.tools/v3 v3.5.1 // indirect
k8s.io/apiextensions-apiserver v0.29.2 // indirect
k8s.io/apiextensions-apiserver v0.30.7 // indirect
k8s.io/cloud-provider v0.0.0 // indirect
k8s.io/component-base v0.29.10 // indirect
k8s.io/component-helpers v0.29.10 // indirect
k8s.io/controller-manager v0.29.10 // indirect
k8s.io/component-base v0.30.7 // indirect
k8s.io/component-helpers v0.30.7 // indirect
k8s.io/controller-manager v0.30.7 // indirect
k8s.io/csi-translation-lib v0.0.0 // indirect
k8s.io/dynamic-resource-allocation v0.28.12 // indirect
k8s.io/kms v0.29.10 // indirect
k8s.io/dynamic-resource-allocation v0.30.7 // indirect
k8s.io/kms v0.30.7 // indirect
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
k8s.io/kube-scheduler v0.0.0 // indirect
k8s.io/kubelet v0.28.12 // indirect
k8s.io/kubelet v0.30.7 // indirect
k8s.io/mount-utils v0.0.0 // indirect
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0 // indirect
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.29.0 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect
Expand Down
Loading
Loading