operator-sdk

SDK for building Kubernetes applications. Provides high level APIs, useful abstractions, and project scaffolding.

APACHE-2.0 License

Stars
7.2K
Committers
340

Bot releases are hidden (Show)

operator-sdk - v1.34.0

Published by oceanc80 8 months ago

v1.34.0

Changes

Bug Fixes

operator-sdk -

Published by estroz over 3 years ago

The quay.io/operator-framework/scorecard-test-kuttl image will now be released separately from other Operator SDK images due to its dependency on kuttl. These releases start at v2.0.0 and contain images tagged like:

quay.io/operator-framework/scorecard-test-kuttl:v2.0.0
quay.io/operator-framework/scorecard-test-kuttl:v2.0

Images tagged with master will still be pushed on a per-commit basis.

See #4557 and #4633 for discussion.

operator-sdk - v1.4.2

Published by estroz over 3 years ago

v1.4.2

Bug Fixes

operator-sdk - v1.3.2

Published by estroz over 3 years ago

v1.3.2

Bug Fixes

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

Published by estroz over 3 years ago

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)
operator-sdk - v1.3.1

Published by estroz over 3 years ago

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)
operator-sdk - v1.3.0

Published by estroz almost 4 years ago

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)
operator-sdk - v1.2.0

Published by estroz almost 4 years ago

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)
operator-sdk - v1.1.0

Published by asmacdo about 4 years ago

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)
operator-sdk - v1.0.1

Published by joelanford about 4 years ago

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)
operator-sdk - v0.19.4

Published by joelanford about 4 years ago

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)
operator-sdk - v0.19.3

Published by asmacdo about 4 years ago

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)
operator-sdk - v1.0.0

Published by jmrodri about 4 years ago

v1.0.0

Since v0.19

Additions

  • The Ansible and Helm operators have a version subcommand that prints the version information for the ansible-operator and helm-operator binaries. (#3596)
  • Added --ansible-args command-line flag that allows users to specify arbitrary CLI arguments for Ansible-based operators that are passed through ansible-runner. For example, passing --ansible-vault as an arbitrary argument allows user to store sensitive data in encrypted files. (#3374)
  • generate bundle and generate packagemanifests will write RBAC objects (Roles, RoleBindings, their Cluster equivalents, and ServiceAccounts) not bound to CSV deployment service accounts to the resulting manifests directory. (#3610)
  • The snakeCaseParameters option has been added to the watches.yaml for Ansible-based Operators. This allows the user to configure whether parameters in the resource spec are automatically converted from camelCase to snake_case. The default is true, so there is no behavior change for existing operators, but it can now be disabled. (#3245)
  • Added projectName key to the PROJECT config file (v3-alpha+). (#3438)
  • Added the --from-version flag to generate packagemanifests. (#3509)
  • The generate bundle command now adds scorecard bundle metadata to bundle.Dockerfile and annotations.yaml if --overwrite is set (the default in a project's Makefile) or both files do not exist. (#3474)
  • Added config/scorecard kustomize scaffolds to init. (#3490)

Changes

  • Breaking change: Changed the go.sdk.operatorframework.io plugin to only write a plugins PROJECT field and run the OLM integration and scorecard plugins if the project version is "3-alpha" or above. (#3697)
  • Breaking change: Added a scaffold marker +kubebuilder:scaffold:manifestskustomizesamples to config/samples/kustomization.yaml that allows updates without overwriting the entire file. (#3645)
  • Breaking change: Added IMG argument to bundle make rule that accepts an operator image tag. This tag will be inserted into the manager's deployment manifest when make bundle IMG=<tag> is run. (#3634)
  • Breaking change: Updated operator-sdk cleanup command to be more generic. (#3644)
  • Breaking change: Default install mode for run packagemanifests changed from OwnNamespace to AllNamespaces. (#3663)
  • Breaking change: The Ansible and Helm operators now use controller-runtime's zap package to define logging flags. (#3596)
  • Breaking change: The Ansible and Helm operators now use a run subcommand to run the operator. (#3596)
  • The generate bundle subcommand no longer requires a default channel be set nor defaults to the first channel provided to --channels. (#3602)
  • The bundle validate subcommand no longer returns an error if a bundle does not have a default channel. (#3602)
  • Breaking change: The --update-crds flag has been renamed to --update-objects for the generate packagemanifests subcommand. (#3610)
  • Breaking change: Changed --operator-version flag to --version in run packagemanifests. (#3599)
  • Breaking change: Changed --operator-namespace flag to --namespace in run packagemanifests. (#3601)
  • Use structured logging in Ansible and Helm operator base images when printing version information. (#3564)
  • The Ansible and Helm-based operators now use the controller-runtime's lease-based leader election instead of SDK's leader-for-life mechanism. (#3457) & (#3446)
  • Breaking change: Added --metrics-addr flag to the Ansible and Helm-based operators to make it configurable, and changed the default port from :8383 to :8080. (#3489) & (#3440)
  • Breaking change: Changed domain suffix used for plugins and CR annotations to consistently use .sdk.operatorframework.io. (#3527)
  • Breaking change: Removed the implementation for EnqueueRequestForAnnotation handler from the SDK repository and referenced it from operator-lib instead. (#3506)
  • Breaking change: The Ansible operator implementation in pkg/ansible was moved to internal/ansible. (#3560)
  • Breaking change: The Helm operator implementation in pkg/helm was moved to internal/helm. (#3537)
  • Breaking change: The Ansible operator's --max-workers flag and WORKERS_<Kind>_<Group> environment variable have been renamed to --max-concurrent-reconciles and MAX_CONCURRENT_RECONCILES_<Kind>_<Group> respectively. (#3452)
  • Breaking change: The meta variable passed to Ansible playbooks and roles has been renamed to ansible_operator_meta. (#3562)
  • Breaking change: The scorecard configuration is now implemented as a componentconfig object and now includes a new top-level stages field, which allows users to define stages of tests and to enable parallelism within each stage. (#3490) & (#3434)
  • When a namespace is not provided on the command line, the scorecard command now looks for a namespace in the kubeconfig. If a namespace can not be found in the kubeconfig file, then 'default' is used. (#3478)
  • Use on-disk bundle metadata in scorecard (either unpacked from an image or directly if a directory is passed) as the source of truth for bundle metadata, and not image labels which are informative only. (#3450)
  • Breaking change: The alpha scorecard command has been promoted to the standard scorecard command. (#3444)
  • Breaking change: Changed scorecard text and json output to use a v1alpha3.TestList instead of aggregating all test results under a single v1alpha3.Test and set exit status to 1 when a test fails. (#3427)
  • Ansible & Helm-based Operators switched to using the InstrumentedEnqueueRequestForObject from operator-lib instead of controller-runtime's EnqueueRequestForObject. (#3523)

Removals

  • Breaking change: Removed olm-namespace flag from operator-sdk olm install command. (#3670)
  • Breaking change: Docker images for s390x architecture are removed due to issues with s390x machines failing to be scheduled and run in Travis CI. (#3710)
  • Breaking change: Moved scorecard API v1alpha3 to the api repo under pkg/apis/scorecard/v1alpha3. All future scorecard APIs will be released in this repo. (#3622)
  • Breaking change: Removed package version. (#3617)
  • Breaking change: Removed --operator-name from generate subcommands in favor of using project-name from the PROJECT config file (v3-alpha+). (#3530)
  • Breaking change: Removed --include-paths flag from run packagemanifests. (#3599)
  • Breaking change: Removed --olm-namespace flag from run packagemanifests. (#3601)
  • Breaking change: Removed support for the legacy layout. Operator SDK has a new CLI and project layout that is aligned with Kubebuilder. (#3327) (#3343) (#3547) (#3566) (#3343) (#3466) (#3531) (#3451) (#3414) (#3414) (#3414) (#3414) (#3385) (#3406)
  • Breaking change: Moved pkg/log/zap to internal/log/zap, therefore it is no longer a public API. (#3525)
  • Breaking change: Removed pkg/predicate: ResourceFilterPredicate. (#3532)
  • Breaking change: Refactored and moved pkg/predicate.GenerationChangedPredicate (see this operator-lib PR for details). (#3532)
  • Breaking change: Removed test subcommand and the test framework pkg/test. (#3409)
  • Breaking change: Removed pkg/k8sutils and its helpers methods GetWatchNamespace(), GetOperatorNamespace(), GetOperatorName(), ResourceExists(), GetPod(), GetGVKsFromAddToScheme() and SupportsOwnerReference(). (#3475)
  • Breaking change: Removed pkg/kube-metrics and its associated helpers NewNamespacedMetricsStores(), NewClusterScopedMetricsStores(), ServeMetrics(), and GenerateAndServeCRMetrics(). (#3484)
  • Breaking change: Removed pkg/leader and pkg/status. These are now part of operator-lib. (#3503)
  • Breaking change: Removed pkg/metrics and its helpers GenerateAndServeCRMetrics() and GetNamespacesForMetrics(). (#3484)
  • Breaking change: Removed pkg/ready and its helper utils Ready, Set(), Unset(). (#3476)
  • Breaking change: Removed pkg/tls since that pkg is a leftover from an earlier effort to make certificate management easier, but was abandoned in favor of alternatives like cert-manager. (#3468)

Bug Fixes

  • Fixed incorrect (cluster) role name assignments in generated CSVs #3600. (#3610)
  • Fixed a bug that caused the Ansible operator not to set the environment variables ANSIBLE_ROLES_PATH and ANSIBLE_COLLECTIONS_PATH based on the flags --ansible-roles-path and --ansible-collections-path. (#3549)
  • Use group and kind instead of only kind when parsing manifests in the CSV generator to avoid marshaling them into the wrong Go types. (#3334)
  • Fixed issue that caused scorecard to fail loading local bundle due to a bug search method for the bundle metadata directory. (#3408)
  • Fixed CVE-2020-14040 by updating to golang.org/x/text/0.3.3. (#3458)
  • The scorecard subcommand now removes existing pods if the --wait-time deadline is exceeded and --skip-cleanup=false (the default). Fixes #3419. (#3526)
  • Fixed a bug in scorecard that caused tests to fail with permission errors when loading the bundle. (#3428)

Since v1.0.0-alpha.2

Changes

  • Breaking change: Changed the go.sdk.operatorframework.io plugin to only write a plugins PROJECT field and run the OLM integration and scorecard plugins if the project version is "3-alpha" or above. (#3697)
  • Breaking change: Added a scaffold marker +kubebuilder:scaffold:manifestskustomizesamples to config/samples/kustomization.yaml that allows updates without overwriting the entire file. (#3645)
  • Breaking change: Added IMG argument to bundle make rule that accepts an operator image tag. This tag will be inserted into the manager's deployment manifest when make bundle IMG=<tag> is run. (#3634)
  • Breaking change: Updated operator-sdk cleanup command to be more generic. (#3644)
  • Breaking change: Default install mode for run packagemanifests changed from OwnNamespace to AllNamespaces. (#3663)

Removals

  • Breaking change: Removed olm-namespace flag from operator-sdk olm install command. (#3670)
  • Breaking change: Docker images for s390x architecture are removed due to issues with s390x machines failing to be scheduled and run in Travis CI. (#3710)

v1.0.0-alpha.2

Additions

  • The Ansible and Helm operators have a version subcommand that prints the version information for the ansible-operator and helm-operator binaries. (#3596)
  • Added --ansible-args command-line flag that allows users to specify arbitrary CLI arguments for Ansible-based operators that are passed through ansible-runner. For example, passing --ansible-vault as an arbitrary argument allows user to store sensitive data in encrypted files. (#3374)
  • generate bundle and generate packagemanifests will write RBAC objects (Roles, RoleBindings, their Cluster equivalents, and ServiceAccounts) not bound to CSV deployment service accounts to the resulting manifests directory. (#3610)

Changes

  • Breaking change: The Ansible and Helm operators now use controller-runtime's zap package to define logging flags. (#3596)
  • Breaking change: The Ansible and Helm operators now use a run subcommand to run the operator. (#3596)
  • The generate bundle subcommand no longer requires a default channel be set nor defaults to the first channel provided to --channels. (#3602)
  • The bundle validate subcommand no longer returns an error if a bundle does not have a default channel. (#3602)
  • Breaking change: The --update-crds flag has been renamed to --update-objects for the generate packagemanifests subcommand. (#3610)
  • Breaking change: Changed --operator-version flag to --version in run packagemanifests. (#3599)
  • Breaking change: Changed --operator-namespace flag to --namespace in run packagemanifests. (#3601)

Removals

  • Breaking change: Moved scorecard API v1alpha3 to the api repo under pkg/apis/scorecard/v1alpha3. All future scorecard APIs will be released in this repo. (#3622)
  • Breaking change: Removed package version. (#3617)
  • Breaking change: Removed --operator-name from generate subcommands in favor of using project-name from the PROJECT config file (v3-alpha+). (#3530)
  • Breaking change: Removed --include-paths flag from run packagemanifests. (#3599)
  • Breaking change: Removed --olm-namespace flag from run packagemanifests. (#3601)

Bug Fixes

  • Fixed incorrect (cluster) role name assignments in generated CSVs #3600. (#3610)

v1.0.0-alpha.1

Additions

  • The snakeCaseParameters option has been added to the watches.yaml for Ansible-based Operators. This allows the user to configure whether parameters in the resource spec are automatically converted from camelCase to snake_case. The default is true, so there is no behavior change for existing operators, but it can now be disabled. (#3245)
  • Added projectName key to the PROJECT config file (v3-alpha+). (#3438)
  • Added the --from-version flag to generate packagemanifests. (#3509)
  • The generate bundle command now adds scorecard bundle metadata to bundle.Dockerfile and annotations.yaml if --overwrite is set (the default in a project's Makefile) or both files do not exist. (#3474)
  • Added config/scorecard kustomize scaffolds to init. (#3490)

Changes

  • Use structured logging in Ansible and Helm operator base images when printing version information. (#3564)
  • The Ansible and Helm-based operators now use the controller-runtime's lease-based leader election instead of SDK's leader-for-life mechanism. (#3457) & (#3446)
  • Breaking change: Added --metrics-addr flag to the Ansible and Helm-based operators to make it configurable, and changed the default port from :8383 to :8080. (#3489) & (#3440)
  • Breaking change: Changed domain suffix used for plugins and CR annotations to consistently use .sdk.operatorframework.io. (#3527)
  • Breaking change: Removed the implementation for EnqueueRequestForAnnotation handler from the SDK repository and referenced it from operator-lib instead. (#3506)
  • Breaking change: The Ansible operator implementation in pkg/ansible was moved to internal/ansible. (#3560)
  • Breaking change: The Helm operator implementation in pkg/helm was moved to internal/helm. (#3537)
  • Breaking change: The Ansible operator's --max-workers flag and WORKERS_<Kind>_<Group> environment variable have been renamed to --max-concurrent-reconciles and MAX_CONCURRENT_RECONCILES_<Kind>_<Group> respectively. (#3452)
  • Breaking change: The meta variable passed to Ansible playbooks and roles has been renamed to ansible_operator_meta. (#3562)
  • Breaking change: The scorecard configuration is now implemented as a componentconfig object and now includes a new top-level stages field, which allows users to define stages of tests and to enable parallelism within each stage. (#3490) & (#3434)
  • When a namespace is not provided on the command line, the scorecard command now looks for a namespace in the kubeconfig. If a namespace can not be found in the kubeconfig file, then 'default' is used. (#3478)
  • Use on-disk bundle metadata in scorecard (either unpacked from an image or directly if a directory is passed) as the source of truth for bundle metadata, and not image labels which are informative only. (#3450)
  • Breaking change: The alpha scorecard command has been promoted to the standard scorecard command. (#3444)
  • Breaking change: Changed scorecard text and json output to use a v1alpha3.TestList instead of aggregating all test results under a single v1alpha3.Test and set exit status to 1 when a test fails. (#3427)
  • Ansible & Helm-based Operators switched to using the InstrumentedEnqueueRequestForObject from operator-lib instead of controller-runtime's EnqueueRequestForObject. (#3523)

Removals

  • Breaking change: Removed support for the legacy layout. Operator SDK has a new CLI and project layout that is aligned with Kubebuilder. (#3327) (#3343) (#3547) (#3566) (#3343) (#3466) (#3531) (#3451) (#3414) (#3414) (#3414) (#3414) (#3385) (#3406)
  • Breaking change: Moved pkg/log/zap to internal/log/zap, therefore it is no longer a public API. (#3525)
  • Breaking change: Removed pkg/predicate: ResourceFilterPredicate. (#3532)
  • Breaking change: Refactored and moved pkg/predicate.GenerationChangedPredicate (see this operator-lib PR for details). (#3532)
  • Breaking change: Removed test subcommand and the test framework pkg/test. (#3409)
  • Breaking change: Removed pkg/k8sutils and its helpers methods GetWatchNamespace(), GetOperatorNamespace(), GetOperatorName(), ResourceExists(), GetPod(), GetGVKsFromAddToScheme() and SupportsOwnerReference(). (#3475)
  • Breaking change: Removed pkg/kube-metrics and its associated helpers NewNamespacedMetricsStores(), NewClusterScopedMetricsStores(), ServeMetrics(), and GenerateAndServeCRMetrics(). (#3484)
  • Breaking change: Removed pkg/leader and pkg/status. These are now part of operator-lib. (#3503)
  • Breaking change: Removed pkg/metrics and its helpers GenerateAndServeCRMetrics() and GetNamespacesForMetrics(). (#3484)
  • Breaking change: Removed pkg/ready and its helper utils Ready, Set(), Unset(). (#3476)
  • Breaking change: Removed pkg/tls since that pkg is a leftover from an earlier effort to make certificate management easier, but was abandoned in favor of alternatives like cert-manager. (#3468)

Bug Fixes

  • Fixed a bug that caused the Ansible operator not to set the environment variables ANSIBLE_ROLES_PATH and ANSIBLE_COLLECTIONS_PATH based on the flags --ansible-roles-path and --ansible-collections-path. (#3549)
  • Use group and kind instead of only kind when parsing manifests in the CSV generator to avoid marshaling them into the wrong Go types. (#3334)
  • Fixed issue that caused scorecard to fail loading local bundle due to a bug search method for the bundle metadata directory. (#3408)
  • Fixed CVE-2020-14040 by updating to golang.org/x/text/0.3.3. (#3458)
  • The scorecard subcommand now removes existing pods if the --wait-time deadline is exceeded and --skip-cleanup=false (the default). Fixes #3419. (#3526)
  • Fixed a bug in scorecard that caused tests to fail with permission errors when loading the bundle. (#3428)
operator-sdk - v1.0.0-alpha.2

Published by varshaprasad96 about 4 years ago

v1.0.0-alpha.2

For documentation on this release, please visit https://master.sdk.operatorframework.io.

This site tracks the master branch, so documentation updates based on feedback from this alpha release will automatically be reflected until v1.0.0 is released.

Additions

  • The Ansible and Helm operators have a version subcommand that prints the version information for the ansible-operator and helm-operator binaries. (#3596)
  • Added --ansible-args command-line flag that allows users to specify arbitrary CLI arguments for Ansible-based operators that are passed through ansible-runner. For example, passing --ansible-vault as an arbitrary argument allows user to store sensitive data in encrypted files. (#3374)
  • generate bundle and generate packagemanifests will write RBAC objects (Roles, RoleBindings, their Cluster equivalents, and ServiceAccounts) not bound to CSV deployment service accounts to the resulting manifests directory. (#3610)

Changes

  • Breaking change: The Ansible and Helm operators now use controller-runtime's zap package to define logging flags. (#3596)
  • Breaking change: The Ansible and Helm operators now use a run subcommand to run the operator. (#3596)
  • The generate bundle subcommand no longer requires a default channel be set nor defaults to the first channel provided to --channels. (#3602)
  • The bundle validate subcommand no longer returns an error if a bundle does not have a default channel. (#3602)
  • Breaking change: The --update-crds flag has been renamed to --update-objects for the generate packagemanifests subcommand. (#3610)
  • Breaking change: Changed --operator-version flag to --version in run packagemanifests. (#3599)
  • Breaking change: Changed --operator-namespace flag to --namespace in run packagemanifests. (#3601)

Removals

  • Breaking change: Moved scorecard API v1alpha3 to the api repo under pkg/apis/scorecard/v1alpha3. All future scorecard APIs will be released in this repo. (#3622)
  • Breaking change: Removed package version. (#3617)
  • Breaking change: Removed --operator-name from generate subcommands in favor of using project-name from the PROJECT config file (v3-alpha+). (#3530)
  • Breaking change: Removed --include-paths flag from run packagemanifests. (#3599)
  • Breaking change: Removed --olm-namespace flag from run packagemanifests. (#3601)

Bug Fixes

  • Fixed incorrect (cluster) role name assignments in generated CSVs #3600. (#3610)
operator-sdk - v0.19.2

Published by estroz about 4 years ago

Changes

  • The generate bundle subcommand no longer requires a default channel be set nor defaults to the first channel provided to --channels. (#3605)
  • The bundle validate subcommand no longer returns an error if a bundle does not have a default channel. (#3605)
operator-sdk - v0.19.1

Published by camilamacedo86 about 4 years ago

For documentation on this release, please visit https://v0-19-x.sdk.operatorframework.io/.

Additions

  • Added the --from-version flag to generate packagemanifests. (#3524)

Bug Fixes

  • Fixed a bug that caused the Ansible operator not to set the environment variables ANSIBLE_ROLES_PATH and ANSIBLE_COLLECTIONS_PATH based on the flags --ansible-roles-path and --ansible-collections-path. (#3565)
operator-sdk - v1.0.0-alpha.1

Published by jmrodri about 4 years ago

v1.0.0-alpha.1

For documentation on this release, please visit https://master.sdk.operatorframework.io.

This site tracks the master branch, so documentation updates based on feedback from this alpha release will automatically be reflected until v1.0.0 is released.

Additions

  • The snakeCaseParameters option has been added to the watches.yaml for Ansible-based Operators. This allows the user to configure whether parameters in the resource spec are automatically converted from camelCase to snake_case. The default is true, so there is no behavior change for existing operators, but it can now be disabled. (#3245)
  • Added projectName key to the PROJECT config file (v3-alpha+). (#3438)
  • Added the --from-version flag to generate packagemanifests. (#3509)
  • The generate bundle command now adds scorecard bundle metadata to bundle.Dockerfile and annotations.yaml if --overwrite is set (the default in a project's Makefile) or both files do not exist. (#3474)
  • Added config/scorecard kustomize scaffolds to init. (#3490)

Changes

  • Use structured logging in Ansible and Helm operator base images when printing version information. (#3564)
  • The Ansible and Helm-based operators now use the controller-runtime's lease-based leader election instead of SDK's leader-for-life mechanism. (#3457) & (#3446)
  • Breaking change: Added --metrics-addr flag to the Ansible and Helm-based operators to make it configurable, and changed the default port from :8383 to :8080. (#3489) & (#3440)
  • Breaking change: Changed domain suffix used for plugins and CR annotations to consistently use .sdk.operatorframework.io. (#3527)
  • Breaking change: Removed the implementation for EnqueueRequestForAnnotation handler from the SDK repository and referenced it from operator-lib instead. (#3506)
  • Breaking change: The Ansible operator implementation in pkg/ansible was moved to internal/ansible. (#3560)
  • Breaking change: The Helm operator implementation in pkg/helm was moved to internal/helm. (#3537)
  • Breaking change: The Ansible operator's --max-workers flag and WORKERS_<Kind>_<Group> environment variable have been renamed to --max-concurrent-reconciles and MAX_CONCURRENT_RECONCILES_<Kind>_<Group> respectively. (#3452)
  • Breaking change: The meta variable passed to Ansible playbooks and roles has been renamed to ansible_operator_meta. (#3562)
  • Breaking change: The scorecard configuration is now implemented as a componentconfig object and now includes a new top-level stages field, which allows users to define stages of tests and to enable parallelism within each stage. (#3490) & (#3434)
  • When a namespace is not provided on the command line, the scorecard command now looks for a namespace in the kubeconfig. If a namespace can not be found in the kubeconfig file, then 'default' is used. (#3478)
  • Use on-disk bundle metadata in scorecard (either unpacked from an image or directly if a directory is passed) as the source of truth for bundle metadata, and not image labels which are informative only. (#3450)
  • Breaking change: The alpha scorecard command has been promoted to the standard scorecard command. (#3444)
  • Breaking change: Changed scorecard text and json output to use a v1alpha3.TestList instead of aggregating all test results under a single v1alpha3.Test and set exit status to 1 when a test fails. (#3427)
  • Ansible & Helm-based Operators switched to using the InstrumentedEnqueueRequestForObject from operator-lib instead of controller-runtime's EnqueueRequestForObject. (#3523)

Removals

  • Breaking change: Removed support for the legacy layout. Operator SDK has a new CLI and project layout that is aligned with Kubebuilder. (#3327) (#3343) (#3547) (#3566) (#3343) (#3466) (#3531) (#3451) (#3414) (#3414) (#3414) (#3414) (#3385) (#3406)
  • Breaking change: Moved pkg/log/zap to internal/log/zap, therefore it is no longer a public API. (#3525)
  • Breaking change: Removed pkg/predicate: ResourceFilterPredicate. (#3532)
  • Breaking change: Refactored and moved pkg/predicate.GenerationChangedPredicate (see this operator-lib PR for details). (#3532)
  • Breaking change: Removed test subcommand and the test framework pkg/test. (#3409)
  • Breaking change: Removed pkg/k8sutils and its helpers methods GetWatchNamespace(), GetOperatorNamespace(), GetOperatorName(), ResourceExists(), GetPod(), GetGVKsFromAddToScheme() and SupportsOwnerReference(). (#3475)
  • Breaking change: Removed pkg/kube-metrics and its associated helpers NewNamespacedMetricsStores(), NewClusterScopedMetricsStores(), ServeMetrics(), and GenerateAndServeCRMetrics(). (#3484)
  • Breaking change: Removed pkg/leader and pkg/status. These are now part of operator-lib. (#3503)
  • Breaking change: Removed pkg/metrics and its helpers GenerateAndServeCRMetrics() and GetNamespacesForMetrics(). (#3484)
  • Breaking change: Removed pkg/ready and its helper utils Ready, Set(), Unset(). (#3476)
  • Breaking change: Removed pkg/tls since that pkg is a leftover from an earlier effort to make certificate management easier, but was abandoned in favor of alternatives like cert-manager. (#3468)

Bug Fixes

  • Fixed a bug that caused the Ansible operator not to set the environment variables ANSIBLE_ROLES_PATH and ANSIBLE_COLLECTIONS_PATH based on the flags --ansible-roles-path and --ansible-collections-path. (#3549)
  • Use group and kind instead of only kind when parsing manifests in the CSV generator to avoid marshaling them into the wrong Go types. (#3334)
  • Fixed issue that caused scorecard to fail loading local bundle due to a bug search method for the bundle metadata directory. (#3408)
  • Fixed CVE-2020-14040 by updating to golang.org/x/text/0.3.3. (#3458)
  • The scorecard subcommand now removes existing pods if the --wait-time deadline is exceeded and --skip-cleanup=false (the default). Fixes #3419. (#3526)
  • Fixed a bug in scorecard that caused tests to fail with permission errors when loading the bundle. (#3428)
operator-sdk - v0.19.0

Published by estroz over 4 years ago

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-sdk binary 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 validate can now use a containerd image ("none") tool to unpack images, removing the need for an external image tool like docker/podman. (#3222)
  • The SDK scorecard command 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.yaml and bundle.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 packagemanifests as run pm. (#3314)
  • Add generate kustomize manifests subcommand for new project layouts. (#3258)
  • Add generate packagemanifests subcommand for legacy project layouts. (#3149)
  • Add generate packagemanifests subcommand 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-operator and helm-operator binaries. (#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 UpdateSuccessful condition reason was renamed to UpgradeSuccessful to better align with Helm nomenclature. (#3345)
  • Breaking change: In Helm-based operators, the UpdateError condition reason was renamed to UpgradeError to better align with Helm nomenclature. (#3269)
  • Upgrade Helm dependency for Helm based-Operators from v3.2.0 to v3.2.4 in order to fix CVE-2020-4053. (#3313)
  • Change default value of --overwrite flag in operator-sdk generate bundle to 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 scorecard subcommand now outputs results as a scorecard.operatorframework.io/v1alpha3 Test instead of a scorecard.operatorframework.io/v1alpha2 ScorecardOutput. As a result, the --list argument will now just output a list of tests, without associated labels. (#3208)

Removals

  • The operator-sdk new command no longer supports scaffolding new Go projects with the --type=Go flag. To scaffold new projects, users are expected to use operator-sdk init as 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 create is deprecated in favor of a combination of generate bundle and docker build -f bundle.Dockerfile .... (#3323)
  • generate csv is deprecated in favor of generate bundle or generate packagemanifests. (#3322)
  • The flag --git-init in the new command 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 validation that causes erroneous validation errors when the number of annotations in an existing annotations.yaml does not equal the number of default bundle annotations by upgrading the operator-registry dependency. (#3221)
  • Fix the download URL for the tini binary on ARM64 for the ansible operator base image. (#3234)
  • The generate crds subcommand now checks for the existence of the pkg/apis directory and logs a descriptive fatal error message if it does not exist or is not a directory. (#3091)
  • Fix bug in bundle validate that 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)
operator-sdk - v0.17.2

Published by estroz over 4 years ago

Bug Fixes

  • Fix the download URL for the tini binary on ARM64 for the ansible operator base image. (#3291)
operator-sdk - v0.18.2

Published by estroz over 4 years ago

Bug Fixes

  • Fix bug in operator-sdk bundle validate that causes erroneous validation errors when the number of annotations in an existing annotations.yaml does not equal the number of default bundle annotations by upgrading the operator-registry dependency. (#3284)
  • Fix the download URL for the tini binary on ARM64 for the ansible operator base image. (#3286)
  • Fix bug in bundle validate that erroneously causes errors when a CRD manifest contains versions not present in a bundled CSV by bumping the api library version. (#3288)
Package Rankings
Top 0.43% on Proxy.golang.org
Badges
Extracted from project README
Build Status License