From 1cf5a26b5365b9806af95598195af43b6ad06c91 Mon Sep 17 00:00:00 2001 From: "Adam D. Cornett" Date: Mon, 29 Jul 2024 11:37:10 -0700 Subject: [PATCH] Release v1.36.0 Signed-off-by: Adam D. Cornett --- Makefile | 2 +- changelog/fragments/01-bump-k8s-1.29.yaml | 152 ------------------ changelog/generated/v1.36.0.md | 5 + .../bundle/tests/scorecard/config.yaml | 12 +- .../scorecard/patches/basic.config.yaml | 2 +- .../config/scorecard/patches/olm.config.yaml | 10 +- .../bundle/tests/scorecard/config.yaml | 12 +- .../scorecard/patches/basic.config.yaml | 2 +- .../config/scorecard/patches/olm.config.yaml | 10 +- testdata/helm/memcached-operator/Dockerfile | 2 +- testdata/helm/memcached-operator/Makefile | 2 +- .../bundle/tests/scorecard/config.yaml | 12 +- .../scorecard/patches/basic.config.yaml | 2 +- .../config/scorecard/patches/olm.config.yaml | 10 +- website/config.toml | 14 +- .../content/en/docs/installation/_index.md | 2 +- .../en/docs/upgrading-sdk-version/v1.36.0.md | 125 ++++++++++++++ 17 files changed, 180 insertions(+), 196 deletions(-) delete mode 100644 changelog/fragments/01-bump-k8s-1.29.yaml create mode 100644 changelog/generated/v1.36.0.md create mode 100644 website/content/en/docs/upgrading-sdk-version/v1.36.0.md diff --git a/Makefile b/Makefile index 24239dba3a..d586d5e45e 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ SHELL = /bin/bash # This value must be updated to the release tag of the most recent release, a change that must # occur in the release commit. IMAGE_VERSION will be removed once each subproject that uses this # version is moved to a separate repo and release process. -export IMAGE_VERSION = v1.35.0 +export IMAGE_VERSION = v1.36.0 # Build-time variables to inject into binaries export SIMPLE_VERSION = $(shell (test "$(shell git describe --tags)" = "$(shell git describe --tags --abbrev=0)" && echo $(shell git describe --tags)) || echo $(shell git describe --tags --abbrev=0)+git) export GIT_VERSION = $(shell git describe --dirty --tags --always) diff --git a/changelog/fragments/01-bump-k8s-1.29.yaml b/changelog/fragments/01-bump-k8s-1.29.yaml deleted file mode 100644 index b04384d47a..0000000000 --- a/changelog/fragments/01-bump-k8s-1.29.yaml +++ /dev/null @@ -1,152 +0,0 @@ -# entries is a list of entries to include in -# release notes and/or the migration guide -entries: -- description: > - - Upgrade Kubernetes dependencies from `1.28` to `1.29`. - - # kind is one of: - # - addition - # - change - # - deprecation - # - removal - # - bugfix - kind: "change" - - # Is this a breaking change? - breaking: false - - # NOTE: ONLY USE `pull_request_override` WHEN ADDING THIS - # FILE FOR A PREVIOUSLY MERGED PULL_REQUEST! - # - # The generator auto-detects the PR number from the commit - # message in which this file was originally added. - # - # What is the pull request number (without the "#")? - # pull_request_override: 0 - - # Migration can be defined to automatically add a section to - # the migration guide. This is required for breaking changes. - migration: - header: Upgrade K8s versions to use 1.29 - body: > - Regarding the upcoming major changes in the plugin, please note that `go/v3` is being deprecated by Kubebuilder hence Operator SDK would also be migrating to `go/v4` soon. - Following are the changes to be addressed in your project structure, `Makefile` and `go.mod` files: - 1) [go/v4] Update your `go.mod` file to upgrade the dependencies and run `go mod tidy` to download them - ```go - k8s.io/api v0.29.2 - k8s.io/apimachinery v0.29.2 - k8s.io/client-go v0.29.2 - sigs.k8s.io/controller-runtime v0.17.3 - ``` - 2) [go/v4, helm/v1] The projects are now scaffolded with 0.16.0 version of kube-rbac-proxy. Modify the version of kube-rbac-proxy in the following scaffolded files: - - config/default/manager_auth_proxy_patch.yaml - ```diff - - gcr.io/kubebuilder/kube-rbac-proxy:v0.15.0 - + gcr.io/kubebuilder/kube-rbac-proxy:v0.16.0 - ``` - 3) [go/v4] You can now generate a file that contains all the resources built with Kustomize, which are necessary to install this project without its dependencies. Update your Makefile by adding: - ```diff - + .PHONY: build-installer - + build-installer: manifests generate kustomize ## Generate a consolidated YAML with CRDs and deployment. - + mkdir -p dist - + cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG} - + $(KUSTOMIZE) build config/default > dist/install.yaml - ``` - 4) [go/v4] Update ENVTEST_K8S_VERSION in your Makefile: - ```diff - - ENVTEST_K8S_VERSION = 1.28.3 - + ENVTEST_K8S_VERSION = 1.29.0 - ``` - 5) [go/v4] Remove the following section from your Makefile: - ```diff - - GOLANGCI_LINT = $(shell pwd)/bin/golangci-lint - - GOLANGCI_LINT_VERSION ?= v1.54.2 - - golangci-lint: - - @[ -f $(GOLANGCI_LINT) ] || { \ - - set -e ;\ - - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(shell dirname $(GOLANGCI_LINT)) $(GOLANGCI_LINT_VERSION) ;\ - - } - ``` - 6) [go/v4] Update the following in your Makefile: - ```diff - - ## Tool Binaries - - KUBECTL ?= kubectl - - KUSTOMIZE ?= $(LOCALBIN)/kustomize - - CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen - - ENVTEST ?= $(LOCALBIN)/setup-envtest - - - - ## Tool Versions - - KUSTOMIZE_VERSION ?= v5.2.1 - - CONTROLLER_TOOLS_VERSION ?= v0.13.0 - - - - .PHONY: kustomize - - kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. If wrong version is installed, it will be removed before downloading. - - $(KUSTOMIZE): $(LOCALBIN) - - @if test -x $(LOCALBIN)/kustomize && ! $(LOCALBIN)/kustomize version | grep -q $(KUSTOMIZE_VERSION); then \ - - echo "$(LOCALBIN)/kustomize version is not expected $(KUSTOMIZE_VERSION). Removing it before installing."; \ - - rm -rf $(LOCALBIN)/kustomize; \ - - fi - - test -s $(LOCALBIN)/kustomize || GOBIN=$(LOCALBIN) GO111MODULE=on go install sigs.k8s.io/kustomize/kustomize/v5@$(KUSTOMIZE_VERSION) - - - - .PHONY: controller-gen - - controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary. If wrong version is installed, it will be overwritten. - - $(CONTROLLER_GEN): $(LOCALBIN) - - test -s $(LOCALBIN)/controller-gen && $(LOCALBIN)/controller-gen --version | grep -q $(CONTROLLER_TOOLS_VERSION) || \ - - GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) - - - - .PHONY: envtest - - envtest: $(ENVTEST) ## Download envtest-setup locally if necessary. - - $(ENVTEST): $(LOCALBIN) - - test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest - + ## Tool Binaries - + KUBECTL ?= kubectl - + KUSTOMIZE ?= $(LOCALBIN)/kustomize-$(KUSTOMIZE_VERSION) - + CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen-$(CONTROLLER_TOOLS_VERSION) - + ENVTEST ?= $(LOCALBIN)/setup-envtest-$(ENVTEST_VERSION) - + GOLANGCI_LINT = $(LOCALBIN)/golangci-lint-$(GOLANGCI_LINT_VERSION) - + - + ## Tool Versions - + KUSTOMIZE_VERSION ?= v5.3.0 - + CONTROLLER_TOOLS_VERSION ?= v0.14.0 - + ENVTEST_VERSION ?= release-0.17 - + GOLANGCI_LINT_VERSION ?= v1.57.2 - + - + .PHONY: kustomize - + kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. - + $(KUSTOMIZE): $(LOCALBIN) - + $(call go-install-tool,$(KUSTOMIZE),sigs.k8s.io/kustomize/kustomize/v5,$(KUSTOMIZE_VERSION)) - + - + .PHONY: controller-gen - + controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary. - + $(CONTROLLER_GEN): $(LOCALBIN) - + $(call go-install-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen,$(CONTROLLER_TOOLS_VERSION)) - + - + .PHONY: envtest - + envtest: $(ENVTEST) ## Download setup-envtest locally if necessary. - + $(ENVTEST): $(LOCALBIN) - + $(call go-install-tool,$(ENVTEST),sigs.k8s.io/controller-runtime/tools/setup-envtest,$(ENVTEST_VERSION)) - + - + .PHONY: golangci-lint - + golangci-lint: $(GOLANGCI_LINT) ## Download golangci-lint locally if necessary. - + $(GOLANGCI_LINT): $(LOCALBIN) - + $(call go-install-tool,$(GOLANGCI_LINT),github.com/golangci/golangci-lint/cmd/golangci-lint,${GOLANGCI_LINT_VERSION}) - + - + # go-install-tool will 'go install' any package with custom target and name of binary, if it doesn't exist - + # $1 - target path with name of binary (ideally with version) - + # $2 - package url which can be installed - + # $3 - specific version of package - + define go-install-tool - + @[ -f $(1) ] || { \ - + set -e; \ - + package=$(2)@$(3) ;\ - + echo "Downloading $${package}" ;\ - + GOBIN=$(LOCALBIN) go install $${package} ;\ - + mv "$$(echo "$(1)" | sed "s/-$(3)$$//")" $(1) ;\ - + } - + endef - ``` - 7) [helm/v1] Update the kustomize version in your Makefile: - ```diff - - curl -sSLo - https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v5.2.1/kustomize_v5.2.1_$(OS)_$(ARCH).tar.gz | \ - + curl -sSLo - https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v5.3.0/kustomize_v5.3.0_$(OS)_$(ARCH).tar.gz | \ - ``` \ No newline at end of file diff --git a/changelog/generated/v1.36.0.md b/changelog/generated/v1.36.0.md new file mode 100644 index 0000000000..66c708bb19 --- /dev/null +++ b/changelog/generated/v1.36.0.md @@ -0,0 +1,5 @@ +## v1.36.0 + +### Changes + +- - Upgrade Kubernetes dependencies from `1.28` to `1.29`. ([#6736](https://github.com/operator-framework/operator-sdk/pull/6736)) diff --git a/testdata/go/v4/memcached-operator/bundle/tests/scorecard/config.yaml b/testdata/go/v4/memcached-operator/bundle/tests/scorecard/config.yaml index 4e32de13b2..da55ad96e5 100644 --- a/testdata/go/v4/memcached-operator/bundle/tests/scorecard/config.yaml +++ b/testdata/go/v4/memcached-operator/bundle/tests/scorecard/config.yaml @@ -8,7 +8,7 @@ stages: - entrypoint: - scorecard-test - basic-check-spec - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: basic test: basic-check-spec-test @@ -18,7 +18,7 @@ stages: - entrypoint: - scorecard-test - olm-bundle-validation - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-bundle-validation-test @@ -28,7 +28,7 @@ stages: - entrypoint: - scorecard-test - olm-crds-have-validation - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-crds-have-validation-test @@ -38,7 +38,7 @@ stages: - entrypoint: - scorecard-test - olm-crds-have-resources - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-crds-have-resources-test @@ -48,7 +48,7 @@ stages: - entrypoint: - scorecard-test - olm-spec-descriptors - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-spec-descriptors-test @@ -58,7 +58,7 @@ stages: - entrypoint: - scorecard-test - olm-status-descriptors - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-status-descriptors-test diff --git a/testdata/go/v4/memcached-operator/config/scorecard/patches/basic.config.yaml b/testdata/go/v4/memcached-operator/config/scorecard/patches/basic.config.yaml index 893ebd2da2..aae48c75b3 100644 --- a/testdata/go/v4/memcached-operator/config/scorecard/patches/basic.config.yaml +++ b/testdata/go/v4/memcached-operator/config/scorecard/patches/basic.config.yaml @@ -4,7 +4,7 @@ entrypoint: - scorecard-test - basic-check-spec - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: basic test: basic-check-spec-test diff --git a/testdata/go/v4/memcached-operator/config/scorecard/patches/olm.config.yaml b/testdata/go/v4/memcached-operator/config/scorecard/patches/olm.config.yaml index 6cf777b8f0..1f6b088ee7 100644 --- a/testdata/go/v4/memcached-operator/config/scorecard/patches/olm.config.yaml +++ b/testdata/go/v4/memcached-operator/config/scorecard/patches/olm.config.yaml @@ -4,7 +4,7 @@ entrypoint: - scorecard-test - olm-bundle-validation - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-bundle-validation-test @@ -14,7 +14,7 @@ entrypoint: - scorecard-test - olm-crds-have-validation - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-crds-have-validation-test @@ -24,7 +24,7 @@ entrypoint: - scorecard-test - olm-crds-have-resources - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-crds-have-resources-test @@ -34,7 +34,7 @@ entrypoint: - scorecard-test - olm-spec-descriptors - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-spec-descriptors-test @@ -44,7 +44,7 @@ entrypoint: - scorecard-test - olm-status-descriptors - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-status-descriptors-test diff --git a/testdata/go/v4/monitoring/memcached-operator/bundle/tests/scorecard/config.yaml b/testdata/go/v4/monitoring/memcached-operator/bundle/tests/scorecard/config.yaml index 4e32de13b2..da55ad96e5 100644 --- a/testdata/go/v4/monitoring/memcached-operator/bundle/tests/scorecard/config.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/bundle/tests/scorecard/config.yaml @@ -8,7 +8,7 @@ stages: - entrypoint: - scorecard-test - basic-check-spec - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: basic test: basic-check-spec-test @@ -18,7 +18,7 @@ stages: - entrypoint: - scorecard-test - olm-bundle-validation - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-bundle-validation-test @@ -28,7 +28,7 @@ stages: - entrypoint: - scorecard-test - olm-crds-have-validation - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-crds-have-validation-test @@ -38,7 +38,7 @@ stages: - entrypoint: - scorecard-test - olm-crds-have-resources - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-crds-have-resources-test @@ -48,7 +48,7 @@ stages: - entrypoint: - scorecard-test - olm-spec-descriptors - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-spec-descriptors-test @@ -58,7 +58,7 @@ stages: - entrypoint: - scorecard-test - olm-status-descriptors - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-status-descriptors-test diff --git a/testdata/go/v4/monitoring/memcached-operator/config/scorecard/patches/basic.config.yaml b/testdata/go/v4/monitoring/memcached-operator/config/scorecard/patches/basic.config.yaml index 893ebd2da2..aae48c75b3 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/scorecard/patches/basic.config.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/scorecard/patches/basic.config.yaml @@ -4,7 +4,7 @@ entrypoint: - scorecard-test - basic-check-spec - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: basic test: basic-check-spec-test diff --git a/testdata/go/v4/monitoring/memcached-operator/config/scorecard/patches/olm.config.yaml b/testdata/go/v4/monitoring/memcached-operator/config/scorecard/patches/olm.config.yaml index 6cf777b8f0..1f6b088ee7 100644 --- a/testdata/go/v4/monitoring/memcached-operator/config/scorecard/patches/olm.config.yaml +++ b/testdata/go/v4/monitoring/memcached-operator/config/scorecard/patches/olm.config.yaml @@ -4,7 +4,7 @@ entrypoint: - scorecard-test - olm-bundle-validation - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-bundle-validation-test @@ -14,7 +14,7 @@ entrypoint: - scorecard-test - olm-crds-have-validation - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-crds-have-validation-test @@ -24,7 +24,7 @@ entrypoint: - scorecard-test - olm-crds-have-resources - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-crds-have-resources-test @@ -34,7 +34,7 @@ entrypoint: - scorecard-test - olm-spec-descriptors - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-spec-descriptors-test @@ -44,7 +44,7 @@ entrypoint: - scorecard-test - olm-status-descriptors - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-status-descriptors-test diff --git a/testdata/helm/memcached-operator/Dockerfile b/testdata/helm/memcached-operator/Dockerfile index 509b516a96..2a861174e5 100644 --- a/testdata/helm/memcached-operator/Dockerfile +++ b/testdata/helm/memcached-operator/Dockerfile @@ -1,5 +1,5 @@ # Build the manager binary -FROM quay.io/operator-framework/helm-operator:v1.35.0 +FROM quay.io/operator-framework/helm-operator:v1.36.0 ENV HOME=/opt/helm COPY watches.yaml ${HOME}/watches.yaml diff --git a/testdata/helm/memcached-operator/Makefile b/testdata/helm/memcached-operator/Makefile index 6d5f08be49..f591603969 100644 --- a/testdata/helm/memcached-operator/Makefile +++ b/testdata/helm/memcached-operator/Makefile @@ -147,7 +147,7 @@ ifeq (,$(shell which helm-operator 2>/dev/null)) @{ \ set -e ;\ mkdir -p $(dir $(HELM_OPERATOR)) ;\ - curl -sSLo $(HELM_OPERATOR) https://github.com/operator-framework/operator-sdk/releases/download/v1.35.0/helm-operator_$(OS)_$(ARCH) ;\ + curl -sSLo $(HELM_OPERATOR) https://github.com/operator-framework/operator-sdk/releases/download/v1.36.0/helm-operator_$(OS)_$(ARCH) ;\ chmod +x $(HELM_OPERATOR) ;\ } else diff --git a/testdata/helm/memcached-operator/bundle/tests/scorecard/config.yaml b/testdata/helm/memcached-operator/bundle/tests/scorecard/config.yaml index 4e32de13b2..da55ad96e5 100644 --- a/testdata/helm/memcached-operator/bundle/tests/scorecard/config.yaml +++ b/testdata/helm/memcached-operator/bundle/tests/scorecard/config.yaml @@ -8,7 +8,7 @@ stages: - entrypoint: - scorecard-test - basic-check-spec - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: basic test: basic-check-spec-test @@ -18,7 +18,7 @@ stages: - entrypoint: - scorecard-test - olm-bundle-validation - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-bundle-validation-test @@ -28,7 +28,7 @@ stages: - entrypoint: - scorecard-test - olm-crds-have-validation - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-crds-have-validation-test @@ -38,7 +38,7 @@ stages: - entrypoint: - scorecard-test - olm-crds-have-resources - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-crds-have-resources-test @@ -48,7 +48,7 @@ stages: - entrypoint: - scorecard-test - olm-spec-descriptors - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-spec-descriptors-test @@ -58,7 +58,7 @@ stages: - entrypoint: - scorecard-test - olm-status-descriptors - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-status-descriptors-test diff --git a/testdata/helm/memcached-operator/config/scorecard/patches/basic.config.yaml b/testdata/helm/memcached-operator/config/scorecard/patches/basic.config.yaml index 893ebd2da2..aae48c75b3 100644 --- a/testdata/helm/memcached-operator/config/scorecard/patches/basic.config.yaml +++ b/testdata/helm/memcached-operator/config/scorecard/patches/basic.config.yaml @@ -4,7 +4,7 @@ entrypoint: - scorecard-test - basic-check-spec - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: basic test: basic-check-spec-test diff --git a/testdata/helm/memcached-operator/config/scorecard/patches/olm.config.yaml b/testdata/helm/memcached-operator/config/scorecard/patches/olm.config.yaml index 6cf777b8f0..1f6b088ee7 100644 --- a/testdata/helm/memcached-operator/config/scorecard/patches/olm.config.yaml +++ b/testdata/helm/memcached-operator/config/scorecard/patches/olm.config.yaml @@ -4,7 +4,7 @@ entrypoint: - scorecard-test - olm-bundle-validation - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-bundle-validation-test @@ -14,7 +14,7 @@ entrypoint: - scorecard-test - olm-crds-have-validation - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-crds-have-validation-test @@ -24,7 +24,7 @@ entrypoint: - scorecard-test - olm-crds-have-resources - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-crds-have-resources-test @@ -34,7 +34,7 @@ entrypoint: - scorecard-test - olm-spec-descriptors - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-spec-descriptors-test @@ -44,7 +44,7 @@ entrypoint: - scorecard-test - olm-status-descriptors - image: quay.io/operator-framework/scorecard-test:v1.35.0 + image: quay.io/operator-framework/scorecard-test:v1.36.0 labels: suite: olm test: olm-status-descriptors-test diff --git a/website/config.toml b/website/config.toml index 16bbfa4611..6caa866a9d 100644 --- a/website/config.toml +++ b/website/config.toml @@ -93,20 +93,26 @@ url_latest_version = "https://sdk.operatorframework.io" version = "master" url = "https://master.sdk.operatorframework.io" ##LATEST_RELEASE_KUBE_VERSION## - kube_version = "1.28.0" + kube_version = "1.29.0" ##LATEST_RELEASE_CLIENT_GO_VERSION## - client_go_version = "v0.28.5" + client_go_version = "v0.29.3" [[params.versions]] version = "Latest Release" url = "https://sdk.operatorframework.io" ##LATEST_RELEASE_KUBE_VERSION## - kube_version = "1.28.0" + kube_version = "1.29.0" ##LATEST_RELEASE_CLIENT_GO_VERSION## - client_go_version = "v0.28.5" + client_go_version = "v0.29.3" ##RELEASE_ADDME## +[[params.versions]] + version = "v1.36" + url = "https://v1-36-x.sdk.operatorframework.io" + kube_version = "1.29.0" + client_go_version = "v0.29.3" + [[params.versions]] version = "v1.35" url = "https://v1-35-x.sdk.operatorframework.io" diff --git a/website/content/en/docs/installation/_index.md b/website/content/en/docs/installation/_index.md index 00cef79b84..7eee76731e 100644 --- a/website/content/en/docs/installation/_index.md +++ b/website/content/en/docs/installation/_index.md @@ -36,7 +36,7 @@ export OS=$(uname | awk '{print tolower($0)}') Download the binary for your platform: ```sh -export OPERATOR_SDK_DL_URL=https://github.com/operator-framework/operator-sdk/releases/download/v1.35.0 +export OPERATOR_SDK_DL_URL=https://github.com/operator-framework/operator-sdk/releases/download/v1.36.0 curl -LO ${OPERATOR_SDK_DL_URL}/operator-sdk_${OS}_${ARCH} ``` diff --git a/website/content/en/docs/upgrading-sdk-version/v1.36.0.md b/website/content/en/docs/upgrading-sdk-version/v1.36.0.md new file mode 100644 index 0000000000..ae54dd0ffe --- /dev/null +++ b/website/content/en/docs/upgrading-sdk-version/v1.36.0.md @@ -0,0 +1,125 @@ +--- +title: v1.36.0 +weight: 998964000 +--- + +## Upgrade K8s versions to use 1.29 + +Regarding the upcoming major changes in the plugin, please note that `go/v3` is being deprecated by Kubebuilder hence Operator SDK would also be migrating to `go/v4` soon. Following are the changes to be addressed in your project structure, `Makefile` and `go.mod` files: 1) [go/v4] Update your `go.mod` file to upgrade the dependencies and run `go mod tidy` to download them ```go + k8s.io/api v0.29.2 + k8s.io/apimachinery v0.29.2 + k8s.io/client-go v0.29.2 + sigs.k8s.io/controller-runtime v0.17.3 +``` 2) [go/v4, helm/v1] The projects are now scaffolded with 0.16.0 version of kube-rbac-proxy. Modify the version of kube-rbac-proxy in the following scaffolded files: - config/default/manager_auth_proxy_patch.yaml + ```diff + - gcr.io/kubebuilder/kube-rbac-proxy:v0.15.0 + + gcr.io/kubebuilder/kube-rbac-proxy:v0.16.0 + ``` +3) [go/v4] You can now generate a file that contains all the resources built with Kustomize, which are necessary to install this project without its dependencies. Update your Makefile by adding: + ```diff + + .PHONY: build-installer + + build-installer: manifests generate kustomize ## Generate a consolidated YAML with CRDs and deployment. + + mkdir -p dist + + cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG} + + $(KUSTOMIZE) build config/default > dist/install.yaml + ``` +4) [go/v4] Update ENVTEST_K8S_VERSION in your Makefile: + ```diff + - ENVTEST_K8S_VERSION = 1.28.3 + + ENVTEST_K8S_VERSION = 1.29.0 + ``` +5) [go/v4] Remove the following section from your Makefile: + ```diff + - GOLANGCI_LINT = $(shell pwd)/bin/golangci-lint + - GOLANGCI_LINT_VERSION ?= v1.54.2 + - golangci-lint: + - @[ -f $(GOLANGCI_LINT) ] || { \ + - set -e ;\ + - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(shell dirname $(GOLANGCI_LINT)) $(GOLANGCI_LINT_VERSION) ;\ + - } + ``` +6) [go/v4] Update the following in your Makefile: + ```diff + - ## Tool Binaries + - KUBECTL ?= kubectl + - KUSTOMIZE ?= $(LOCALBIN)/kustomize + - CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen + - ENVTEST ?= $(LOCALBIN)/setup-envtest + - + - ## Tool Versions + - KUSTOMIZE_VERSION ?= v5.2.1 + - CONTROLLER_TOOLS_VERSION ?= v0.13.0 + - + - .PHONY: kustomize + - kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. If wrong version is installed, it will be removed before downloading. + - $(KUSTOMIZE): $(LOCALBIN) + - @if test -x $(LOCALBIN)/kustomize && ! $(LOCALBIN)/kustomize version | grep -q $(KUSTOMIZE_VERSION); then \ + - echo "$(LOCALBIN)/kustomize version is not expected $(KUSTOMIZE_VERSION). Removing it before installing."; \ + - rm -rf $(LOCALBIN)/kustomize; \ + - fi + - test -s $(LOCALBIN)/kustomize || GOBIN=$(LOCALBIN) GO111MODULE=on go install sigs.k8s.io/kustomize/kustomize/v5@$(KUSTOMIZE_VERSION) + - + - .PHONY: controller-gen + - controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary. If wrong version is installed, it will be overwritten. + - $(CONTROLLER_GEN): $(LOCALBIN) + - test -s $(LOCALBIN)/controller-gen && $(LOCALBIN)/controller-gen --version | grep -q $(CONTROLLER_TOOLS_VERSION) || \ + - GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION) + - + - .PHONY: envtest + - envtest: $(ENVTEST) ## Download envtest-setup locally if necessary. + - $(ENVTEST): $(LOCALBIN) + - test -s $(LOCALBIN)/setup-envtest || GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest + + ## Tool Binaries + + KUBECTL ?= kubectl + + KUSTOMIZE ?= $(LOCALBIN)/kustomize-$(KUSTOMIZE_VERSION) + + CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen-$(CONTROLLER_TOOLS_VERSION) + + ENVTEST ?= $(LOCALBIN)/setup-envtest-$(ENVTEST_VERSION) + + GOLANGCI_LINT = $(LOCALBIN)/golangci-lint-$(GOLANGCI_LINT_VERSION) + + + + ## Tool Versions + + KUSTOMIZE_VERSION ?= v5.3.0 + + CONTROLLER_TOOLS_VERSION ?= v0.14.0 + + ENVTEST_VERSION ?= release-0.17 + + GOLANGCI_LINT_VERSION ?= v1.57.2 + + + + .PHONY: kustomize + + kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. + + $(KUSTOMIZE): $(LOCALBIN) + + $(call go-install-tool,$(KUSTOMIZE),sigs.k8s.io/kustomize/kustomize/v5,$(KUSTOMIZE_VERSION)) + + + + .PHONY: controller-gen + + controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary. + + $(CONTROLLER_GEN): $(LOCALBIN) + + $(call go-install-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen,$(CONTROLLER_TOOLS_VERSION)) + + + + .PHONY: envtest + + envtest: $(ENVTEST) ## Download setup-envtest locally if necessary. + + $(ENVTEST): $(LOCALBIN) + + $(call go-install-tool,$(ENVTEST),sigs.k8s.io/controller-runtime/tools/setup-envtest,$(ENVTEST_VERSION)) + + + + .PHONY: golangci-lint + + golangci-lint: $(GOLANGCI_LINT) ## Download golangci-lint locally if necessary. + + $(GOLANGCI_LINT): $(LOCALBIN) + + $(call go-install-tool,$(GOLANGCI_LINT),github.com/golangci/golangci-lint/cmd/golangci-lint,${GOLANGCI_LINT_VERSION}) + + + + # go-install-tool will 'go install' any package with custom target and name of binary, if it doesn't exist + + # $1 - target path with name of binary (ideally with version) + + # $2 - package url which can be installed + + # $3 - specific version of package + + define go-install-tool + + @[ -f $(1) ] || { \ + + set -e; \ + + package=$(2)@$(3) ;\ + + echo "Downloading $${package}" ;\ + + GOBIN=$(LOCALBIN) go install $${package} ;\ + + mv "$$(echo "$(1)" | sed "s/-$(3)$$//")" $(1) ;\ + + } + + endef + ``` +7) [helm/v1] Update the kustomize version in your Makefile: + ```diff + - curl -sSLo - https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v5.2.1/kustomize_v5.2.1_$(OS)_$(ARCH).tar.gz | \ + + curl -sSLo - https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v5.3.0/kustomize_v5.3.0_$(OS)_$(ARCH).tar.gz | \ + ``` + +_See [#6736](https://github.com/operator-framework/operator-sdk/pull/6736) for more details._