1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00

OSDOCS-3746 OSDK 1.22 project migration

This commit is contained in:
Michael Ryan Peter
2022-06-17 17:24:33 -04:00
committed by openshift-cherrypick-robot
parent 49b041cda3
commit 0a89385e4e
8 changed files with 488 additions and 35 deletions

View File

@@ -1468,8 +1468,6 @@ Topics:
File: osdk-about
- Name: Installing the Operator SDK CLI
File: osdk-installing-cli
- Name: Upgrading projects for newer Operator SDK versions
File: osdk-upgrading-projects
- Name: Go-based Operators
Dir: golang
Topics:
@@ -1479,6 +1477,8 @@ Topics:
File: osdk-golang-tutorial
- Name: Project layout
File: osdk-golang-project-layout
- Name: Updating Go-based projects
File: osdk-golang-updating-projects
- Name: Ansible-based Operators
Dir: ansible
Topics:
@@ -1488,6 +1488,8 @@ Topics:
File: osdk-ansible-tutorial
- Name: Project layout
File: osdk-ansible-project-layout
- Name: Updating Ansible-based projects
File: osdk-ansible-updating-projects
- Name: Ansible support
File: osdk-ansible-support
- Name: Kubernetes Collection for Ansible
@@ -1505,10 +1507,14 @@ Topics:
File: osdk-helm-tutorial
- Name: Project layout
File: osdk-helm-project-layout
- Name: Updating Helm-based projects
File: osdk-helm-updating-projects
- Name: Helm support
File: osdk-helm-support
- Name: Hybrid Helm Operator
File: osdk-hybrid-helm
- Name: Updating Hybrid Helm-based projects
File: osdk-hybrid-helm-updating-projects
- Name: Java-based Operators
Dir: java
Topics:

View File

@@ -36,14 +36,14 @@ endif::[]
- xref:../../../operators/operator_sdk/osdk-installing-cli.adoc#osdk-installing-cli[Operator SDK CLI installed]
- xref:../../../cli_reference/openshift_cli/getting-started-cli.adoc#getting-started-cli[OpenShift CLI (`oc`) v{product-version}+ installed]
ifdef::golang[]
- link:https://golang.org/dl/[Go] v1.16+
- link:https://www.mercurial-scm.org/downloads[Mercurial] v3.9+
- link:https://golang.org/dl/[Go] v1.18+
endif::[]
ifdef::ansible[]
- link:https://docs.ansible.com/ansible/2.9/index.html[Ansible] v2.9.0
- link:https://ansible-runner.readthedocs.io/en/latest/install.html[Ansible Runner] v2.0.2+
- link:https://github.com/ansible/ansible-runner-http[Ansible Runner HTTP Event Emitter plug-in] v1.0.0+
- link:https://pypi.org/project/openshift/[OpenShift Python client] v0.11.2+
- link:https://www.python.org/downloads/[Python] 3.8.6+
- link:https://pypi.org/project/openshift/[OpenShift Python client] v0.12.0+
endif::[]
ifdef::java[]
- link:https://java.com/en/download/help/download_options.html[Java] v11+

View File

@@ -0,0 +1,353 @@
// Module included in the following assemblies:
//
// * operators/operator_sdk/golang/osdk-golang-updating-projects.adoc
// * operators/operator_sdk/ansible/osdk-ansible-updating-projects.adoc
// * operators/operator_sdk/helm/osdk-helm-updating-projects.adoc
// * operators/operator_sdk/helm/osdk-hybrid-helm-updating-projects.adoc
ifeval::["{context}" == "osdk-golang-updating-projects"]
:golang:
:type: Go
endif::[]
ifeval::["{context}" == "osdk-ansible-updating-projects"]
:ansible:
:type: Ansible
endif::[]
ifeval::["{context}" == "osdk-helm-updating-projects"]
:helm:
:type: Helm
endif::[]
ifeval::["{context}" == "osdk-hybrid-helm-updating-projects"]
:hybrid:
:type: Hybrid Helm
endif::[]
:osdk_ver: 1.22.0
:osdk_ver_n1: 1.16.0
:_content-type: PROCEDURE
[id="osdk-upgrading-projects_{context}"]
= Updating {type}-based Operator projects for Operator SDK {osdk_ver}
The following procedure updates an existing {type}-based Operator project for compatibility with {osdk_ver}.
.Prerequisites
* Operator SDK {osdk_ver} installed.
* An Operator project created or maintained with Operator SDK {osdk_ver_n1}.
.Procedure
. Make the following changes to the `config/default/manager_auth_proxy_patch.yaml` file:
+
[source,yaml]
----
...
spec:
template:
spec:
containers:
- name: kube-rbac-proxy
image: registry.redhat.io/openshift4/ose-kube-rbac-proxy:v4.11 <1>
args:
- "--secure-listen-address=0.0.0.0:8443"
- "--upstream=http://127.0.0.1:8080/"
- "--logtostderr=true"
- "--v=0" <2>
...
resources:
limits:
cpu: 500m
memory: 128Mi
requests:
cpu: 5m
memory: 64Mi <3>
----
<1> Update the tag version from `v4.10` to `v4.11`.
<2> Reduce the debugging log level from `--v=10` to `--v=0`.
<3> Add resource requests and limits.
. Make the following changes to your `Makefile`:
.. Enable support for image digests by adding the following environment variables to your `Makefile`:
+
.Old `Makefile`
[source,terminal]
----
BUNDLE_IMG ?= $(IMAGE_TAG_BASE)-bundle:v$(VERSION)
...
----
+
.New `Makefile`
[source,terminal]
----
BUNDLE_IMG ?= $(IMAGE_TAG_BASE)-bundle:v$(VERSION)
# BUNDLE_GEN_FLAGS are the flags passed to the operator-sdk generate bundle command
BUNDLE_GEN_FLAGS ?= -q --overwrite --version $(VERSION) $(BUNDLE_METADATA_OPTS)
# USE_IMAGE_DIGESTS defines if images are resolved via tags or digests
# You can enable this value if you would like to use SHA Based Digests
# To enable set flag to true
USE_IMAGE_DIGESTS ?= false
ifeq ($(USE_IMAGE_DIGESTS), true)
BUNDLE_GEN_FLAGS += --use-image-digests
endif
----
.. Edit your `Makefile` to replace the bundle target with the `BUNDLE_GEN_FLAGS` environment variable:
+
.Old `Makefile`
[source,terminal]
----
$(KUSTOMIZE) build config/manifests | operator-sdk generate bundle -q --overwrite --version $(VERSION) $(BUNDLE_METADATA_OPTS)
----
+
.New `Makefile`
[source,terminal]
----
$(KUSTOMIZE) build config/manifests | operator-sdk generate bundle $(BUNDLE_GEN_FLAGS)
----
.. Edit your `Makefile` to update `opm` to version 1.23.0:
+
[source,terminal]
----
.PHONY: opm
OPM = ./bin/opm
opm: ## Download opm locally if necessary.
ifeq (,$(wildcard $(OPM)))
ifeq (,$(shell which opm 2>/dev/null))
@{ \
set -e ;\
mkdir -p $(dir $(OPM)) ;\
OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH) && \
curl -sSLo $(OPM) https://github.com/operator-framework/operator-registry/releases/download/v1.23.0/$${OS}-$${ARCH}-opm ;\ <1>
chmod +x $(OPM) ;\
}
else
OPM = $(shell which opm)
endif
endif
----
<1> Replace `v1.19.1` with `v1.23.0`.
ifdef::golang[]
.. Edit your `Makefile` to replace the `go get` targets with `go install` targets:
+
.Old `Makefile`
[source,terminal]
----
CONTROLLER_GEN = $(shell pwd)/bin/controller-gen
.PHONY: controller-gen
controller-gen: ## Download controller-gen locally if necessary.
$(call go-get-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.8.0)
KUSTOMIZE = $(shell pwd)/bin/kustomize
.PHONY: kustomize
kustomize: ## Download kustomize locally if necessary.
$(call go-get-tool,$(KUSTOMIZE),sigs.k8s.io/kustomize/kustomize/v3@v3.8.7)
ENVTEST = $(shell pwd)/bin/setup-envtest
.PHONY: envtest
envtest: ## Download envtest-setup locally if necessary.
$(call go-get-tool,$(ENVTEST),sigs.k8s.io/controller-runtime/tools/setup-envtest@latest)
# go-get-tool will 'go get' any package $2 and install it to $1.
PROJECT_DIR := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))
define go-get-tool
@[ -f $(1) ] || { \
set -e ;\
TMP_DIR=$$(mktemp -d) ;\
cd $$TMP_DIR ;\
go mod init tmp ;\
echo "Downloading $(2)" ;\
GOBIN=$(PROJECT_DIR)/bin go get $(2) ;\
rm -rf $$TMP_DIR ;\
}
endef
----
+
.New `Makefile`
[source,terminal]
----
##@ Build Dependencies
## Location to install dependencies to
LOCALBIN ?= $(shell pwd)/bin
$(LOCALBIN):
mkdir -p $(LOCALBIN)
## Tool Binaries
KUSTOMIZE ?= $(LOCALBIN)/kustomize
CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen
ENVTEST ?= $(LOCALBIN)/setup-envtest
## Tool Versions
KUSTOMIZE_VERSION ?= v3.8.7
CONTROLLER_TOOLS_VERSION ?= v0.8.0
KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"
.PHONY: kustomize
kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary.
$(KUSTOMIZE): $(LOCALBIN)
curl -s $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN)
.PHONY: controller-gen
controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary.
$(CONTROLLER_GEN): $(LOCALBIN)
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)
GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest
----
endif::[]
ifdef::golang,hybrid[]
.. Update `ENVTEST_K8S_VERSION` and `controller-gen` fields in your `Makefile` to support Kubernetes 1.24:
+
[source,terminal]
----
...
ENVTEST_K8S_VERSION = 1.24 <1>
...
sigs.k8s.io/controller-tools/cmd/controller-gen@v0.9.0 <2>
----
<1> Update version `1.22` to `1.24`.
<2> Update version `0.7.0` to `0.9.0`.
endif::[]
.. Apply the changes to your `Makefile` and rebuild your Operator by entering the following command:
+
[source,terminal]
----
$ make
----
ifdef::golang,hybrid[]
. Make the following changes to the `go.mod` file to update Go and its dependencies:
+
[source,golang]
----
go 1.18 <1>
require (
github.com/onsi/ginkgo v1.16.5 <2>
github.com/onsi/gomega v1.18.1 <3>
k8s.io/api v0.24.0 <4>
k8s.io/apimachinery v0.24.0 <4>
k8s.io/client-go v0.24.0 <4>
sigs.k8s.io/controller-runtime v0.12.1 <5>
)
----
<1> Update version `1.16` to `1.18`.
<2> Update version `v1.16.4` to `v1.16.5`.
<3> Update version `v1.15.0` to `v1.18.1`.
<4> Update version `v0.22.1` to `v0.24.0`.
<5> Update version `v0.10.0` to `v0.12.1`.
endif::golang,hybrid[]
ifdef::hybrid[]
. Edit your `go.mod` file to update the Helm Operator plug-ins:
+
[source,golang]
----
github.com/operator-framework/helm-operator-plugins v0.0.11 <1>
----
<1> Update version `v0.0.8` to `v0.0.11`.
endif::[]
ifdef::golang,hybrid[]
. Download and clean up the dependencies by entering the following command:
+
[source,terminal]
----
$ go mod tidy
----
endif::[]
ifdef::golang[]
. If you use the `api/webhook_suitetest.go` and `controllers/suite_test.go` suite test files, make the following changes:
+
.Old suite test file
[source,golang]
----
cfg, err := testEnv.Start()
----
+
.New suite test file
[source,golang]
----
var err error
// cfg is defined in this file globally.
cfg, err = testEnv.Start()
----
. If you use the Kubernetes declarative plug-in, update your Dockerfile with the following changes:
.. Add the following changes below the line that begins `COPY controllers/ controllers/`:
+
[source,terminal]
----
# https://github.com/kubernetes-sigs/kubebuilder-declarative-pattern/blob/master/docs/addon/walkthrough/README.md#adding-a-manifest
# Stage channels and make readable
COPY channels/ /channels/
RUN chmod -R a+rx /channels/
----
.. Add the following changes below the line that begins `COPY --from=builder /workspace/manager .`:
+
[source,terminal]
----
# copy channels
COPY --from=builder /channels /channels
----
endif::[]
ifdef::ansible[]
. Update your `requirements.yml` file as shown in the following example:
+
[source,yaml]
----
collections:
- name: community.kubernetes
version: "2.0.1" <1>
- name: operator_sdk.util
version: "0.4.0" <2>
- name: kubernetes.core
version: "2.3.1" <3>
- name: cloud.common <4>
version: "2.1.1"
----
<1> Update version `1.2.1` to `2.0.1`.
<2> Update version `0.3.1` to `0.4.0`.
<3> Update version `2.2.0` to `2.3.1`.
<4> Add support for the Operator Ansible SDK by adding the `cloud.common` collection.
+
[IMPORTANT]
====
As of version 2.0.0, the `community.kubernetes` collection was renamed to `kubernetes.core`. The `community.kubernetes` collection has been replaced by deprecated redirects to `kubernetes.core`. If you use fully qualified collection names (FQCNs) that begin with `community.kubernetes`, you must update the FQCNs to use `kubernetes.core`.
====
endif::[]
:!osdk_ver:
:!osdk_ver_n1:
ifeval::["{context}" == "osdk-golang-updating-projects"]
:!golang:
:!type:
endif::[]
ifeval::["{context}" == "osdk-ansible-updating-projects"]
:!ansible:
:!type:
endif::[]
ifeval::["{context}" == "osdk-helm-updating-projects"]
:!type:
:!helm:
endif::[]
ifeval::["{context}" == "osdk-hybrid-helm-updating-projects"]
:!hybrid:
:!type:
endif::[]

View File

@@ -0,0 +1,31 @@
:_content-type: ASSEMBLY
[id="osdk-ansible-updating-projects"]
= Updating projects for newer Operator SDK versions
include::_attributes/common-attributes.adoc[]
:context: osdk-ansible-updating-projects
:osdk_ver: 1.22.0
:osdk_ver_n1: 1.16.0
:product-version-n1: 4.10
toc::[]
{product-title} {product-version} supports Operator SDK {osdk_ver}. If you already have the {osdk_ver_n1} CLI installed on your workstation, you can update the CLI to {osdk_ver} by xref:../../../operators/operator_sdk/osdk-installing-cli.adoc#osdk-installing-cli[installing the latest version].
However, to ensure your existing Operator projects maintain compatibility with Operator SDK {osdk_ver}, update steps are required for the associated breaking changes introduced since {osdk_ver_n1}. You must perform the update steps manually in any of your Operator projects that were previously created or maintained with {osdk_ver_n1}.
include::modules/osdk-updating-projects.adoc[leveloffset=+1]
[id="additional-resources_osdk-ansible-upgrading-projects"]
[role="_additional-resources"]
== Additional resources
* xref:../../../operators/operator_sdk/osdk-pkgman-to-bundle.adoc#osdk-pkgman-to-bundle[Migrating package manifest projects to bundle format]
* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.10/html-single/operators/index#osdk-upgrading-v1101-to-v1160_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.16.0]
* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.9/html/operators/developing-operators#osdk-upgrading-v180-to-v1101_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.10.1]
* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.8/html/operators/developing-operators#osdk-upgrading-v130-to-v180_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.8.0]
:!osdk_ver:
:!osdk_ver_n1:
:!product-version-n1:

View File

@@ -0,0 +1,31 @@
:_content-type: ASSEMBLY
[id="osdk-golang-updating-projects"]
= Updating Go-based Operator projects for newer Operator SDK versions
include::_attributes/common-attributes.adoc[]
:context: osdk-golang-updating-projects
:osdk_ver: 1.22.0
:osdk_ver_n1: 1.16.0
:product-version-n1: 4.10
toc::[]
{product-title} {product-version} supports Operator SDK {osdk_ver}. If you already have the {osdk_ver_n1} CLI installed on your workstation, you can update the CLI to {osdk_ver} by xref:../../../operators/operator_sdk/osdk-installing-cli.adoc#osdk-installing-cli[installing the latest version].
However, to ensure your existing Operator projects maintain compatibility with Operator SDK {osdk_ver}, update steps are required for the associated breaking changes introduced since {osdk_ver_n1}. You must perform the update steps manually in any of your Operator projects that were previously created or maintained with {osdk_ver_n1}.
include::modules/osdk-updating-projects.adoc[leveloffset=+1]
[id="additional-resources_osdk-upgrading-projects-golang"]
[role="_additional-resources"]
== Additional resources
* xref:../../../operators/operator_sdk/osdk-pkgman-to-bundle.adoc#osdk-pkgman-to-bundle[Migrating package manifest projects to bundle format]
* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.10/html-single/operators/index#osdk-upgrading-v1101-to-v1160_osdk-upgrading-projects[Upgrading projects for Operator SDK 1.16.0]
* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.9/html/operators/developing-operators#osdk-upgrading-v180-to-v1101_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.10.1]
* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.8/html/operators/developing-operators#osdk-upgrading-v130-to-v180_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.8.0]
:!osdk_ver:
:!osdk_ver_n1:
:!product-version-n1:

View File

@@ -0,0 +1,31 @@
:_content-type: ASSEMBLY
[id="osdk-helm-updating-projects"]
= Updating Helm-based projects for newer Operator SDK versions
include::_attributes/common-attributes.adoc[]
:context: osdk-helm-updating-projects
:osdk_ver: 1.22.0
:osdk_ver_n1: 1.16.0
:product-version-n1: 4.10
toc::[]
{product-title} {product-version} supports Operator SDK {osdk_ver}. If you already have the {osdk_ver_n1} CLI installed on your workstation, you can update the CLI to {osdk_ver} by xref:../../../operators/operator_sdk/osdk-installing-cli.adoc#osdk-installing-cli[installing the latest version].
However, to ensure your existing Operator projects maintain compatibility with Operator SDK {osdk_ver}, update steps are required for the associated breaking changes introduced since {osdk_ver_n1}. You must perform the update steps manually in any of your Operator projects that were previously created or maintained with {osdk_ver_n1}.
include::modules/osdk-updating-projects.adoc[leveloffset=+1]
[id="additional-resources_osdk-helm-upgrading-projects"]
[role="_additional-resources"]
== Additional resources
* xref:../../../operators/operator_sdk/osdk-pkgman-to-bundle.adoc#osdk-pkgman-to-bundle[Migrating package manifest projects to bundle format]
* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.10/html-single/operators/index#osdk-upgrading-v1101-to-v1160_osdk-upgrading-projects[Upgrading projects for Operator SDK 1.16.0]
* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.9/html/operators/developing-operators#osdk-upgrading-v180-to-v1101_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.10.1]
* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.8/html/operators/developing-operators#osdk-upgrading-v130-to-v180_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.8.0]
:!osdk_ver:
:!osdk_ver_n1:
:!product-version-n1:

View File

@@ -0,0 +1,31 @@
:_content-type: ASSEMBLY
[id="osdk-hybrid-helm-updating-projects"]
= Updating Hybrid Helm-based projects for newer Operator SDK versions
include::_attributes/common-attributes.adoc[]
:context: osdk-hybrid-helm-updating-projects
:osdk_ver: 1.22.0
:osdk_ver_n1: 1.16.0
:product-version-n1: 4.10
toc::[]
{product-title} {product-version} supports Operator SDK {osdk_ver}. If you already have the {osdk_ver_n1} CLI installed on your workstation, you can update the CLI to {osdk_ver} by xref:../../../operators/operator_sdk/osdk-installing-cli.adoc#osdk-installing-cli[installing the latest version].
However, to ensure your existing Operator projects maintain compatibility with Operator SDK {osdk_ver}, update steps are required for the associated breaking changes introduced since {osdk_ver_n1}. You must perform the update steps manually in any of your Operator projects that were previously created or maintained with {osdk_ver_n1}.
include::modules/osdk-updating-projects.adoc[leveloffset=+1]
[id="additional-resources_osdk-hybrid-helm-upgrading-projects"]
[role="_additional-resources"]
== Additional resources
* xref:../../../operators/operator_sdk/osdk-pkgman-to-bundle.adoc#osdk-pkgman-to-bundle[Migrating package manifest projects to bundle format]
* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.10/html-single/operators/index#osdk-upgrading-v1101-to-v1160_osdk-upgrading-projects[Upgrading projects for Operator SDK 1.16.0]
* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.9/html/operators/developing-operators#osdk-upgrading-v180-to-v1101_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.10.1]
* link:https://access.redhat.com/documentation/en-us/openshift_container_platform/4.8/html/operators/developing-operators#osdk-upgrading-v130-to-v180_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.8.0]
:!osdk_ver:
:!osdk_ver_n1:
:!product-version-n1:

View File

@@ -1,30 +0,0 @@
:_content-type: ASSEMBLY
[id="osdk-upgrading-projects"]
= Updating projects for newer Operator SDK versions
include::_attributes/common-attributes.adoc[]
:context: osdk-upgrading-projects
:osdk_ver: v1.16.0
:osdk_ver_n1: v1.10.1
:product-version-n1: 4.9
toc::[]
{product-title} {product-version} supports Operator SDK {osdk_ver}. If you already have the {osdk_ver_n1} CLI installed on your workstation, you can update the CLI to {osdk_ver} by xref:../../operators/operator_sdk/osdk-installing-cli.adoc#osdk-installing-cli[installing the latest version].
However, to ensure your existing Operator projects maintain compatibility with Operator SDK {osdk_ver}, update steps are required for the associated breaking changes introduced since {osdk_ver_n1}. You must perform the update steps manually in any of your Operator projects that were previously created or maintained with {osdk_ver_n1}.
include::modules/osdk-updating-v1101-to-v1160.adoc[leveloffset=+1]
[id="additional-resources_osdk-upgrading-projects"]
[role="_additional-resources"]
== Additional resources
* xref:../../operators/operator_sdk/osdk-pkgman-to-bundle.adoc#osdk-pkgman-to-bundle[Migrating package manifest projects to bundle format]
* link:https://docs.openshift.com/container-platform/4.9/operators/operator_sdk/osdk-upgrading-projects.html#osdk-upgrading-v180-to-v1101_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.10.1]
* link:https://docs.openshift.com/container-platform/4.8/operators/operator_sdk/osdk-upgrading-projects.html#osdk-upgrading-v130-to-v180_osdk-upgrading-projects[Upgrading projects for Operator SDK v1.8.0]
//Consider updating this during the 4.10 to 4.11 version scrub.
:!osdk_ver:
:!osdk_ver_n1:
:!product-version-n1: