proxy config: add support for PROXY protocol for gateways (#2860)

* introduce PROXY annotation

Signed-off-by: Kuat Yessenov <kuat@google.com>

* add release note

Signed-off-by: Kuat Yessenov <kuat@google.com>

* fix

Signed-off-by: Kuat Yessenov <kuat@google.com>

* update api

Signed-off-by: Kuat Yessenov <kuat@google.com>

* rewrite

Signed-off-by: Kuat Yessenov <kuat@google.com>

* rename to proxy_protocol

Signed-off-by: Kuat Yessenov <kuat@google.com>

* make gen

Signed-off-by: Kuat Yessenov <kuat@google.com>

---------

Signed-off-by: Kuat Yessenov <kuat@google.com>
This commit is contained in:
Kuat 2023-07-12 12:02:48 -07:00 committed by GitHub
parent 7d2a58e0da
commit fb3ebd69aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 930 additions and 1120 deletions

View File

@ -4,689 +4,320 @@ description: Resource annotations used by Istio.
location: https://istio.io/docs/reference/config/annotations/
weight: 60
---
<p>
This page presents the various resource <a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/">annotations</a> that
Istio supports to control its behavior.
</p>
<table class="annotations">
<thead>
<tr>
<th>Annotation Name</th>
<th>Feature Status</th>
<th>Resource Types</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>galley.istio.io/analyze-suppress</code></td>
<td>Alpha</td>
<td>[Any]</td>
<td>A comma separated list of configuration analysis message codes to suppress when Istio analyzers are run. For example, to suppress reporting of IST0103 (PodMissingProxy) and IST0108 (UnknownAnnotation) on a resource, apply the annotation 'galley.istio.io/analyze-suppress=IST0108,IST0103'. If the value is '*', then all configuration analysis messages are suppressed.</td>
</tr>
<tr>
<td><code>inject.istio.io/templates</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>The name of the inject template(s) to use, as a comma separate list. See https://istio.io/latest/docs/setup/additional-setup/sidecar-injection/#custom-templates-experimental for more information.</td>
</tr>
<tr>
<td><code>install.operator.istio.io/chart-owner</code></td>
<td>Alpha</td>
<td>[Any]</td>
<td>Represents the name of the chart used to create this resource.</td>
</tr>
<tr>
<td><code>install.operator.istio.io/owner-generation</code></td>
<td>Alpha</td>
<td>[Any]</td>
<td>Represents the generation to which the resource was last reconciled.</td>
</tr>
<tr>
<td><code>install.operator.istio.io/version</code></td>
<td>Alpha</td>
<td>[Any]</td>
<td>Represents the Istio version associated with the resource</td>
</tr>
<tr>
<td><code>istio.io/dry-run</code></td>
<td>Alpha</td>
<td>[AuthorizationPolicy]</td>
<td>Specifies whether or not the given resource is in dry-run mode. See https://istio.io/latest/docs/tasks/security/authorization/authz-dry-run/ for more information.</td>
</tr>
<tr>
<td><code>istio.io/rev</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies a control plane revision to which a given proxy is connected. This annotation is added automatically, not set by a user. In contrary to the label istio.io/rev, it represents the actual revision, not the requested revision.</td>
</tr>
<tr>
<td><code>kubernetes.io/ingress.class</code></td>
<td>Stable</td>
<td>[Ingress]</td>
<td>Annotation on an Ingress resources denoting the class of controllers responsible for it.</td>
</tr>
<tr>
<td><code>networking.istio.io/exportTo</code></td>
<td>Alpha</td>
<td>[Service]</td>
<td>Specifies the namespaces to which this service should be exported to. A value of '*' indicates it is reachable within the mesh '.' indicates it is reachable within its namespace.</td>
</tr>
<tr>
<td><code>prometheus.istio.io/merge-metrics</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies if application Prometheus metric will be merged with Envoy metrics for this workload.</td>
</tr>
<tr>
<td><code>proxy.istio.io/config</code></td>
<td>Beta</td>
<td>[Pod]</td>
<td>Overrides for the proxy configuration for this specific proxy. Available options can be found at https://istio.io/docs/reference/config/istio.mesh.v1alpha1/#ProxyConfig.</td>
</tr>
<tr>
<td><code>readiness.status.sidecar.istio.io/applicationPorts</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the list of ports exposed by the application container. Used by the Envoy sidecar readiness probe to determine that Envoy is configured and ready to receive traffic.</td>
</tr>
<tr>
<td><code>readiness.status.sidecar.istio.io/failureThreshold</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the failure threshold for the Envoy sidecar readiness probe.</td>
</tr>
<tr>
<td><code>readiness.status.sidecar.istio.io/initialDelaySeconds</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the initial delay (in seconds) for the Envoy sidecar readiness probe.</td>
</tr>
<tr>
<td><code>readiness.status.sidecar.istio.io/periodSeconds</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the period (in seconds) for the Envoy sidecar readiness probe.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/agentLogLevel</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the log output level for pilot-agent.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/bootstrapOverride</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies an alternative Envoy bootstrap configuration file.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/componentLogLevel</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the component log level for Envoy.</td>
</tr>
<tr class="deprecated">
<td><code>sidecar.istio.io/controlPlaneAuthPolicy</code></td>
<td>Deprecated</td>
<td>[Pod]</td>
<td>Specifies the auth policy used by the Istio control plane. If NONE, traffic will not be encrypted. If MUTUAL_TLS, traffic between Envoy sidecar will be wrapped into mutual TLS connections.</td>
</tr>
<tr class="deprecated">
<td><code>sidecar.istio.io/discoveryAddress</code></td>
<td>Deprecated</td>
<td>[Pod]</td>
<td>Specifies the XDS discovery address to be used by the Envoy sidecar.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/enableCoreDump</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies whether or not an Envoy sidecar should enable core dump.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/extraStatTags</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>An additional list of tags to extract from the in-proxy Istio Wasm telemetry. Each additional tag needs to be present in this list.</td>
</tr>
<tr class="deprecated">
<td><code>sidecar.istio.io/inject</code></td>
<td>Deprecated</td>
<td>[Pod]</td>
<td>Specifies whether or not an Envoy sidecar should be automatically injected into the workload. Deprecated in favor of `sidecar.istio.io/inject` label.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/interceptionMode</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the mode used to redirect inbound connections to Envoy (REDIRECT or TPROXY).</td>
</tr>
<tr>
<td><code>sidecar.istio.io/logLevel</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the log level for Envoy.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/proxyCPU</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the requested CPU setting for the Envoy sidecar.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/proxyCPULimit</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the CPU limit for the Envoy sidecar.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/proxyImage</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the Docker image to be used by the Envoy sidecar.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/proxyImageType</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the Docker image type to be used by the Envoy sidecar. Istio publishes debug and distroless image types for every release tag.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/proxyMemory</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the requested memory setting for the Envoy sidecar.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/proxyMemoryLimit</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the memory limit for the Envoy sidecar.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/rewriteAppHTTPProbers</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Rewrite HTTP readiness and liveness probes to be redirected to the Envoy sidecar.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/statsHistogramBuckets</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the custom histogram buckets with a prefix matcher to separate the Istio mesh metrics from the Envoy stats, e.g. `{"istiocustom":[1,5,10,50,100,500,1000,5000,10000],"cluster.xds-grpc":[1,5,10,25,50,100,250,500,1000,2500,5000,10000]}`. Default buckets are `[0.5,1,5,10,25,50,100,250,500,1000,2500,5000,10000,30000,60000,300000,600000,1800000,3600000]`.</td>
</tr>
<tr class="deprecated">
<td><code>sidecar.istio.io/statsInclusionPrefixes</code></td>
<td>Deprecated</td>
<td>[Pod]</td>
<td>Specifies the comma separated list of prefixes of the stats to be emitted by Envoy.</td>
</tr>
<tr class="deprecated">
<td><code>sidecar.istio.io/statsInclusionRegexps</code></td>
<td>Deprecated</td>
<td>[Pod]</td>
<td>Specifies the comma separated list of regexes the stats should match to be emitted by Envoy.</td>
</tr>
<tr class="deprecated">
<td><code>sidecar.istio.io/statsInclusionSuffixes</code></td>
<td>Deprecated</td>
<td>[Pod]</td>
<td>Specifies the comma separated list of suffixes of the stats to be emitted by Envoy.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/status</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Generated by Envoy sidecar injection that indicates the status of the operation. Includes a version hash of the executed template, as well as names of injected resources.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/userVolume</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies one or more user volumes (as a JSON array) to be added to the Envoy sidecar.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/userVolumeMount</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies one or more user volume mounts (as a JSON array) to be added to the Envoy sidecar.</td>
</tr>
<tr>
<td><code>status.sidecar.istio.io/port</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the HTTP status Port for the Envoy sidecar. If zero, the sidecar will not provide status.</td>
</tr>
<tr>
<td><code>topology.istio.io/controlPlaneClusters</code></td>
<td>Alpha</td>
<td>[Namespace]</td>
<td>A comma-separated list of clusters (or * for any) running istiod that should attempt leader election for a remote cluster thats system namespace includes this annotation. Istiod will not attempt to lead unannotated remote clusters.</td>
</tr>
<tr>
<td><code>traffic.istio.io/nodeSelector</code></td>
<td>Stable</td>
<td>[Service]</td>
<td>This annotation is a set of node-labels (key1=value,key2=value). If the annotated Service is of type NodePort and is a multi-network gateway (see topology.istio.io/network), the addresses for selected nodes will be used for cross-network communication.</td>
</tr>
<tr>
<td><code>traffic.sidecar.istio.io/excludeInboundPorts</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>A comma separated list of inbound ports to be excluded from redirection to Envoy. Only applies when all inbound traffic (i.e. '*') is being redirected.</td>
</tr>
<tr>
<td><code>traffic.sidecar.istio.io/excludeInterfaces</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>A comma separated list of interfaces to be excluded from Istio traffic capture</td>
</tr>
<tr>
<td><code>traffic.sidecar.istio.io/excludeOutboundIPRanges</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>A comma separated list of IP ranges in CIDR form to be excluded from redirection. Only applies when all outbound traffic (i.e. '*') is being redirected.</td>
</tr>
<tr>
<td><code>traffic.sidecar.istio.io/excludeOutboundPorts</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>A comma separated list of outbound ports to be excluded from redirection to Envoy.</td>
</tr>
<tr>
<td><code>traffic.sidecar.istio.io/includeInboundPorts</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>A comma separated list of inbound ports for which traffic is to be redirected to Envoy. The wildcard character '*' can be used to configure redirection for all ports. An empty list will disable all inbound redirection.</td>
</tr>
<tr>
<td><code>traffic.sidecar.istio.io/includeOutboundIPRanges</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>A comma separated list of IP ranges in CIDR form to redirect to Envoy (optional). The wildcard character '*' can be used to redirect all outbound traffic. An empty list will disable all outbound redirection.</td>
</tr>
<tr>
<td><code>traffic.sidecar.istio.io/includeOutboundPorts</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>A comma separated list of outbound ports for which traffic is to be redirected to Envoy, regardless of the destination IP.</td>
</tr>
<tr>
<td><code>traffic.sidecar.istio.io/kubevirtInterfaces</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>A comma separated list of virtual interfaces whose inbound traffic (from VM) will be treated as outbound.</td>
</tr>
</tbody>
<thead>
<tr>
<th>Annotation Name</th>
<th>Feature Status</th>
<th>Resource Types</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>galley.istio.io/analyze-suppress</code></td>
<td>Alpha</td>
<td>[Any]</td>
<td>A comma separated list of configuration analysis message codes to suppress when Istio analyzers are run. For example, to suppress reporting of IST0103 (PodMissingProxy) and IST0108 (UnknownAnnotation) on a resource, apply the annotation 'galley.istio.io/analyze-suppress=IST0108,IST0103'. If the value is '*', then all configuration analysis messages are suppressed.</td>
</tr>
<tr>
<td><code>inject.istio.io/templates</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>The name of the inject template(s) to use, as a comma separate list. See https://istio.io/latest/docs/setup/additional-setup/sidecar-injection/#custom-templates-experimental for more information.</td>
</tr>
<tr>
<td><code>install.operator.istio.io/chart-owner</code></td>
<td>Alpha</td>
<td>[Any]</td>
<td>Represents the name of the chart used to create this resource.</td>
</tr>
<tr>
<td><code>install.operator.istio.io/owner-generation</code></td>
<td>Alpha</td>
<td>[Any]</td>
<td>Represents the generation to which the resource was last reconciled.</td>
</tr>
<tr>
<td><code>install.operator.istio.io/version</code></td>
<td>Alpha</td>
<td>[Any]</td>
<td>Represents the Istio version associated with the resource</td>
</tr>
<tr>
<td><code>istio.io/dry-run</code></td>
<td>Alpha</td>
<td>[AuthorizationPolicy]</td>
<td>Specifies whether or not the given resource is in dry-run mode. See https://istio.io/latest/docs/tasks/security/authorization/authz-dry-run/ for more information.</td>
</tr>
<tr>
<td><code>istio.io/rev</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies a control plane revision to which a given proxy is connected. This annotation is added automatically, not set by a user. In contrary to the label istio.io/rev, it represents the actual revision, not the requested revision.</td>
</tr>
<tr>
<td><code>kubernetes.io/ingress.class</code></td>
<td>Stable</td>
<td>[Ingress]</td>
<td>Annotation on an Ingress resources denoting the class of controllers responsible for it.</td>
</tr>
<tr>
<td><code>networking.istio.io/exportTo</code></td>
<td>Alpha</td>
<td>[Service]</td>
<td>Specifies the namespaces to which this service should be exported to. A value of '*' indicates it is reachable within the mesh '.' indicates it is reachable within its namespace.</td>
</tr>
<tr>
<td><code>prometheus.istio.io/merge-metrics</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies if application Prometheus metric will be merged with Envoy metrics for this workload.</td>
</tr>
<tr>
<td><code>proxy.istio.io/config</code></td>
<td>Beta</td>
<td>[Pod]</td>
<td>Overrides for the proxy configuration for this specific proxy. Available options can be found at https://istio.io/docs/reference/config/istio.mesh.v1alpha1/#ProxyConfig.</td>
</tr>
<tr>
<td><code>readiness.status.sidecar.istio.io/applicationPorts</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the list of ports exposed by the application container. Used by the Envoy sidecar readiness probe to determine that Envoy is configured and ready to receive traffic.</td>
</tr>
<tr>
<td><code>readiness.status.sidecar.istio.io/failureThreshold</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the failure threshold for the Envoy sidecar readiness probe.</td>
</tr>
<tr>
<td><code>readiness.status.sidecar.istio.io/initialDelaySeconds</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the initial delay (in seconds) for the Envoy sidecar readiness probe.</td>
</tr>
<tr>
<td><code>readiness.status.sidecar.istio.io/periodSeconds</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the period (in seconds) for the Envoy sidecar readiness probe.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/agentLogLevel</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the log output level for pilot-agent.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/bootstrapOverride</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies an alternative Envoy bootstrap configuration file.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/componentLogLevel</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the component log level for Envoy.</td>
</tr>
<tr class="deprecated">
<td><code>sidecar.istio.io/controlPlaneAuthPolicy</code></td>
<td>Deprecated</td>
<td>[Pod]</td>
<td>Specifies the auth policy used by the Istio control plane. If NONE, traffic will not be encrypted. If MUTUAL_TLS, traffic between Envoy sidecar will be wrapped into mutual TLS connections.</td>
</tr>
<tr class="deprecated">
<td><code>sidecar.istio.io/discoveryAddress</code></td>
<td>Deprecated</td>
<td>[Pod]</td>
<td>Specifies the XDS discovery address to be used by the Envoy sidecar.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/enableCoreDump</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies whether or not an Envoy sidecar should enable core dump.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/extraStatTags</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>An additional list of tags to extract from the in-proxy Istio Wasm telemetry. Each additional tag needs to be present in this list.</td>
</tr>
<tr class="deprecated">
<td><code>sidecar.istio.io/inject</code></td>
<td>Deprecated</td>
<td>[Pod]</td>
<td>Specifies whether or not an Envoy sidecar should be automatically injected into the workload. Deprecated in favor of `sidecar.istio.io/inject` label.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/interceptionMode</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the mode used to redirect inbound connections to Envoy (REDIRECT or TPROXY).</td>
</tr>
<tr>
<td><code>sidecar.istio.io/logLevel</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the log level for Envoy.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/proxyCPU</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the requested CPU setting for the Envoy sidecar.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/proxyCPULimit</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the CPU limit for the Envoy sidecar.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/proxyImage</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the Docker image to be used by the Envoy sidecar.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/proxyImageType</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the Docker image type to be used by the Envoy sidecar. Istio publishes debug and distroless image types for every release tag.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/proxyMemory</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the requested memory setting for the Envoy sidecar.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/proxyMemoryLimit</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the memory limit for the Envoy sidecar.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/rewriteAppHTTPProbers</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Rewrite HTTP readiness and liveness probes to be redirected to the Envoy sidecar.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/statsHistogramBuckets</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the custom histogram buckets with a prefix matcher to separate the Istio mesh metrics from the Envoy stats, e.g. `{"istiocustom":[1,5,10,50,100,500,1000,5000,10000],"cluster.xds-grpc":[1,5,10,25,50,100,250,500,1000,2500,5000,10000]}`. Default buckets are `[0.5,1,5,10,25,50,100,250,500,1000,2500,5000,10000,30000,60000,300000,600000,1800000,3600000]`.</td>
</tr>
<tr class="deprecated">
<td><code>sidecar.istio.io/statsInclusionPrefixes</code></td>
<td>Deprecated</td>
<td>[Pod]</td>
<td>Specifies the comma separated list of prefixes of the stats to be emitted by Envoy.</td>
</tr>
<tr class="deprecated">
<td><code>sidecar.istio.io/statsInclusionRegexps</code></td>
<td>Deprecated</td>
<td>[Pod]</td>
<td>Specifies the comma separated list of regexes the stats should match to be emitted by Envoy.</td>
</tr>
<tr class="deprecated">
<td><code>sidecar.istio.io/statsInclusionSuffixes</code></td>
<td>Deprecated</td>
<td>[Pod]</td>
<td>Specifies the comma separated list of suffixes of the stats to be emitted by Envoy.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/status</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Generated by Envoy sidecar injection that indicates the status of the operation. Includes a version hash of the executed template, as well as names of injected resources.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/userVolume</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies one or more user volumes (as a JSON array) to be added to the Envoy sidecar.</td>
</tr>
<tr>
<td><code>sidecar.istio.io/userVolumeMount</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies one or more user volume mounts (as a JSON array) to be added to the Envoy sidecar.</td>
</tr>
<tr>
<td><code>status.sidecar.istio.io/port</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>Specifies the HTTP status Port for the Envoy sidecar. If zero, the sidecar will not provide status.</td>
</tr>
<tr>
<td><code>topology.istio.io/controlPlaneClusters</code></td>
<td>Alpha</td>
<td>[Namespace]</td>
<td>A comma-separated list of clusters (or * for any) running istiod that should attempt leader election for a remote cluster thats system namespace includes this annotation. Istiod will not attempt to lead unannotated remote clusters.</td>
</tr>
<tr>
<td><code>traffic.istio.io/nodeSelector</code></td>
<td>Stable</td>
<td>[Service]</td>
<td>This annotation is a set of node-labels (key1=value,key2=value). If the annotated Service is of type NodePort and is a multi-network gateway (see topology.istio.io/network), the addresses for selected nodes will be used for cross-network communication.</td>
</tr>
<tr>
<td><code>traffic.sidecar.istio.io/excludeInboundPorts</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>A comma separated list of inbound ports to be excluded from redirection to Envoy. Only applies when all inbound traffic (i.e. '*') is being redirected.</td>
</tr>
<tr>
<td><code>traffic.sidecar.istio.io/excludeInterfaces</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>A comma separated list of interfaces to be excluded from Istio traffic capture</td>
</tr>
<tr>
<td><code>traffic.sidecar.istio.io/excludeOutboundIPRanges</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>A comma separated list of IP ranges in CIDR form to be excluded from redirection. Only applies when all outbound traffic (i.e. '*') is being redirected.</td>
</tr>
<tr>
<td><code>traffic.sidecar.istio.io/excludeOutboundPorts</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>A comma separated list of outbound ports to be excluded from redirection to Envoy.</td>
</tr>
<tr>
<td><code>traffic.sidecar.istio.io/includeInboundPorts</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>A comma separated list of inbound ports for which traffic is to be redirected to Envoy. The wildcard character '*' can be used to configure redirection for all ports. An empty list will disable all inbound redirection.</td>
</tr>
<tr>
<td><code>traffic.sidecar.istio.io/includeOutboundIPRanges</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>A comma separated list of IP ranges in CIDR form to redirect to Envoy (optional). The wildcard character '*' can be used to redirect all outbound traffic. An empty list will disable all outbound redirection.</td>
</tr>
<tr>
<td><code>traffic.sidecar.istio.io/includeOutboundPorts</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>A comma separated list of outbound ports for which traffic is to be redirected to Envoy, regardless of the destination IP.</td>
</tr>
<tr>
<td><code>traffic.sidecar.istio.io/kubevirtInterfaces</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>A comma separated list of virtual interfaces whose inbound traffic (from VM) will be treated as outbound.</td>
</tr></tbody>
</table>

181
label/labels.pb.html generated
View File

@ -4,133 +4,68 @@ description: Resource labels used by Istio.
location: https://istio.io/docs/reference/config/labels/
weight: 60
---
<p>
This page presents the various resource <a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/">labels</a> that
Istio supports to control its behavior.
</p>
<table class="annotations">
<thead>
<tr>
<th>Label Name</th>
<th>Feature Status</th>
<th>Resource Types</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>istio.io/rev</code></td>
<td>Alpha</td>
<td>[Namespace]</td>
<td>Istio control plane revision associated with the resource; e.g. `canary`</td>
</tr>
<tr>
<td><code>networking.istio.io/gatewayPort</code></td>
<td>Alpha</td>
<td>[Service]</td>
<td>IstioGatewayPortLabel overrides the default 15443 value to use for a multi-network gateway's port</td>
</tr>
<tr>
<td><code>service.istio.io/canonical-name</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>The name of the canonical service a workload belongs to</td>
</tr>
<tr>
<td><code>service.istio.io/canonical-revision</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>The name of a revision within a canonical service that the workload belongs to</td>
</tr>
<tr>
<td><code>sidecar.istio.io/inject</code></td>
<td>Beta</td>
<td>[Pod]</td>
<td>Specifies whether or not an Envoy sidecar should be automatically injected into the workload.</td>
</tr>
<tr>
<td><code>topology.istio.io/cluster</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>This label is applied to a workload internally that identifies the Kubernetes cluster containing the workload. The cluster ID is specified during Istio installation for each cluster via `values.global.multiCluster.clusterName`. It should be noted that this is only used internally within Istio and is not an actual label on workload pods. If a pod contains this label, it will be overridden by Istio internally with the cluster ID specified during Istio installation. This label provides a way to select workloads by cluster when using DestinationRules. For example, a service owner could create a DestinationRule containing a subset per cluster and then use these subsets to control traffic flow to each cluster independently.</td>
</tr>
<tr>
<td><code>topology.istio.io/network</code></td>
<td>Beta</td>
<td>[Namespace Pod Service]</td>
<td>A label used to identify the network for one or more pods. This is used<br>internally by Istio to group pods resident in the same L3 domain/network.<br>Istio assumes that pods in the same network are directly reachable from<br>one another. When pods are in different networks, an Istio Gateway<br>(e.g. east-west gateway) is typically used to establish connectivity<br>(with AUTO_PASSTHROUGH mode). This label can be applied to the following<br>resources to help automate Istio's multi-network configuration.<br><br>* Istio System Namespace: Applying this label to the system namespace<br> establishes a default network for pods managed by the control plane.<br> This is typically configured during control plane installation using an<br> admin-specified value.<br><br>* Pod: Applying this label to a pod allows overriding the default network<br> on a per-pod basis. This is typically applied to the pod via webhook<br> injection, but can also be manually specified on the pod by the service<br> owner. The Istio installation in each cluster configures webhook injection<br> using an admin-specified value.<br><br>* Gateway Service: Applying this label to the Service for an Istio Gateway,<br> indicates that Istio should use this service as the gateway for the<br> network, when configuring cross-network traffic. Istio will configure<br> pods residing outside of the network to access the Gateway service<br> via `spec.externalIPs`, `status.loadBalancer.ingress[].ip`, or in the case<br> of a NodePort service, the Node's address. The label is configured when<br> installing the gateway (e.g. east-west gateway) and should match either<br> the default network for the control plane (as specified by the Istio System<br> Namespace label) or the network of the targeted pods.</td>
</tr>
<tr>
<td><code>topology.istio.io/subzone</code></td>
<td>Beta</td>
<td>[Node]</td>
<td>User-provided node label for identifying the locality subzone of a workload. This allows admins to specify a more granular level of locality than what is offered by default with Kubernetes regions and zones.</td>
</tr>
</tbody>
<thead>
<tr>
<th>Label Name</th>
<th>Feature Status</th>
<th>Resource Types</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>istio.io/rev</code></td>
<td>Alpha</td>
<td>[Namespace]</td>
<td>Istio control plane revision associated with the resource; e.g. `canary`</td>
</tr>
<tr>
<td><code>networking.istio.io/gatewayPort</code></td>
<td>Alpha</td>
<td>[Service]</td>
<td>IstioGatewayPortLabel overrides the default 15443 value to use for a multi-network gateway's port</td>
</tr>
<tr>
<td><code>service.istio.io/canonical-name</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>The name of the canonical service a workload belongs to</td>
</tr>
<tr>
<td><code>service.istio.io/canonical-revision</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>The name of a revision within a canonical service that the workload belongs to</td>
</tr>
<tr>
<td><code>sidecar.istio.io/inject</code></td>
<td>Beta</td>
<td>[Pod]</td>
<td>Specifies whether or not an Envoy sidecar should be automatically injected into the workload.</td>
</tr>
<tr>
<td><code>topology.istio.io/cluster</code></td>
<td>Alpha</td>
<td>[Pod]</td>
<td>This label is applied to a workload internally that identifies the Kubernetes cluster containing the workload. The cluster ID is specified during Istio installation for each cluster via `values.global.multiCluster.clusterName`. It should be noted that this is only used internally within Istio and is not an actual label on workload pods. If a pod contains this label, it will be overridden by Istio internally with the cluster ID specified during Istio installation. This label provides a way to select workloads by cluster when using DestinationRules. For example, a service owner could create a DestinationRule containing a subset per cluster and then use these subsets to control traffic flow to each cluster independently.</td>
</tr>
<tr>
<td><code>topology.istio.io/network</code></td>
<td>Beta</td>
<td>[Namespace Pod Service]</td>
<td>A label used to identify the network for one or more pods. This is used<br>internally by Istio to group pods resident in the same L3 domain/network.<br>Istio assumes that pods in the same network are directly reachable from<br>one another. When pods are in different networks, an Istio Gateway<br>(e.g. east-west gateway) is typically used to establish connectivity<br>(with AUTO_PASSTHROUGH mode). This label can be applied to the following<br>resources to help automate Istio's multi-network configuration.<br><br>* Istio System Namespace: Applying this label to the system namespace<br> establishes a default network for pods managed by the control plane.<br> This is typically configured during control plane installation using an<br> admin-specified value.<br><br>* Pod: Applying this label to a pod allows overriding the default network<br> on a per-pod basis. This is typically applied to the pod via webhook<br> injection, but can also be manually specified on the pod by the service<br> owner. The Istio installation in each cluster configures webhook injection<br> using an admin-specified value.<br><br>* Gateway Service: Applying this label to the Service for an Istio Gateway,<br> indicates that Istio should use this service as the gateway for the<br> network, when configuring cross-network traffic. Istio will configure<br> pods residing outside of the network to access the Gateway service<br> via `spec.externalIPs`, `status.loadBalancer.ingress[].ip`, or in the case<br> of a NodePort service, the Node's address. The label is configured when<br> installing the gateway (e.g. east-west gateway) and should match either<br> the default network for the control plane (as specified by the Istio System<br> Namespace label) or the network of the targeted pods.</td>
</tr>
<tr>
<td><code>topology.istio.io/subzone</code></td>
<td>Beta</td>
<td>[Node]</td>
<td>User-provided node label for identifying the locality subzone of a workload. This allows admins to specify a more granular level of locality than what is offered by default with Kubernetes regions and zones.</td>
</tr></tbody>
</table>

View File

@ -1787,6 +1787,9 @@
},
"forwardClientCertDetails": {
"$ref": "#/components/schemas/istio.mesh.v1alpha1.Topology.ForwardClientCertDetails"
},
"proxyProtocol": {
"$ref": "#/components/schemas/istio.mesh.v1alpha1.Topology.ProxyProtocolConfiguration"
}
}
},
@ -1802,6 +1805,10 @@
"ALWAYS_FORWARD_ONLY"
]
},
"istio.mesh.v1alpha1.Topology.ProxyProtocolConfiguration": {
"description": "PROXY protocol configuration.",
"type": "object"
},
"istio.mesh.v1alpha1.Tracing": {
"description": "Tracing defines configuration for the tracing performed by Envoy instances.",
"type": "object",

View File

@ -5,7 +5,7 @@ location: https://istio.io/docs/reference/config/istio.mesh.v1alpha1.html
layout: protoc-gen-docs
generator: protoc-gen-docs
weight: 20
number_of_entries: 56
number_of_entries: 59
---
<p>Configuration affecting the service mesh as a whole.</p>
@ -2582,6 +2582,74 @@ No
uses Istio mutual TLS and shares the root CA with Pilot, specify the TLS
mode as <code>ISTIO_MUTUAL</code>.</p>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="Topology">Topology</h2>
<section>
<p>Topology describes the configuration for relative location of a proxy with
respect to intermediate trusted proxies and the client. These settings
control how the client attributes are retrieved from the incoming traffic by
the gateway proxy and propagated to the upstream services in the cluster.</p>
<table class="message-fields">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Description</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr id="Topology-num_trusted_proxies">
<td><code>numTrustedProxies</code></td>
<td><code>uint32</code></td>
<td>
<p>Number of trusted proxies deployed in front of the Istio gateway proxy.
When this option is set to value N greater than zero, the trusted client
address is assumed to be the Nth address from the right end of the
X-Forwarded-For (XFF) header from the incoming request. If the
X-Forwarded-For (XFF) header is missing or has fewer than N addresses, the
gateway proxy falls back to using the immediate downstream connection&rsquo;s
source address as the trusted client address.
Note that the gateway proxy will append the downstream connection&rsquo;s source
address to the X-Forwarded-For (XFF) address and set the
X-Envoy-External-Address header to the trusted client address before
forwarding it to the upstream services in the cluster.
The default value of num_trusted_proxies is 0.
See [Envoy XFF] (<a href="https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/headers#config-http-conn-man-headers-x-forwarded-for">https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/headers#config-http-conn-man-headers-x-forwarded-for</a>)
header handling for more details.</p>
</td>
<td>
No
</td>
</tr>
<tr id="Topology-forward_client_cert_details">
<td><code>forwardClientCertDetails</code></td>
<td><code><a href="#Topology-ForwardClientCertDetails">ForwardClientCertDetails</a></code></td>
<td>
<p>Configures how the gateway proxy handles x-forwarded-client-cert (XFCC)
header in the incoming request.</p>
</td>
<td>
No
</td>
</tr>
<tr id="Topology-proxy_protocol">
<td><code>proxyProtocol</code></td>
<td><code><a href="#Topology-ProxyProtocolConfiguration">ProxyProtocolConfiguration</a></code></td>
<td>
<p>Enables <a href="http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt">PROXY protocol</a> for
downstream connections on a gateway.</p>
</td>
<td>
No
@ -2923,6 +2991,21 @@ added by configuring the telemetry extension. Each additional tag needs to be pr
Extra tags emitted by the telemetry extensions must be listed here so that they can be processed
and exposed as Prometheus metrics.</p>
</td>
<td>
No
</td>
</tr>
<tr id="ProxyConfig-gateway_topology">
<td><code>gatewayTopology</code></td>
<td><code><a href="#Topology">Topology</a></code></td>
<td>
<p>Topology encapsulates the configuration which describes where the proxy is
located i.e. behind a (or N) trusted proxy (proxies) or directly exposed
to the internet. This configuration only effects gateways and is applied
to all the gateways in the cluster unless overriden via annotations of the
gateway workloads.</p>
</td>
<td>
No
@ -3243,6 +3326,11 @@ No
</tr>
</tbody>
</table>
</section>
<h2 id="Topology-ProxyProtocolConfiguration">Topology.ProxyProtocolConfiguration</h2>
<section>
<p>PROXY protocol configuration.</p>
</section>
<h2 id="PrivateKeyProvider-CryptoMb">PrivateKeyProvider.CryptoMb</h2>
<section>
@ -3923,6 +4011,70 @@ See the
<a href="https://github.com/openzipkin/b3-propagation">B3 header propagation README</a>
for details.</p>
</td>
</tr>
</tbody>
</table>
</section>
<h2 id="Topology-ForwardClientCertDetails">Topology.ForwardClientCertDetails</h2>
<section>
<p>ForwardClientCertDetails controls how the x-forwarded-client-cert (XFCC)
header is handled by the gateway proxy.
See <a href="https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/network/http_connection_manager/v2/http_connection_manager.proto#envoy-api-enum-config-filter-network-http-connection-manager-v2-httpconnectionmanager-forwardclientcertdetails">Envoy XFCC</a>
header handling for more details.</p>
<table class="enum-values">
<thead>
<tr>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr id="Topology-ForwardClientCertDetails-UNDEFINED">
<td><code>UNDEFINED</code></td>
<td>
<p>Field is not set</p>
</td>
</tr>
<tr id="Topology-ForwardClientCertDetails-SANITIZE">
<td><code>SANITIZE</code></td>
<td>
<p>Do not send the XFCC header to the next hop. This is the default value.</p>
</td>
</tr>
<tr id="Topology-ForwardClientCertDetails-FORWARD_ONLY">
<td><code>FORWARD_ONLY</code></td>
<td>
<p>When the client connection is mTLS (Mutual TLS), forward the XFCC header
in the request.</p>
</td>
</tr>
<tr id="Topology-ForwardClientCertDetails-APPEND_FORWARD">
<td><code>APPEND_FORWARD</code></td>
<td>
<p>When the client connection is mTLS, append the client certificate
information to the requests XFCC header and forward it.</p>
</td>
</tr>
<tr id="Topology-ForwardClientCertDetails-SANITIZE_SET">
<td><code>SANITIZE_SET</code></td>
<td>
<p>When the client connection is mTLS, reset the XFCC header with the client
certificate information and send it to the next hop.</p>
</td>
</tr>
<tr id="Topology-ForwardClientCertDetails-ALWAYS_FORWARD_ONLY">
<td><code>ALWAYS_FORWARD_ONLY</code></td>
<td>
<p>Always forward the XFCC header in the request, regardless of whether the
client connection is mTLS.</p>
</td>
</tr>
</tbody>

View File

@ -164,7 +164,6 @@ func (Tracing_OpenCensusAgent_TraceContext) EnumDescriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{0, 4, 0}
}
// $hide_from_docs
// ForwardClientCertDetails controls how the x-forwarded-client-cert (XFCC)
// header is handled by the gateway proxy.
// See [Envoy XFCC](https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/network/http_connection_manager/v2/http_connection_manager.proto#envoy-api-enum-config-filter-network-http-connection-manager-v2-httpconnectionmanager-forwardclientcertdetails)
@ -602,7 +601,6 @@ func (x *SDS) GetK8SSaJwtPath() string {
return ""
}
// $hide_from_docs
// Topology describes the configuration for relative location of a proxy with
// respect to intermediate trusted proxies and the client. These settings
// control how the client attributes are retrieved from the incoming traffic by
@ -612,7 +610,6 @@ type Topology struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// $hide_from_docs
// Number of trusted proxies deployed in front of the Istio gateway proxy.
// When this option is set to value N greater than zero, the trusted client
// address is assumed to be the Nth address from the right end of the
@ -628,10 +625,12 @@ type Topology struct {
// See [Envoy XFF] (https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/headers#config-http-conn-man-headers-x-forwarded-for)
// header handling for more details.
NumTrustedProxies uint32 `protobuf:"varint,1,opt,name=num_trusted_proxies,json=numTrustedProxies,proto3" json:"num_trusted_proxies,omitempty"`
// $hide_from_docs
// Configures how the gateway proxy handles x-forwarded-client-cert (XFCC)
// header in the incoming request.
ForwardClientCertDetails Topology_ForwardClientCertDetails `protobuf:"varint,2,opt,name=forward_client_cert_details,json=forwardClientCertDetails,proto3,enum=istio.mesh.v1alpha1.Topology_ForwardClientCertDetails" json:"forward_client_cert_details,omitempty"`
// Enables [PROXY protocol](http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt) for
// downstream connections on a gateway.
ProxyProtocol *Topology_ProxyProtocolConfiguration `protobuf:"bytes,3,opt,name=proxy_protocol,json=proxyProtocol,proto3" json:"proxy_protocol,omitempty"`
}
func (x *Topology) Reset() {
@ -680,6 +679,13 @@ func (x *Topology) GetForwardClientCertDetails() Topology_ForwardClientCertDetai
return Topology_UNDEFINED
}
func (x *Topology) GetProxyProtocol() *Topology_ProxyProtocolConfiguration {
if x != nil {
return x.ProxyProtocol
}
return nil
}
// PrivateKeyProvider defines private key configuration for gateways and sidecars. This can be configured
// mesh wide or individual per-workload basis.
type PrivateKeyProvider struct {
@ -890,7 +896,6 @@ type ProxyConfig struct {
// Extra tags emitted by the telemetry extensions must be listed here so that they can be processed
// and exposed as Prometheus metrics.
ExtraStatTags []string `protobuf:"bytes,27,rep,name=extra_stat_tags,json=extraStatTags,proto3" json:"extra_stat_tags,omitempty"`
// $hide_from_docs
// Topology encapsulates the configuration which describes where the proxy is
// located i.e. behind a (or N) trusted proxy (proxies) or directly exposed
// to the internet. This configuration only effects gateways and is applied
@ -1932,6 +1937,45 @@ func (x *Tracing_RequestHeader) GetDefaultValue() string {
return ""
}
// PROXY protocol configuration.
type Topology_ProxyProtocolConfiguration struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *Topology_ProxyProtocolConfiguration) Reset() {
*x = Topology_ProxyProtocolConfiguration{}
if protoimpl.UnsafeEnabled {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Topology_ProxyProtocolConfiguration) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Topology_ProxyProtocolConfiguration) ProtoMessage() {}
func (x *Topology_ProxyProtocolConfiguration) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Topology_ProxyProtocolConfiguration.ProtoReflect.Descriptor instead.
func (*Topology_ProxyProtocolConfiguration) Descriptor() ([]byte, []int) {
return file_mesh_v1alpha1_proxy_proto_rawDescGZIP(), []int{2, 0}
}
// CryptoMb PrivateKeyProvider configuration
type PrivateKeyProvider_CryptoMb struct {
state protoimpl.MessageState
@ -1950,7 +1994,7 @@ type PrivateKeyProvider_CryptoMb struct {
func (x *PrivateKeyProvider_CryptoMb) Reset() {
*x = PrivateKeyProvider_CryptoMb{}
if protoimpl.UnsafeEnabled {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[16]
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -1963,7 +2007,7 @@ func (x *PrivateKeyProvider_CryptoMb) String() string {
func (*PrivateKeyProvider_CryptoMb) ProtoMessage() {}
func (x *PrivateKeyProvider_CryptoMb) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[16]
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -2002,7 +2046,7 @@ type PrivateKeyProvider_QAT struct {
func (x *PrivateKeyProvider_QAT) Reset() {
*x = PrivateKeyProvider_QAT{}
if protoimpl.UnsafeEnabled {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[17]
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -2015,7 +2059,7 @@ func (x *PrivateKeyProvider_QAT) String() string {
func (*PrivateKeyProvider_QAT) ProtoMessage() {}
func (x *PrivateKeyProvider_QAT) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[17]
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -2056,7 +2100,7 @@ type ProxyConfig_ProxyStatsMatcher struct {
func (x *ProxyConfig_ProxyStatsMatcher) Reset() {
*x = ProxyConfig_ProxyStatsMatcher{}
if protoimpl.UnsafeEnabled {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[20]
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@ -2069,7 +2113,7 @@ func (x *ProxyConfig_ProxyStatsMatcher) String() string {
func (*ProxyConfig_ProxyStatsMatcher) ProtoMessage() {}
func (x *ProxyConfig_ProxyStatsMatcher) ProtoReflect() protoreflect.Message {
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[20]
mi := &file_mesh_v1alpha1_proxy_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@ -2242,7 +2286,7 @@ var file_mesh_v1alpha1_proxy_proto_rawDesc = []byte{
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65,
0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0f, 0x6b, 0x38, 0x73, 0x5f, 0x73, 0x61,
0x5f, 0x6a, 0x77, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0c, 0x6b, 0x38, 0x73, 0x53, 0x61, 0x4a, 0x77, 0x74, 0x50, 0x61, 0x74, 0x68, 0x22, 0xbc, 0x02,
0x0c, 0x6b, 0x38, 0x73, 0x53, 0x61, 0x4a, 0x77, 0x74, 0x50, 0x61, 0x74, 0x68, 0x22, 0xbb, 0x03,
0x0a, 0x08, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75,
0x6d, 0x5f, 0x74, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65,
0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x54, 0x72, 0x75, 0x73,
@ -2254,235 +2298,243 @@ var file_mesh_v1alpha1_proxy_proto_rawDesc = []byte{
0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74,
0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x18, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64,
0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
0x73, 0x22, 0x88, 0x01, 0x0a, 0x18, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x69,
0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x0d,
0x0a, 0x09, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a,
0x08, 0x53, 0x41, 0x4e, 0x49, 0x54, 0x49, 0x5a, 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x46,
0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x12, 0x0a,
0x0e, 0x41, 0x50, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10,
0x03, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x41, 0x4e, 0x49, 0x54, 0x49, 0x5a, 0x45, 0x5f, 0x53, 0x45,
0x54, 0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x5f, 0x46, 0x4f,
0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x05, 0x22, 0xb8, 0x02, 0x0a,
0x12, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x12, 0x4e, 0x0a, 0x08, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x6d, 0x62, 0x18,
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65,
0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76,
0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x43,
0x72, 0x79, 0x70, 0x74, 0x6f, 0x4d, 0x62, 0x48, 0x00, 0x52, 0x08, 0x63, 0x72, 0x79, 0x70, 0x74,
0x6f, 0x6d, 0x62, 0x12, 0x3f, 0x0a, 0x03, 0x71, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x2b, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31,
0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65,
0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x51, 0x41, 0x54, 0x48, 0x00, 0x52,
0x03, 0x71, 0x61, 0x74, 0x1a, 0x44, 0x0a, 0x08, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4d, 0x62,
0x73, 0x12, 0x5f, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x69, 0x73, 0x74, 0x69,
0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x6f, 0x6c, 0x1a, 0x1c, 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x22, 0x88, 0x01, 0x0a, 0x18, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 0x6c, 0x69, 0x65,
0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x0d, 0x0a,
0x09, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08,
0x53, 0x41, 0x4e, 0x49, 0x54, 0x49, 0x5a, 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x4f,
0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e,
0x41, 0x50, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0x03,
0x12, 0x10, 0x0a, 0x0c, 0x53, 0x41, 0x4e, 0x49, 0x54, 0x49, 0x5a, 0x45, 0x5f, 0x53, 0x45, 0x54,
0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x5f, 0x46, 0x4f, 0x52,
0x57, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x05, 0x22, 0xb8, 0x02, 0x0a, 0x12,
0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64,
0x65, 0x72, 0x12, 0x4e, 0x0a, 0x08, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x6d, 0x62, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73,
0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61,
0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x43, 0x72,
0x79, 0x70, 0x74, 0x6f, 0x4d, 0x62, 0x48, 0x00, 0x52, 0x08, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f,
0x6d, 0x62, 0x12, 0x3f, 0x0a, 0x03, 0x71, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x2b, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61,
0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79,
0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x51, 0x41, 0x54, 0x48, 0x00, 0x52, 0x03,
0x71, 0x61, 0x74, 0x1a, 0x44, 0x0a, 0x08, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4d, 0x62, 0x12,
0x38, 0x0a, 0x0a, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09,
0x70, 0x6f, 0x6c, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x1a, 0x3f, 0x0a, 0x03, 0x51, 0x41, 0x54,
0x12, 0x38, 0x0a, 0x0a, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x09, 0x70, 0x6f, 0x6c, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x1a, 0x3f, 0x0a, 0x03, 0x51, 0x41,
0x54, 0x12, 0x38, 0x0a, 0x0a, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x09, 0x70, 0x6f, 0x6c, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x70,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0xa7, 0x16, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78,
0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x69, 0x6e, 0x61,
0x72, 0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62,
0x69, 0x6e, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x0f, 0x73, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6c, 0x75,
0x73, 0x74, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f,
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x24, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x33, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e,
0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x12, 0x74, 0x72, 0x61, 0x63, 0x69,
0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a,
0x0e, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x0d, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
0x2b, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64,
0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x69, 0x73, 0x63,
0x6f, 0x76, 0x65, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x17,
0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73,
0x68, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x64, 0x69,
0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x65,
0x6c, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x0e, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x5f, 0x61, 0x64,
0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52,
0x0d, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2c,
0x0a, 0x12, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x5f, 0x75, 0x64, 0x70, 0x5f, 0x61, 0x64, 0x64,
0x72, 0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74,
0x73, 0x64, 0x55, 0x64, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x45, 0x0a, 0x1d,
0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x65,
0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x14, 0x20,
0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x4d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72,
0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x61, 0x64, 0x6d,
0x69, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70,
0x72, 0x6f, 0x78, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2f, 0x0a,
0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f,
0x6e, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x61, 0x76,
0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x64,
0x0a, 0x19, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f,
0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x29, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76,
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x16, 0x63, 0x6f,
0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f,
0x6c, 0x69, 0x63, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09,
0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69,
0x6c, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f,
0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x74,
0x61, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x3d, 0x0a, 0x0b,
0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b,
0x63, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x1d, 0x70,
0x72, 0x6f, 0x78, 0x79, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x74,
0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x11, 0x20, 0x01,
0x28, 0x09, 0x52, 0x1a, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72,
0x61, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x65,
0x0a, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d,
0x6f, 0x64, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x69, 0x73, 0x74, 0x69,
0x09, 0x70, 0x6f, 0x6c, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x42, 0x0a, 0x0a, 0x08, 0x70, 0x72,
0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0xa7, 0x16, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x69, 0x6e, 0x61, 0x72,
0x79, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x69,
0x6e, 0x61, 0x72, 0x79, 0x50, 0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
0x09, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6c, 0x75, 0x73,
0x74, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x73,
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x33, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76,
0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x00, 0x52, 0x12, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e,
0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0e,
0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x0d, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b,
0x0a, 0x11, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72,
0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x64, 0x69, 0x73, 0x63, 0x6f,
0x76, 0x65, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x17, 0x64,
0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68,
0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x64, 0x69, 0x73,
0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x44, 0x65, 0x6c,
0x61, 0x79, 0x12, 0x29, 0x0a, 0x0e, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x5f, 0x61, 0x64, 0x64,
0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d,
0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a,
0x12, 0x73, 0x74, 0x61, 0x74, 0x73, 0x64, 0x5f, 0x75, 0x64, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72,
0x65, 0x73, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x74, 0x61, 0x74, 0x73,
0x64, 0x55, 0x64, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x45, 0x0a, 0x1d, 0x65,
0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x72,
0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x14, 0x20, 0x01,
0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x1a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x4d, 0x65, 0x74,
0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65,
0x73, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x61, 0x64, 0x6d, 0x69,
0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x70, 0x72,
0x6f, 0x78, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2f, 0x0a, 0x11,
0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x7a, 0x6f, 0x6e,
0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x61, 0x76, 0x61,
0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5a, 0x6f, 0x6e, 0x65, 0x12, 0x64, 0x0a,
0x19, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x61,
0x75, 0x74, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x29, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31,
0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x16, 0x63, 0x6f, 0x6e,
0x74, 0x72, 0x6f, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x65, 0x41, 0x75, 0x74, 0x68, 0x50, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52,
0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x69, 0x6c,
0x65, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6c,
0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x74, 0x61,
0x74, 0x4e, 0x61, 0x6d, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x3d, 0x0a, 0x0b, 0x63,
0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0b, 0x63,
0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x1d, 0x70, 0x72,
0x6f, 0x78, 0x79, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x74, 0x65,
0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x11, 0x20, 0x01, 0x28,
0x09, 0x52, 0x1a, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61,
0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x65, 0x0a,
0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f,
0x64, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50,
0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, 0x6e, 0x62, 0x6f, 0x75,
0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f,
0x64, 0x65, 0x52, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e,
0x4d, 0x6f, 0x64, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x18,
0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65,
0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x63,
0x69, 0x6e, 0x67, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x03,
0x73, 0x64, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x69, 0x73, 0x74, 0x69,
0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x49, 0x6e, 0x62, 0x6f,
0x75, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
0x6f, 0x64, 0x65, 0x52, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67,
0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d,
0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61,
0x63, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a,
0x03, 0x73, 0x64, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x69, 0x73, 0x74,
0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
0x2e, 0x53, 0x44, 0x53, 0x42, 0x02, 0x18, 0x01, 0x52, 0x03, 0x73, 0x64, 0x73, 0x12, 0x5b, 0x0a,
0x18, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f,
0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x22, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61,
0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x52, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
0x4c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x56, 0x0a, 0x15, 0x65, 0x6e,
0x76, 0x6f, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x73, 0x74, 0x69,
0x53, 0x44, 0x53, 0x42, 0x02, 0x18, 0x01, 0x52, 0x03, 0x73, 0x64, 0x73, 0x12, 0x5b, 0x0a, 0x18,
0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x6f, 0x67,
0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22,
0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x52, 0x15, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c,
0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x56, 0x0a, 0x15, 0x65, 0x6e, 0x76,
0x6f, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x52,
0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x13, 0x65, 0x6e,
0x76, 0x6f, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x12, 0x5a, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64,
0x61, 0x74, 0x61, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x73, 0x74, 0x69,
0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x13, 0x65,
0x6e, 0x76, 0x6f, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x12, 0x5a, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x61,
0x64, 0x61, 0x74, 0x61, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x73, 0x74,
0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x78,
0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d,
0x70, 0x72, 0x6f, 0x78, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5a, 0x0a,
0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18,
0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65,
0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78,
0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x56,
0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x72, 0x75, 0x6e, 0x74,
0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61,
0x74, 0x75, 0x73, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a,
0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x65, 0x78,
0x74, 0x72, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x1b, 0x20,
0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x74, 0x72, 0x61, 0x53, 0x74, 0x61, 0x74, 0x54, 0x61,
0x67, 0x73, 0x12, 0x48, 0x0a, 0x10, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x74, 0x6f,
0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69,
0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
0x61, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x52, 0x0f, 0x67, 0x61, 0x74,
0x65, 0x77, 0x61, 0x79, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x12, 0x57, 0x0a, 0x1a,
0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x72, 0x61, 0x69,
0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x74, 0x65, 0x72,
0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x44, 0x75, 0x72,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x69, 0x64,
0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x73, 0x68, 0x49, 0x64, 0x12, 0x52,
0x0a, 0x0f, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x62,
0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e,
0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
0x68, 0x61, 0x33, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f,
0x62, 0x65, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f,
0x62, 0x65, 0x12, 0x62, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x74,
0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x32, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61,
0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63,
0x68, 0x65, 0x72, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d,
0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x68, 0x0a, 0x23, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x61,
0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x74, 0x69, 0x6c,
0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x18, 0x21, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
0x1f, 0x68, 0x6f, 0x6c, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x55, 0x6e, 0x74, 0x69, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x73,
0x12, 0x2e, 0x0a, 0x13, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
0x74, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x6d, 0x18, 0x22, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x63,
0x61, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x50, 0x65, 0x6d,
0x12, 0x3a, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x24, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69,
0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79,
0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x59, 0x0a, 0x14,
0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x73, 0x74,
0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f,
0x78, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x0d, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5a,
0x0a, 0x0e, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73,
0x18, 0x25, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d,
0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f,
0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65,
0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x72, 0x75, 0x6e,
0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74,
0x61, 0x74, 0x75, 0x73, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x65,
0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x1b,
0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x65, 0x78, 0x74, 0x72, 0x61, 0x53, 0x74, 0x61, 0x74, 0x54,
0x61, 0x67, 0x73, 0x12, 0x48, 0x0a, 0x10, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x74,
0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e,
0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
0x68, 0x61, 0x31, 0x2e, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x52, 0x0f, 0x67, 0x61,
0x74, 0x65, 0x77, 0x61, 0x79, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x12, 0x57, 0x0a,
0x1a, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x72, 0x61,
0x69, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x1d, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x74, 0x65,
0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x72, 0x61, 0x69, 0x6e, 0x44, 0x75,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x68, 0x5f, 0x69,
0x64, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x73, 0x68, 0x49, 0x64, 0x12,
0x52, 0x0a, 0x0f, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f,
0x62, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f,
0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c,
0x70, 0x68, 0x61, 0x33, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72,
0x6f, 0x62, 0x65, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x50, 0x72,
0x6f, 0x62, 0x65, 0x12, 0x62, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x73, 0x74, 0x61,
0x74, 0x73, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x32, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31,
0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74,
0x63, 0x68, 0x65, 0x72, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73,
0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x72, 0x12, 0x68, 0x0a, 0x23, 0x68, 0x6f, 0x6c, 0x64, 0x5f,
0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x6e, 0x74, 0x69,
0x6c, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x18, 0x21,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65,
0x52, 0x1f, 0x68, 0x6f, 0x6c, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x55, 0x6e, 0x74, 0x69, 0x6c, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74,
0x73, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
0x61, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x65, 0x6d, 0x18, 0x22, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11,
0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x50, 0x65,
0x6d, 0x12, 0x3a, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x24, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x78,
0x79, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x59, 0x0a,
0x14, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x6f,
0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x69, 0x73,
0x74, 0x69, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x31, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76,
0x69, 0x64, 0x65, 0x72, 0x52, 0x12, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79,
0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x1a, 0x40, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x78,
0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x52, 0x75,
0x6e, 0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x9e, 0x01, 0x0a,
0x11, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68,
0x65, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11,
0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65,
0x73, 0x12, 0x2d, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73,
0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x69,
0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73,
0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65,
0x67, 0x65, 0x78, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x63,
0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x73, 0x22, 0x6c, 0x0a,
0x12, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e,
0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x50, 0x50, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c,
0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x00,
0x12, 0x17, 0x0a, 0x13, 0x43, 0x41, 0x4e, 0x4f, 0x4e, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x4e, 0x41,
0x4d, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x41, 0x4e,
0x4f, 0x4e, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f,
0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x02, 0x22, 0x3d, 0x0a, 0x17, 0x49,
0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x69,
0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45,
0x43, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x10, 0x01,
0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x42, 0x0e, 0x0a, 0x0c, 0x63, 0x6c,
0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06,
0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x52, 0x18, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73,
0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75,
0x74, 0x22, 0xeb, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a,
0x0c, 0x74, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77,
0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e,
0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x73, 0x52, 0x0b, 0x74, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x6f,
0x0a, 0x0d, 0x74, 0x63, 0x70, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65,
0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
0x33, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c,
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x54, 0x43, 0x50, 0x53, 0x65, 0x74, 0x74,
0x69, 0x6e, 0x67, 0x73, 0x2e, 0x54, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76,
0x65, 0x52, 0x0c, 0x74, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x2a,
0x3e, 0x0a, 0x14, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10,
0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x55, 0x54, 0x55, 0x41, 0x4c, 0x5f, 0x54, 0x4c, 0x53, 0x10,
0x01, 0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x48, 0x45, 0x52, 0x49, 0x54, 0x10, 0xe8, 0x07, 0x42,
0x1c, 0x5a, 0x1a, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f,
0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2e, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69,
0x64, 0x65, 0x72, 0x52, 0x12, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x50,
0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x1a, 0x40, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x78, 0x79,
0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x52, 0x75, 0x6e,
0x74, 0x69, 0x6d, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x9e, 0x01, 0x0a, 0x11,
0x50, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65,
0x72, 0x12, 0x2d, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x70,
0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x69,
0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73,
0x12, 0x2d, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x75,
0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e,
0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12,
0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x67,
0x65, 0x78, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c,
0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x73, 0x22, 0x6c, 0x0a, 0x12,
0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61,
0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x50, 0x50, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x5f,
0x41, 0x4e, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x00, 0x12,
0x17, 0x0a, 0x13, 0x43, 0x41, 0x4e, 0x4f, 0x4e, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x4e, 0x41, 0x4d,
0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x41, 0x4e, 0x4f,
0x4e, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x4e,
0x41, 0x4d, 0x45, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x02, 0x22, 0x3d, 0x0a, 0x17, 0x49, 0x6e,
0x62, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x44, 0x49, 0x52, 0x45, 0x43,
0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x50, 0x52, 0x4f, 0x58, 0x59, 0x10, 0x01, 0x12,
0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x42, 0x0e, 0x0a, 0x0c, 0x63, 0x6c, 0x75,
0x73, 0x74, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a,
0x04, 0x08, 0x09, 0x10, 0x0a, 0x52, 0x18, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x68,
0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
0x22, 0xeb, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69,
0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x0c,
0x74, 0x6c, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f,
0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x43,
0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x4c, 0x53, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
0x52, 0x0b, 0x74, 0x6c, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x6f, 0x0a,
0x0d, 0x74, 0x63, 0x70, 0x5f, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74,
0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33,
0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6f, 0x6c, 0x53,
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x54, 0x43, 0x50, 0x53, 0x65, 0x74, 0x74, 0x69,
0x6e, 0x67, 0x73, 0x2e, 0x54, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65,
0x52, 0x0c, 0x74, 0x63, 0x70, 0x4b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x2a, 0x3e,
0x0a, 0x14, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00,
0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x55, 0x54, 0x55, 0x41, 0x4c, 0x5f, 0x54, 0x4c, 0x53, 0x10, 0x01,
0x12, 0x0c, 0x0a, 0x07, 0x49, 0x4e, 0x48, 0x45, 0x52, 0x49, 0x54, 0x10, 0xe8, 0x07, 0x42, 0x1c,
0x5a, 0x1a, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d,
0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -2498,42 +2550,43 @@ func file_mesh_v1alpha1_proxy_proto_rawDescGZIP() []byte {
}
var file_mesh_v1alpha1_proxy_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
var file_mesh_v1alpha1_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
var file_mesh_v1alpha1_proxy_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
var file_mesh_v1alpha1_proxy_proto_goTypes = []interface{}{
(AuthenticationPolicy)(0), // 0: istio.mesh.v1alpha1.AuthenticationPolicy
(Tracing_OpenCensusAgent_TraceContext)(0), // 1: istio.mesh.v1alpha1.Tracing.OpenCensusAgent.TraceContext
(Topology_ForwardClientCertDetails)(0), // 2: istio.mesh.v1alpha1.Topology.ForwardClientCertDetails
(ProxyConfig_TracingServiceName)(0), // 3: istio.mesh.v1alpha1.ProxyConfig.TracingServiceName
(ProxyConfig_InboundInterceptionMode)(0), // 4: istio.mesh.v1alpha1.ProxyConfig.InboundInterceptionMode
(*Tracing)(nil), // 5: istio.mesh.v1alpha1.Tracing
(*SDS)(nil), // 6: istio.mesh.v1alpha1.SDS
(*Topology)(nil), // 7: istio.mesh.v1alpha1.Topology
(*PrivateKeyProvider)(nil), // 8: istio.mesh.v1alpha1.PrivateKeyProvider
(*ProxyConfig)(nil), // 9: istio.mesh.v1alpha1.ProxyConfig
(*RemoteService)(nil), // 10: istio.mesh.v1alpha1.RemoteService
(*Tracing_Zipkin)(nil), // 11: istio.mesh.v1alpha1.Tracing.Zipkin
(*Tracing_Lightstep)(nil), // 12: istio.mesh.v1alpha1.Tracing.Lightstep
(*Tracing_Datadog)(nil), // 13: istio.mesh.v1alpha1.Tracing.Datadog
(*Tracing_Stackdriver)(nil), // 14: istio.mesh.v1alpha1.Tracing.Stackdriver
(*Tracing_OpenCensusAgent)(nil), // 15: istio.mesh.v1alpha1.Tracing.OpenCensusAgent
(*Tracing_CustomTag)(nil), // 16: istio.mesh.v1alpha1.Tracing.CustomTag
(*Tracing_Literal)(nil), // 17: istio.mesh.v1alpha1.Tracing.Literal
(*Tracing_Environment)(nil), // 18: istio.mesh.v1alpha1.Tracing.Environment
(*Tracing_RequestHeader)(nil), // 19: istio.mesh.v1alpha1.Tracing.RequestHeader
nil, // 20: istio.mesh.v1alpha1.Tracing.CustomTagsEntry
(*PrivateKeyProvider_CryptoMb)(nil), // 21: istio.mesh.v1alpha1.PrivateKeyProvider.CryptoMb
(*PrivateKeyProvider_QAT)(nil), // 22: istio.mesh.v1alpha1.PrivateKeyProvider.QAT
nil, // 23: istio.mesh.v1alpha1.ProxyConfig.ProxyMetadataEntry
nil, // 24: istio.mesh.v1alpha1.ProxyConfig.RuntimeValuesEntry
(*ProxyConfig_ProxyStatsMatcher)(nil), // 25: istio.mesh.v1alpha1.ProxyConfig.ProxyStatsMatcher
(*v1alpha3.ClientTLSSettings)(nil), // 26: istio.networking.v1alpha3.ClientTLSSettings
(*duration.Duration)(nil), // 27: google.protobuf.Duration
(*wrappers.Int32Value)(nil), // 28: google.protobuf.Int32Value
(*v1alpha3.ReadinessProbe)(nil), // 29: istio.networking.v1alpha3.ReadinessProbe
(*wrappers.BoolValue)(nil), // 30: google.protobuf.BoolValue
(*v1beta1.ProxyImage)(nil), // 31: istio.networking.v1beta1.ProxyImage
(*v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive)(nil), // 32: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive
(*wrappers.Int64Value)(nil), // 33: google.protobuf.Int64Value
(AuthenticationPolicy)(0), // 0: istio.mesh.v1alpha1.AuthenticationPolicy
(Tracing_OpenCensusAgent_TraceContext)(0), // 1: istio.mesh.v1alpha1.Tracing.OpenCensusAgent.TraceContext
(Topology_ForwardClientCertDetails)(0), // 2: istio.mesh.v1alpha1.Topology.ForwardClientCertDetails
(ProxyConfig_TracingServiceName)(0), // 3: istio.mesh.v1alpha1.ProxyConfig.TracingServiceName
(ProxyConfig_InboundInterceptionMode)(0), // 4: istio.mesh.v1alpha1.ProxyConfig.InboundInterceptionMode
(*Tracing)(nil), // 5: istio.mesh.v1alpha1.Tracing
(*SDS)(nil), // 6: istio.mesh.v1alpha1.SDS
(*Topology)(nil), // 7: istio.mesh.v1alpha1.Topology
(*PrivateKeyProvider)(nil), // 8: istio.mesh.v1alpha1.PrivateKeyProvider
(*ProxyConfig)(nil), // 9: istio.mesh.v1alpha1.ProxyConfig
(*RemoteService)(nil), // 10: istio.mesh.v1alpha1.RemoteService
(*Tracing_Zipkin)(nil), // 11: istio.mesh.v1alpha1.Tracing.Zipkin
(*Tracing_Lightstep)(nil), // 12: istio.mesh.v1alpha1.Tracing.Lightstep
(*Tracing_Datadog)(nil), // 13: istio.mesh.v1alpha1.Tracing.Datadog
(*Tracing_Stackdriver)(nil), // 14: istio.mesh.v1alpha1.Tracing.Stackdriver
(*Tracing_OpenCensusAgent)(nil), // 15: istio.mesh.v1alpha1.Tracing.OpenCensusAgent
(*Tracing_CustomTag)(nil), // 16: istio.mesh.v1alpha1.Tracing.CustomTag
(*Tracing_Literal)(nil), // 17: istio.mesh.v1alpha1.Tracing.Literal
(*Tracing_Environment)(nil), // 18: istio.mesh.v1alpha1.Tracing.Environment
(*Tracing_RequestHeader)(nil), // 19: istio.mesh.v1alpha1.Tracing.RequestHeader
nil, // 20: istio.mesh.v1alpha1.Tracing.CustomTagsEntry
(*Topology_ProxyProtocolConfiguration)(nil), // 21: istio.mesh.v1alpha1.Topology.ProxyProtocolConfiguration
(*PrivateKeyProvider_CryptoMb)(nil), // 22: istio.mesh.v1alpha1.PrivateKeyProvider.CryptoMb
(*PrivateKeyProvider_QAT)(nil), // 23: istio.mesh.v1alpha1.PrivateKeyProvider.QAT
nil, // 24: istio.mesh.v1alpha1.ProxyConfig.ProxyMetadataEntry
nil, // 25: istio.mesh.v1alpha1.ProxyConfig.RuntimeValuesEntry
(*ProxyConfig_ProxyStatsMatcher)(nil), // 26: istio.mesh.v1alpha1.ProxyConfig.ProxyStatsMatcher
(*v1alpha3.ClientTLSSettings)(nil), // 27: istio.networking.v1alpha3.ClientTLSSettings
(*duration.Duration)(nil), // 28: google.protobuf.Duration
(*wrappers.Int32Value)(nil), // 29: google.protobuf.Int32Value
(*v1alpha3.ReadinessProbe)(nil), // 30: istio.networking.v1alpha3.ReadinessProbe
(*wrappers.BoolValue)(nil), // 31: google.protobuf.BoolValue
(*v1beta1.ProxyImage)(nil), // 32: istio.networking.v1beta1.ProxyImage
(*v1alpha3.ConnectionPoolSettings_TCPSettings_TcpKeepalive)(nil), // 33: istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive
(*wrappers.Int64Value)(nil), // 34: google.protobuf.Int64Value
}
var file_mesh_v1alpha1_proxy_proto_depIdxs = []int32{
11, // 0: istio.mesh.v1alpha1.Tracing.zipkin:type_name -> istio.mesh.v1alpha1.Tracing.Zipkin
@ -2542,46 +2595,47 @@ var file_mesh_v1alpha1_proxy_proto_depIdxs = []int32{
14, // 3: istio.mesh.v1alpha1.Tracing.stackdriver:type_name -> istio.mesh.v1alpha1.Tracing.Stackdriver
15, // 4: istio.mesh.v1alpha1.Tracing.open_census_agent:type_name -> istio.mesh.v1alpha1.Tracing.OpenCensusAgent
20, // 5: istio.mesh.v1alpha1.Tracing.custom_tags:type_name -> istio.mesh.v1alpha1.Tracing.CustomTagsEntry
26, // 6: istio.mesh.v1alpha1.Tracing.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings
27, // 6: istio.mesh.v1alpha1.Tracing.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings
2, // 7: istio.mesh.v1alpha1.Topology.forward_client_cert_details:type_name -> istio.mesh.v1alpha1.Topology.ForwardClientCertDetails
21, // 8: istio.mesh.v1alpha1.PrivateKeyProvider.cryptomb:type_name -> istio.mesh.v1alpha1.PrivateKeyProvider.CryptoMb
22, // 9: istio.mesh.v1alpha1.PrivateKeyProvider.qat:type_name -> istio.mesh.v1alpha1.PrivateKeyProvider.QAT
3, // 10: istio.mesh.v1alpha1.ProxyConfig.tracing_service_name:type_name -> istio.mesh.v1alpha1.ProxyConfig.TracingServiceName
27, // 11: istio.mesh.v1alpha1.ProxyConfig.drain_duration:type_name -> google.protobuf.Duration
27, // 12: istio.mesh.v1alpha1.ProxyConfig.discovery_refresh_delay:type_name -> google.protobuf.Duration
0, // 13: istio.mesh.v1alpha1.ProxyConfig.control_plane_auth_policy:type_name -> istio.mesh.v1alpha1.AuthenticationPolicy
28, // 14: istio.mesh.v1alpha1.ProxyConfig.concurrency:type_name -> google.protobuf.Int32Value
4, // 15: istio.mesh.v1alpha1.ProxyConfig.interception_mode:type_name -> istio.mesh.v1alpha1.ProxyConfig.InboundInterceptionMode
5, // 16: istio.mesh.v1alpha1.ProxyConfig.tracing:type_name -> istio.mesh.v1alpha1.Tracing
6, // 17: istio.mesh.v1alpha1.ProxyConfig.sds:type_name -> istio.mesh.v1alpha1.SDS
10, // 18: istio.mesh.v1alpha1.ProxyConfig.envoy_access_log_service:type_name -> istio.mesh.v1alpha1.RemoteService
10, // 19: istio.mesh.v1alpha1.ProxyConfig.envoy_metrics_service:type_name -> istio.mesh.v1alpha1.RemoteService
23, // 20: istio.mesh.v1alpha1.ProxyConfig.proxy_metadata:type_name -> istio.mesh.v1alpha1.ProxyConfig.ProxyMetadataEntry
24, // 21: istio.mesh.v1alpha1.ProxyConfig.runtime_values:type_name -> istio.mesh.v1alpha1.ProxyConfig.RuntimeValuesEntry
7, // 22: istio.mesh.v1alpha1.ProxyConfig.gateway_topology:type_name -> istio.mesh.v1alpha1.Topology
27, // 23: istio.mesh.v1alpha1.ProxyConfig.termination_drain_duration:type_name -> google.protobuf.Duration
29, // 24: istio.mesh.v1alpha1.ProxyConfig.readiness_probe:type_name -> istio.networking.v1alpha3.ReadinessProbe
25, // 25: istio.mesh.v1alpha1.ProxyConfig.proxy_stats_matcher:type_name -> istio.mesh.v1alpha1.ProxyConfig.ProxyStatsMatcher
30, // 26: istio.mesh.v1alpha1.ProxyConfig.hold_application_until_proxy_starts:type_name -> google.protobuf.BoolValue
31, // 27: istio.mesh.v1alpha1.ProxyConfig.image:type_name -> istio.networking.v1beta1.ProxyImage
8, // 28: istio.mesh.v1alpha1.ProxyConfig.private_key_provider:type_name -> istio.mesh.v1alpha1.PrivateKeyProvider
26, // 29: istio.mesh.v1alpha1.RemoteService.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings
32, // 30: istio.mesh.v1alpha1.RemoteService.tcp_keepalive:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive
33, // 31: istio.mesh.v1alpha1.Tracing.Stackdriver.max_number_of_attributes:type_name -> google.protobuf.Int64Value
33, // 32: istio.mesh.v1alpha1.Tracing.Stackdriver.max_number_of_annotations:type_name -> google.protobuf.Int64Value
33, // 33: istio.mesh.v1alpha1.Tracing.Stackdriver.max_number_of_message_events:type_name -> google.protobuf.Int64Value
1, // 34: istio.mesh.v1alpha1.Tracing.OpenCensusAgent.context:type_name -> istio.mesh.v1alpha1.Tracing.OpenCensusAgent.TraceContext
17, // 35: istio.mesh.v1alpha1.Tracing.CustomTag.literal:type_name -> istio.mesh.v1alpha1.Tracing.Literal
18, // 36: istio.mesh.v1alpha1.Tracing.CustomTag.environment:type_name -> istio.mesh.v1alpha1.Tracing.Environment
19, // 37: istio.mesh.v1alpha1.Tracing.CustomTag.header:type_name -> istio.mesh.v1alpha1.Tracing.RequestHeader
16, // 38: istio.mesh.v1alpha1.Tracing.CustomTagsEntry.value:type_name -> istio.mesh.v1alpha1.Tracing.CustomTag
27, // 39: istio.mesh.v1alpha1.PrivateKeyProvider.CryptoMb.poll_delay:type_name -> google.protobuf.Duration
27, // 40: istio.mesh.v1alpha1.PrivateKeyProvider.QAT.poll_delay:type_name -> google.protobuf.Duration
41, // [41:41] is the sub-list for method output_type
41, // [41:41] is the sub-list for method input_type
41, // [41:41] is the sub-list for extension type_name
41, // [41:41] is the sub-list for extension extendee
0, // [0:41] is the sub-list for field type_name
21, // 8: istio.mesh.v1alpha1.Topology.proxy_protocol:type_name -> istio.mesh.v1alpha1.Topology.ProxyProtocolConfiguration
22, // 9: istio.mesh.v1alpha1.PrivateKeyProvider.cryptomb:type_name -> istio.mesh.v1alpha1.PrivateKeyProvider.CryptoMb
23, // 10: istio.mesh.v1alpha1.PrivateKeyProvider.qat:type_name -> istio.mesh.v1alpha1.PrivateKeyProvider.QAT
3, // 11: istio.mesh.v1alpha1.ProxyConfig.tracing_service_name:type_name -> istio.mesh.v1alpha1.ProxyConfig.TracingServiceName
28, // 12: istio.mesh.v1alpha1.ProxyConfig.drain_duration:type_name -> google.protobuf.Duration
28, // 13: istio.mesh.v1alpha1.ProxyConfig.discovery_refresh_delay:type_name -> google.protobuf.Duration
0, // 14: istio.mesh.v1alpha1.ProxyConfig.control_plane_auth_policy:type_name -> istio.mesh.v1alpha1.AuthenticationPolicy
29, // 15: istio.mesh.v1alpha1.ProxyConfig.concurrency:type_name -> google.protobuf.Int32Value
4, // 16: istio.mesh.v1alpha1.ProxyConfig.interception_mode:type_name -> istio.mesh.v1alpha1.ProxyConfig.InboundInterceptionMode
5, // 17: istio.mesh.v1alpha1.ProxyConfig.tracing:type_name -> istio.mesh.v1alpha1.Tracing
6, // 18: istio.mesh.v1alpha1.ProxyConfig.sds:type_name -> istio.mesh.v1alpha1.SDS
10, // 19: istio.mesh.v1alpha1.ProxyConfig.envoy_access_log_service:type_name -> istio.mesh.v1alpha1.RemoteService
10, // 20: istio.mesh.v1alpha1.ProxyConfig.envoy_metrics_service:type_name -> istio.mesh.v1alpha1.RemoteService
24, // 21: istio.mesh.v1alpha1.ProxyConfig.proxy_metadata:type_name -> istio.mesh.v1alpha1.ProxyConfig.ProxyMetadataEntry
25, // 22: istio.mesh.v1alpha1.ProxyConfig.runtime_values:type_name -> istio.mesh.v1alpha1.ProxyConfig.RuntimeValuesEntry
7, // 23: istio.mesh.v1alpha1.ProxyConfig.gateway_topology:type_name -> istio.mesh.v1alpha1.Topology
28, // 24: istio.mesh.v1alpha1.ProxyConfig.termination_drain_duration:type_name -> google.protobuf.Duration
30, // 25: istio.mesh.v1alpha1.ProxyConfig.readiness_probe:type_name -> istio.networking.v1alpha3.ReadinessProbe
26, // 26: istio.mesh.v1alpha1.ProxyConfig.proxy_stats_matcher:type_name -> istio.mesh.v1alpha1.ProxyConfig.ProxyStatsMatcher
31, // 27: istio.mesh.v1alpha1.ProxyConfig.hold_application_until_proxy_starts:type_name -> google.protobuf.BoolValue
32, // 28: istio.mesh.v1alpha1.ProxyConfig.image:type_name -> istio.networking.v1beta1.ProxyImage
8, // 29: istio.mesh.v1alpha1.ProxyConfig.private_key_provider:type_name -> istio.mesh.v1alpha1.PrivateKeyProvider
27, // 30: istio.mesh.v1alpha1.RemoteService.tls_settings:type_name -> istio.networking.v1alpha3.ClientTLSSettings
33, // 31: istio.mesh.v1alpha1.RemoteService.tcp_keepalive:type_name -> istio.networking.v1alpha3.ConnectionPoolSettings.TCPSettings.TcpKeepalive
34, // 32: istio.mesh.v1alpha1.Tracing.Stackdriver.max_number_of_attributes:type_name -> google.protobuf.Int64Value
34, // 33: istio.mesh.v1alpha1.Tracing.Stackdriver.max_number_of_annotations:type_name -> google.protobuf.Int64Value
34, // 34: istio.mesh.v1alpha1.Tracing.Stackdriver.max_number_of_message_events:type_name -> google.protobuf.Int64Value
1, // 35: istio.mesh.v1alpha1.Tracing.OpenCensusAgent.context:type_name -> istio.mesh.v1alpha1.Tracing.OpenCensusAgent.TraceContext
17, // 36: istio.mesh.v1alpha1.Tracing.CustomTag.literal:type_name -> istio.mesh.v1alpha1.Tracing.Literal
18, // 37: istio.mesh.v1alpha1.Tracing.CustomTag.environment:type_name -> istio.mesh.v1alpha1.Tracing.Environment
19, // 38: istio.mesh.v1alpha1.Tracing.CustomTag.header:type_name -> istio.mesh.v1alpha1.Tracing.RequestHeader
16, // 39: istio.mesh.v1alpha1.Tracing.CustomTagsEntry.value:type_name -> istio.mesh.v1alpha1.Tracing.CustomTag
28, // 40: istio.mesh.v1alpha1.PrivateKeyProvider.CryptoMb.poll_delay:type_name -> google.protobuf.Duration
28, // 41: istio.mesh.v1alpha1.PrivateKeyProvider.QAT.poll_delay:type_name -> google.protobuf.Duration
42, // [42:42] is the sub-list for method output_type
42, // [42:42] is the sub-list for method input_type
42, // [42:42] is the sub-list for extension type_name
42, // [42:42] is the sub-list for extension extendee
0, // [0:42] is the sub-list for field type_name
}
func init() { file_mesh_v1alpha1_proxy_proto_init() }
@ -2771,7 +2825,7 @@ func file_mesh_v1alpha1_proxy_proto_init() {
}
}
file_mesh_v1alpha1_proxy_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PrivateKeyProvider_CryptoMb); i {
switch v := v.(*Topology_ProxyProtocolConfiguration); i {
case 0:
return &v.state
case 1:
@ -2783,6 +2837,18 @@ func file_mesh_v1alpha1_proxy_proto_init() {
}
}
file_mesh_v1alpha1_proxy_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PrivateKeyProvider_CryptoMb); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_mesh_v1alpha1_proxy_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PrivateKeyProvider_QAT); i {
case 0:
return &v.state
@ -2794,7 +2860,7 @@ func file_mesh_v1alpha1_proxy_proto_init() {
return nil
}
}
file_mesh_v1alpha1_proxy_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
file_mesh_v1alpha1_proxy_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProxyConfig_ProxyStatsMatcher); i {
case 0:
return &v.state
@ -2833,7 +2899,7 @@ func file_mesh_v1alpha1_proxy_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_mesh_v1alpha1_proxy_proto_rawDesc,
NumEnums: 5,
NumMessages: 21,
NumMessages: 22,
NumExtensions: 0,
NumServices: 0,
},

View File

@ -238,13 +238,11 @@ message SDS {
string k8s_sa_jwt_path = 2;
}
// $hide_from_docs
// Topology describes the configuration for relative location of a proxy with
// respect to intermediate trusted proxies and the client. These settings
// control how the client attributes are retrieved from the incoming traffic by
// the gateway proxy and propagated to the upstream services in the cluster.
message Topology {
// $hide_from_docs
// Number of trusted proxies deployed in front of the Istio gateway proxy.
// When this option is set to value N greater than zero, the trusted client
// address is assumed to be the Nth address from the right end of the
@ -261,7 +259,6 @@ message Topology {
// header handling for more details.
uint32 num_trusted_proxies = 1;
// $hide_from_docs
// ForwardClientCertDetails controls how the x-forwarded-client-cert (XFCC)
// header is handled by the gateway proxy.
// See [Envoy XFCC](https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/network/http_connection_manager/v2/http_connection_manager.proto#envoy-api-enum-config-filter-network-http-connection-manager-v2-httpconnectionmanager-forwardclientcertdetails)
@ -290,10 +287,17 @@ message Topology {
ALWAYS_FORWARD_ONLY = 5;
}
// $hide_from_docs
// Configures how the gateway proxy handles x-forwarded-client-cert (XFCC)
// header in the incoming request.
ForwardClientCertDetails forward_client_cert_details = 2;
// PROXY protocol configuration.
message ProxyProtocolConfiguration {
}
// Enables [PROXY protocol](http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt) for
// downstream connections on a gateway.
ProxyProtocolConfiguration proxy_protocol = 3;
}
// PrivateKeyProvider defines private key configuration for gateways and sidecars. This can be configured
@ -508,7 +512,6 @@ message ProxyConfig {
// and exposed as Prometheus metrics.
repeated string extra_stat_tags = 27;
// $hide_from_docs
// Topology encapsulates the configuration which describes where the proxy is
// located i.e. behind a (or N) trusted proxy (proxies) or directly exposed
// to the internet. This configuration only effects gateways and is applied

View File

@ -38719,6 +38719,16 @@
"id": 2,
"name": "forward_client_cert_details",
"type": "ForwardClientCertDetails"
},
{
"id": 3,
"name": "proxy_protocol",
"type": "ProxyProtocolConfiguration"
}
],
"messages": [
{
"name": "ProxyProtocolConfiguration"
}
]
},

View File

@ -0,0 +1,6 @@
apiVersion: release-notes/v2
kind: feature
area: traffic-management
releaseNotes:
- |
**Added** support to enable [PROXY protocol](http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt) for downstream connections on gateways using `ProxyConfig`.