* Add missing improvements from Operator SDK 1.34.1
These were not mentioned in the upgrade documentation for version 1.34.x (https://sdk.operatorframework.io/docs/upgrading-sdk-version/v1.34.0/), but I've found them by compating the release with the previous one (https://github.com/operator-framework/operator-sdk/compare/v1.33.0...v1.34.1).
* Upgrade to Operator SDK 1.36.0
Source of upgrade steps: https://sdk.operatorframework.io/docs/upgrading-sdk-version/v1.36.0/
Key differences:
- Go packages `k8s.io/*` are already at a version higher than the one in the upgrade.
- `ENVTEST_K8S_VERSION` is at a version higher than the one in the upgrade
- We didn't have the golangci-lint make command before, thus we only needed to add things.
* Upgrade to Operator SDK 1.38.0
Source of upgrade steps: https://sdk.operatorframework.io/docs/upgrading-sdk-version/v1.38.0/
* Upgrade to Operator SDK 1.39.0
Source of upgrade steps: https://sdk.operatorframework.io/docs/upgrading-sdk-version/v1.39.0/
* Upgrade to Operator SDK 1.40.0
Source of upgrade steps: https://sdk.operatorframework.io/docs/upgrading-sdk-version/v1.40.0/
I didn't do the "Add app.kubernetes.io/name label to your manifests" since it seems that we have it already, and it's customized.
* Address lint errors
* Update golangci-lint version used to support Go 1.24
* Improve workflows
- Make workflow targets more specific.
- Make build workflow only build (i.e. remove test part of it).
- Rearrange steps and improve naming for build workflow.
* Add back deleted test
Initially the test has been removed due to lint saying that it was duplicate code, but it falsely errored since the values are different.
* Improve code and add missing upgrade pieces
* Upgrade to Operator SDK 1.41.1
Source of upgrade steps: https://sdk.operatorframework.io/docs/upgrading-sdk-version/v1.41.0/
Upgrading to 1.41.1 from 1.40.0 doesn't have any migration steps.
Key elements:
- Upgrade to golangci-lint v2
- Made the manifests using the updated controller tools
* Address linter errors
golanci-lint v2 seems to be more robust than the previous one, which is beneficial. Thus, we address the linter errors thrown by v2 and improve our code even further.
* Add Makefile improvements
These were brought in by comparing the Makefile of a freshly created operator using the latest operator-sdk with ours.
* Add missing default kustomization for 1.40.0 upgrade
* Bring default kustomization to latest version
This is done by putting the file's content from a newly-generated operator.
* Switch metrics-bind-address default value back to 8080
This ensures that the upgrade is backwards-compatible.
* Add webhook-related scaffolding
This enables us to easily add support for webhooks by running `operator-sdk create webhook` whenever we want to add them.
* Fix typo