v0.19.0
Note: this release includes ansible-operator and helm-operator binaries built for all corresponding image build architectures. See #3327 for details.
Additions
- Add "panic" level for --zap-stacktrace-level (allows "debug", "info", "error", "panic"). (#3040)
- The
operator-sdkbinary has a new CLI workflow and project layout for scaffolding Go operators that is aligned with Kubebuilder's CLI and project layout. See the new Quickstart Guide and the new CLI reference for more details. (#3190) bundle validatecan now use a containerd image ("none") tool to unpack images, removing the need for an external image tool like docker/podman. (#3222)- The SDK
scorecardcommand adds a new test image, scorecard-test-kuttl, that allows end users to write and execute kuttl based tests. (#3278) - Add "--olm-namespace" flag to olm subcommands (install, uninstall) to allow users to specify the namespace where olm is to be installed or uninstalled. (#3300)
- Add sdk annotations to bundle resources (CSVs,
annotations.yamlandbundle.dockerfile). (#3120) - Add "--version" flag to olm subcommands (uninstall, status) to allow users to override the version of olm inferred from packageserver's CSV. (#3279)
- Alias
run packagemanifestsasrun pm. (#3314) - Add
generate kustomize manifestssubcommand for new project layouts. (#3258) - Add
generate packagemanifestssubcommand for legacy project layouts. (#3149) - Add
generate packagemanifestssubcommand for new project layouts. (#3096) - Added predicate filtering function for labels based on selectors specified in watches.yaml. Events of resources that match the selector's labels will be skipped. (#3275)
- Add builds for
ansible-operatorandhelm-operatorbinaries. (#3363) - Add new scorecard APIVersion "osdk.openshift.io/v1alpha3" and types. (#3125)
Changes
- Breaking change: Prevent the ansible-operator from mangling variables containing the uppercase representations of special words (e.g IP, HTTP, etc). (#3265)
- Breaking change: In Helm-based operators, the
UpdateSuccessfulcondition reason was renamed toUpgradeSuccessfulto better align with Helm nomenclature. (#3345) - Breaking change: In Helm-based operators, the
UpdateErrorcondition reason was renamed toUpgradeErrorto better align with Helm nomenclature. (#3269) - Upgrade Helm dependency for Helm based-Operators from
v3.2.0tov3.2.4in order to fix CVE-2020-4053. (#3313) - Change default value of
--overwriteflag inoperator-sdk generate bundleto true. (#3280) - The scorecard-test-kuttl image was updated to be based off the v0.5.1 version of kudobuilder/kuttl. This update fixes bugs found in kuttl v0.5.0. (#3369)
- The
alpha scorecardsubcommand now outputs results as a scorecard.operatorframework.io/v1alpha3 Test instead of a scorecard.operatorframework.io/v1alpha2 ScorecardOutput. As a result, the--listargument will now just output a list of tests, without associated labels. (#3208)
Removals
- The
operator-sdk newcommand no longer supports scaffolding new Go projects with the--type=Goflag. To scaffold new projects, users are expected to useoperator-sdk initas part of the new CLI for Go operators. (#3190)
Deprecations
- With the introduction of the new Kubebuilder aligned CLI and project layout for Go operators, the old CLI will still continue to work for Go projects scaffolded in the old layout with
operator-sdk new. However the old CLI is now deprecated and will be removed in a future release. (#3190) - The migrate sub-command is deprecated. (#3319)
- Deprecate 'operator-sdk add crd'. Use 'operator-sdk add api' instead. (#3180)
bundle createis deprecated in favor of a combination ofgenerate bundleanddocker build -f bundle.Dockerfile .... (#3323)generate csvis deprecated in favor ofgenerate bundleorgenerate packagemanifests. (#3322)- The flag
--git-initin thenewcommand was deprecated. (#3241)
Bug Fixes
- Fix leader election of follower showing that an old leader will be evicted when the current leader is healthy. (#3059)
- Fix bug in
operator-sdk bundle validationthat causes erroneous validation errors when the number of annotations in an existingannotations.yamldoes not equal the number of default bundle annotations by upgrading theoperator-registrydependency. (#3221) - Fix the download URL for the
tinibinary on ARM64 for the ansible operator base image. (#3234) - The
generate crdssubcommand now checks for the existence of thepkg/apisdirectory and logs a descriptive fatal error message if it does not exist or is not a directory. (#3091) - Fix bug in
bundle validatethat erroneously causes errors when a CRD manifest contains versions not present in a bundled CSV by bumping the api library version. (#3282) - Bump api validation library to fix "CRD key not found" validation bug. (#3154)