Releases: operator-framework/operator-sdk
Releases · operator-framework/operator-sdk
v1.24.1
v1.24.0
v1.24.0
Changes
- Bumping java-operator-plugins to v0.6.0. (#6007)
Bug Fixes
- Support test selectors in scorecard-kuttl. This only works if you supply a test name in the config for the entrypoint in the scorecard test config.yaml
In thestages.testssection add anentrypoint, in this entrypoint you add the name of the test you want to associate with the selector.
If you have a kuttl test directory calledsmokeyour entrypoint should have- smokeas an entry. That way scorecard can pass that into the image and kuttl will run the single test. (#6015) operator-sdk run bundle(-upgrade): fixed bug that made it so bundles weren't properly upgraded if the channel used in the bundle wasn't in the same channel as the bundle installed viaoperator-sdk run bundle. Usingoperator-sdk run bundlewill now use a default channel instead of the one in the bundle. (#6042)operator-sdk run bundle(-upgrade): fixed bug causingoperator-sdk run bundle-upgradeandoperator-sdk run bundle ... --index-image=...to stall indefinitely. (#6040)- For Ansible & Helm-based operators, the generated
Makefiledoes not handle convertingaarch64toarm64. This prevents it from downloading the appropriate binaries.
This change simply adds a call tosedto convertaarch64toarm64. (#5480)
v1.23.0
v1.23.0
Additions
- (Alpha) New optional validator to help verify if a bundle matches criteria for multiple architecture support. More info: https://olm.operatorframework.io/docs/advanced-tasks/ship-operator-supporting-multiarch/. You can test it out by running
$ operator-sdk bundle validate ./bundle --select-optional name=multiarch. (#5908) - Add an option,
WatchAnnotationsChanges, to trigger reconciliations on annotation changes on watched resources. (#5611) - Add a plugin (deploy-image/v1-alpha) for Golang projects that scaffolds the code to deploy and manage an Operand(image). You can test it out by running
operator-sdk --group=example.com --version=v1alpha1 --kind=Memcached --image=memcached:1.6.15-alpine --image-container-command="memcached,-m=64,modern,-v" --image-container-port="11211" --run-as-user="1001" --plugins="deploy-image/v1-alpha"More info. (#5965) - Add a plugin (grafana/v1-alpha) valid for all languages to help you generate Grafana dashboards. You can test it out by running
operator-sdk edit --plugins=grafana.kubebuilder.io/v1-alphaMore info. (#5965) - Add new golang plugin
go/v4-alphawhich adds support for Apple Silicon(darwin/arm64). (#5965) - Test containers defined by
config.yamlcan now read the environment variableSCORECARD_STORAGEto get a storage path defined in theconfig.yaml. (#5829) - (deploy-image/v1alpha plugin) Add support to generate SDK bundle manifests. (#5997)
- (ansible/v1,helm/v1) Add support for Apple Silicon(
darwin/arm64). Release Notes. (#5965)
Changes
- Upgrade kube rbac proxy image
gcr.io/kubebuilder/kube-rbac-proxyfromv0.11.0tov0.12.0. More info. (#5903) - (go/v3) Update
controller-toolsfrom0.9.0to0.9.2. More info. (#5965) - (go/v3) Update
controller-runtimefromv0.12.1tov0.12.2and Kubernetes dependencies fromv0.24.0tov0.24.2. More info. (#5965) - (go/v3,ansible/v1,helm/v1) Update
gcr.io/kubebuilder/kube-rbac-proxyfrom0.12.0to0.13.0. More info. (#5965) - Breaking change: (ansible/v1,helm/v1) Upgraded
kustomizeversion fromv3.8.7tov4.5.5. Release Notes. (#5965) - Update the supported OLM versions to 0.20.0, 0.21.2, 0.22.0. (#6000)
- Moved bundle name validation check to the good-practices validator. You can test it out by running
$ operator-sdk bundle validate ./bundle --select-optional name=good-practices. (#5908)
Deprecations
- Legacy layout "Kubebuilder 2.x" provided via the go/v2 plugin is officially deprecated. Be aware that since
Apr 2021, the default layout produced is done via thego/v3. (More info) Check yourPROJECTfile to make sure that your project layout isgo.kubebuilder.io/v3, if not please follow the migration guide to upgrade your project. (#5965) - Dropped support for installing
olmversion0.19.1. (#6000)
Bug Fixes
- For Hybrid Helm (hybrid.helm/v1-alpha) language based operators: Bump Dockerfile Go version to 1.18. (#5772)
- Fix Makefile targets to not download binaries when they are found already. (#5965)
- Remove the option to call
kustomize/v1plugin alone. If you are looking to use this project as a base for you to generate other plugins, please use Kubebuilder instead. (#5965) - Fix operator-sdk run bundle and upgrade bundle subCommands to allow them to work against Kubernetes versions < 1.19 and vendors like Openshift. (#5973)
- Fixed scorecard testOutput tightly coupling with scorecard storage mountPath. (#5714)
- Fix operator-sdk generate kustomize manifests to respect changes made by users in the config/manifests. (#5960)
- For
operator-sdk run bundle-upgrade: fix a bug that causedInstallPlans occasionally not being approved when attempting to upgrade a bundle. (#5901) - For run bundle-upgrade, generate just the extra FBC of the bundle instead of rendering the entire index and appending bundle contents to it. (#5891)
- Honor
--skip-tls-verifyand--use-httpflags from run bundle(-upgrade). (#5921)
v1.22.2
v1.22.1
v1.22.1
Bug Fixes
- For Hybrid Helm (hybrid.helm/v1-alpha) language based operators: Bump Dockerfile Go version to 1.18. (#5772)
- For
operator-sdk run bundle-upgrade: fix a bug that causedInstallPlans occasionally not being approved when attempting to upgrade a bundle. (#5924) - For run bundle-upgrade, generate just the extra FBC of the bundle instead of rendering the entire index and appending bundle contents to it. (#5917)
v1.22.0
v1.22.0
Additions
- For Go (go/v3) and Hybrid Helm (hybrid.helm/v1-alpha) language based operators: Add support for Go 1.18. (#5843)
- For
operator-sdk bundle validatecommand and GoodPractices validator (--select-optional name=good-practices): Add CRD description check validation More info. (#5843) - For
operator-sdk bundle validatecommand and GoodPractices validator (--select-optional name=good-practices): Add a new check to warn authors when permissions to create CRDs are found More info. (#5843) - For Quarkus (quarkus/v1-alpha) language based operator: add bundle generation More info. (#5843)
- For operator-sdk run bundle and bundle-upgrade subcommands: improve message from common scenario faced to add a new bundle More info. (#5843)
- For operator-sdk run bundle and bundle-upgrade subcommands: adds some extra text context to sql statement errors More info. (#5843)
- For Golang/Ansible/Helm/HybridHelm language-based operators (go/v3, ansible/v1, helm/v1, hybrid.helm/v1-alpha, add a new comment with the option
leaderElectionReleaseOnCancel((More info)[https://github.com/kubernetes-sigs/kubebuilder/pull/2596]). (#5814)
Changes
- Breaking change: For Ansible-based language operators, upgrade
community.kubernetesfrom1.2.1to2.0.1. IMPORTANT Thecommunity.kubernetescollection is being renamed to kubernetes.core. As of version 2.0.0, the collection has been replaced by deprecated redirects for all content to kubernetes.core. If you are using FQCNs starting withcommunity.kubernetes, please update them tokubernetes.core. (#5846) - For Ansible-based language operators, upgrade
kubernetes.corefrom2.2.0to2.3.1. IMPORTANT Thecommunity.kubernetescollection is being renamed to kubernetes.core. As of version 2.0.0, the collection has been replaced by deprecated redirects for all content to kubernetes.core. If you are using FQCNs starting withcommunity.kubernetes, please update them tokubernetes.core. (#5846) - For Ansible-based language operators, upgrade
community.kubernetesfrom1.2.1to2.0.1. IMPORTANT Thecommunity.kubernetescollection is being renamed to kubernetes.core. As of version 2.0.0, the collection has been replaced by deprecated redirects for all content to kubernetes.core. If you are using FQCNs starting withcommunity.kubernetes, please update them tokubernetes.core. (#5846) - Scorecard details got generated for the bundle even if no details were present for the scorecard in the java plugin. This change will add scorecard changes on conditional basis. (#5800)
- Hide --skip-tls flag as it is deprecated. (#5830)
- For Go (go/v3) and Helm Hybrid (hybrid.helm/v1-alpha) language based operators: Upgrade Kubernetes dependencies from
1.23to1.24and controller-gen fromv0.8.0tov0.9.0. (#5843) - For Helm (helm/v1) and Hybrid Helm (hybrid.helm/v1-alpha) language based operators: Upgrade helm from
v3.6.2tov3.9.0. (#5843) - For Ansible (ansible/v1) and Helm (helm/v1) language based operators: change the default value for the manager.option LeaderElectionResourceLock from
comfigmapstoconfigmapsleasesto allow a safe transition to use the leases option on the future. More info. (#5843) - For Quarkus (quarkus/v1-alpha) language based operator: upgrade dependency from
v0.0.3tov0.5.1More info. (#5843) - For Helm Hybrid (hybrid.helm/v1-alpha) language based operator: Upgrade dependency from
v0.0.10tov0.0.11. More info. (#5843) - For Go (go/v3, go/v2), Ansible (ansible/v1), Helm (helm/v1), and Helm Hybrid (hybrid.helm/v1-alpha) language based operators: Bump OPM version from
v1.19.1tov1.23.0. (#5843) - For Docker images: Bump Go from 1.17 to 1.18. (#5843)
- Docs: Update Go 1.17 references to Go 1.18. (#5843)
- For HybridHelm based-language (hybrid.helm/v1-alpha), update its version from v0.0.10 to v0.0.11-0.20220607145946-5b29693d1612. More info. (#5814)
- Add support for File-Based Catalog to the subcommands operator-sdk run bundle and run bundle-upgrade so that new indexes created by these subcommands are using the new format. Users are able to pass in an index catalog with FBC format via the flag option
--index-image. (#5809)
Deprecations
- For Ansible/Helm based-operators (ansible/v1, helm/v1), deprecate the flag
crd-versionsincev1beta1APIs is not longer offered from k8s 1.22 and this flag is deprecated for Golang. (#5815)
Bug Fixes
- Enable
run bundlecommand to handle large File-Based Catalog index images by generating the extra FBC with the bundle contents and mounting a ConfigMap with that extra FBC, without regenerating the entire index. (#5868) - For
operator-sdk bundle validatecommand and GoodPractices validator (--select-optional name=good-practices): fix channel naming validation More info. (#5843) - For Golang-based language (go/v2), fix issue introduced by removing the GO111MODULE=on from Dockerfile. (More info)
IMPORTANT NOTE: If you are usinggo/v2we highly recommend to upgrade your project to latestgo/v3plugin (default operator-sdk scaffold). Please be aware thatgo/v2is a plugin which was kept to ensure the backwards compatibility with old Kubebuilder layout produced using its CLI versions <3.0.0. (More info) Therefore, we are unable to upgrade this plugin continuously and solve tech-debts as it is very likely that it would soon be deprecated by the Kubebuilder community. Note that projects built with this plugin do not produce CRDs for example using v1 APIs so that cannot work on Kubernetes cluster >=1.22). Please, ensure that you follow our migration guide Migrating from pre-v1.0.0 to latest. (#5814)
v1.21.0
v1.21.0
Additions
- (declarative/v1): For Golang-based operators, copy the channels directory in the Dockerfile (More info). (#4863)
- (go/v3):For Golang-based operators, new README.md will begin to be scaffolded. (#4863)
Changes
- The validate package was inadvertantly exposed, it should be internal as all the other packages are in operator-sdk. The package was moved from
pkg/validatetointernal/validate. (#5726) - Changed the default reconcile period of Ansible-based operators to 10h instead of 1m. (#5781)
- Bump the helm-operator-plugins dependency version to v0.0.10. (#5772)
- (go/v3):For Golang-based operators, upgrade controller-runtime and Kubernetes deps. (#4863)
- (kustomize/v1):For Golang/Helm/Ansible-based operators, upgrade kube-rbac-proxy image from v0.8.0 to v0.11.0. (#4863)
- (config-gen alpha command): Updated the image
gcr.io/kubebuilder/kube-rbac-proxyfrom v0.5.0 to v0.11.0. (#4863) - (config-gen alpha command): upgrade sigs.k8s.io/controller-tools from v0.7.0 to v0.8.0. (#4863)
- For Golang-based operators, change Makefile targets to replace go get with go install in order to remove deprecation and begin to be prepared to support go 1.18 in the future releases (IMPORTANT: Golang projects still not supporting versions >= 1.18. To know more about what needs to be done in order to support Golang 1.18, see here ). (#4863)
- Update the
operator-sdk run bundlecommand to have a more detailed help output, stating the intent of the command and that index-images passed via the--index-imageflag should not already contain the bundle. (#5727)
Bug Fixes
- (go/v3): For Golang-based operators, fix suite test using global cfg (More info). (#4863)
- (go/v3): For Golang-based operators, ensure that the plugin can only be used with its go supported version >= 1.17 (IMPORTANT: Golang projects still not supporting versions >= 1.18. To know more about what needs to be done in order to support Golang 1.18, see here ). (#4863)
- (kustomize/v1): For Golang-based operators, fix the issue to scaffold the same Kind for different groups with multi-group support by using group name in crd/patches and rbac editor/viewer manifests (More info). (#4863)
- (kustomize/v1): For Golang-based operators, fix the issue to scaffold the same Kind for different groups with multi-group support by using group name in crd/patches and rbac editor/viewer manifests (More info). (#4863)
- (go/v3): For Golang-based operators, avoid adding duplicated code fragments (More info). (#4863)
v1.20.1
v1.20.0
v1.20.0
Additions
- New check to warning authors when the CRD description is empty was added to the Good Practices validator. You are able to check it by running
operator-sdk bundle validate ./bundle --select-optional name=good-practicesor$ operator-sdk bundle validate ./bundle --select-optional suite=operatorframework(More info). (#5552) - For ansible-based operators, proxy server port can be changed with the new
proxy-portflag, which still defaults to 8888. (#5669) - Previously we added this error to show the user that the Path component is part of proxy server. Now, kubectl made this fix that handles this case and there is no need to throw this error anymore. (#5648)
Changes
- Update the supported OLM versions to 0.18.3, 0.19.1, 0.20.0. (#5684)
Bug Fixes
- Fix: channel naming validator check and move it for the Good Practices validator. You are able to check it by running
operator-sdk bundle validate ./bundle --select-optional name=good-practicesor$ operator-sdk bundle validate ./bundle --select-optional suite=operatorframework(More info). (#5552) - For ansible-based operators, this change fixes an issue that caused finalizers to fail to run if the watched resource (CR) is deleted during reconciliation. (#5678)
- The related image discovery feature currently only reads environment variables from the manager container. This was causing an error when the deployment labels or container name that was expected were not present. This fixes that by collecting related images from all containers across all deployments.
This change also enables users to use related images in other containers since related images from everywhere will be considered. (#5639)
v1.19.1
v1.19.1
Bug Fixes
- The related image discovery feature currently only reads environment variables from the manager container. This was causing an error when the deployment labels or container name that was expected were not present. This fixes that by collecting related images from all containers across all deployments.
This change also enables users to use related images in other containers since related images from everywhere will be considered. (#5656)