Skip to content

Releases: operator-framework/operator-sdk

v1.24.0

10 Oct 20:53
de6a14d
Compare
Choose a tag to compare

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 the stages.testssection add an entrypoint, in this entrypoint you add the name of the test you want to associate with the selector.
    If you have a kuttl test directory called smoke your entrypoint should have - smoke as 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 via operator-sdk run bundle. Using operator-sdk run bundle will now use a default channel instead of the one in the bundle. (#6042)
  • operator-sdk run bundle(-upgrade): fixed bug causing operator-sdk run bundle-upgrade and operator-sdk run bundle ... --index-image=... to stall indefinitely. (#6040)
  • For Ansible & Helm-based operators, the generated Makefile does not handle converting aarch64 to arm64. This prevents it from downloading the appropriate binaries.
    This change simply adds a call to sed to convert aarch64 to arm64. (#5480)

v1.23.0

23 Aug 17:27
v1.23.0
1eaeb5a
Compare
Choose a tag to compare

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-alpha More info. (#5965)
  • Add new golang plugin go/v4-alpha which adds support for Apple Silicon(darwin/arm64). (#5965)
  • Test containers defined by config.yaml can now read the environment variable SCORECARD_STORAGE to get a storage path defined in the config.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-proxy from v0.11.0 to v0.12.0. More info. (#5903)
  • (go/v3) Update controller-tools from 0.9.0 to 0.9.2. More info. (#5965)
  • (go/v3) Update controller-runtime from v0.12.1 to v0.12.2 and Kubernetes dependencies from v0.24.0 to v0.24.2. More info. (#5965)
  • (go/v3,ansible/v1,helm/v1) Update gcr.io/kubebuilder/kube-rbac-proxy from 0.12.0 to 0.13.0. More info. (#5965)
  • Breaking change: (ansible/v1,helm/v1) Upgraded kustomize version from v3.8.7 to v4.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 the go/v3. (More info) Check your PROJECT file to make sure that your project layout is go.kubebuilder.io/v3, if not please follow the migration guide to upgrade your project. (#5965)
  • Dropped support for installing olm version 0.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/v1 plugin 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 caused InstallPlans 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-verify and --use-http flags from run bundle(-upgrade). (#5921)

v1.22.2

21 Jul 18:14
da33461
Compare
Choose a tag to compare

v1.22.2

Bug Fixes

  • Honor --skip-tls-verify and --use-http flags from run bundle(-upgrade). (#5953)

v1.22.1

12 Jul 03:18
v1.22.1
46ab175
Compare
Choose a tag to compare

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 caused InstallPlans 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

14 Jun 20:57
v1.22.0
9e95050
Compare
Choose a tag to compare

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 validate command and GoodPractices validator (--select-optional name=good-practices): Add CRD description check validation More info. (#5843)
  • For operator-sdk bundle validate command 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.kubernetes from 1.2.1 to 2.0.1. IMPORTANT The community.kubernetes collection 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 with community.kubernetes, please update them to kubernetes.core. (#5846)
  • For Ansible-based language operators, upgrade kubernetes.core from 2.2.0 to 2.3.1. IMPORTANT The community.kubernetes collection 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 with community.kubernetes, please update them to kubernetes.core. (#5846)
  • For Ansible-based language operators, upgrade community.kubernetes from 1.2.1 to 2.0.1. IMPORTANT The community.kubernetes collection 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 with community.kubernetes, please update them to kubernetes.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.23 to 1.24 and controller-gen from v0.8.0 to v0.9.0. (#5843)
  • For Helm (helm/v1) and Hybrid Helm (hybrid.helm/v1-alpha) language based operators: Upgrade helm from v3.6.2 to v3.9.0. (#5843)
  • For Ansible (ansible/v1) and Helm (helm/v1) language based operators: change the default value for the manager.option LeaderElectionResourceLock from comfigmaps to configmapsleases to 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.3 to v0.5.1 More info. (#5843)
  • For Helm Hybrid (hybrid.helm/v1-alpha) language based operator: Upgrade dependency from v0.0.10 to v0.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.1 to v1.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-version since v1beta1 APIs is not longer offered from k8s 1.22 and this flag is deprecated for Golang. (#5815)

Bug Fixes

  • Enable run bundle command 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 validate command 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 using go/v2 we highly recommend to upgrade your project to latest go/v3 plugin (default operator-sdk scaffold). Please be aware that go/v2 is 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

24 May 22:58
89d21a1
Compare
Choose a tag to compare

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/validate to internal/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-proxy from 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 bundle command to have a more detailed help output, stating the intent of the command and that index-images passed via the --index-image flag 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

19 May 19:08
181212e
Compare
Choose a tag to compare

v1.20.1

Changes

  • Bump the helm-operator-plugins dependency version to v0.0.10. (#5775)

v1.20.0

29 Apr 17:01
deb3531
Compare
Choose a tag to compare

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-practices or $ 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-port flag, 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-practices or $ 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

13 Apr 15:21
v1.19.1
079d885
Compare
Choose a tag to compare

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)

v1.19.0

08 Apr 17:36
728682c
Compare
Choose a tag to compare

v1.19.0

Additions

  • Add official binary builds for darwin/arm64. (#5581)
  • User is not able to run the operator-sdk run bundle in local kind-registry as --skip-tls flag is deprecated. OPM introduced new flags --skip-tls-verify and --use-http. This fix will enable the newly introduced flags. (#5617)
  • For the helm/v1 plugin, parsed the "helm.sdk.operatorframework.io/reconcile-period" value from the custom resource annotations for helm operators. This value is then set to the 'ReconcilePeriod' field of the reconciler to reconcile the cluster in the specified intervals of time. (#5585)
  • Added log so that URL verification errors when starting the ansible-operator are not silently swallowed. (#5595)
  • Reverted removal of --skip-tls flag and mark the flag as deprecated. (#5633)

Changes

  • scorecard will now printout test results, if any, even when there is a context timeout. This will allow underlying errors from a test to be shown helping users address the issues. (#5628)

Bug Fixes

  • (java/v1alpha) bumped the java-operator-plugins dependency to v0.3.0. (#5588)
  • Add the labels defined in the Manager (Operator Deployment) to the ClusterServiceVersions DeploymentSpecs to ensure that they will also be provided to the integration with OLM (CSV). (#5533)