* Introduce forward looking MCP enhancements
The initial version of Mesh Configuration Protocol (MCP) was
introduced to decouple Pilot/Mixer from the k8s kube-apiserver. These
enhancements address additional forward looking requirements as we
bring Galley and the MCP API to beta quality.
* Enable alternative control topologies where the source of
configuration is not publicly accessible.
* Provide a feedback mechanism to report the observed config state to
the user (e.g via CRD status).
* Improve performance at scale (e.g. Enterprise use case)
* Rationalize the resource model
The intent is to introduce these backwards incompatible API changes
now before Galley and MCP ship as beta quality and on-by-default.
Rationalization of the resource model and incremental improvements can
be implemented immediately as they effect the contract between Pilot
and Galley. Alternative control topologies and feedback/status are
inherently new features and can be implemented later with the same
APIs without concerns of breaking compatibility.
Design proposal: https://goo.gl/RTKMwF
* fix linter error
* add missing generated file
* proto-commit
* remove python/istio_api/mcp/v1alpha1/envelope_pb2.py
* s/envelope/resource
* s/client/node
* make proto-commit
* fix comments
* add system_version_info for compatibility with non-incremental MCP
* address review comments
* s/node/sink_node
* address more review comments
* update resource name documentation