* xds: refactor and update API principles.
* Remove API_OVERVIEW.md, the content here is really stale and reflects
the v1 -> v2 migration. There is little content here of use.
* Move API principles from API_OVERVIEW.md to STYLE.md.
* Update some of the principles, in particular expressing client/server
directional neutrality and avoiding breaking changes that don't bring
major user facing wins.
* APIs should be human readable.
Signed-off-by: Harvey Tuch <htuch@google.com>
Mirrored from https://github.com/envoyproxy/envoy @ 6ca4644073da6d9930ba45d90d57d8c9b2062962
Provide the xDS protocol description. This is the contract between the Envoy implementation and management server.
Signed-off-by: Harvey Tuch htuch@google.com
This is a design-level update to bootstrap.proto, that plumbs in the
remaining top-level config from v1. It will probably have some small
changes made beyond this as we implement.
Notable differences to v1 are:
* Static/dynamic resources are clearly delineated at top-level, clusters no longer belong to the ClusterManager object.
* Stats sinks are a repeated list of opaque configs, similar to filter.
* Some simplifications to object types, e.g. RLS no longer specifies type (do we want to preserve the v1 generality here?).
Also renamed RLDS back to RLS, I'll admit that it didn't make sense to
cram it into the xDS namespace, it's really a very distinct service on
the data plane and shouldn't be bundled with the control plane services.
We've committed to a bunch of work (and will continue to) beyond just
adding proto APIs and gRPC in v2. This PR is a move towards being more
systematic about tracking this going forward.