v0.17.0
v0.17.0
Added
- Added support for generating kube-state-metrics metrics for cluster-scoped resources. Also added
pkg/kubemetrics.NewNamespacedMetricsStores
andpkg/kubemetrics.NewClusterScopedMetricsStores
to support this new feature. (#2809) - Added the
generate csv --deploy-dir --apis-dir --crd-dir
flags to allow configuring input locations for operator manifests and API types directories to the CSV generator in lieu of a config. See the CLI reference doc orgenerate csv -h
help text for more details. (#2511) - Added the
generate csv --output-dir
flag to allow configuring the output location for the catalog directory. (#2511) - The flag
--watch-namespace
and--operator-namespace
was added tooperator-sdk run --local
,operator-sdk test --local
andoperator-sdk cleanup
commands in order to replace the flag--namespace
which was deprecated.(#2617) - The methods
ctx.GetOperatorNamespace()
andctx.GetWatchNamespace()
was addedpkg/test
in order to replacectx.GetNamespace()
which is deprecated. (#2617) - The
--crd-version
flag was added to thenew
,add api
,add crd
, andgenerate crds
commands so that users can opt-in tov1
CRDs. (#2684) - The printout for the compatible Kubernetes Version #2446
- The
--output-dir
flag instructsoperator-sdk bundle create
to write manifests and metadata to a non-default directory. (#2715) - The
--overwrite
flag instructsoperator-sdk bundle create
to overwrite metadata, manifests, andbundle.Dockerfile
. (#2715) operator-sdk bundle validate
now accepts either an image tag or a directory arg. If the arg is a directory, its children must contain amanifests/
and ametadata/
directory. (#2737)- Add support to release SDK arm64 binaries and images. (#2742)
- Add annotation
helm.operator-sdk/upgrade-force: "True"
to allow force resources replacement (helm upgrade --force
) for Helm based-operators. (#2773) - The
--make-manifests
flag directsoperator-sdk generate csv
to create amanifests/
directory for the latest operator bundle, including CRDs. This flag is set by default. (#2776) operator-sdk run --olm
supports the new operator metadata format inmetadata/annotations.yaml
. (#2840)
Changed
- The scorecard when creating a Custom Resource, will produce a message to the user if that CR already exists. (#2683)
- Upgrade Kubernetes dependency versions from
v1.16.2
tov1.17.4
. (#2715) - Upgrade
controller-runtime
version fromv0.4.0
tov0.5.2
. (#2715) - Upgrade
controller-tools
version fromv0.2.4
tov0.2.8
. (#2715) - Upgrade
helm
version fromv3.0.2
tov3.1.2
. (#2715) - Upgrade
prometheus-operator
version fromv0.34.0
tov0.38.0
. (#2715) - Upgrade
operator-registry
version fromv1.5.7
tov1.6.2
. (#2715) - Breaking Change:
operator-sdk bundle create
now creates amanifests/
directory under the parent directory of the argument passed to--directory
, and setting--generate-only=true
writes a Dockerfile to<project-root>/bundle.Dockerfile
that copies bundle manifests from thatmanifests/
directory. (#2715) - Upgrade Kind used for tests for Ansible based-operators from
1.16
to1.17
. (#2753) - Breaking Change: Upgrade Molecule for Ansible-based operators from
2.22
to3.0.2
. For instructions on upgrading your project to use the V3 Molecule version see here. (#2749) - Breaking Change: Changed Conditions from
map[ConditionType]Condition
to[]Condition
. (#2739) - Setting
operator-sdk generate csv --output-dir
will search the output directory for bundles before searching the default location. (#2776)
Deprecated
- Deprecated
pkg/kubemetrics.NewMetricsStores
. Usepkg/kubemetrics.NewNamespacedMetricsStores
instead. (#2809) - Breaking Change: The
--namespace
flag fromoperator-sdk run --local
,operator-sdk test --local
andoperator-sdk cleanup
command was deprecated and will be removed in the future versions. Use--watch-namespace
and--operator-namespace
instead of. (#2617) - Breaking Change: The method
ctx.GetNamespace()
from thepkg/test
is deprecated and will be removed in future versions. Usectx.GetOperatorNamespace()
andctx.GetWatchNamespace()
instead of. (#2617) - Breaking Change: package manifests are deprecated and new manifests are no longer generated; existing manifests are still updated by
operator-sdk generate csv
, but updates will not occur in future versions. Useoperator-sdk bundle create
to manage operator bundle metadata. (#2755)
Removed
- Breaking Change: remove
pkg/restmapper
which was deprecated inv0.14.0
. Projects that use this package must switch to theDynamicRESTMapper
implementation in controller-runtime. (#2544) - Breaking Change: remove deprecated
operator-sdk generate openapi
subcommand. (#2740) - Breaking Change: Removed CSV configuration file support (defaulting to deploy/olm-catalog/csv-config.yaml) in favor of specifying inputs to the generator via
generate csv --deploy-dir --apis-dir --crd-dir
, and configuring output locations viagenerate csv --output-dir
. (#2511)
Bug Fixes
- The Ansible Operator proxy server now properly supports the Pod
exec
API (#2716) - Resources that use '-' in the APIGroup name can now be directly accessed by Ansible. (#2712)
- Fixed issue in CSV generation that caused an incorrect path to be generated for descriptors on types that are fields in array elements. (#2721)
- The test framework
pkg/test
no longer double-registers the--kubeconfig
flag. Related bug: kubernetes-sigs/controller-runtime#878. (#2731) - The command
operator-sdk generate k8s
no longer requires users to explicitly set GOROOT in their environment. Now, GOROOT is detected usinggo env GOROOT
and set automatically. (#2754) operator-sdk generate csv
andoperator-sdk test local
now parse multi-manifest files correctly. (#2758)- Fixed CRD validation generation issue with
status.Conditions
. (#2739) - Fix issue faced in the reconciliation when arrays are used in the config YAML files for Helm based-operators. (#2777)
- Fixed issue in helm-operator where empty resource in release manifest caused failures while setting up watches for dependent resources. (#2831)
Note:
- See how to upgrade your project to the version v0.17.0 by checking the Version Upgrade Guide