Releases: operator-framework/operator-sdk
Releases · operator-framework/operator-sdk
v1.4.2
v1.4.2
Bug Fixes
- Properly consider all Go files when generating a CSV's
spec.customresourcedefinitions.owned
. (#4509) - Bump cryptography dependency in ansible-operator to 3.3.2. This will fix a potential security bug related to
update()
calls. Ref: https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst#332---2021-02-07. (#4531)
v1.3.2
v1.4.0
v1.4.0
Additions
- For Helm-based operators, added Liveness and Readiness probe by default using
healthz.Ping
. (#4326) - For Ansible-based operators, added Liveness and Readiness probe by default using
healthz.Ping
. (#4326) - For Ansible/Helm-based operators, added new flag
--health-probe-bind-address
to set the health probe address. (#4326) - (ansible/v1, helm/v1) Added plugin objects for the
manifests
andscorecard
phase 2 plugins. (#4419) - For Ansible-based and Helm-based operators, as well as for the Operator SDK and the (custom) scorecard tests, the Docker base images are pinned to improve the reproducibility of builds using Docker. (#4417)
Changes
- Changed the suggested finalizer format to
<qualified-group>/<finalizer-name>
. (#4472) - Upgraded the
kudobuilder/kuttl
base image version in thescorecard-test-kuttl
image to v0.8.0. (#4391) - (go/v2) Changed
go
PROJECT plugin object tomanifests
andscorecard
objects (.sdk.operatorframework.io
suffix). (#4419) - (ansible/v1, helm/v1) Post-fixed positional directory argument
.
indocker-build
make target to align withpodman
. (#4466) - For Ansible-based operators, the Python version has been updated to a newer version, from 3.6 to 3.8 to take advantage of performance improvements, language additions, security updates and generally better availability for local development. (#4413)
Deprecations
- For Ansible-based operators, the
/ping
endpoint is deprecated. Use/healthz
instead. (#4326)
Bug Fixes
- Project version now determines how package name is retrieved for a project. (#4431)
run bundle-upgrade
now handles error gracefully when a previous operator version doesn't exist. (#4451)run bundle
andrun bundle-upgrade
now validate the value passed to the hidden flag--mode
before running a bundle. (#4462)- For Go-based projects,
generate <bundle|packagemanifests>
subcommands now consider package and type names when parsing Go API types files to generate a CSV'sowned.customresourcedefinitions
, such that types in different packages and files will not overwrite each other. (#4445) - Bumped operator-framework/api to prevent
operator-sdk bundle validate
from exiting non-0 when validation emits only warnings. (#4458) - Fixed panic when "operator-sdk bundle validate" fails. (#4386)
- Update containerd dependency to correctly handle running the Operator SDK CLI on Apple Silicon. (#4359)
- Fixed invalid object names generated for long package names passed to
run packagemanifests
&run bundle
. (#4471) - Corrected the download URL for helm-operator and ansible-operator in their respective project types. (#4407)
- Fixed the order of helm-operator, ansible-operator, and kustomize binary checks in the Makefile. (#4407)
- Fixed a bug that caused the Helm operator to remove the finalizer without doing a helm uninstall. (#3431)
- For Helm-based operators, do not add owner references to resources that contain the Helm annotation: 'helm.sh/resource-policy: keep'. (#4389)
v1.3.1
v1.3.1
Bug Fixes
- Project version now determines how package name is retrieved for a project. (#4443)
run bundle-upgrade
now handles error gracefully when a previous operator version doesn't exist. (#4451)- For Go-based projects,
generate <bundle|packagemanifests>
subcommands now consider package and type names when parsing Go API types files to generate a CSV'sowned.customresourcedefinitions
, such that types in different packages and files will not overwrite each other. (#4480) - Bumped operator-framework/api to prevent
operator-sdk bundle validate
from exiting non-0 when validation emits only warnings. (#4458) - Fixed panic when "operator-sdk bundle validate" fails. (#4386)
- Fixed invalid object names generated for long package names passed to
run packagemanifests
&run bundle
. (#4476) - Corrected the download URL for helm-operator and ansible-operator in their respective project types. (#4412)
- Fixed the order of helm-operator, ansible-operator, and kustomize binary checks in the Makefile. (#4412)
- Fixed a bug that caused the Helm operator to remove the finalizer without doing a helm uninstall. (#4457)
v1.3.0
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)
v1.2.0
Additions
- Enabled definition of custom categories encoded as JSON file(s) for the
operatorhub
validator. (#4109)
Changes
- Improved
ansible-operator
andhelm-operator
help text. (#4187) - When generating bundles and package manifests, add all resources supported by OLM. (#4137)
olm
andrun
subcommands will print aggregated resource errors when either OLM or an operator fail to install, respectively. (#3787)- Upgraded
sigs.k8s.io/controller-runtime
fromv0.6.2
tov0.6.3
. (#4062)
Bug Fixes
- Set a generated CSV's
.spec.webhookdefinitions[].{targetPort,containerPort}
values from webhookService
ports. (#4178) - Excluded
github.com/spf13/[email protected]
to fix CVE-2018-1098. (#4199) - Added the
kustomize
make dependency to thebundle
target scaffolded for Golang projects to installkustomize
before running. (#4090) - Fixed an issue in
operator-sdk cleanup
that causedCatalogSource
andOperatorGroup
objects not to be cleaned up if a previousoperator-sdk run
command failed. (#4089) - Fixed an issue during CSV generation that caused incorrect paths to be used in
specDescriptors
andstatusDescriptors
. (#4166) - In Helm projects, fixed operator RBAC permissions to support the OwnerReferencesPermissionEnforcement admission plugin by adding a
<resource>/finalizers
rule in the operator's role. (#4105) - Removed redundant platform information from
operator-sdk version
output. (#4083) - Format version string passed to
olm
subcommands so releases download correctly. (#4181) - In Go, Ansible, and Helm operators, updated the
metrics-reader
ClusterRole to userbac.authorization.k8s.io/v1
to be consistent with all other scaffolded RBAC resources. (#4136) - Modified
olm-status-descriptors-test
to only validate if the status-descriptors are present in CRD. (#4009) - Webhook container port specified in CSV defaults to
443
if not specified by the user. (#4109) - For Golang based operators with multigroup support, fixed
envtest.Environment.CRDDirectoryPaths
in scaffoldedcontrollers/<group>/suite_test.go
files. (#4062)
v1.1.0
v1.1.0
Additions
- For Ansible-based Operator, add
.gitignore
file. (#3806) - Added the
--select-optional
flag tobundle validate
to pass a label selector that runs any matching optional validator on top of required validators, and--list-optional
to display optional validators, their selectors, and a short explanation of what each does. (#3719) - Added the OperatorHub.io optional validator to
bundle validate
, which can be run by setting--select-optional=name=operatorhub
or--select-optional=suite=operatorframework
. (#3719) - Added the
run bundle
command. (#3988) - Added new base image assets containing the Operator-SDK CLI at quay.io/repository/operator-framework/operator-sdk. (#3902)
- Removed stale unix sockets. This allows for smoother initialization during the start-up of an Ansible operator, as each operator will clean up its sockets during termination. (#3721)
- Added feature to the command
operator-sdk olm install
that allows installing OLM version 0.15.1 without fetching the manifest from Github. (#3906) - Re-enabled s390x docker image builds. (#3855)
Changes
- In
ansible-operator
andhelm-operator
run commands, print git commit when logging version information. (#3849) - For Ansible/Helm, fix multigroup message. (#3822)
- For Helm-based Operators, cleanup the file
.gitignore
in order to not have invalid instructions for the type. (#3810) - Updated scorecard-test-kuttl image to kuttl v0.6.1. (#3659)
- Updated scorecard-test-kuttl image to kuttl v0.5.2. (#3659)
- Updated scorecard-test-kuttl image to use latest kuttl. (#3711)
- Updated the Makefile to build multiarch versions of the scorecard-test-kuttl and custom-scorecard-tests images to match the scorecard-test image. (#3821)
Bug Fixes
generate <bundle|packagemanifests>
will populate a CSV'swebhookDefinition[].deploymentName
by selecting an input Deployment via its PodTemplate labels using a webhook Service's label selectors, defaulting to "<service.metadata.name>-service" if none is selected. (#3761)- Resolves an issue with default channel bundle validation. The default channel label is not required. (#3953)
- Fixed debug logging in the
bundle validate
subcommand ofoperator-sdk
. (#3795) generate <bundle|packagemanifests>
now generates a CSV base with only theAllNamespaces
install mode supported by default, since projects are cluster-scoped by default. (#3746)generate <bundle|packagemanifests>
now defaults a CSV'sspec.webhookDefinition[].admissionReviewVersions
to []string{"v1beta1"}, as an empty or null value is invalid. (#3903)generate <bundle|packagemanifests>
now defaults a CSV'sspec.webhookDefinition[].sideEffects
to "None", as an empty or null value is invalid. (#3903)- The scaffolded manager deployment for Ansible-based Operators now has the
ANSIBLE_GATHERING
option set toexplicit
. Additionally, if theANSIBLE_GATHERING
environment variable is set to explicit when running a role directly, the--role-skip-facts
argument will be passed toansible-runner
. (#3933) - Added kubernetes authentication clients to
ansible-operator
andhelm-operator
to enable authentication to gcp, azure, etc. kubernetes clusters. (#3974) - Fixed a bug with
run packagemanifests
that caused the underlying registry pod to fail to start. Changed the registry pod image fromquay.io/openshift/origin-operator-registry:latest
toquay.io/operator-framework/upstream-registry-builder:latest
. (#3856) - When generating bundles and packagemanifests, remove
metadata.namespace
from namespaced resources when writing them into themanifests
directory to avoid validation errors. (#3813) - Fixed a bug that caused the Helm operator not to set the
InstallSuccessful
andUpgradeSuccessful
status reasons when the status update fails during installation and upgrade. (#3735) - Bumped helm and k8s dependencies to v3.3.4 and v1.18.8 to fix this upstream bug. (#3936)
- In Anisble projects, fix operator permissions for Openshift deployments by adding a
<resource>/finalizers
rule in the operator's role. (#3779) - In Go projects, resolved an issue that caused failing tests by changing the Makefile's
test
target to automatically download and configure the necessaryenvtest
binaries. (#3983) - Inform user to verify the presence of olm deployment manifests in github when
olm install
command gives a 404 http error. (#3907) - Prevent
run packagemanifests
from creating an OperatorGroup if one already exists in a namespace, and use that OperatorGroup if its target namespaces exactly match those passed in--install-mode
. See #3681. (#3689) - Resolved an issue that caused bundle validation to unnecessarily restrict CSV names to a specific format. Now, only DNS-1123 subdomain validity is verified. (#3887)
- Stop reconciling tasks when the event raised is a rescue in Ansible-based Operators. More info: Bugzilla 1856714. (#3650)
- Fix an issue in
run packagemanifests
where the registry server writes files in locations that require root. (#3867) - When scaffolding scorecard configurations, use release versions instead of
latest
in image tags. (#3845)
v1.0.1
v1.0.1
Bug Fixes
- Fixed a bug with
run packagemanifests
that caused the underlying registry pod to fail to start. Changed the registry pod image fromquay.io/openshift/origin-operator-registry:latest
toquay.io/operator-framework/upstream-registry-builder:latest
. (#3895) - Resolved an issue that caused bundle validation to unnecessarily restrict CSV names to a specific format. Now, only DNS-1123 subdomain validity is verified. (#3888)
- Fix an issue in
run packagemanifests
where the registry server writes files in locations that require root. (#3895) - Fixed debug logging in the
bundle validate
subcommand ofoperator-sdk
. (#3899) generate <bundle|packagemanifests>
now generates a CSV base with only theAllNamespaces
install mode supported by default, since projects are cluster-scoped by default. (#3899)- When generating bundles and packagemanifests, remove
metadata.namespace
from namespaced resources when writing them into themanifests
directory to avoid validation errors. (#3899) - Fixed a bug that caused the Helm operator not to set the
InstallSuccessful
andUpgradeSuccessful
status reasons when the status update fails during installation and upgrade. (#3899) - In Helm projects, fix operator permissions for Openshift deployments by adding a
<resource>/finalizers
rule in the operator's role. (#3899) - Prevent
run packagemanifests
from creating an OperatorGroup if one already exists in a namespace, and use that OperatorGroup if its target namespaces exactly match those passed in--install-mode
. See #3681. (#3899) - Stop reconciling tasks when the event raised is a rescue in Ansible-based Operators. More info: Bugzilla 1856714. (#3650)
- When scaffolding scorecard configurations, use release versions instead of
latest
in image tags. (#3899) generate <bundle|packagemanifests>
will populate a CSV'swebhookDefinition[].deploymentName
by selecting an input Deployment via its PodTemplate labels using a webhook Service's label selectors, defaulting to "<service.metadata.name>-service" if none is selected. (#3904)
v0.19.4
v0.19.4
Changes
- In
ansible-operator
andhelm-operator
, print git commit when logging version information. (#3850)
Bug Fixes
- Resolved an issue that caused bundle validation to unnecessarily restrict CSV names to a specific format. Now, only DNS-1123 subdomain validity is verified. (#3886)
- Fixed a bug with
run packagemanifests
that caused the underlying registry pod to fail to start. Changed the registry pod image fromquay.io/openshift/origin-operator-registry:latest
toquay.io/operator-framework/upstream-registry-builder:latest
. (#3894) - Fix an issue in
run packagemanifests
where the registry server writes files in locations that require root. (#3894) - Fix the migration guide link in the deprecation message of
operator-sdk
. (#3876)
v0.19.3
v0.19.3
Changes
- Breaking change: Changed the
go.operator-sdk.io
plugin to only write aplugins
PROJECT field and run the OLM integration plugin if the project version is "3-alpha" or above. (#3716) - Fix CVE-2020-14040 by upgrading to golang.org/x/text v0.3.3. (#3459)
Bug Fixes
- Fixed debug logging in the
bundle validate
subcommand ofoperator-sdk
. (#3812) - Fixed incorrect (cluster) role name assignments in generated CSVs #3600. (#3714)
- Fixed issue that caused scorecard to fail loading local bundle due to a bug search method for the bundle metadata directory. (#3829)
- Stop reconciling tasks when the event raised is a rescue in Ansible-based Operators. More info: Bugzilla 1856714. (#3727)