Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

webhosting-operator: drop legacy sharder implementation, use shard library #228

Merged
merged 9 commits into from
Apr 24, 2024

Conversation

timebertt
Copy link
Owner

@timebertt timebertt commented Apr 24, 2024

What this PR does / why we need it:

The webhosting-operator is developed in a dedicated module to prevent dependencies from leaking into the main module which contains the shard library.
Previously, the webhosting-operator depended on a fork of the controller-runtime library including the internal sharder implementation from the first project iteration (https://github.com/timebertt/controller-runtime/tree/sharding-0.15). This fork is based on controller-runtime v0.15.
In the second iteration, I kept the legacy sharder implementation to compare it with the external sharder approach.

Now the second project iteration is done and the external sharder implementation is the chosen approach.
Hence, this PR drops the legacy implementation and adapts webhosting-operator to use the shard library from the main module (as described in Implement Sharding in Your Controller).

For this, the PR performs several larger refactorings:

  • upgrade webhosting-operator to controller-runtime v0.17
  • use go workspaces
    • webhosting-operator can easily depend on the current version of the main module
    • the go command can be executed from the project root for the webhosting-operator module as well
  • this allows merging Makefiles, tooling, skaffold configs, CI workflows, etc.

Special notes for your reviewer:

TODO:

Instead of relying on the sharding implementation in the controller-runtime fork,
webhosting-operator now uses the shard library for complying with the external
sharder implementation (similar to the example shard).
The internal sharder implementation is dropped accordingly.
Create a new cluster at STACKIT replacing the dedicated Gardener environment.
@timebertt timebertt changed the title [WIP] webhosting-operator: drop legacy sharder implementation, use shard library webhosting-operator: drop legacy sharder implementation, use shard library Apr 24, 2024
@timebertt timebertt merged commit 41797ff into main Apr 24, 2024
4 checks passed
@timebertt timebertt deleted the harmonize-modules branch April 24, 2024 18:49
@timebertt timebertt added the enhancement New feature or request label Apr 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant