-
Notifications
You must be signed in to change notification settings - Fork 40.1k
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
Moving /apis handler to generic api server #20532
Conversation
3ea4276
to
5e56389
Compare
Labelling this PR as size/M |
GCE e2e test build/test passed for commit 5e56389b9160a4b89aff80811210e8cdacf3594d. |
5e56389
to
974d2ee
Compare
GCE e2e test build/test passed for commit 974d2eead2b383564566c02125f3a0b54c380393. |
If I want to run a third party API server, do I want to install /apis? I would think I don't. Probably should put this behind a boolean and default it to "not". |
Why not?
|
Why is the summarizer talking to /apis on other servers and not talking directly to the individual group descriptions? |
Sorry, read group descriptions from where? The config file for discovery summarizer only contains server URLs and the summarizer is able to gather all the information from there. Whats wrong with getting groups information from |
I don't like a model that assumes that every third party API group exposes /apis. I don't think it's required (it's a nice property, but not fundamental), I don't think every API server will be exposed at the root, and I don't think the summarizer is aggregating "servers that look exactly like a Kube server". I might be ok with the summarizer taking a URL + optional path and based on the returned object type summarizing them - but I don't think that summarizer should assume |
I would expect the summarizer to fetch groups, not API servers, identified at paths (APIGroup). |
FWIW, the proposal specified it as one of the constraints that all federated servers need to list the supported groupVersions at |
In the proposal I read should as "It's good that they do" - I guess I A dynamic client would call the summarizer, then walk to the APIGroup On Wed, Feb 3, 2016 at 9:45 PM, Nikhil Jindal notifications@github.com
|
Yes. But we also want to support clients talking directly to a particular server, without talking to the summarizer first. Basically, the client should work same - when its talking directly to a single server and when its talking to a federated server via summarizer and proxy. |
974d2ee
to
173f1ca
Compare
Have updated the code to register the handler at APIGroupPrefix which is passed as part of config, instead of hardcoding to "/apis" (which is what I should have done at the first place). So while we should continue the important discussion we are having, I believe, this PR should be fine irrespective. |
GCE e2e test build/test passed for commit 173f1cafee0569e30327fd7250e56b928c18b02a. |
I don't think the summarizer should include all groups automatically
So summarizer pointing to the API group endpoint vs API groups makes |
Thanks, appreciate the consideration.
|
To clarify, are you saying that instead of reading a list of server URLs from a config file and fetching the api groups automatically, summarizer should directly get a list of api groups in the config file? I discussed this with @lavalamp and he pointed out that this will not work for dynamic groups, for ex: the third party groups. |
173f1ca
to
d267ab5
Compare
GCE e2e build/test failed for commit d267ab5. |
I that it's more common for folks to want to expose some of these APIs, not On Thu, Feb 4, 2016 at 9:40 PM, Kubernetes Bot notifications@github.com
|
@nikhiljindal |
GCE e2e build/test failed for commit d267ab5. |
@smarterclayton Are you OK with a world where we make it easiest to put all your groups in /apis, but also offer exceptions in the discovery summarizer? I think if we only offer a per-group whitelist, that's very inconvenient because it means you always have to restart two components to turn on a new api. I can definitely see why some people would want that control. Maybe we can hash this out in the PR that adds the config format for the discovery summarizer. It looks like this PR is just about making /apis easier--I think your comments are actually about the discovery summarizer, not this PR, is that correct? If so, this LGTM |
Yes. In my discovery summarizer PR (#20358), the summarizer is reading a list of FederatedServers from the config file. The FederatedServer struct just has a ServerAddress for now. In future, we can easily add filtering options (whitelist or blacklist) for groups. |
GCE e2e test build/test passed for commit d267ab5. |
We can move the discussion to summarizer. I think the assumption that On Fri, Feb 5, 2016 at 1:58 PM, Kubernetes Bot notifications@github.com
|
Yes. I can make the Adding the LGTM tag as per comments above. Thanks! :) |
Moving /apis handler to generic api server
External graph library and company Origin-commit: d87f18a5ba69e652bab6615c4467b41073ddacf9
External graph library and company Origin-commit: d87f18a5ba69e652bab6615c4467b41073ddacf9
Moving the
/apis
handler to generic api server.cc @brendandburns @kubernetes/sig-api-machinery