github operator-framework/operator-sdk v1.0.0-alpha.1

latest releases: v1.34.2, v1.34.1, v1.34.0...
pre-release3 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)

Don't miss a new operator-sdk release

NewReleases is sending notifications on new releases.