Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,53 @@
## 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](https://github.com/operator-framework/operator-sdk/pull/3245))
- Added `projectName` key to the PROJECT config file (v3-alpha+). ([#3438](https://github.com/operator-framework/operator-sdk/pull/3438))
- Added the `--from-version` flag to `generate packagemanifests`. ([#3509](https://github.com/operator-framework/operator-sdk/pull/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](https://github.com/operator-framework/operator-sdk/pull/3474))
- Added `config/scorecard` kustomize scaffolds to `init`. ([#3490](https://github.com/operator-framework/operator-sdk/pull/3490))

### Changes

- Use structured logging in Ansible and Helm operator base images when printing version information. ([#3564](https://github.com/operator-framework/operator-sdk/pull/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](https://github.com/operator-framework/operator-sdk/pull/3457)) & ([#3446](https://github.com/operator-framework/operator-sdk/pull/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](https://github.com/operator-framework/operator-sdk/pull/3489)) & ([#3440](https://github.com/operator-framework/operator-sdk/pull/3440))
- **Breaking change**: Changed domain suffix used for plugins and CR annotations to consistently use `.sdk.operatorframework.io`. ([#3527](https://github.com/operator-framework/operator-sdk/pull/3527))
- **Breaking change**: Removed the implementation for `EnqueueRequestForAnnotation` handler from the SDK repository and referenced it from [operator-lib](https://github.com/operator-framework/operator-lib/blob/main/handler/enqueue_annotation.go) instead. ([#3506](https://github.com/operator-framework/operator-sdk/pull/3506))
- **Breaking change**: The Ansible operator implementation in `pkg/ansible` was moved to `internal/ansible`. ([#3560](https://github.com/operator-framework/operator-sdk/pull/3560))
- **Breaking change**: The Helm operator implementation in `pkg/helm` was moved to `internal/helm`. ([#3537](https://github.com/operator-framework/operator-sdk/pull/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](https://github.com/operator-framework/operator-sdk/pull/3452))
- **Breaking change**: The `meta` variable passed to Ansible playbooks and roles has been renamed to `ansible_operator_meta`. ([#3562](https://github.com/operator-framework/operator-sdk/pull/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](https://github.com/operator-framework/operator-sdk/pull/3490)) & ([#3434](https://github.com/operator-framework/operator-sdk/pull/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](https://github.com/operator-framework/operator-sdk/pull/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](https://github.com/operator-framework/operator-sdk/pull/3450))
- **Breaking change**: The `alpha scorecard` command has been promoted to the standard scorecard command. ([#3444](https://github.com/operator-framework/operator-sdk/pull/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](https://github.com/operator-framework/operator-sdk/pull/3427))
- Ansible & Helm-based Operators switched to using the `InstrumentedEnqueueRequestForObject` from [operator-lib](https://github.com/operator-framework/operator-lib/blob/main/handler/instrumented_enqueue_object.go) instead of controller-runtime's `EnqueueRequestForObject`. ([#3523](https://github.com/operator-framework/operator-sdk/pull/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](https://github.com/operator-framework/operator-sdk/issues/3327)) ([#3343](https://github.com/operator-framework/operator-sdk/pull/3343)) ([#3547](https://github.com/operator-framework/operator-sdk/pull/3547)) ([#3566](https://github.com/operator-framework/operator-sdk/pull/3566)) ([#3343](https://github.com/operator-framework/operator-sdk/pull/3343)) ([#3466](https://github.com/operator-framework/operator-sdk/pull/3466)) ([#3531](https://github.com/operator-framework/operator-sdk/pull/3531)) ([#3451](https://github.com/operator-framework/operator-sdk/pull/3451)) ([#3414](https://github.com/operator-framework/operator-sdk/pull/3414)) ([#3414](https://github.com/operator-framework/operator-sdk/pull/3414)) ([#3414](https://github.com/operator-framework/operator-sdk/pull/3414)) ([#3414](https://github.com/operator-framework/operator-sdk/pull/3414)) ([#3385](https://github.com/operator-framework/operator-sdk/pull/3385)) ([#3406](https://github.com/operator-framework/operator-sdk/pull/3406))
- **Breaking change**: Moved `pkg/log/zap` to `internal/log/zap`, therefore it is no longer a public API. ([#3525](https://github.com/operator-framework/operator-sdk/pull/3525))
- **Breaking change**: Removed `pkg/predicate`: `ResourceFilterPredicate`. ([#3532](https://github.com/operator-framework/operator-sdk/pull/3532))
- **Breaking change**: Refactored and moved `pkg/predicate.GenerationChangedPredicate` (see this [operator-lib PR](https://github.com/operator-framework/operator-lib/pull/11) for details). ([#3532](https://github.com/operator-framework/operator-sdk/pull/3532))
- **Breaking change**: Removed `test` subcommand and the test framework `pkg/test`. ([#3409](https://github.com/operator-framework/operator-sdk/pull/3409))
- **Breaking change**: Removed `pkg/k8sutils` and its helpers methods `GetWatchNamespace()`, `GetOperatorNamespace()`, `GetOperatorName()`, `ResourceExists()`, `GetPod()`, `GetGVKsFromAddToScheme()` and `SupportsOwnerReference()`. ([#3475](https://github.com/operator-framework/operator-sdk/pull/3475))
- **Breaking change**: Removed `pkg/kube-metrics` and its associated helpers `NewNamespacedMetricsStores()`, `NewClusterScopedMetricsStores()`, `ServeMetrics()`, and `GenerateAndServeCRMetrics()`. ([#3484](https://github.com/operator-framework/operator-sdk/pull/3484))
- **Breaking change**: Removed `pkg/leader` and `pkg/status`. These are now part of operator-lib. ([#3503](https://github.com/operator-framework/operator-sdk/pull/3503))
- **Breaking change**: Removed `pkg/metrics` and its helpers `GenerateAndServeCRMetrics()` and `GetNamespacesForMetrics()`. ([#3484](https://github.com/operator-framework/operator-sdk/pull/3484))
- **Breaking change**: Removed `pkg/ready` and its helper utils `Ready`, `Set()`, `Unset()`. ([#3476](https://github.com/operator-framework/operator-sdk/pull/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](https://github.com/operator-framework/operator-sdk/pull/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](https://github.com/operator-framework/operator-sdk/pull/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](https://github.com/operator-framework/operator-sdk/pull/3334))
- Fixed issue that caused scorecard to fail loading local bundle due to a bug search method for the bundle metadata directory. ([#3408](https://github.com/operator-framework/operator-sdk/pull/3408))
- Fixed CVE-2020-14040 by updating to `golang.org/x/text/0.3.3`. ([#3458](https://github.com/operator-framework/operator-sdk/pull/3458))
- The `scorecard` subcommand now removes existing pods if the `--wait-time` deadline is exceeded and `--skip-cleanup=false` (the default). Fixes [#3419](https://github.com/operator-framework/operator-sdk/issues/3419). ([#3526](https://github.com/operator-framework/operator-sdk/pull/3526))
- Fixed a bug in scorecard that caused tests to fail with permission errors when loading the bundle. ([#3428](https://github.com/operator-framework/operator-sdk/pull/3428))

## v0.19.0

### Additions
Expand Down
6 changes: 0 additions & 6 deletions changelog/fragments/ansible-helm-log-fmt.yaml

This file was deleted.

9 changes: 0 additions & 9 deletions changelog/fragments/ansible-leader-election.yaml

This file was deleted.

15 changes: 0 additions & 15 deletions changelog/fragments/ansible-metrics-addr.yml

This file was deleted.

9 changes: 0 additions & 9 deletions changelog/fragments/ansible-operator-env.yaml

This file was deleted.

10 changes: 0 additions & 10 deletions changelog/fragments/ansible-operator-optional-case.yaml

This file was deleted.

33 changes: 0 additions & 33 deletions changelog/fragments/cmd-legacy-helm.yaml

This file was deleted.

41 changes: 0 additions & 41 deletions changelog/fragments/consistent-domain.yaml

This file was deleted.

5 changes: 0 additions & 5 deletions changelog/fragments/crds-with-core-types.yaml

This file was deleted.

7 changes: 0 additions & 7 deletions changelog/fragments/enqueue-object-handler.yaml

This file was deleted.

7 changes: 0 additions & 7 deletions changelog/fragments/fix-find-metadata-dir.yaml

This file was deleted.

7 changes: 0 additions & 7 deletions changelog/fragments/helm-leader-election.yaml

This file was deleted.

14 changes: 0 additions & 14 deletions changelog/fragments/helm-metrics-addr.yaml

This file was deleted.

5 changes: 0 additions & 5 deletions changelog/fragments/modify-ansible-flags.yaml

This file was deleted.

34 changes: 0 additions & 34 deletions changelog/fragments/move-log-internally.yaml

This file was deleted.

16 changes: 0 additions & 16 deletions changelog/fragments/mv-EnqueueRequestForAnnotation.yaml

This file was deleted.

11 changes: 0 additions & 11 deletions changelog/fragments/mv-ansible-internal.yaml

This file was deleted.

15 changes: 0 additions & 15 deletions changelog/fragments/mv-pkg-helm.yaml

This file was deleted.

5 changes: 0 additions & 5 deletions changelog/fragments/no-pod-left-behind.yaml

This file was deleted.

10 changes: 0 additions & 10 deletions changelog/fragments/operator-name-config-file.yaml

This file was deleted.

4 changes: 0 additions & 4 deletions changelog/fragments/packagemanifests-from-version.yaml

This file was deleted.

7 changes: 0 additions & 7 deletions changelog/fragments/remove-add-crd.yaml

This file was deleted.

Loading