* add incremental mcp based on incremental xds
Extend the MCP to include support for incremental configuration
pushes. This is *heavily* derived from the new incremental xDS
protocol.
xref: https://github.com/envoyproxy/data-plane-api/blob/master/XDS_PROTOCOL.md#incremental-xds
* document initial_resource_versions should only be included in first request
* move resource version into metadata
* Deprecate int percent in favor of FractionalPercent
This commit deprecates the integer percent field in Delay and Abort
types in favor of the new FractionalPercent type which allows finer
control.
Signed-off-by: Venil Noronha <veniln@vmware.com>
* Remove FractionalPercent and use double for percentage
Signed-off-by: Venil Noronha <veniln@vmware.com>
* Fix docs related to the percentage field
Signed-off-by: Venil Noronha <veniln@vmware.com>
* Copy envoy.type.Percent proto definition
* The "type" in envoy.type.Percent is renamed to "types" in
istio.envoy.types.Percent to avoid a keyword conflict in Golang.
* The Makefile splits the *.pb.go file generation for v2alpha1/*.proto
and types/*.proto in order to avoid the "inconsistent package names"
error in protoc-gen-go.
Signed-off-by: Venil Noronha <veniln@vmware.com>
* Use istio.envoy.types.Percent for percentage
Signed-off-by: Venil Noronha <veniln@vmware.com>
* Revert copy envoy.type.Percent and its usage
Signed-off-by: Venil Noronha <veniln@vmware.com>
* Add and use Percent type in virtual_service.proto
Signed-off-by: Venil Noronha <veniln@vmware.com>
* Add a Readme.md file for the MCP protocol. (#565)
* Add a Readme.md file for the MCP protocol.
* Add a link to the XDS protocol.
* source_ip field is bool (#568)
* source_ip field is bool
- on the envoy side the source_ip field is
used as an indicator to determine whether or not
to use it as the hash value.
2c3c3e7546/api/envoy/api/v2/route/route.proto (L535)
* field now called use_source_ip
* Fix typos in comments. (#571)
* Add a Readme.md file for the MCP protocol.
* Move config/mcp to mcp. This does not include fixups.
* Complete the move config/mcp => mcp.
Fixup names, and regenerate code/documents.
* Add missing Python files.
* update cookie to use time.Duration
destination rule should use time.Duration for its cookie to be
consistent with Envoy's api.
* update envoy_filter
* update destination_rule python as well
* RemoveResponseHeaders should be a repeated string instead of a map
Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
* Add removeResponseHeaders generated code
Signed-off-by: Christopher M. Luciano <cmluciano@us.ibm.com>
* Add the Mesh Configuration Protocol (MCP) service.
The MCP service is to be used as a environment neutral downward API
for some Istio runtime components. Motivation for the MCP service
along with high-level design proposals are documented in the following
two docs:
* Pilot Decomposition (see https://goo.gl/qAsEQx)
* Galley component config distirbution (see https://goo.gl/EJu5hg)
MCP is conceptually aligned with envoy project's xDS protocol and ADS
service (see
https://github.com/envoyproxy/data-plane-api/blob/master/XDS_PROTOCOL.md). The
proto definitions are derived from the envoy API definitions with
unnecessary or envoy specific messages and fields removed. Names have
also been changed to make it unambiguous with xDS protocol.
* add missing generated files
* re-generate files
* address @geeknoid review comments
* update client comment
* add enable_sds flag to MeshConfig proto definition
* address comments -
1. update boolean(sds_enable) to string(uds path)
2. add sds_refresh_delay field
* address comment
* client side check option
Signed-off-by: Kuat Yessenov <kuat@google.com>
* regenerate
Signed-off-by: Kuat Yessenov <kuat@google.com>
* build is bad
Signed-off-by: Kuat Yessenov <kuat@google.com>
* Add removeHeaders to virtualservice
* Hide removeHeaders from docs until implemented
* Clarify forwarding a response instead of request
* Use removeresponseheaders
* Blank line before new option
Also, fix python generation logic to stop passing directory names as proto files.
This eliminates a bunch of warnings when building the repo, and eliminates a bunch
of broken dud checked in files.