Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upMove lifecycle/admin APIs to separate ports #3891
Comments
This comment has been minimized.
This comment has been minimized.
|
I'm not sure we should be getting into adding authorization-related features that only work for specific users that happen to have a certain network model. |
This comment has been minimized.
This comment has been minimized.
|
This is not adding an authorization feature. It simply draws a boundary that's easier for people to build their authz stuff on. And I don't think that listening on localhost is a "certain network model" that only a subset of users have. |
This comment has been minimized.
This comment has been minimized.
All users on localhost being trusted is not a model everyone has. |
This comment has been minimized.
This comment has been minimized.
|
It is still much easier in the general case to overlay authorization on ports instead of of HTTP paths. The latter are only accessible to tools that can introspect HTTP traffic in some way. So any mechanism using TCP proxies, iptables, or whatnot cannot be used. Not providing authz is fine, but we should target for an approach which the highest number of tools can integrate with. |
This comment has been minimized.
This comment has been minimized.
Why privilege one set of APIs? Users may wish to limit the ways in which ways the query APIs can be used, and at the end of the day that implies something that understands HTTP. |
This comment has been minimized.
This comment has been minimized.
|
This is a much less likely use case though that wanting to limit access to the admin and lifecycle APIs, which everyone will want to do in some fashion. |
This comment has been minimized.
This comment has been minimized.
|
It'd still be offering at least two ways to do things, it's not maintainable to offer N different ways of doing things each of which is justified by it making some particular use case easier. That's why I want us to stick to one way of doing things, which users can build on top of rather than trying to accommodate everything out of the box. |
fabxc commentedFeb 27, 2018
I'd like to propose moving lifecycle and admin APIs to separate ports. Currently they are garded by boolean flags that enable them on the regular web port.
If one wants to enable them but still restrict access, e.g. to only give a sidecar on the same machine access to trigger reloads, one needs to add a reverse proxy with more complex rules.
It would be nice if we could allow such simple cases by simply not having those bits listen on external interfaces.