-
Notifications
You must be signed in to change notification settings - Fork 189
feat(kubernetes): public new manager to enable external providers #482
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
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.). |
Cali0707
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks @mbillow !
|
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