Releases: operator-framework/operator-sdk
Releases · operator-framework/operator-sdk
v1.26.0
v1.26.0
Additions
- For
operator-sdk bundle validate
: When checking for Kubernetes APIs deprecated in Kubernetes v1.25.0 the ClusterServiceVersion's CustomResourceDefinitions, ClusterPermissions, and Permissions are now validated to ensure no references to deprecated APIs are being made. (#6119)
Changes
- (images): Bumps all Operator SDK maintained images to now use ubi(-minimal) tag 8.7. (#6175)
Bug Fixes
- ansible: fixed "make run" so it finds local roles. (#6110)
- For
operator-sdk run bundle(-upgrade)
: fix a bug in the logic that would attempt to create aConfigMap
that contained the entire contents of an FBC. Now if the FBC contents are to large to fit into a singleConfigMap
, the FBC contents will be partitioned and split amongst multipleConfigMap
resources. (#6182)
v1.25.3
v1.25.2
v1.25.1
v1.25.1
Additions
- For
operator-sdk bundle validate
: When checking for Kubernetes APIs deprecated in Kubernetes v1.25.0 the ClusterServiceVersion's CustomResourceDefinitions, ClusterPermissions, and Permissions are now validated to ensure no references to deprecated APIs are being made. (#6123)
v1.25.0
v1.25.0
Changes
- (ansible/v1): Modified ansible scaffolding in order to incorporate changes with Kubebuilder on
--component-config
flag changes. Previously, the changes with--component-config
flag were not considered by default.
The following are the modifications: 1. If the--component-config
flag is passed then look for- /manager
inmanager.yaml
in order to add leader election id. If the component config flag is not passed then check for--leader-elect
flag. 2. Inmanager_proxy_patch.yaml
file, look formemory: 64Mi
if the component flag is passed flag is passed. If not then look for--leader-elect
. 3. Repeat the same logic for replacing the port number from the file. 4. At the end, update themanager.yaml
file to avoid lint errors. (#6047) - (go/v3, hybrid.helm/v1-alpha, and quarkus/v1-alpha): Upgrade Kubernetes dependencies from
1.24
to1.25
. (#6044) - This PR bumped Kubebuilder to 3.7.1, with this version comes the addition of the
--component-config
flag.
This flag is passed throughoperator-sdk init
command. If this flag is passed through the command line as an argument then only thecontroller_manager_config.yaml
file will be scaffolded in the manifest. If it is not passed then it will not scaffold out this file. The command for passing the flag is: operator-sdk init --domain example.com --repo github.com/example/memcached-operator --component-config. (#6047) - (ansible/v1): updates the base ansible base operator event api, api server, and proxy to now have a 5 second timeout when reading the request headers. This is to prevent the possibility of a Slowloris attack. (#6088)
- Modified go version to 1.19 and Kubebuilder to 3.7.1. The
config-gen
is completely removed from Kubebuilder. As part of this bump, the website content of SDK was updated where the doc is referring toconfig-gen
. (#6047) - Updated ginkgo to ginkgo/v2 in all of the files. (#6047)
- Updated: - ginko to
ginko/v2
-io/ioutil
packages to eitherio
oros
since its not longer supported in go1.19. (#6047) - (helm/v1): Modified helm scaffolding in order to incorporate changes with Kubebuilder on
--component-config
flag changes. Previously, the changes with--component-config
flag were not considered by default.
The following are the modifications: 1. If the--component-config
flag is passed then look for- /manager
inmanager.yaml
in order to add leader election id. If the component config flag is not passed then check for--leader-elect
flag. 2. Inmanager_proxy_patch.yaml
file, look formemory: 64Mi
if the component flag is passed flag is passed. If not then look for--leader-elect
. 3. Repeat the same logic for replacing the port number from the file. 4. At the end, update themanager.yaml
file to avoid lint errors. (#6047) - (ansible/v1, helm/v1): Added support to build multi-arch images from the project Makefile. A docker-buildx target will build the images for the platforms specified by the PLATFORMS variable. (#6093)
Bug Fixes
- (docs) Update the go version in the developer guide. The documentation wasn't updated when the go version was bumped to v1.18. (#6101)
- For operator-sdk run bundle and bundle-upgrade subcommands: Added --security-context-config flag to enable seccompprofile. It defaults to restricted to support k8s 1.25. You can disable it with --security-context-config=legacy. (#6062)
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.tests
section 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 calledsmoke
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 viaoperator-sdk run bundle
. Usingoperator-sdk run bundle
will now use a default channel instead of the one in the bundle. (#6042)operator-sdk run bundle(-upgrade)
: fixed bug causingoperator-sdk run bundle-upgrade
andoperator-sdk run bundle ... --index-image=...
to stall indefinitely. (#6040)- For Ansible & Helm-based operators, the generated
Makefile
does not handle convertingaarch64
toarm64
. This prevents it from downloading the appropriate binaries.
This change simply adds a call tosed
to convertaarch64
toarm64
. (#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-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 variableSCORECARD_STORAGE
to 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-proxy
fromv0.11.0
tov0.12.0
. More info. (#5903) - (go/v3) Update
controller-tools
from0.9.0
to0.9.2
. More info. (#5965) - (go/v3) Update
controller-runtime
fromv0.12.1
tov0.12.2
and Kubernetes dependencies fromv0.24.0
tov0.24.2
. More info. (#5965) - (go/v3,ansible/v1,helm/v1) Update
gcr.io/kubebuilder/kube-rbac-proxy
from0.12.0
to0.13.0
. More info. (#5965) - Breaking change: (ansible/v1,helm/v1) Upgraded
kustomize
version fromv3.8.7
tov4.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 yourPROJECT
file 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
olm
version0.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 causedInstallPlan
s 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
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 causedInstallPlan
s 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)