refactor(api)!: replace internal Kubernetes references with api package interfaces #578
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Initial phases of #577
Sending this for review before going deeper into the rabbit hole and making changes even harder to review (I'll continue to work on the follow ups, but I prefer for you to check if we're going in the right direction).
With this PR we completely decouple the
pkg/apifrom the rest of packages.It's clear now that on the Provider<-Manager<-Kubernetes<-AccessControlClientSet chain (after this PR Provider<-Manager<-api.KubernetesClient<-api.KubernetesClientSet) the KubernetesClient and KubernetesClientSet interfaces and struct implementations are redundant and should be merged.
This will cause even more breaking changes in case there are downstream toolset implementations, but I believe it's worth the trouble since the API will be even cleaner.