feat(kubernetes): public new manager to enable external providers#482
feat(kubernetes): public new manager to enable external providers#482Cali0707 merged 2 commits intocontainers:mainfrom
Conversation
38981bd to
3f990b6
Compare
|
Hi @mbillow |
Signed-off-by: Marc Billow <mbillow@indeed.com>
3f990b6 to
82fc894
Compare
manusa
left a comment
There was a problem hiding this comment.
I've added some validations to the NewManager function and rebased your branch.
LGTM, thx!
I think it does no harm to expose the NewManager function but it would be great if you could describe a little bit more how you're using this.
Signed-off-by: Marc Nuri <marc@marcnuri.com>
We are running the MCP server in a single cluster and want our users to be able to use it against our entire fleet. We have a central API that exposes connection info and metadata about our clusters. I wrote a Generally, I’m trying to do it this way to avoid having to maintain a fork of the server. This way we can just use it as a package and our repo is just the internal plugins (cluster provider, config for that, etc.). |
|
Thanks for sharing @mbillow ❤️ We'll keep you in the loop for any changes to the |
In order to allow third parties to build their own cluster providers, I'd like to propose a very small change to make the
Managerinitialization functionnewManagerpublic. This allows people to easily extend the upstream package without having to fork it.Currently, we can create our own implementation of
Providerand a register a provider configuration, but the provider implementation itself needs to be able to initializeManagers for each cluster it wants to use, which is impossible since only theNewInClusterManagerandNewKubeconfigManagerfunctions are public.A super simple example would look like:
pkg/custom_config.go
pkg/custom_provider.go
main.go
config.toml