This is a big release, namely that a new go CLI plugin go/v3
has been introduced and is now the default when operator-sdk init
is run. All projects initialized with previous operator-sdk versions (which use go/v2
) are still and will continue to be supported until v2.0.0. Some of the biggest updates that come with this new plugin:
- Kubernetes v1.19 support
- v1 CRD and webhook configuration support by default (v1beta1 is still supported)
- Liveness and readiness probes by default
- An option to use controller-runtime's component config to configure your operator
Additionally, the new run bundle-upgrade
lets you test bundled operator upgrades in-cluster and is available to all project types. Enjoy!
Additions
- Added OLM bindata for the 0.17.0 release version. (#4242)
- Added
order=<int>
marker fields to CSV markers. (#4254) - In Ansible-based operators, added the
ansible_operator_build_info
metric to instrument commit and version information. (#4220) - In Helm-based operators, added the
helm_operator_build_info
metric to instrument commit and version information. (#4220) - Added the
--package <name>
flag to allgenerate
subcommands. This flag is required bygenerate <bundle|packagemanifests>
when run outside of a project. (#4074) - Added the
run bundle-upgrade
subcommand to automate testing upgrades of an operator from one version to another using OLM. (#4271) - (go/v2) Added the command
òperator-sdk edit
which allows users edit the project layout to support multi-group. (#4156)
Changes
- (go/v2) Bumped controller-runtime from v0.6.3 to v0.6.4. (#4282)
- Go CLI plugin go/v3 is now the default. (#4307)
- Bumped
operator-sdk
binary dependencies to their k8s v1.19 equivalents. (#4294) - Updated helm-operator's Helm dependency to v3.4.1. (#4259)
Bug Fixes
- Made the
cleanup
command's error handling more robust on deletion and "not found" events. (#4303) - Fixed the documented
packagemanifests
make recipe. (#4303) generate kustomize manifests
will now (re)generate a baseClusterServiceVersion
manifest with a valid name. (#4276)- (ansible/v1) Pinned all top level Python requirements. This fixes a bug that erroneously installed Ansible 2.10.z instead of Ansible 2.9.z. (#4321)
- Refactored the
generate bundle|packagemanifest
commands to generate bundles/package manifest data outside of projects. (#4074) - (go/v2) Removed unused import for defaulting webhooks scaffolded by
create webhook
(kubebuilder#1718). (#4156) - (go/v2) Allow owner to not be specified in generated licenses (kubebuilder#1749). (#4156)
- (go/v2) Fixed controller imports scaffolded by
create api
when--resource=false
(kubebuilder#1770). (#4215)