Skip to content

Releases: operator-framework/operator-sdk

v1.4.2

15 Feb 21:50
4b08339
Compare
Choose a tag to compare

v1.4.2

Bug Fixes

v1.3.2

13 Feb 00:26
v1.3.2
5dd883d
Compare
Choose a tag to compare

v1.3.2

Bug Fixes

  • Properly consider all Go files when generating a CSV's spec.customresourcedefinitions.owned. (#4508)

v1.4.0

04 Feb 21:48
v1.4.0
67f9c8b
Compare
Choose a tag to compare

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 and scorecard 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 the scorecard-test-kuttl image to v0.8.0. (#4391)
  • (go/v2) Changed go PROJECT plugin object to manifests and scorecard objects (.sdk.operatorframework.io suffix). (#4419)
  • (ansible/v1, helm/v1) Post-fixed positional directory argument . in docker-build make target to align with podman. (#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 and run 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's owned.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

04 Feb 21:06
v1.3.1
af8bc8d
Compare
Choose a tag to compare

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's owned.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

18 Dec 03:33
v1.3.0
1abf579
Compare
Choose a tag to compare

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 all generate subcommands. This flag is required by generate <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 base ClusterServiceVersion 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

09 Nov 22:11
215fc50
Compare
Choose a tag to compare

Additions

  • Enabled definition of custom categories encoded as JSON file(s) for the operatorhub validator. (#4109)

Changes

  • Improved ansible-operator and helm-operator help text. (#4187)
  • When generating bundles and package manifests, add all resources supported by OLM. (#4137)
  • olm and run subcommands will print aggregated resource errors when either OLM or an operator fail to install, respectively. (#3787)
  • Upgraded sigs.k8s.io/controller-runtime from v0.6.2 to v0.6.3. (#4062)

Bug Fixes

  • Set a generated CSV's .spec.webhookdefinitions[].{targetPort,containerPort} values from webhook Service ports. (#4178)
  • Excluded github.com/spf13/[email protected] to fix CVE-2018-1098. (#4199)
  • Added the kustomize make dependency to the bundle target scaffolded for Golang projects to install kustomize before running. (#4090)
  • Fixed an issue in operator-sdk cleanup that caused CatalogSource and OperatorGroup objects not to be cleaned up if a previous operator-sdk run command failed. (#4089)
  • Fixed an issue during CSV generation that caused incorrect paths to be used in specDescriptors and statusDescriptors. (#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 use rbac.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 scaffolded controllers/<group>/suite_test.go files. (#4062)

v1.1.0

15 Oct 20:17
v1.1.0
9d27e22
Compare
Choose a tag to compare

v1.1.0

Additions

  • For Ansible-based Operator, add .gitignore file. (#3806)
  • Added the --select-optional flag to bundle 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 and helm-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's webhookDefinition[].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 of operator-sdk. (#3795)
  • generate <bundle|packagemanifests> now generates a CSV base with only the AllNamespaces install mode supported by default, since projects are cluster-scoped by default. (#3746)
  • generate <bundle|packagemanifests> now defaults a CSV's spec.webhookDefinition[].admissionReviewVersions to []string{"v1beta1"}, as an empty or null value is invalid. (#3903)
  • generate <bundle|packagemanifests> now defaults a CSV's spec.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 to explicit. Additionally, if the ANSIBLE_GATHERING environment variable is set to explicit when running a role directly, the --role-skip-facts argument will be passed to ansible-runner. (#3933)
  • Added kubernetes authentication clients to ansible-operator and helm-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 from quay.io/openshift/origin-operator-registry:latest to quay.io/operator-framework/upstream-registry-builder:latest. (#3856)
  • When generating bundles and packagemanifests, remove metadata.namespace from namespaced resources when writing them into the manifests directory to avoid validation errors. (#3813)
  • Fixed a bug that caused the Helm operator not to set the InstallSuccessful and UpgradeSuccessful 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 necessary envtest 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

18 Sep 17:42
v1.0.1
4169b31
Compare
Choose a tag to compare

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 from quay.io/openshift/origin-operator-registry:latest to quay.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 of operator-sdk. (#3899)
  • generate <bundle|packagemanifests> now generates a CSV base with only the AllNamespaces 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 the manifests directory to avoid validation errors. (#3899)
  • Fixed a bug that caused the Helm operator not to set the InstallSuccessful and UpgradeSuccessful 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's webhookDefinition[].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

17 Sep 17:58
v0.19.4
Compare
Choose a tag to compare

v0.19.4

Changes

  • In ansible-operator and helm-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 from quay.io/openshift/origin-operator-registry:latest to quay.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

02 Sep 18:43
v0.19.3
d529ba4
Compare
Choose a tag to compare

v0.19.3

Changes

  • Breaking change: Changed the go.operator-sdk.io plugin to only write a plugins 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 of operator-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)