mirror of https://github.com/grpc/grpc-node.git
Merge pull request #1765 from murgatroid99/grpc-js-xds_v3_support
grpc-js-xds: Add xDS v3 API support
This commit is contained in:
commit
1e9bf301b7
|
@ -1 +1 @@
|
|||
Subproject commit 50cef8fcab37ba59a61068934d08a3f4c28a681f
|
||||
Subproject commit 18b54850c9b7ba29a4ab67cbd7ed7eab7b0bbdb2
|
|
@ -1 +1 @@
|
|||
Subproject commit 3b31d022a144b334eb2224838e4d6952ab5253aa
|
||||
Subproject commit cc1b757b3eddccaaaf0743cbb107742bb7e3ee4f
|
|
@ -12,7 +12,7 @@
|
|||
"prepare": "npm run compile",
|
||||
"pretest": "npm run compile",
|
||||
"posttest": "npm run check",
|
||||
"generate-types": "proto-loader-gen-types --keepCase --longs String --enums String --defaults --oneofs --json --includeComments --includeDirs deps/envoy-api/ deps/udpa/ deps/googleapis/ deps/protoc-gen-validate/ -O src/generated/ --grpcLib @grpc/grpc-js envoy/service/discovery/v2/ads.proto envoy/service/load_stats/v2/lrs.proto envoy/api/v2/listener.proto envoy/api/v2/route.proto envoy/api/v2/cluster.proto envoy/api/v2/endpoint.proto envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto",
|
||||
"generate-types": "proto-loader-gen-types --keepCase --longs String --enums String --defaults --oneofs --includeComments --includeDirs deps/envoy-api/ deps/udpa/ deps/googleapis/ deps/protoc-gen-validate/ -O src/generated/ --grpcLib @grpc/grpc-js envoy/service/discovery/v2/ads.proto envoy/service/load_stats/v2/lrs.proto envoy/service/discovery/v3/ads.proto envoy/service/load_stats/v3/lrs.proto envoy/config/listener/v3/listener.proto envoy/config/route/v3/route.proto envoy/config/cluster/v3/cluster.proto envoy/config/endpoint/v3/endpoint.proto envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto",
|
||||
"generate-interop-types": "proto-loader-gen-types --keep-case --longs String --enums String --defaults --oneofs --json --includeComments --includeDirs proto/ -O interop/generated --grpcLib @grpc/grpc-js grpc/testing/test.proto"
|
||||
},
|
||||
"repository": {
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/bash
|
||||
# Copyright 2021 gRPC authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
XDS_V3_OPT="--xds_v3_support" $(dirname $0)/xds.sh
|
|
@ -58,6 +58,7 @@ GRPC_NODE_TRACE=xds_client,xds_resolver,cds_balancer,eds_balancer,priority,weigh
|
|||
--path_to_server_binary=/java_server/grpc-java/interop-testing/build/install/grpc-interop-testing/bin/xds-test-server \
|
||||
--gcp_suffix=$(date '+%s') \
|
||||
--verbose \
|
||||
${XDS_V3_OPT-} \
|
||||
--client_cmd="$(which node) grpc-node/packages/grpc-js-xds/build/interop/xds-interop-client \
|
||||
--server=xds:///{server_uri} \
|
||||
--stats_port={stats_port} \
|
||||
|
|
|
@ -2,6 +2,7 @@ import type * as grpc from '@grpc/grpc-js';
|
|||
import type { ServiceDefinition, EnumTypeDefinition, MessageTypeDefinition } from '@grpc/proto-loader';
|
||||
|
||||
import type { AggregatedDiscoveryServiceClient as _envoy_service_discovery_v2_AggregatedDiscoveryServiceClient } from './envoy/service/discovery/v2/AggregatedDiscoveryService';
|
||||
import type { AggregatedDiscoveryServiceClient as _envoy_service_discovery_v3_AggregatedDiscoveryServiceClient } from './envoy/service/discovery/v3/AggregatedDiscoveryService';
|
||||
|
||||
type SubtypeConstructor<Constructor extends new (...args: any) => any, Subtype> = {
|
||||
new(...args: ConstructorParameters<Constructor>): Subtype;
|
||||
|
@ -50,6 +51,45 @@ export interface ProtoGrpcType {
|
|||
}
|
||||
}
|
||||
}
|
||||
config: {
|
||||
core: {
|
||||
v3: {
|
||||
Address: MessageTypeDefinition
|
||||
AsyncDataSource: MessageTypeDefinition
|
||||
BackoffStrategy: MessageTypeDefinition
|
||||
BindConfig: MessageTypeDefinition
|
||||
BuildVersion: MessageTypeDefinition
|
||||
CidrRange: MessageTypeDefinition
|
||||
ControlPlane: MessageTypeDefinition
|
||||
DataSource: MessageTypeDefinition
|
||||
EnvoyInternalAddress: MessageTypeDefinition
|
||||
Extension: MessageTypeDefinition
|
||||
HeaderMap: MessageTypeDefinition
|
||||
HeaderValue: MessageTypeDefinition
|
||||
HeaderValueOption: MessageTypeDefinition
|
||||
HttpUri: MessageTypeDefinition
|
||||
Locality: MessageTypeDefinition
|
||||
Metadata: MessageTypeDefinition
|
||||
Node: MessageTypeDefinition
|
||||
Pipe: MessageTypeDefinition
|
||||
RemoteDataSource: MessageTypeDefinition
|
||||
RequestMethod: EnumTypeDefinition
|
||||
RetryPolicy: MessageTypeDefinition
|
||||
RoutingPriority: EnumTypeDefinition
|
||||
RuntimeDouble: MessageTypeDefinition
|
||||
RuntimeFeatureFlag: MessageTypeDefinition
|
||||
RuntimeFractionalPercent: MessageTypeDefinition
|
||||
RuntimePercent: MessageTypeDefinition
|
||||
RuntimeUInt32: MessageTypeDefinition
|
||||
SocketAddress: MessageTypeDefinition
|
||||
SocketOption: MessageTypeDefinition
|
||||
TcpKeepalive: MessageTypeDefinition
|
||||
TrafficDirection: EnumTypeDefinition
|
||||
TransportSocket: MessageTypeDefinition
|
||||
WatchedDirectory: MessageTypeDefinition
|
||||
}
|
||||
}
|
||||
}
|
||||
service: {
|
||||
discovery: {
|
||||
v2: {
|
||||
|
@ -64,12 +104,34 @@ export interface ProtoGrpcType {
|
|||
*/
|
||||
AggregatedDiscoveryService: SubtypeConstructor<typeof grpc.Client, _envoy_service_discovery_v2_AggregatedDiscoveryServiceClient> & { service: ServiceDefinition }
|
||||
}
|
||||
v3: {
|
||||
AdsDummy: MessageTypeDefinition
|
||||
/**
|
||||
* See https://github.com/lyft/envoy-api#apis for a description of the role of
|
||||
* ADS and how it is intended to be used by a management server. ADS requests
|
||||
* have the same structure as their singleton xDS counterparts, but can
|
||||
* multiplex many resource types on a single stream. The type_url in the
|
||||
* DiscoveryRequest/DiscoveryResponse provides sufficient information to recover
|
||||
* the multiplexed singleton APIs at the Envoy instance and management server.
|
||||
*/
|
||||
AggregatedDiscoveryService: SubtypeConstructor<typeof grpc.Client, _envoy_service_discovery_v3_AggregatedDiscoveryServiceClient> & { service: ServiceDefinition }
|
||||
DeltaDiscoveryRequest: MessageTypeDefinition
|
||||
DeltaDiscoveryResponse: MessageTypeDefinition
|
||||
DiscoveryRequest: MessageTypeDefinition
|
||||
DiscoveryResponse: MessageTypeDefinition
|
||||
Resource: MessageTypeDefinition
|
||||
}
|
||||
}
|
||||
}
|
||||
type: {
|
||||
FractionalPercent: MessageTypeDefinition
|
||||
Percent: MessageTypeDefinition
|
||||
SemanticVersion: MessageTypeDefinition
|
||||
v3: {
|
||||
FractionalPercent: MessageTypeDefinition
|
||||
Percent: MessageTypeDefinition
|
||||
SemanticVersion: MessageTypeDefinition
|
||||
}
|
||||
}
|
||||
}
|
||||
google: {
|
||||
|
@ -122,6 +184,7 @@ export interface ProtoGrpcType {
|
|||
MigrateAnnotation: MessageTypeDefinition
|
||||
PackageVersionStatus: EnumTypeDefinition
|
||||
StatusAnnotation: MessageTypeDefinition
|
||||
VersioningAnnotation: MessageTypeDefinition
|
||||
}
|
||||
}
|
||||
validate: {
|
||||
|
|
|
@ -10,32 +10,22 @@ export interface ProtoGrpcType {
|
|||
envoy: {
|
||||
annotations: {
|
||||
}
|
||||
api: {
|
||||
v2: {
|
||||
Cluster: MessageTypeDefinition
|
||||
ClusterLoadAssignment: MessageTypeDefinition
|
||||
LoadBalancingPolicy: MessageTypeDefinition
|
||||
UpstreamBindConfig: MessageTypeDefinition
|
||||
UpstreamConnectionOptions: MessageTypeDefinition
|
||||
auth: {
|
||||
CertificateValidationContext: MessageTypeDefinition
|
||||
CommonTlsContext: MessageTypeDefinition
|
||||
DownstreamTlsContext: MessageTypeDefinition
|
||||
GenericSecret: MessageTypeDefinition
|
||||
PrivateKeyProvider: MessageTypeDefinition
|
||||
SdsSecretConfig: MessageTypeDefinition
|
||||
Secret: MessageTypeDefinition
|
||||
TlsCertificate: MessageTypeDefinition
|
||||
TlsParameters: MessageTypeDefinition
|
||||
TlsSessionTicketKeys: MessageTypeDefinition
|
||||
UpstreamTlsContext: MessageTypeDefinition
|
||||
}
|
||||
cluster: {
|
||||
config: {
|
||||
cluster: {
|
||||
v3: {
|
||||
CircuitBreakers: MessageTypeDefinition
|
||||
Cluster: MessageTypeDefinition
|
||||
ClusterCollection: MessageTypeDefinition
|
||||
Filter: MessageTypeDefinition
|
||||
LoadBalancingPolicy: MessageTypeDefinition
|
||||
OutlierDetection: MessageTypeDefinition
|
||||
TrackClusterStats: MessageTypeDefinition
|
||||
UpstreamBindConfig: MessageTypeDefinition
|
||||
UpstreamConnectionOptions: MessageTypeDefinition
|
||||
}
|
||||
core: {
|
||||
}
|
||||
core: {
|
||||
v3: {
|
||||
Address: MessageTypeDefinition
|
||||
AggregatedConfigSource: MessageTypeDefinition
|
||||
ApiConfigSource: MessageTypeDefinition
|
||||
|
@ -48,8 +38,10 @@ export interface ProtoGrpcType {
|
|||
ConfigSource: MessageTypeDefinition
|
||||
ControlPlane: MessageTypeDefinition
|
||||
DataSource: MessageTypeDefinition
|
||||
EnvoyInternalAddress: MessageTypeDefinition
|
||||
EventServiceConfig: MessageTypeDefinition
|
||||
Extension: MessageTypeDefinition
|
||||
ExtensionConfigSource: MessageTypeDefinition
|
||||
GrpcProtocolOptions: MessageTypeDefinition
|
||||
GrpcService: MessageTypeDefinition
|
||||
HeaderMap: MessageTypeDefinition
|
||||
|
@ -59,8 +51,10 @@ export interface ProtoGrpcType {
|
|||
HealthStatus: EnumTypeDefinition
|
||||
Http1ProtocolOptions: MessageTypeDefinition
|
||||
Http2ProtocolOptions: MessageTypeDefinition
|
||||
Http3ProtocolOptions: MessageTypeDefinition
|
||||
HttpProtocolOptions: MessageTypeDefinition
|
||||
HttpUri: MessageTypeDefinition
|
||||
KeepaliveSettings: MessageTypeDefinition
|
||||
Locality: MessageTypeDefinition
|
||||
Metadata: MessageTypeDefinition
|
||||
Node: MessageTypeDefinition
|
||||
|
@ -73,6 +67,7 @@ export interface ProtoGrpcType {
|
|||
RuntimeDouble: MessageTypeDefinition
|
||||
RuntimeFeatureFlag: MessageTypeDefinition
|
||||
RuntimeFractionalPercent: MessageTypeDefinition
|
||||
RuntimePercent: MessageTypeDefinition
|
||||
RuntimeUInt32: MessageTypeDefinition
|
||||
SelfConfigSource: MessageTypeDefinition
|
||||
SocketAddress: MessageTypeDefinition
|
||||
|
@ -81,9 +76,14 @@ export interface ProtoGrpcType {
|
|||
TcpProtocolOptions: MessageTypeDefinition
|
||||
TrafficDirection: EnumTypeDefinition
|
||||
TransportSocket: MessageTypeDefinition
|
||||
TypedExtensionConfig: MessageTypeDefinition
|
||||
UpstreamHttpProtocolOptions: MessageTypeDefinition
|
||||
WatchedDirectory: MessageTypeDefinition
|
||||
}
|
||||
endpoint: {
|
||||
}
|
||||
endpoint: {
|
||||
v3: {
|
||||
ClusterLoadAssignment: MessageTypeDefinition
|
||||
Endpoint: MessageTypeDefinition
|
||||
LbEndpoint: MessageTypeDefinition
|
||||
LocalityLbEndpoints: MessageTypeDefinition
|
||||
|
@ -91,27 +91,26 @@ export interface ProtoGrpcType {
|
|||
}
|
||||
}
|
||||
type: {
|
||||
CodecClientType: EnumTypeDefinition
|
||||
DoubleRange: MessageTypeDefinition
|
||||
FractionalPercent: MessageTypeDefinition
|
||||
Int32Range: MessageTypeDefinition
|
||||
Int64Range: MessageTypeDefinition
|
||||
Percent: MessageTypeDefinition
|
||||
SemanticVersion: MessageTypeDefinition
|
||||
matcher: {
|
||||
ListStringMatcher: MessageTypeDefinition
|
||||
RegexMatchAndSubstitute: MessageTypeDefinition
|
||||
RegexMatcher: MessageTypeDefinition
|
||||
StringMatcher: MessageTypeDefinition
|
||||
v3: {
|
||||
ListStringMatcher: MessageTypeDefinition
|
||||
RegexMatchAndSubstitute: MessageTypeDefinition
|
||||
RegexMatcher: MessageTypeDefinition
|
||||
StringMatcher: MessageTypeDefinition
|
||||
}
|
||||
}
|
||||
v3: {
|
||||
CodecClientType: EnumTypeDefinition
|
||||
DoubleRange: MessageTypeDefinition
|
||||
FractionalPercent: MessageTypeDefinition
|
||||
Int32Range: MessageTypeDefinition
|
||||
Int64Range: MessageTypeDefinition
|
||||
Percent: MessageTypeDefinition
|
||||
SemanticVersion: MessageTypeDefinition
|
||||
}
|
||||
}
|
||||
}
|
||||
google: {
|
||||
api: {
|
||||
CustomHttpPattern: MessageTypeDefinition
|
||||
Http: MessageTypeDefinition
|
||||
HttpRule: MessageTypeDefinition
|
||||
}
|
||||
protobuf: {
|
||||
Any: MessageTypeDefinition
|
||||
BoolValue: MessageTypeDefinition
|
||||
|
@ -155,10 +154,12 @@ export interface ProtoGrpcType {
|
|||
udpa: {
|
||||
annotations: {
|
||||
FieldMigrateAnnotation: MessageTypeDefinition
|
||||
FieldSecurityAnnotation: MessageTypeDefinition
|
||||
FileMigrateAnnotation: MessageTypeDefinition
|
||||
MigrateAnnotation: MessageTypeDefinition
|
||||
PackageVersionStatus: EnumTypeDefinition
|
||||
StatusAnnotation: MessageTypeDefinition
|
||||
VersioningAnnotation: MessageTypeDefinition
|
||||
}
|
||||
}
|
||||
validate: {
|
||||
|
@ -187,5 +188,15 @@ export interface ProtoGrpcType {
|
|||
UInt32Rules: MessageTypeDefinition
|
||||
UInt64Rules: MessageTypeDefinition
|
||||
}
|
||||
xds: {
|
||||
core: {
|
||||
v3: {
|
||||
Authority: MessageTypeDefinition
|
||||
CollectionEntry: MessageTypeDefinition
|
||||
ContextParams: MessageTypeDefinition
|
||||
ResourceLocator: MessageTypeDefinition
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -8,12 +8,9 @@ type SubtypeConstructor<Constructor extends new (...args: any) => any, Subtype>
|
|||
|
||||
export interface ProtoGrpcType {
|
||||
envoy: {
|
||||
annotations: {
|
||||
}
|
||||
api: {
|
||||
v2: {
|
||||
ClusterLoadAssignment: MessageTypeDefinition
|
||||
core: {
|
||||
config: {
|
||||
core: {
|
||||
v3: {
|
||||
Address: MessageTypeDefinition
|
||||
AsyncDataSource: MessageTypeDefinition
|
||||
BackoffStrategy: MessageTypeDefinition
|
||||
|
@ -22,6 +19,7 @@ export interface ProtoGrpcType {
|
|||
CidrRange: MessageTypeDefinition
|
||||
ControlPlane: MessageTypeDefinition
|
||||
DataSource: MessageTypeDefinition
|
||||
EnvoyInternalAddress: MessageTypeDefinition
|
||||
EventServiceConfig: MessageTypeDefinition
|
||||
Extension: MessageTypeDefinition
|
||||
GrpcService: MessageTypeDefinition
|
||||
|
@ -42,14 +40,19 @@ export interface ProtoGrpcType {
|
|||
RuntimeDouble: MessageTypeDefinition
|
||||
RuntimeFeatureFlag: MessageTypeDefinition
|
||||
RuntimeFractionalPercent: MessageTypeDefinition
|
||||
RuntimePercent: MessageTypeDefinition
|
||||
RuntimeUInt32: MessageTypeDefinition
|
||||
SocketAddress: MessageTypeDefinition
|
||||
SocketOption: MessageTypeDefinition
|
||||
TcpKeepalive: MessageTypeDefinition
|
||||
TrafficDirection: EnumTypeDefinition
|
||||
TransportSocket: MessageTypeDefinition
|
||||
WatchedDirectory: MessageTypeDefinition
|
||||
}
|
||||
endpoint: {
|
||||
}
|
||||
endpoint: {
|
||||
v3: {
|
||||
ClusterLoadAssignment: MessageTypeDefinition
|
||||
Endpoint: MessageTypeDefinition
|
||||
LbEndpoint: MessageTypeDefinition
|
||||
LocalityLbEndpoints: MessageTypeDefinition
|
||||
|
@ -57,27 +60,26 @@ export interface ProtoGrpcType {
|
|||
}
|
||||
}
|
||||
type: {
|
||||
CodecClientType: EnumTypeDefinition
|
||||
DoubleRange: MessageTypeDefinition
|
||||
FractionalPercent: MessageTypeDefinition
|
||||
Int32Range: MessageTypeDefinition
|
||||
Int64Range: MessageTypeDefinition
|
||||
Percent: MessageTypeDefinition
|
||||
SemanticVersion: MessageTypeDefinition
|
||||
matcher: {
|
||||
ListStringMatcher: MessageTypeDefinition
|
||||
RegexMatchAndSubstitute: MessageTypeDefinition
|
||||
RegexMatcher: MessageTypeDefinition
|
||||
StringMatcher: MessageTypeDefinition
|
||||
v3: {
|
||||
ListStringMatcher: MessageTypeDefinition
|
||||
RegexMatchAndSubstitute: MessageTypeDefinition
|
||||
RegexMatcher: MessageTypeDefinition
|
||||
StringMatcher: MessageTypeDefinition
|
||||
}
|
||||
}
|
||||
v3: {
|
||||
CodecClientType: EnumTypeDefinition
|
||||
DoubleRange: MessageTypeDefinition
|
||||
FractionalPercent: MessageTypeDefinition
|
||||
Int32Range: MessageTypeDefinition
|
||||
Int64Range: MessageTypeDefinition
|
||||
Percent: MessageTypeDefinition
|
||||
SemanticVersion: MessageTypeDefinition
|
||||
}
|
||||
}
|
||||
}
|
||||
google: {
|
||||
api: {
|
||||
CustomHttpPattern: MessageTypeDefinition
|
||||
Http: MessageTypeDefinition
|
||||
HttpRule: MessageTypeDefinition
|
||||
}
|
||||
protobuf: {
|
||||
Any: MessageTypeDefinition
|
||||
BoolValue: MessageTypeDefinition
|
||||
|
@ -125,6 +127,7 @@ export interface ProtoGrpcType {
|
|||
MigrateAnnotation: MessageTypeDefinition
|
||||
PackageVersionStatus: EnumTypeDefinition
|
||||
StatusAnnotation: MessageTypeDefinition
|
||||
VersioningAnnotation: MessageTypeDefinition
|
||||
}
|
||||
}
|
||||
validate: {
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/cluster.proto
|
||||
|
||||
import type { TcpKeepalive as _envoy_api_v2_core_TcpKeepalive, TcpKeepalive__Output as _envoy_api_v2_core_TcpKeepalive__Output } from '../../../envoy/api/v2/core/TcpKeepalive';
|
||||
|
||||
export interface UpstreamConnectionOptions {
|
||||
/**
|
||||
* If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
|
||||
*/
|
||||
'tcp_keepalive'?: (_envoy_api_v2_core_TcpKeepalive);
|
||||
}
|
||||
|
||||
export interface UpstreamConnectionOptions__Output {
|
||||
/**
|
||||
* If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
|
||||
*/
|
||||
'tcp_keepalive'?: (_envoy_api_v2_core_TcpKeepalive__Output);
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/route.proto
|
||||
|
||||
import type { ConfigSource as _envoy_api_v2_core_ConfigSource, ConfigSource__Output as _envoy_api_v2_core_ConfigSource__Output } from '../../../envoy/api/v2/core/ConfigSource';
|
||||
|
||||
export interface Vhds {
|
||||
/**
|
||||
* Configuration source specifier for VHDS.
|
||||
*/
|
||||
'config_source'?: (_envoy_api_v2_core_ConfigSource);
|
||||
}
|
||||
|
||||
export interface Vhds__Output {
|
||||
/**
|
||||
* Configuration source specifier for VHDS.
|
||||
*/
|
||||
'config_source'?: (_envoy_api_v2_core_ConfigSource__Output);
|
||||
}
|
|
@ -1,315 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/auth/common.proto
|
||||
|
||||
import type { DataSource as _envoy_api_v2_core_DataSource, DataSource__Output as _envoy_api_v2_core_DataSource__Output } from '../../../../envoy/api/v2/core/DataSource';
|
||||
import type { BoolValue as _google_protobuf_BoolValue, BoolValue__Output as _google_protobuf_BoolValue__Output } from '../../../../google/protobuf/BoolValue';
|
||||
import type { StringMatcher as _envoy_type_matcher_StringMatcher, StringMatcher__Output as _envoy_type_matcher_StringMatcher__Output } from '../../../../envoy/type/matcher/StringMatcher';
|
||||
|
||||
// Original file: deps/envoy-api/envoy/api/v2/auth/common.proto
|
||||
|
||||
/**
|
||||
* Peer certificate verification mode.
|
||||
*/
|
||||
export enum _envoy_api_v2_auth_CertificateValidationContext_TrustChainVerification {
|
||||
/**
|
||||
* Perform default certificate verification (e.g., against CA / verification lists)
|
||||
*/
|
||||
VERIFY_TRUST_CHAIN = 0,
|
||||
/**
|
||||
* Connections where the certificate fails verification will be permitted.
|
||||
* For HTTP connections, the result of certificate verification can be used in route matching. (
|
||||
* see :ref:`validated <envoy_api_field_route.RouteMatch.TlsContextMatchOptions.validated>` ).
|
||||
*/
|
||||
ACCEPT_UNTRUSTED = 1,
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 11]
|
||||
*/
|
||||
export interface CertificateValidationContext {
|
||||
/**
|
||||
* TLS certificate data containing certificate authority certificates to use in verifying
|
||||
* a presented peer certificate (e.g. server certificate for clusters or client certificate
|
||||
* for listeners). If not specified and a peer certificate is presented it will not be
|
||||
* verified. By default, a client certificate is optional, unless one of the additional
|
||||
* options (:ref:`require_client_certificate
|
||||
* <envoy_api_field_auth.DownstreamTlsContext.require_client_certificate>`,
|
||||
* :ref:`verify_certificate_spki
|
||||
* <envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki>`,
|
||||
* :ref:`verify_certificate_hash
|
||||
* <envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash>`, or
|
||||
* :ref:`match_subject_alt_names
|
||||
* <envoy_api_field_auth.CertificateValidationContext.match_subject_alt_names>`) is also
|
||||
* specified.
|
||||
*
|
||||
* It can optionally contain certificate revocation lists, in which case Envoy will verify
|
||||
* that the presented peer certificate has not been revoked by one of the included CRLs.
|
||||
*
|
||||
* See :ref:`the TLS overview <arch_overview_ssl_enabling_verification>` for a list of common
|
||||
* system CA locations.
|
||||
*/
|
||||
'trusted_ca'?: (_envoy_api_v2_core_DataSource);
|
||||
/**
|
||||
* An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
|
||||
* the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
|
||||
*
|
||||
* A hex-encoded SHA-256 of the certificate can be generated with the following command:
|
||||
*
|
||||
* .. code-block:: bash
|
||||
*
|
||||
* $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
|
||||
* df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
|
||||
*
|
||||
* A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
|
||||
* can be generated with the following command:
|
||||
*
|
||||
* .. code-block:: bash
|
||||
*
|
||||
* $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
|
||||
* DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
|
||||
*
|
||||
* Both of those formats are acceptable.
|
||||
*
|
||||
* When both:
|
||||
* :ref:`verify_certificate_hash
|
||||
* <envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash>` and
|
||||
* :ref:`verify_certificate_spki
|
||||
* <envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki>` are specified,
|
||||
* a hash matching value from either of the lists will result in the certificate being accepted.
|
||||
*/
|
||||
'verify_certificate_hash'?: (string)[];
|
||||
/**
|
||||
* An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
|
||||
* SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
|
||||
* matches one of the specified values.
|
||||
*
|
||||
* A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
|
||||
* can be generated with the following command:
|
||||
*
|
||||
* .. code-block:: bash
|
||||
*
|
||||
* $ openssl x509 -in path/to/client.crt -noout -pubkey
|
||||
* | openssl pkey -pubin -outform DER
|
||||
* | openssl dgst -sha256 -binary
|
||||
* | openssl enc -base64
|
||||
* NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
|
||||
*
|
||||
* This is the format used in HTTP Public Key Pinning.
|
||||
*
|
||||
* When both:
|
||||
* :ref:`verify_certificate_hash
|
||||
* <envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash>` and
|
||||
* :ref:`verify_certificate_spki
|
||||
* <envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki>` are specified,
|
||||
* a hash matching value from either of the lists will result in the certificate being accepted.
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* This option is preferred over :ref:`verify_certificate_hash
|
||||
* <envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash>`,
|
||||
* because SPKI is tied to a private key, so it doesn't change when the certificate
|
||||
* is renewed using the same private key.
|
||||
*/
|
||||
'verify_certificate_spki'?: (string)[];
|
||||
/**
|
||||
* An optional list of Subject Alternative Names. If specified, Envoy will verify that the
|
||||
* Subject Alternative Name of the presented certificate matches one of the specified values.
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* Subject Alternative Names are easily spoofable and verifying only them is insecure,
|
||||
* therefore this option must be used together with :ref:`trusted_ca
|
||||
* <envoy_api_field_auth.CertificateValidationContext.trusted_ca>`.
|
||||
*/
|
||||
'verify_subject_alt_name'?: (string)[];
|
||||
/**
|
||||
* [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
|
||||
*/
|
||||
'require_ocsp_staple'?: (_google_protobuf_BoolValue);
|
||||
/**
|
||||
* [#not-implemented-hide:] Must present signed certificate time-stamp.
|
||||
*/
|
||||
'require_signed_certificate_timestamp'?: (_google_protobuf_BoolValue);
|
||||
/**
|
||||
* An optional `certificate revocation list
|
||||
* <https://en.wikipedia.org/wiki/Certificate_revocation_list>`_
|
||||
* (in PEM format). If specified, Envoy will verify that the presented peer
|
||||
* certificate has not been revoked by this CRL. If this DataSource contains
|
||||
* multiple CRLs, all of them will be used.
|
||||
*/
|
||||
'crl'?: (_envoy_api_v2_core_DataSource);
|
||||
/**
|
||||
* If specified, Envoy will not reject expired certificates.
|
||||
*/
|
||||
'allow_expired_certificate'?: (boolean);
|
||||
/**
|
||||
* An optional list of Subject Alternative name matchers. Envoy will verify that the
|
||||
* Subject Alternative Name of the presented certificate matches one of the specified matches.
|
||||
*
|
||||
* When a certificate has wildcard DNS SAN entries, to match a specific client, it should be
|
||||
* configured with exact match type in the :ref:`string matcher <envoy_api_msg_type.matcher.StringMatcher>`.
|
||||
* For example if the certificate has "\*.example.com" as DNS SAN entry, to allow only "api.example.com",
|
||||
* it should be configured as shown below.
|
||||
*
|
||||
* .. code-block:: yaml
|
||||
*
|
||||
* match_subject_alt_names:
|
||||
* exact: "api.example.com"
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* Subject Alternative Names are easily spoofable and verifying only them is insecure,
|
||||
* therefore this option must be used together with :ref:`trusted_ca
|
||||
* <envoy_api_field_auth.CertificateValidationContext.trusted_ca>`.
|
||||
*/
|
||||
'match_subject_alt_names'?: (_envoy_type_matcher_StringMatcher)[];
|
||||
/**
|
||||
* Certificate trust chain verification mode.
|
||||
*/
|
||||
'trust_chain_verification'?: (_envoy_api_v2_auth_CertificateValidationContext_TrustChainVerification | keyof typeof _envoy_api_v2_auth_CertificateValidationContext_TrustChainVerification);
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 11]
|
||||
*/
|
||||
export interface CertificateValidationContext__Output {
|
||||
/**
|
||||
* TLS certificate data containing certificate authority certificates to use in verifying
|
||||
* a presented peer certificate (e.g. server certificate for clusters or client certificate
|
||||
* for listeners). If not specified and a peer certificate is presented it will not be
|
||||
* verified. By default, a client certificate is optional, unless one of the additional
|
||||
* options (:ref:`require_client_certificate
|
||||
* <envoy_api_field_auth.DownstreamTlsContext.require_client_certificate>`,
|
||||
* :ref:`verify_certificate_spki
|
||||
* <envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki>`,
|
||||
* :ref:`verify_certificate_hash
|
||||
* <envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash>`, or
|
||||
* :ref:`match_subject_alt_names
|
||||
* <envoy_api_field_auth.CertificateValidationContext.match_subject_alt_names>`) is also
|
||||
* specified.
|
||||
*
|
||||
* It can optionally contain certificate revocation lists, in which case Envoy will verify
|
||||
* that the presented peer certificate has not been revoked by one of the included CRLs.
|
||||
*
|
||||
* See :ref:`the TLS overview <arch_overview_ssl_enabling_verification>` for a list of common
|
||||
* system CA locations.
|
||||
*/
|
||||
'trusted_ca'?: (_envoy_api_v2_core_DataSource__Output);
|
||||
/**
|
||||
* An optional list of hex-encoded SHA-256 hashes. If specified, Envoy will verify that
|
||||
* the SHA-256 of the DER-encoded presented certificate matches one of the specified values.
|
||||
*
|
||||
* A hex-encoded SHA-256 of the certificate can be generated with the following command:
|
||||
*
|
||||
* .. code-block:: bash
|
||||
*
|
||||
* $ openssl x509 -in path/to/client.crt -outform DER | openssl dgst -sha256 | cut -d" " -f2
|
||||
* df6ff72fe9116521268f6f2dd4966f51df479883fe7037b39f75916ac3049d1a
|
||||
*
|
||||
* A long hex-encoded and colon-separated SHA-256 (a.k.a. "fingerprint") of the certificate
|
||||
* can be generated with the following command:
|
||||
*
|
||||
* .. code-block:: bash
|
||||
*
|
||||
* $ openssl x509 -in path/to/client.crt -noout -fingerprint -sha256 | cut -d"=" -f2
|
||||
* DF:6F:F7:2F:E9:11:65:21:26:8F:6F:2D:D4:96:6F:51:DF:47:98:83:FE:70:37:B3:9F:75:91:6A:C3:04:9D:1A
|
||||
*
|
||||
* Both of those formats are acceptable.
|
||||
*
|
||||
* When both:
|
||||
* :ref:`verify_certificate_hash
|
||||
* <envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash>` and
|
||||
* :ref:`verify_certificate_spki
|
||||
* <envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki>` are specified,
|
||||
* a hash matching value from either of the lists will result in the certificate being accepted.
|
||||
*/
|
||||
'verify_certificate_hash': (string)[];
|
||||
/**
|
||||
* An optional list of base64-encoded SHA-256 hashes. If specified, Envoy will verify that the
|
||||
* SHA-256 of the DER-encoded Subject Public Key Information (SPKI) of the presented certificate
|
||||
* matches one of the specified values.
|
||||
*
|
||||
* A base64-encoded SHA-256 of the Subject Public Key Information (SPKI) of the certificate
|
||||
* can be generated with the following command:
|
||||
*
|
||||
* .. code-block:: bash
|
||||
*
|
||||
* $ openssl x509 -in path/to/client.crt -noout -pubkey
|
||||
* | openssl pkey -pubin -outform DER
|
||||
* | openssl dgst -sha256 -binary
|
||||
* | openssl enc -base64
|
||||
* NvqYIYSbgK2vCJpQhObf77vv+bQWtc5ek5RIOwPiC9A=
|
||||
*
|
||||
* This is the format used in HTTP Public Key Pinning.
|
||||
*
|
||||
* When both:
|
||||
* :ref:`verify_certificate_hash
|
||||
* <envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash>` and
|
||||
* :ref:`verify_certificate_spki
|
||||
* <envoy_api_field_auth.CertificateValidationContext.verify_certificate_spki>` are specified,
|
||||
* a hash matching value from either of the lists will result in the certificate being accepted.
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* This option is preferred over :ref:`verify_certificate_hash
|
||||
* <envoy_api_field_auth.CertificateValidationContext.verify_certificate_hash>`,
|
||||
* because SPKI is tied to a private key, so it doesn't change when the certificate
|
||||
* is renewed using the same private key.
|
||||
*/
|
||||
'verify_certificate_spki': (string)[];
|
||||
/**
|
||||
* An optional list of Subject Alternative Names. If specified, Envoy will verify that the
|
||||
* Subject Alternative Name of the presented certificate matches one of the specified values.
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* Subject Alternative Names are easily spoofable and verifying only them is insecure,
|
||||
* therefore this option must be used together with :ref:`trusted_ca
|
||||
* <envoy_api_field_auth.CertificateValidationContext.trusted_ca>`.
|
||||
*/
|
||||
'verify_subject_alt_name': (string)[];
|
||||
/**
|
||||
* [#not-implemented-hide:] Must present a signed time-stamped OCSP response.
|
||||
*/
|
||||
'require_ocsp_staple'?: (_google_protobuf_BoolValue__Output);
|
||||
/**
|
||||
* [#not-implemented-hide:] Must present signed certificate time-stamp.
|
||||
*/
|
||||
'require_signed_certificate_timestamp'?: (_google_protobuf_BoolValue__Output);
|
||||
/**
|
||||
* An optional `certificate revocation list
|
||||
* <https://en.wikipedia.org/wiki/Certificate_revocation_list>`_
|
||||
* (in PEM format). If specified, Envoy will verify that the presented peer
|
||||
* certificate has not been revoked by this CRL. If this DataSource contains
|
||||
* multiple CRLs, all of them will be used.
|
||||
*/
|
||||
'crl'?: (_envoy_api_v2_core_DataSource__Output);
|
||||
/**
|
||||
* If specified, Envoy will not reject expired certificates.
|
||||
*/
|
||||
'allow_expired_certificate': (boolean);
|
||||
/**
|
||||
* An optional list of Subject Alternative name matchers. Envoy will verify that the
|
||||
* Subject Alternative Name of the presented certificate matches one of the specified matches.
|
||||
*
|
||||
* When a certificate has wildcard DNS SAN entries, to match a specific client, it should be
|
||||
* configured with exact match type in the :ref:`string matcher <envoy_api_msg_type.matcher.StringMatcher>`.
|
||||
* For example if the certificate has "\*.example.com" as DNS SAN entry, to allow only "api.example.com",
|
||||
* it should be configured as shown below.
|
||||
*
|
||||
* .. code-block:: yaml
|
||||
*
|
||||
* match_subject_alt_names:
|
||||
* exact: "api.example.com"
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* Subject Alternative Names are easily spoofable and verifying only them is insecure,
|
||||
* therefore this option must be used together with :ref:`trusted_ca
|
||||
* <envoy_api_field_auth.CertificateValidationContext.trusted_ca>`.
|
||||
*/
|
||||
'match_subject_alt_names': (_envoy_type_matcher_StringMatcher__Output)[];
|
||||
/**
|
||||
* Certificate trust chain verification mode.
|
||||
*/
|
||||
'trust_chain_verification': (keyof typeof _envoy_api_v2_auth_CertificateValidationContext_TrustChainVerification);
|
||||
}
|
|
@ -1,140 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/auth/tls.proto
|
||||
|
||||
import type { TlsParameters as _envoy_api_v2_auth_TlsParameters, TlsParameters__Output as _envoy_api_v2_auth_TlsParameters__Output } from '../../../../envoy/api/v2/auth/TlsParameters';
|
||||
import type { TlsCertificate as _envoy_api_v2_auth_TlsCertificate, TlsCertificate__Output as _envoy_api_v2_auth_TlsCertificate__Output } from '../../../../envoy/api/v2/auth/TlsCertificate';
|
||||
import type { CertificateValidationContext as _envoy_api_v2_auth_CertificateValidationContext, CertificateValidationContext__Output as _envoy_api_v2_auth_CertificateValidationContext__Output } from '../../../../envoy/api/v2/auth/CertificateValidationContext';
|
||||
import type { SdsSecretConfig as _envoy_api_v2_auth_SdsSecretConfig, SdsSecretConfig__Output as _envoy_api_v2_auth_SdsSecretConfig__Output } from '../../../../envoy/api/v2/auth/SdsSecretConfig';
|
||||
|
||||
export interface _envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext {
|
||||
/**
|
||||
* How to validate peer certificates.
|
||||
*/
|
||||
'default_validation_context'?: (_envoy_api_v2_auth_CertificateValidationContext);
|
||||
/**
|
||||
* Config for fetching validation context via SDS API.
|
||||
*/
|
||||
'validation_context_sds_secret_config'?: (_envoy_api_v2_auth_SdsSecretConfig);
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext__Output {
|
||||
/**
|
||||
* How to validate peer certificates.
|
||||
*/
|
||||
'default_validation_context'?: (_envoy_api_v2_auth_CertificateValidationContext__Output);
|
||||
/**
|
||||
* Config for fetching validation context via SDS API.
|
||||
*/
|
||||
'validation_context_sds_secret_config'?: (_envoy_api_v2_auth_SdsSecretConfig__Output);
|
||||
}
|
||||
|
||||
/**
|
||||
* TLS context shared by both client and server TLS contexts.
|
||||
* [#next-free-field: 9]
|
||||
*/
|
||||
export interface CommonTlsContext {
|
||||
/**
|
||||
* TLS protocol versions, cipher suites etc.
|
||||
*/
|
||||
'tls_params'?: (_envoy_api_v2_auth_TlsParameters);
|
||||
/**
|
||||
* :ref:`Multiple TLS certificates <arch_overview_ssl_cert_select>` can be associated with the
|
||||
* same context to allow both RSA and ECDSA certificates.
|
||||
*
|
||||
* Only a single TLS certificate is supported in client contexts. In server contexts, the first
|
||||
* RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
|
||||
* used for clients that support ECDSA.
|
||||
*/
|
||||
'tls_certificates'?: (_envoy_api_v2_auth_TlsCertificate)[];
|
||||
/**
|
||||
* How to validate peer certificates.
|
||||
*/
|
||||
'validation_context'?: (_envoy_api_v2_auth_CertificateValidationContext);
|
||||
/**
|
||||
* Supplies the list of ALPN protocols that the listener should expose. In
|
||||
* practice this is likely to be set to one of two values (see the
|
||||
* :ref:`codec_type
|
||||
* <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type>`
|
||||
* parameter in the HTTP connection manager for more information):
|
||||
*
|
||||
* * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
|
||||
* * "http/1.1" If the listener is only going to support HTTP/1.1.
|
||||
*
|
||||
* There is no default for this parameter. If empty, Envoy will not expose ALPN.
|
||||
*/
|
||||
'alpn_protocols'?: (string)[];
|
||||
/**
|
||||
* Configs for fetching TLS certificates via SDS API.
|
||||
*/
|
||||
'tls_certificate_sds_secret_configs'?: (_envoy_api_v2_auth_SdsSecretConfig)[];
|
||||
/**
|
||||
* Config for fetching validation context via SDS API.
|
||||
*/
|
||||
'validation_context_sds_secret_config'?: (_envoy_api_v2_auth_SdsSecretConfig);
|
||||
/**
|
||||
* Combined certificate validation context holds a default CertificateValidationContext
|
||||
* and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
|
||||
* and default CertificateValidationContext are merged into a new CertificateValidationContext
|
||||
* for validation. This merge is done by Message::MergeFrom(), so dynamic
|
||||
* CertificateValidationContext overwrites singular fields in default
|
||||
* CertificateValidationContext, and concatenates repeated fields to default
|
||||
* CertificateValidationContext, and logical OR is applied to boolean fields.
|
||||
*/
|
||||
'combined_validation_context'?: (_envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext);
|
||||
'validation_context_type'?: "validation_context"|"validation_context_sds_secret_config"|"combined_validation_context";
|
||||
}
|
||||
|
||||
/**
|
||||
* TLS context shared by both client and server TLS contexts.
|
||||
* [#next-free-field: 9]
|
||||
*/
|
||||
export interface CommonTlsContext__Output {
|
||||
/**
|
||||
* TLS protocol versions, cipher suites etc.
|
||||
*/
|
||||
'tls_params'?: (_envoy_api_v2_auth_TlsParameters__Output);
|
||||
/**
|
||||
* :ref:`Multiple TLS certificates <arch_overview_ssl_cert_select>` can be associated with the
|
||||
* same context to allow both RSA and ECDSA certificates.
|
||||
*
|
||||
* Only a single TLS certificate is supported in client contexts. In server contexts, the first
|
||||
* RSA certificate is used for clients that only support RSA and the first ECDSA certificate is
|
||||
* used for clients that support ECDSA.
|
||||
*/
|
||||
'tls_certificates': (_envoy_api_v2_auth_TlsCertificate__Output)[];
|
||||
/**
|
||||
* How to validate peer certificates.
|
||||
*/
|
||||
'validation_context'?: (_envoy_api_v2_auth_CertificateValidationContext__Output);
|
||||
/**
|
||||
* Supplies the list of ALPN protocols that the listener should expose. In
|
||||
* practice this is likely to be set to one of two values (see the
|
||||
* :ref:`codec_type
|
||||
* <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.codec_type>`
|
||||
* parameter in the HTTP connection manager for more information):
|
||||
*
|
||||
* * "h2,http/1.1" If the listener is going to support both HTTP/2 and HTTP/1.1.
|
||||
* * "http/1.1" If the listener is only going to support HTTP/1.1.
|
||||
*
|
||||
* There is no default for this parameter. If empty, Envoy will not expose ALPN.
|
||||
*/
|
||||
'alpn_protocols': (string)[];
|
||||
/**
|
||||
* Configs for fetching TLS certificates via SDS API.
|
||||
*/
|
||||
'tls_certificate_sds_secret_configs': (_envoy_api_v2_auth_SdsSecretConfig__Output)[];
|
||||
/**
|
||||
* Config for fetching validation context via SDS API.
|
||||
*/
|
||||
'validation_context_sds_secret_config'?: (_envoy_api_v2_auth_SdsSecretConfig__Output);
|
||||
/**
|
||||
* Combined certificate validation context holds a default CertificateValidationContext
|
||||
* and SDS config. When SDS server returns dynamic CertificateValidationContext, both dynamic
|
||||
* and default CertificateValidationContext are merged into a new CertificateValidationContext
|
||||
* for validation. This merge is done by Message::MergeFrom(), so dynamic
|
||||
* CertificateValidationContext overwrites singular fields in default
|
||||
* CertificateValidationContext, and concatenates repeated fields to default
|
||||
* CertificateValidationContext, and logical OR is applied to boolean fields.
|
||||
*/
|
||||
'combined_validation_context'?: (_envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext__Output);
|
||||
'validation_context_type': "validation_context"|"validation_context_sds_secret_config"|"combined_validation_context";
|
||||
}
|
|
@ -1,101 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/auth/tls.proto
|
||||
|
||||
import type { CommonTlsContext as _envoy_api_v2_auth_CommonTlsContext, CommonTlsContext__Output as _envoy_api_v2_auth_CommonTlsContext__Output } from '../../../../envoy/api/v2/auth/CommonTlsContext';
|
||||
import type { BoolValue as _google_protobuf_BoolValue, BoolValue__Output as _google_protobuf_BoolValue__Output } from '../../../../google/protobuf/BoolValue';
|
||||
import type { TlsSessionTicketKeys as _envoy_api_v2_auth_TlsSessionTicketKeys, TlsSessionTicketKeys__Output as _envoy_api_v2_auth_TlsSessionTicketKeys__Output } from '../../../../envoy/api/v2/auth/TlsSessionTicketKeys';
|
||||
import type { SdsSecretConfig as _envoy_api_v2_auth_SdsSecretConfig, SdsSecretConfig__Output as _envoy_api_v2_auth_SdsSecretConfig__Output } from '../../../../envoy/api/v2/auth/SdsSecretConfig';
|
||||
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
|
||||
|
||||
/**
|
||||
* [#next-free-field: 8]
|
||||
*/
|
||||
export interface DownstreamTlsContext {
|
||||
/**
|
||||
* Common TLS context settings.
|
||||
*/
|
||||
'common_tls_context'?: (_envoy_api_v2_auth_CommonTlsContext);
|
||||
/**
|
||||
* If specified, Envoy will reject connections without a valid client
|
||||
* certificate.
|
||||
*/
|
||||
'require_client_certificate'?: (_google_protobuf_BoolValue);
|
||||
/**
|
||||
* If specified, Envoy will reject connections without a valid and matching SNI.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'require_sni'?: (_google_protobuf_BoolValue);
|
||||
/**
|
||||
* TLS session ticket key settings.
|
||||
*/
|
||||
'session_ticket_keys'?: (_envoy_api_v2_auth_TlsSessionTicketKeys);
|
||||
/**
|
||||
* Config for fetching TLS session ticket keys via SDS API.
|
||||
*/
|
||||
'session_ticket_keys_sds_secret_config'?: (_envoy_api_v2_auth_SdsSecretConfig);
|
||||
/**
|
||||
* If specified, session_timeout will change maximum lifetime (in seconds) of TLS session
|
||||
* Currently this value is used as a hint to `TLS session ticket lifetime (for TLSv1.2)
|
||||
* <https://tools.ietf.org/html/rfc5077#section-5.6>`
|
||||
* only seconds could be specified (fractional seconds are going to be ignored).
|
||||
*/
|
||||
'session_timeout'?: (_google_protobuf_Duration);
|
||||
/**
|
||||
* Config for controlling stateless TLS session resumption: setting this to true will cause the TLS
|
||||
* server to not issue TLS session tickets for the purposes of stateless TLS session resumption.
|
||||
* If set to false, the TLS server will issue TLS session tickets and encrypt/decrypt them using
|
||||
* the keys specified through either :ref:`session_ticket_keys <envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys>`
|
||||
* or :ref:`session_ticket_keys_sds_secret_config <envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys_sds_secret_config>`.
|
||||
* If this config is set to false and no keys are explicitly configured, the TLS server will issue
|
||||
* TLS session tickets and encrypt/decrypt them using an internally-generated and managed key, with the
|
||||
* implication that sessions cannot be resumed across hot restarts or on different hosts.
|
||||
*/
|
||||
'disable_stateless_session_resumption'?: (boolean);
|
||||
'session_ticket_keys_type'?: "session_ticket_keys"|"session_ticket_keys_sds_secret_config"|"disable_stateless_session_resumption";
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 8]
|
||||
*/
|
||||
export interface DownstreamTlsContext__Output {
|
||||
/**
|
||||
* Common TLS context settings.
|
||||
*/
|
||||
'common_tls_context'?: (_envoy_api_v2_auth_CommonTlsContext__Output);
|
||||
/**
|
||||
* If specified, Envoy will reject connections without a valid client
|
||||
* certificate.
|
||||
*/
|
||||
'require_client_certificate'?: (_google_protobuf_BoolValue__Output);
|
||||
/**
|
||||
* If specified, Envoy will reject connections without a valid and matching SNI.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'require_sni'?: (_google_protobuf_BoolValue__Output);
|
||||
/**
|
||||
* TLS session ticket key settings.
|
||||
*/
|
||||
'session_ticket_keys'?: (_envoy_api_v2_auth_TlsSessionTicketKeys__Output);
|
||||
/**
|
||||
* Config for fetching TLS session ticket keys via SDS API.
|
||||
*/
|
||||
'session_ticket_keys_sds_secret_config'?: (_envoy_api_v2_auth_SdsSecretConfig__Output);
|
||||
/**
|
||||
* If specified, session_timeout will change maximum lifetime (in seconds) of TLS session
|
||||
* Currently this value is used as a hint to `TLS session ticket lifetime (for TLSv1.2)
|
||||
* <https://tools.ietf.org/html/rfc5077#section-5.6>`
|
||||
* only seconds could be specified (fractional seconds are going to be ignored).
|
||||
*/
|
||||
'session_timeout'?: (_google_protobuf_Duration__Output);
|
||||
/**
|
||||
* Config for controlling stateless TLS session resumption: setting this to true will cause the TLS
|
||||
* server to not issue TLS session tickets for the purposes of stateless TLS session resumption.
|
||||
* If set to false, the TLS server will issue TLS session tickets and encrypt/decrypt them using
|
||||
* the keys specified through either :ref:`session_ticket_keys <envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys>`
|
||||
* or :ref:`session_ticket_keys_sds_secret_config <envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys_sds_secret_config>`.
|
||||
* If this config is set to false and no keys are explicitly configured, the TLS server will issue
|
||||
* TLS session tickets and encrypt/decrypt them using an internally-generated and managed key, with the
|
||||
* implication that sessions cannot be resumed across hot restarts or on different hosts.
|
||||
*/
|
||||
'disable_stateless_session_resumption'?: (boolean);
|
||||
'session_ticket_keys_type': "session_ticket_keys"|"session_ticket_keys_sds_secret_config"|"disable_stateless_session_resumption";
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/auth/secret.proto
|
||||
|
||||
import type { DataSource as _envoy_api_v2_core_DataSource, DataSource__Output as _envoy_api_v2_core_DataSource__Output } from '../../../../envoy/api/v2/core/DataSource';
|
||||
|
||||
export interface GenericSecret {
|
||||
/**
|
||||
* Secret of generic type and is available to filters.
|
||||
*/
|
||||
'secret'?: (_envoy_api_v2_core_DataSource);
|
||||
}
|
||||
|
||||
export interface GenericSecret__Output {
|
||||
/**
|
||||
* Secret of generic type and is available to filters.
|
||||
*/
|
||||
'secret'?: (_envoy_api_v2_core_DataSource__Output);
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/auth/common.proto
|
||||
|
||||
import type { Struct as _google_protobuf_Struct, Struct__Output as _google_protobuf_Struct__Output } from '../../../../google/protobuf/Struct';
|
||||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../google/protobuf/Any';
|
||||
|
||||
/**
|
||||
* BoringSSL private key method configuration. The private key methods are used for external
|
||||
* (potentially asynchronous) signing and decryption operations. Some use cases for private key
|
||||
* methods would be TPM support and TLS acceleration.
|
||||
*/
|
||||
export interface PrivateKeyProvider {
|
||||
/**
|
||||
* Private key method provider name. The name must match a
|
||||
* supported private key method provider type.
|
||||
*/
|
||||
'provider_name'?: (string);
|
||||
'config'?: (_google_protobuf_Struct);
|
||||
'typed_config'?: (_google_protobuf_Any);
|
||||
/**
|
||||
* Private key method provider specific configuration.
|
||||
*/
|
||||
'config_type'?: "config"|"typed_config";
|
||||
}
|
||||
|
||||
/**
|
||||
* BoringSSL private key method configuration. The private key methods are used for external
|
||||
* (potentially asynchronous) signing and decryption operations. Some use cases for private key
|
||||
* methods would be TPM support and TLS acceleration.
|
||||
*/
|
||||
export interface PrivateKeyProvider__Output {
|
||||
/**
|
||||
* Private key method provider name. The name must match a
|
||||
* supported private key method provider type.
|
||||
*/
|
||||
'provider_name': (string);
|
||||
'config'?: (_google_protobuf_Struct__Output);
|
||||
'typed_config'?: (_google_protobuf_Any__Output);
|
||||
/**
|
||||
* Private key method provider specific configuration.
|
||||
*/
|
||||
'config_type': "config"|"typed_config";
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/auth/secret.proto
|
||||
|
||||
import type { ConfigSource as _envoy_api_v2_core_ConfigSource, ConfigSource__Output as _envoy_api_v2_core_ConfigSource__Output } from '../../../../envoy/api/v2/core/ConfigSource';
|
||||
|
||||
export interface SdsSecretConfig {
|
||||
/**
|
||||
* Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
|
||||
* When both name and config are specified, then secret can be fetched and/or reloaded via
|
||||
* SDS. When only name is specified, then secret will be loaded from static resources.
|
||||
*/
|
||||
'name'?: (string);
|
||||
'sds_config'?: (_envoy_api_v2_core_ConfigSource);
|
||||
}
|
||||
|
||||
export interface SdsSecretConfig__Output {
|
||||
/**
|
||||
* Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
|
||||
* When both name and config are specified, then secret can be fetched and/or reloaded via
|
||||
* SDS. When only name is specified, then secret will be loaded from static resources.
|
||||
*/
|
||||
'name': (string);
|
||||
'sds_config'?: (_envoy_api_v2_core_ConfigSource__Output);
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/auth/secret.proto
|
||||
|
||||
import type { TlsCertificate as _envoy_api_v2_auth_TlsCertificate, TlsCertificate__Output as _envoy_api_v2_auth_TlsCertificate__Output } from '../../../../envoy/api/v2/auth/TlsCertificate';
|
||||
import type { TlsSessionTicketKeys as _envoy_api_v2_auth_TlsSessionTicketKeys, TlsSessionTicketKeys__Output as _envoy_api_v2_auth_TlsSessionTicketKeys__Output } from '../../../../envoy/api/v2/auth/TlsSessionTicketKeys';
|
||||
import type { CertificateValidationContext as _envoy_api_v2_auth_CertificateValidationContext, CertificateValidationContext__Output as _envoy_api_v2_auth_CertificateValidationContext__Output } from '../../../../envoy/api/v2/auth/CertificateValidationContext';
|
||||
import type { GenericSecret as _envoy_api_v2_auth_GenericSecret, GenericSecret__Output as _envoy_api_v2_auth_GenericSecret__Output } from '../../../../envoy/api/v2/auth/GenericSecret';
|
||||
|
||||
/**
|
||||
* [#next-free-field: 6]
|
||||
*/
|
||||
export interface Secret {
|
||||
/**
|
||||
* Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
|
||||
*/
|
||||
'name'?: (string);
|
||||
'tls_certificate'?: (_envoy_api_v2_auth_TlsCertificate);
|
||||
'session_ticket_keys'?: (_envoy_api_v2_auth_TlsSessionTicketKeys);
|
||||
'validation_context'?: (_envoy_api_v2_auth_CertificateValidationContext);
|
||||
'generic_secret'?: (_envoy_api_v2_auth_GenericSecret);
|
||||
'type'?: "tls_certificate"|"session_ticket_keys"|"validation_context"|"generic_secret";
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 6]
|
||||
*/
|
||||
export interface Secret__Output {
|
||||
/**
|
||||
* Name (FQDN, UUID, SPKI, SHA256, etc.) by which the secret can be uniquely referred to.
|
||||
*/
|
||||
'name': (string);
|
||||
'tls_certificate'?: (_envoy_api_v2_auth_TlsCertificate__Output);
|
||||
'session_ticket_keys'?: (_envoy_api_v2_auth_TlsSessionTicketKeys__Output);
|
||||
'validation_context'?: (_envoy_api_v2_auth_CertificateValidationContext__Output);
|
||||
'generic_secret'?: (_envoy_api_v2_auth_GenericSecret__Output);
|
||||
'type': "tls_certificate"|"session_ticket_keys"|"validation_context"|"generic_secret";
|
||||
}
|
|
@ -1,78 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/auth/common.proto
|
||||
|
||||
import type { DataSource as _envoy_api_v2_core_DataSource, DataSource__Output as _envoy_api_v2_core_DataSource__Output } from '../../../../envoy/api/v2/core/DataSource';
|
||||
import type { PrivateKeyProvider as _envoy_api_v2_auth_PrivateKeyProvider, PrivateKeyProvider__Output as _envoy_api_v2_auth_PrivateKeyProvider__Output } from '../../../../envoy/api/v2/auth/PrivateKeyProvider';
|
||||
|
||||
/**
|
||||
* [#next-free-field: 7]
|
||||
*/
|
||||
export interface TlsCertificate {
|
||||
/**
|
||||
* The TLS certificate chain.
|
||||
*/
|
||||
'certificate_chain'?: (_envoy_api_v2_core_DataSource);
|
||||
/**
|
||||
* The TLS private key.
|
||||
*/
|
||||
'private_key'?: (_envoy_api_v2_core_DataSource);
|
||||
/**
|
||||
* The password to decrypt the TLS private key. If this field is not set, it is assumed that the
|
||||
* TLS private key is not password encrypted.
|
||||
*/
|
||||
'password'?: (_envoy_api_v2_core_DataSource);
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'ocsp_staple'?: (_envoy_api_v2_core_DataSource);
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'signed_certificate_timestamp'?: (_envoy_api_v2_core_DataSource)[];
|
||||
/**
|
||||
* BoringSSL private key method provider. This is an alternative to :ref:`private_key
|
||||
* <envoy_api_field_auth.TlsCertificate.private_key>` field. This can't be
|
||||
* marked as ``oneof`` due to API compatibility reasons. Setting both :ref:`private_key
|
||||
* <envoy_api_field_auth.TlsCertificate.private_key>` and
|
||||
* :ref:`private_key_provider
|
||||
* <envoy_api_field_auth.TlsCertificate.private_key_provider>` fields will result in an
|
||||
* error.
|
||||
*/
|
||||
'private_key_provider'?: (_envoy_api_v2_auth_PrivateKeyProvider);
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 7]
|
||||
*/
|
||||
export interface TlsCertificate__Output {
|
||||
/**
|
||||
* The TLS certificate chain.
|
||||
*/
|
||||
'certificate_chain'?: (_envoy_api_v2_core_DataSource__Output);
|
||||
/**
|
||||
* The TLS private key.
|
||||
*/
|
||||
'private_key'?: (_envoy_api_v2_core_DataSource__Output);
|
||||
/**
|
||||
* The password to decrypt the TLS private key. If this field is not set, it is assumed that the
|
||||
* TLS private key is not password encrypted.
|
||||
*/
|
||||
'password'?: (_envoy_api_v2_core_DataSource__Output);
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'ocsp_staple'?: (_envoy_api_v2_core_DataSource__Output);
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'signed_certificate_timestamp': (_envoy_api_v2_core_DataSource__Output)[];
|
||||
/**
|
||||
* BoringSSL private key method provider. This is an alternative to :ref:`private_key
|
||||
* <envoy_api_field_auth.TlsCertificate.private_key>` field. This can't be
|
||||
* marked as ``oneof`` due to API compatibility reasons. Setting both :ref:`private_key
|
||||
* <envoy_api_field_auth.TlsCertificate.private_key>` and
|
||||
* :ref:`private_key_provider
|
||||
* <envoy_api_field_auth.TlsCertificate.private_key_provider>` fields will result in an
|
||||
* error.
|
||||
*/
|
||||
'private_key_provider'?: (_envoy_api_v2_auth_PrivateKeyProvider__Output);
|
||||
}
|
|
@ -1,171 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/auth/common.proto
|
||||
|
||||
|
||||
// Original file: deps/envoy-api/envoy/api/v2/auth/common.proto
|
||||
|
||||
export enum _envoy_api_v2_auth_TlsParameters_TlsProtocol {
|
||||
/**
|
||||
* Envoy will choose the optimal TLS version.
|
||||
*/
|
||||
TLS_AUTO = 0,
|
||||
/**
|
||||
* TLS 1.0
|
||||
*/
|
||||
TLSv1_0 = 1,
|
||||
/**
|
||||
* TLS 1.1
|
||||
*/
|
||||
TLSv1_1 = 2,
|
||||
/**
|
||||
* TLS 1.2
|
||||
*/
|
||||
TLSv1_2 = 3,
|
||||
/**
|
||||
* TLS 1.3
|
||||
*/
|
||||
TLSv1_3 = 4,
|
||||
}
|
||||
|
||||
export interface TlsParameters {
|
||||
/**
|
||||
* Minimum TLS protocol version. By default, it's ``TLSv1_2`` for clients and ``TLSv1_0`` for
|
||||
* servers.
|
||||
*/
|
||||
'tls_minimum_protocol_version'?: (_envoy_api_v2_auth_TlsParameters_TlsProtocol | keyof typeof _envoy_api_v2_auth_TlsParameters_TlsProtocol);
|
||||
/**
|
||||
* Maximum TLS protocol version. By default, it's ``TLSv1_3`` for servers in non-FIPS builds, and
|
||||
* ``TLSv1_2`` for clients and for servers using :ref:`BoringSSL FIPS <arch_overview_ssl_fips>`.
|
||||
*/
|
||||
'tls_maximum_protocol_version'?: (_envoy_api_v2_auth_TlsParameters_TlsProtocol | keyof typeof _envoy_api_v2_auth_TlsParameters_TlsProtocol);
|
||||
/**
|
||||
* If specified, the TLS listener will only support the specified `cipher list
|
||||
* <https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration>`_
|
||||
* when negotiating TLS 1.0-1.2 (this setting has no effect when negotiating TLS 1.3). If not
|
||||
* specified, the default list will be used.
|
||||
*
|
||||
* In non-FIPS builds, the default cipher list is:
|
||||
*
|
||||
* .. code-block:: none
|
||||
*
|
||||
* [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
|
||||
* [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
|
||||
* ECDHE-ECDSA-AES128-SHA
|
||||
* ECDHE-RSA-AES128-SHA
|
||||
* AES128-GCM-SHA256
|
||||
* AES128-SHA
|
||||
* ECDHE-ECDSA-AES256-GCM-SHA384
|
||||
* ECDHE-RSA-AES256-GCM-SHA384
|
||||
* ECDHE-ECDSA-AES256-SHA
|
||||
* ECDHE-RSA-AES256-SHA
|
||||
* AES256-GCM-SHA384
|
||||
* AES256-SHA
|
||||
*
|
||||
* In builds using :ref:`BoringSSL FIPS <arch_overview_ssl_fips>`, the default cipher list is:
|
||||
*
|
||||
* .. code-block:: none
|
||||
*
|
||||
* ECDHE-ECDSA-AES128-GCM-SHA256
|
||||
* ECDHE-RSA-AES128-GCM-SHA256
|
||||
* ECDHE-ECDSA-AES128-SHA
|
||||
* ECDHE-RSA-AES128-SHA
|
||||
* AES128-GCM-SHA256
|
||||
* AES128-SHA
|
||||
* ECDHE-ECDSA-AES256-GCM-SHA384
|
||||
* ECDHE-RSA-AES256-GCM-SHA384
|
||||
* ECDHE-ECDSA-AES256-SHA
|
||||
* ECDHE-RSA-AES256-SHA
|
||||
* AES256-GCM-SHA384
|
||||
* AES256-SHA
|
||||
*/
|
||||
'cipher_suites'?: (string)[];
|
||||
/**
|
||||
* If specified, the TLS connection will only support the specified ECDH
|
||||
* curves. If not specified, the default curves will be used.
|
||||
*
|
||||
* In non-FIPS builds, the default curves are:
|
||||
*
|
||||
* .. code-block:: none
|
||||
*
|
||||
* X25519
|
||||
* P-256
|
||||
*
|
||||
* In builds using :ref:`BoringSSL FIPS <arch_overview_ssl_fips>`, the default curve is:
|
||||
*
|
||||
* .. code-block:: none
|
||||
*
|
||||
* P-256
|
||||
*/
|
||||
'ecdh_curves'?: (string)[];
|
||||
}
|
||||
|
||||
export interface TlsParameters__Output {
|
||||
/**
|
||||
* Minimum TLS protocol version. By default, it's ``TLSv1_2`` for clients and ``TLSv1_0`` for
|
||||
* servers.
|
||||
*/
|
||||
'tls_minimum_protocol_version': (keyof typeof _envoy_api_v2_auth_TlsParameters_TlsProtocol);
|
||||
/**
|
||||
* Maximum TLS protocol version. By default, it's ``TLSv1_3`` for servers in non-FIPS builds, and
|
||||
* ``TLSv1_2`` for clients and for servers using :ref:`BoringSSL FIPS <arch_overview_ssl_fips>`.
|
||||
*/
|
||||
'tls_maximum_protocol_version': (keyof typeof _envoy_api_v2_auth_TlsParameters_TlsProtocol);
|
||||
/**
|
||||
* If specified, the TLS listener will only support the specified `cipher list
|
||||
* <https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#Cipher-suite-configuration>`_
|
||||
* when negotiating TLS 1.0-1.2 (this setting has no effect when negotiating TLS 1.3). If not
|
||||
* specified, the default list will be used.
|
||||
*
|
||||
* In non-FIPS builds, the default cipher list is:
|
||||
*
|
||||
* .. code-block:: none
|
||||
*
|
||||
* [ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305]
|
||||
* [ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]
|
||||
* ECDHE-ECDSA-AES128-SHA
|
||||
* ECDHE-RSA-AES128-SHA
|
||||
* AES128-GCM-SHA256
|
||||
* AES128-SHA
|
||||
* ECDHE-ECDSA-AES256-GCM-SHA384
|
||||
* ECDHE-RSA-AES256-GCM-SHA384
|
||||
* ECDHE-ECDSA-AES256-SHA
|
||||
* ECDHE-RSA-AES256-SHA
|
||||
* AES256-GCM-SHA384
|
||||
* AES256-SHA
|
||||
*
|
||||
* In builds using :ref:`BoringSSL FIPS <arch_overview_ssl_fips>`, the default cipher list is:
|
||||
*
|
||||
* .. code-block:: none
|
||||
*
|
||||
* ECDHE-ECDSA-AES128-GCM-SHA256
|
||||
* ECDHE-RSA-AES128-GCM-SHA256
|
||||
* ECDHE-ECDSA-AES128-SHA
|
||||
* ECDHE-RSA-AES128-SHA
|
||||
* AES128-GCM-SHA256
|
||||
* AES128-SHA
|
||||
* ECDHE-ECDSA-AES256-GCM-SHA384
|
||||
* ECDHE-RSA-AES256-GCM-SHA384
|
||||
* ECDHE-ECDSA-AES256-SHA
|
||||
* ECDHE-RSA-AES256-SHA
|
||||
* AES256-GCM-SHA384
|
||||
* AES256-SHA
|
||||
*/
|
||||
'cipher_suites': (string)[];
|
||||
/**
|
||||
* If specified, the TLS connection will only support the specified ECDH
|
||||
* curves. If not specified, the default curves will be used.
|
||||
*
|
||||
* In non-FIPS builds, the default curves are:
|
||||
*
|
||||
* .. code-block:: none
|
||||
*
|
||||
* X25519
|
||||
* P-256
|
||||
*
|
||||
* In builds using :ref:`BoringSSL FIPS <arch_overview_ssl_fips>`, the default curve is:
|
||||
*
|
||||
* .. code-block:: none
|
||||
*
|
||||
* P-256
|
||||
*/
|
||||
'ecdh_curves': (string)[];
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/auth/common.proto
|
||||
|
||||
import type { DataSource as _envoy_api_v2_core_DataSource, DataSource__Output as _envoy_api_v2_core_DataSource__Output } from '../../../../envoy/api/v2/core/DataSource';
|
||||
|
||||
export interface TlsSessionTicketKeys {
|
||||
/**
|
||||
* Keys for encrypting and decrypting TLS session tickets. The
|
||||
* first key in the array contains the key to encrypt all new sessions created by this context.
|
||||
* All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
|
||||
* by, for example, putting the new key first, and the previous key second.
|
||||
*
|
||||
* If :ref:`session_ticket_keys <envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys>`
|
||||
* is not specified, the TLS library will still support resuming sessions via tickets, but it will
|
||||
* use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
|
||||
* or on different hosts.
|
||||
*
|
||||
* Each key must contain exactly 80 bytes of cryptographically-secure random data. For
|
||||
* example, the output of ``openssl rand 80``.
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* Using this feature has serious security considerations and risks. Improper handling of keys
|
||||
* may result in loss of secrecy in connections, even if ciphers supporting perfect forward
|
||||
* secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
|
||||
* discussion. To minimize the risk, you must:
|
||||
*
|
||||
* * Keep the session ticket keys at least as secure as your TLS certificate private keys
|
||||
* * Rotate session ticket keys at least daily, and preferably hourly
|
||||
* * Always generate keys using a cryptographically-secure random data source
|
||||
*/
|
||||
'keys'?: (_envoy_api_v2_core_DataSource)[];
|
||||
}
|
||||
|
||||
export interface TlsSessionTicketKeys__Output {
|
||||
/**
|
||||
* Keys for encrypting and decrypting TLS session tickets. The
|
||||
* first key in the array contains the key to encrypt all new sessions created by this context.
|
||||
* All keys are candidates for decrypting received tickets. This allows for easy rotation of keys
|
||||
* by, for example, putting the new key first, and the previous key second.
|
||||
*
|
||||
* If :ref:`session_ticket_keys <envoy_api_field_auth.DownstreamTlsContext.session_ticket_keys>`
|
||||
* is not specified, the TLS library will still support resuming sessions via tickets, but it will
|
||||
* use an internally-generated and managed key, so sessions cannot be resumed across hot restarts
|
||||
* or on different hosts.
|
||||
*
|
||||
* Each key must contain exactly 80 bytes of cryptographically-secure random data. For
|
||||
* example, the output of ``openssl rand 80``.
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* Using this feature has serious security considerations and risks. Improper handling of keys
|
||||
* may result in loss of secrecy in connections, even if ciphers supporting perfect forward
|
||||
* secrecy are used. See https://www.imperialviolet.org/2013/06/27/botchingpfs.html for some
|
||||
* discussion. To minimize the risk, you must:
|
||||
*
|
||||
* * Keep the session ticket keys at least as secure as your TLS certificate private keys
|
||||
* * Rotate session ticket keys at least daily, and preferably hourly
|
||||
* * Always generate keys using a cryptographically-secure random data source
|
||||
*/
|
||||
'keys': (_envoy_api_v2_core_DataSource__Output)[];
|
||||
}
|
|
@ -1,68 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/auth/tls.proto
|
||||
|
||||
import type { CommonTlsContext as _envoy_api_v2_auth_CommonTlsContext, CommonTlsContext__Output as _envoy_api_v2_auth_CommonTlsContext__Output } from '../../../../envoy/api/v2/auth/CommonTlsContext';
|
||||
import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
|
||||
|
||||
export interface UpstreamTlsContext {
|
||||
/**
|
||||
* Common TLS context settings.
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* Server certificate verification is not enabled by default. Configure
|
||||
* :ref:`trusted_ca<envoy_api_field_auth.CertificateValidationContext.trusted_ca>` to enable
|
||||
* verification.
|
||||
*/
|
||||
'common_tls_context'?: (_envoy_api_v2_auth_CommonTlsContext);
|
||||
/**
|
||||
* SNI string to use when creating TLS backend connections.
|
||||
*/
|
||||
'sni'?: (string);
|
||||
/**
|
||||
* If true, server-initiated TLS renegotiation will be allowed.
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* TLS renegotiation is considered insecure and shouldn't be used unless absolutely necessary.
|
||||
*/
|
||||
'allow_renegotiation'?: (boolean);
|
||||
/**
|
||||
* Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
|
||||
* for TLSv1.2 and older) to store for the purpose of session resumption.
|
||||
*
|
||||
* Defaults to 1, setting this to 0 disables session resumption.
|
||||
*/
|
||||
'max_session_keys'?: (_google_protobuf_UInt32Value);
|
||||
}
|
||||
|
||||
export interface UpstreamTlsContext__Output {
|
||||
/**
|
||||
* Common TLS context settings.
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* Server certificate verification is not enabled by default. Configure
|
||||
* :ref:`trusted_ca<envoy_api_field_auth.CertificateValidationContext.trusted_ca>` to enable
|
||||
* verification.
|
||||
*/
|
||||
'common_tls_context'?: (_envoy_api_v2_auth_CommonTlsContext__Output);
|
||||
/**
|
||||
* SNI string to use when creating TLS backend connections.
|
||||
*/
|
||||
'sni': (string);
|
||||
/**
|
||||
* If true, server-initiated TLS renegotiation will be allowed.
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* TLS renegotiation is considered insecure and shouldn't be used unless absolutely necessary.
|
||||
*/
|
||||
'allow_renegotiation': (boolean);
|
||||
/**
|
||||
* Maximum number of session keys (Pre-Shared Keys for TLSv1.3+, Session IDs and Session Tickets
|
||||
* for TLSv1.2 and older) to store for the purpose of session resumption.
|
||||
*
|
||||
* Defaults to 1, setting this to 0 disables session resumption.
|
||||
*/
|
||||
'max_session_keys'?: (_google_protobuf_UInt32Value__Output);
|
||||
}
|
|
@ -14,7 +14,7 @@ export interface BuildVersion {
|
|||
'version'?: (_envoy_type_SemanticVersion);
|
||||
/**
|
||||
* Free-form build information.
|
||||
* Envoy defines several well known keys in the source/common/common/version.h file
|
||||
* Envoy defines several well known keys in the source/common/version/version.h file
|
||||
*/
|
||||
'metadata'?: (_google_protobuf_Struct);
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ export interface BuildVersion__Output {
|
|||
'version'?: (_envoy_type_SemanticVersion__Output);
|
||||
/**
|
||||
* Free-form build information.
|
||||
* Envoy defines several well known keys in the source/common/common/version.h file
|
||||
* Envoy defines several well known keys in the source/common/version/version.h file
|
||||
*/
|
||||
'metadata'?: (_google_protobuf_Struct__Output);
|
||||
}
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/core/protocol.proto
|
||||
|
||||
import type { Http2ProtocolOptions as _envoy_api_v2_core_Http2ProtocolOptions, Http2ProtocolOptions__Output as _envoy_api_v2_core_Http2ProtocolOptions__Output } from '../../../../envoy/api/v2/core/Http2ProtocolOptions';
|
||||
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
export interface GrpcProtocolOptions {
|
||||
'http2_protocol_options'?: (_envoy_api_v2_core_Http2ProtocolOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
export interface GrpcProtocolOptions__Output {
|
||||
'http2_protocol_options'?: (_envoy_api_v2_core_Http2ProtocolOptions__Output);
|
||||
}
|
|
@ -22,7 +22,7 @@ export interface RuntimeDouble__Output {
|
|||
/**
|
||||
* Default value if runtime value is not available.
|
||||
*/
|
||||
'default_value': (number | string);
|
||||
'default_value': (number);
|
||||
/**
|
||||
* Runtime key to get value for comparison. This value is used if defined.
|
||||
*/
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/core/config_source.proto
|
||||
|
||||
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
* Self-referencing config source options. This is currently empty, but when
|
||||
* set in :ref:`ConfigSource <envoy_api_msg_core.ConfigSource>` can be used to
|
||||
* specify that other data can be obtained from the same server.
|
||||
*/
|
||||
export interface SelfConfigSource {
|
||||
}
|
||||
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
* Self-referencing config source options. This is currently empty, but when
|
||||
* set in :ref:`ConfigSource <envoy_api_msg_core.ConfigSource>` can be used to
|
||||
* specify that other data can be obtained from the same server.
|
||||
*/
|
||||
export interface SelfConfigSource__Output {
|
||||
}
|
|
@ -37,5 +37,5 @@ export interface EndpointLoadMetricStats__Output {
|
|||
* Sum of metric values across all calls that finished with this metric for
|
||||
* load_reporting_interval.
|
||||
*/
|
||||
'total_metric_value': (number | string);
|
||||
'total_metric_value': (number);
|
||||
}
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/listener/listener_components.proto
|
||||
|
||||
import type { Struct as _google_protobuf_Struct, Struct__Output as _google_protobuf_Struct__Output } from '../../../../google/protobuf/Struct';
|
||||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../google/protobuf/Any';
|
||||
|
||||
export interface Filter {
|
||||
/**
|
||||
* The name of the filter to instantiate. The name must match a
|
||||
* :ref:`supported filter <config_network_filters>`.
|
||||
*/
|
||||
'name'?: (string);
|
||||
'config'?: (_google_protobuf_Struct);
|
||||
'typed_config'?: (_google_protobuf_Any);
|
||||
/**
|
||||
* Filter specific configuration which depends on the filter being
|
||||
* instantiated. See the supported filters for further documentation.
|
||||
*/
|
||||
'config_type'?: "config"|"typed_config";
|
||||
}
|
||||
|
||||
export interface Filter__Output {
|
||||
/**
|
||||
* The name of the filter to instantiate. The name must match a
|
||||
* :ref:`supported filter <config_network_filters>`.
|
||||
*/
|
||||
'name': (string);
|
||||
'config'?: (_google_protobuf_Struct__Output);
|
||||
'typed_config'?: (_google_protobuf_Any__Output);
|
||||
/**
|
||||
* Filter specific configuration which depends on the filter being
|
||||
* instantiated. See the supported filters for further documentation.
|
||||
*/
|
||||
'config_type': "config"|"typed_config";
|
||||
}
|
|
@ -1,118 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/listener/listener_components.proto
|
||||
|
||||
import type { FilterChainMatch as _envoy_api_v2_listener_FilterChainMatch, FilterChainMatch__Output as _envoy_api_v2_listener_FilterChainMatch__Output } from '../../../../envoy/api/v2/listener/FilterChainMatch';
|
||||
import type { DownstreamTlsContext as _envoy_api_v2_auth_DownstreamTlsContext, DownstreamTlsContext__Output as _envoy_api_v2_auth_DownstreamTlsContext__Output } from '../../../../envoy/api/v2/auth/DownstreamTlsContext';
|
||||
import type { Filter as _envoy_api_v2_listener_Filter, Filter__Output as _envoy_api_v2_listener_Filter__Output } from '../../../../envoy/api/v2/listener/Filter';
|
||||
import type { BoolValue as _google_protobuf_BoolValue, BoolValue__Output as _google_protobuf_BoolValue__Output } from '../../../../google/protobuf/BoolValue';
|
||||
import type { Metadata as _envoy_api_v2_core_Metadata, Metadata__Output as _envoy_api_v2_core_Metadata__Output } from '../../../../envoy/api/v2/core/Metadata';
|
||||
import type { TransportSocket as _envoy_api_v2_core_TransportSocket, TransportSocket__Output as _envoy_api_v2_core_TransportSocket__Output } from '../../../../envoy/api/v2/core/TransportSocket';
|
||||
|
||||
/**
|
||||
* A filter chain wraps a set of match criteria, an option TLS context, a set of filters, and
|
||||
* various other parameters.
|
||||
* [#next-free-field: 8]
|
||||
*/
|
||||
export interface FilterChain {
|
||||
/**
|
||||
* The criteria to use when matching a connection to this filter chain.
|
||||
*/
|
||||
'filter_chain_match'?: (_envoy_api_v2_listener_FilterChainMatch);
|
||||
/**
|
||||
* The TLS context for this filter chain.
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* **This field is deprecated**. Use `transport_socket` with name `tls` instead. If both are
|
||||
* set, `transport_socket` takes priority.
|
||||
*/
|
||||
'tls_context'?: (_envoy_api_v2_auth_DownstreamTlsContext);
|
||||
/**
|
||||
* A list of individual network filters that make up the filter chain for
|
||||
* connections established with the listener. Order matters as the filters are
|
||||
* processed sequentially as connection events happen. Note: If the filter
|
||||
* list is empty, the connection will close by default.
|
||||
*/
|
||||
'filters'?: (_envoy_api_v2_listener_Filter)[];
|
||||
/**
|
||||
* Whether the listener should expect a PROXY protocol V1 header on new
|
||||
* connections. If this option is enabled, the listener will assume that that
|
||||
* remote address of the connection is the one specified in the header. Some
|
||||
* load balancers including the AWS ELB support this option. If the option is
|
||||
* absent or set to false, Envoy will use the physical peer address of the
|
||||
* connection as the remote address.
|
||||
*/
|
||||
'use_proxy_proto'?: (_google_protobuf_BoolValue);
|
||||
/**
|
||||
* [#not-implemented-hide:] filter chain metadata.
|
||||
*/
|
||||
'metadata'?: (_envoy_api_v2_core_Metadata);
|
||||
/**
|
||||
* Optional custom transport socket implementation to use for downstream connections.
|
||||
* To setup TLS, set a transport socket with name `tls` and
|
||||
* :ref:`DownstreamTlsContext <envoy_api_msg_auth.DownstreamTlsContext>` in the `typed_config`.
|
||||
* If no transport socket configuration is specified, new connections
|
||||
* will be set up with plaintext.
|
||||
*/
|
||||
'transport_socket'?: (_envoy_api_v2_core_TransportSocket);
|
||||
/**
|
||||
* [#not-implemented-hide:] The unique name (or empty) by which this filter chain is known. If no
|
||||
* name is provided, Envoy will allocate an internal UUID for the filter chain. If the filter
|
||||
* chain is to be dynamically updated or removed via FCDS a unique name must be provided.
|
||||
*/
|
||||
'name'?: (string);
|
||||
}
|
||||
|
||||
/**
|
||||
* A filter chain wraps a set of match criteria, an option TLS context, a set of filters, and
|
||||
* various other parameters.
|
||||
* [#next-free-field: 8]
|
||||
*/
|
||||
export interface FilterChain__Output {
|
||||
/**
|
||||
* The criteria to use when matching a connection to this filter chain.
|
||||
*/
|
||||
'filter_chain_match'?: (_envoy_api_v2_listener_FilterChainMatch__Output);
|
||||
/**
|
||||
* The TLS context for this filter chain.
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* **This field is deprecated**. Use `transport_socket` with name `tls` instead. If both are
|
||||
* set, `transport_socket` takes priority.
|
||||
*/
|
||||
'tls_context'?: (_envoy_api_v2_auth_DownstreamTlsContext__Output);
|
||||
/**
|
||||
* A list of individual network filters that make up the filter chain for
|
||||
* connections established with the listener. Order matters as the filters are
|
||||
* processed sequentially as connection events happen. Note: If the filter
|
||||
* list is empty, the connection will close by default.
|
||||
*/
|
||||
'filters': (_envoy_api_v2_listener_Filter__Output)[];
|
||||
/**
|
||||
* Whether the listener should expect a PROXY protocol V1 header on new
|
||||
* connections. If this option is enabled, the listener will assume that that
|
||||
* remote address of the connection is the one specified in the header. Some
|
||||
* load balancers including the AWS ELB support this option. If the option is
|
||||
* absent or set to false, Envoy will use the physical peer address of the
|
||||
* connection as the remote address.
|
||||
*/
|
||||
'use_proxy_proto'?: (_google_protobuf_BoolValue__Output);
|
||||
/**
|
||||
* [#not-implemented-hide:] filter chain metadata.
|
||||
*/
|
||||
'metadata'?: (_envoy_api_v2_core_Metadata__Output);
|
||||
/**
|
||||
* Optional custom transport socket implementation to use for downstream connections.
|
||||
* To setup TLS, set a transport socket with name `tls` and
|
||||
* :ref:`DownstreamTlsContext <envoy_api_msg_auth.DownstreamTlsContext>` in the `typed_config`.
|
||||
* If no transport socket configuration is specified, new connections
|
||||
* will be set up with plaintext.
|
||||
*/
|
||||
'transport_socket'?: (_envoy_api_v2_core_TransportSocket__Output);
|
||||
/**
|
||||
* [#not-implemented-hide:] The unique name (or empty) by which this filter chain is known. If no
|
||||
* name is provided, Envoy will allocate an internal UUID for the filter chain. If the filter
|
||||
* chain is to be dynamically updated or removed via FCDS a unique name must be provided.
|
||||
*/
|
||||
'name': (string);
|
||||
}
|
|
@ -1,66 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/route/route_components.proto
|
||||
|
||||
import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
|
||||
import type { FractionalPercent as _envoy_type_FractionalPercent, FractionalPercent__Output as _envoy_type_FractionalPercent__Output } from '../../../../envoy/type/FractionalPercent';
|
||||
|
||||
/**
|
||||
* HTTP request hedging :ref:`architecture overview <arch_overview_http_routing_hedging>`.
|
||||
*/
|
||||
export interface HedgePolicy {
|
||||
/**
|
||||
* Specifies the number of initial requests that should be sent upstream.
|
||||
* Must be at least 1.
|
||||
* Defaults to 1.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'initial_requests'?: (_google_protobuf_UInt32Value);
|
||||
/**
|
||||
* Specifies a probability that an additional upstream request should be sent
|
||||
* on top of what is specified by initial_requests.
|
||||
* Defaults to 0.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'additional_request_chance'?: (_envoy_type_FractionalPercent);
|
||||
/**
|
||||
* Indicates that a hedged request should be sent when the per-try timeout
|
||||
* is hit. This will only occur if the retry policy also indicates that a
|
||||
* timed out request should be retried.
|
||||
* Once a timed out request is retried due to per try timeout, the router
|
||||
* filter will ensure that it is not retried again even if the returned
|
||||
* response headers would otherwise be retried according the specified
|
||||
* :ref:`RetryPolicy <envoy_api_msg_route.RetryPolicy>`.
|
||||
* Defaults to false.
|
||||
*/
|
||||
'hedge_on_per_try_timeout'?: (boolean);
|
||||
}
|
||||
|
||||
/**
|
||||
* HTTP request hedging :ref:`architecture overview <arch_overview_http_routing_hedging>`.
|
||||
*/
|
||||
export interface HedgePolicy__Output {
|
||||
/**
|
||||
* Specifies the number of initial requests that should be sent upstream.
|
||||
* Must be at least 1.
|
||||
* Defaults to 1.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'initial_requests'?: (_google_protobuf_UInt32Value__Output);
|
||||
/**
|
||||
* Specifies a probability that an additional upstream request should be sent
|
||||
* on top of what is specified by initial_requests.
|
||||
* Defaults to 0.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'additional_request_chance'?: (_envoy_type_FractionalPercent__Output);
|
||||
/**
|
||||
* Indicates that a hedged request should be sent when the per-try timeout
|
||||
* is hit. This will only occur if the retry policy also indicates that a
|
||||
* timed out request should be retried.
|
||||
* Once a timed out request is retried due to per try timeout, the router
|
||||
* filter will ensure that it is not retried again even if the returned
|
||||
* response headers would otherwise be retried according the specified
|
||||
* :ref:`RetryPolicy <envoy_api_msg_route.RetryPolicy>`.
|
||||
* Defaults to false.
|
||||
*/
|
||||
'hedge_on_per_try_timeout': (boolean);
|
||||
}
|
|
@ -1,86 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/route/route_components.proto
|
||||
|
||||
import type { BoolValue as _google_protobuf_BoolValue, BoolValue__Output as _google_protobuf_BoolValue__Output } from '../../../../google/protobuf/BoolValue';
|
||||
import type { StringMatcher as _envoy_type_matcher_StringMatcher, StringMatcher__Output as _envoy_type_matcher_StringMatcher__Output } from '../../../../envoy/type/matcher/StringMatcher';
|
||||
|
||||
/**
|
||||
* Query parameter matching treats the query string of a request's :path header
|
||||
* as an ampersand-separated list of keys and/or key=value elements.
|
||||
* [#next-free-field: 7]
|
||||
*/
|
||||
export interface QueryParameterMatcher {
|
||||
/**
|
||||
* Specifies the name of a key that must be present in the requested
|
||||
* *path*'s query string.
|
||||
*/
|
||||
'name'?: (string);
|
||||
/**
|
||||
* Specifies the value of the key. If the value is absent, a request
|
||||
* that contains the key in its query string will match, whether the
|
||||
* key appears with a value (e.g., "?debug=true") or not (e.g., "?debug")
|
||||
*
|
||||
* ..attention::
|
||||
* This field is deprecated. Use an `exact` match inside the `string_match` field.
|
||||
*/
|
||||
'value'?: (string);
|
||||
/**
|
||||
* Specifies whether the query parameter value is a regular expression.
|
||||
* Defaults to false. The entire query parameter value (i.e., the part to
|
||||
* the right of the equals sign in "key=value") must match the regex.
|
||||
* E.g., the regex ``\d+$`` will match *123* but not *a123* or *123a*.
|
||||
*
|
||||
* ..attention::
|
||||
* This field is deprecated. Use a `safe_regex` match inside the `string_match` field.
|
||||
*/
|
||||
'regex'?: (_google_protobuf_BoolValue);
|
||||
/**
|
||||
* Specifies whether a query parameter value should match against a string.
|
||||
*/
|
||||
'string_match'?: (_envoy_type_matcher_StringMatcher);
|
||||
/**
|
||||
* Specifies whether a query parameter should be present.
|
||||
*/
|
||||
'present_match'?: (boolean);
|
||||
'query_parameter_match_specifier'?: "string_match"|"present_match";
|
||||
}
|
||||
|
||||
/**
|
||||
* Query parameter matching treats the query string of a request's :path header
|
||||
* as an ampersand-separated list of keys and/or key=value elements.
|
||||
* [#next-free-field: 7]
|
||||
*/
|
||||
export interface QueryParameterMatcher__Output {
|
||||
/**
|
||||
* Specifies the name of a key that must be present in the requested
|
||||
* *path*'s query string.
|
||||
*/
|
||||
'name': (string);
|
||||
/**
|
||||
* Specifies the value of the key. If the value is absent, a request
|
||||
* that contains the key in its query string will match, whether the
|
||||
* key appears with a value (e.g., "?debug=true") or not (e.g., "?debug")
|
||||
*
|
||||
* ..attention::
|
||||
* This field is deprecated. Use an `exact` match inside the `string_match` field.
|
||||
*/
|
||||
'value': (string);
|
||||
/**
|
||||
* Specifies whether the query parameter value is a regular expression.
|
||||
* Defaults to false. The entire query parameter value (i.e., the part to
|
||||
* the right of the equals sign in "key=value") must match the regex.
|
||||
* E.g., the regex ``\d+$`` will match *123* but not *a123* or *123a*.
|
||||
*
|
||||
* ..attention::
|
||||
* This field is deprecated. Use a `safe_regex` match inside the `string_match` field.
|
||||
*/
|
||||
'regex'?: (_google_protobuf_BoolValue__Output);
|
||||
/**
|
||||
* Specifies whether a query parameter value should match against a string.
|
||||
*/
|
||||
'string_match'?: (_envoy_type_matcher_StringMatcher__Output);
|
||||
/**
|
||||
* Specifies whether a query parameter should be present.
|
||||
*/
|
||||
'present_match'?: (boolean);
|
||||
'query_parameter_match_specifier': "string_match"|"present_match";
|
||||
}
|
|
@ -1,341 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/route/route_components.proto
|
||||
|
||||
import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
|
||||
import type { BoolValue as _google_protobuf_BoolValue, BoolValue__Output as _google_protobuf_BoolValue__Output } from '../../../../google/protobuf/BoolValue';
|
||||
import type { HeaderMatcher as _envoy_api_v2_route_HeaderMatcher, HeaderMatcher__Output as _envoy_api_v2_route_HeaderMatcher__Output } from '../../../../envoy/api/v2/route/HeaderMatcher';
|
||||
|
||||
/**
|
||||
* [#next-free-field: 7]
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RateLimit_Action {
|
||||
/**
|
||||
* Rate limit on source cluster.
|
||||
*/
|
||||
'source_cluster'?: (_envoy_api_v2_route_RateLimit_Action_SourceCluster);
|
||||
/**
|
||||
* Rate limit on destination cluster.
|
||||
*/
|
||||
'destination_cluster'?: (_envoy_api_v2_route_RateLimit_Action_DestinationCluster);
|
||||
/**
|
||||
* Rate limit on request headers.
|
||||
*/
|
||||
'request_headers'?: (_envoy_api_v2_route_RateLimit_Action_RequestHeaders);
|
||||
/**
|
||||
* Rate limit on remote address.
|
||||
*/
|
||||
'remote_address'?: (_envoy_api_v2_route_RateLimit_Action_RemoteAddress);
|
||||
/**
|
||||
* Rate limit on a generic key.
|
||||
*/
|
||||
'generic_key'?: (_envoy_api_v2_route_RateLimit_Action_GenericKey);
|
||||
/**
|
||||
* Rate limit on the existence of request headers.
|
||||
*/
|
||||
'header_value_match'?: (_envoy_api_v2_route_RateLimit_Action_HeaderValueMatch);
|
||||
'action_specifier'?: "source_cluster"|"destination_cluster"|"request_headers"|"remote_address"|"generic_key"|"header_value_match";
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 7]
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RateLimit_Action__Output {
|
||||
/**
|
||||
* Rate limit on source cluster.
|
||||
*/
|
||||
'source_cluster'?: (_envoy_api_v2_route_RateLimit_Action_SourceCluster__Output);
|
||||
/**
|
||||
* Rate limit on destination cluster.
|
||||
*/
|
||||
'destination_cluster'?: (_envoy_api_v2_route_RateLimit_Action_DestinationCluster__Output);
|
||||
/**
|
||||
* Rate limit on request headers.
|
||||
*/
|
||||
'request_headers'?: (_envoy_api_v2_route_RateLimit_Action_RequestHeaders__Output);
|
||||
/**
|
||||
* Rate limit on remote address.
|
||||
*/
|
||||
'remote_address'?: (_envoy_api_v2_route_RateLimit_Action_RemoteAddress__Output);
|
||||
/**
|
||||
* Rate limit on a generic key.
|
||||
*/
|
||||
'generic_key'?: (_envoy_api_v2_route_RateLimit_Action_GenericKey__Output);
|
||||
/**
|
||||
* Rate limit on the existence of request headers.
|
||||
*/
|
||||
'header_value_match'?: (_envoy_api_v2_route_RateLimit_Action_HeaderValueMatch__Output);
|
||||
'action_specifier': "source_cluster"|"destination_cluster"|"request_headers"|"remote_address"|"generic_key"|"header_value_match";
|
||||
}
|
||||
|
||||
/**
|
||||
* The following descriptor entry is appended to the descriptor:
|
||||
*
|
||||
* .. code-block:: cpp
|
||||
*
|
||||
* ("destination_cluster", "<routed target cluster>")
|
||||
*
|
||||
* Once a request matches against a route table rule, a routed cluster is determined by one of
|
||||
* the following :ref:`route table configuration <envoy_api_msg_RouteConfiguration>`
|
||||
* settings:
|
||||
*
|
||||
* * :ref:`cluster <envoy_api_field_route.RouteAction.cluster>` indicates the upstream cluster
|
||||
* to route to.
|
||||
* * :ref:`weighted_clusters <envoy_api_field_route.RouteAction.weighted_clusters>`
|
||||
* chooses a cluster randomly from a set of clusters with attributed weight.
|
||||
* * :ref:`cluster_header <envoy_api_field_route.RouteAction.cluster_header>` indicates which
|
||||
* header in the request contains the target cluster.
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RateLimit_Action_DestinationCluster {
|
||||
}
|
||||
|
||||
/**
|
||||
* The following descriptor entry is appended to the descriptor:
|
||||
*
|
||||
* .. code-block:: cpp
|
||||
*
|
||||
* ("destination_cluster", "<routed target cluster>")
|
||||
*
|
||||
* Once a request matches against a route table rule, a routed cluster is determined by one of
|
||||
* the following :ref:`route table configuration <envoy_api_msg_RouteConfiguration>`
|
||||
* settings:
|
||||
*
|
||||
* * :ref:`cluster <envoy_api_field_route.RouteAction.cluster>` indicates the upstream cluster
|
||||
* to route to.
|
||||
* * :ref:`weighted_clusters <envoy_api_field_route.RouteAction.weighted_clusters>`
|
||||
* chooses a cluster randomly from a set of clusters with attributed weight.
|
||||
* * :ref:`cluster_header <envoy_api_field_route.RouteAction.cluster_header>` indicates which
|
||||
* header in the request contains the target cluster.
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RateLimit_Action_DestinationCluster__Output {
|
||||
}
|
||||
|
||||
/**
|
||||
* The following descriptor entry is appended to the descriptor:
|
||||
*
|
||||
* .. code-block:: cpp
|
||||
*
|
||||
* ("generic_key", "<descriptor_value>")
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RateLimit_Action_GenericKey {
|
||||
/**
|
||||
* The value to use in the descriptor entry.
|
||||
*/
|
||||
'descriptor_value'?: (string);
|
||||
}
|
||||
|
||||
/**
|
||||
* The following descriptor entry is appended to the descriptor:
|
||||
*
|
||||
* .. code-block:: cpp
|
||||
*
|
||||
* ("generic_key", "<descriptor_value>")
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RateLimit_Action_GenericKey__Output {
|
||||
/**
|
||||
* The value to use in the descriptor entry.
|
||||
*/
|
||||
'descriptor_value': (string);
|
||||
}
|
||||
|
||||
/**
|
||||
* The following descriptor entry is appended to the descriptor:
|
||||
*
|
||||
* .. code-block:: cpp
|
||||
*
|
||||
* ("header_match", "<descriptor_value>")
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RateLimit_Action_HeaderValueMatch {
|
||||
/**
|
||||
* The value to use in the descriptor entry.
|
||||
*/
|
||||
'descriptor_value'?: (string);
|
||||
/**
|
||||
* If set to true, the action will append a descriptor entry when the
|
||||
* request matches the headers. If set to false, the action will append a
|
||||
* descriptor entry when the request does not match the headers. The
|
||||
* default value is true.
|
||||
*/
|
||||
'expect_match'?: (_google_protobuf_BoolValue);
|
||||
/**
|
||||
* Specifies a set of headers that the rate limit action should match
|
||||
* on. The action will check the request’s headers against all the
|
||||
* specified headers in the config. A match will happen if all the
|
||||
* headers in the config are present in the request with the same values
|
||||
* (or based on presence if the value field is not in the config).
|
||||
*/
|
||||
'headers'?: (_envoy_api_v2_route_HeaderMatcher)[];
|
||||
}
|
||||
|
||||
/**
|
||||
* The following descriptor entry is appended to the descriptor:
|
||||
*
|
||||
* .. code-block:: cpp
|
||||
*
|
||||
* ("header_match", "<descriptor_value>")
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RateLimit_Action_HeaderValueMatch__Output {
|
||||
/**
|
||||
* The value to use in the descriptor entry.
|
||||
*/
|
||||
'descriptor_value': (string);
|
||||
/**
|
||||
* If set to true, the action will append a descriptor entry when the
|
||||
* request matches the headers. If set to false, the action will append a
|
||||
* descriptor entry when the request does not match the headers. The
|
||||
* default value is true.
|
||||
*/
|
||||
'expect_match'?: (_google_protobuf_BoolValue__Output);
|
||||
/**
|
||||
* Specifies a set of headers that the rate limit action should match
|
||||
* on. The action will check the request’s headers against all the
|
||||
* specified headers in the config. A match will happen if all the
|
||||
* headers in the config are present in the request with the same values
|
||||
* (or based on presence if the value field is not in the config).
|
||||
*/
|
||||
'headers': (_envoy_api_v2_route_HeaderMatcher__Output)[];
|
||||
}
|
||||
|
||||
/**
|
||||
* The following descriptor entry is appended to the descriptor and is populated using the
|
||||
* trusted address from :ref:`x-forwarded-for <config_http_conn_man_headers_x-forwarded-for>`:
|
||||
*
|
||||
* .. code-block:: cpp
|
||||
*
|
||||
* ("remote_address", "<trusted address from x-forwarded-for>")
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RateLimit_Action_RemoteAddress {
|
||||
}
|
||||
|
||||
/**
|
||||
* The following descriptor entry is appended to the descriptor and is populated using the
|
||||
* trusted address from :ref:`x-forwarded-for <config_http_conn_man_headers_x-forwarded-for>`:
|
||||
*
|
||||
* .. code-block:: cpp
|
||||
*
|
||||
* ("remote_address", "<trusted address from x-forwarded-for>")
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RateLimit_Action_RemoteAddress__Output {
|
||||
}
|
||||
|
||||
/**
|
||||
* The following descriptor entry is appended when a header contains a key that matches the
|
||||
* *header_name*:
|
||||
*
|
||||
* .. code-block:: cpp
|
||||
*
|
||||
* ("<descriptor_key>", "<header_value_queried_from_header>")
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RateLimit_Action_RequestHeaders {
|
||||
/**
|
||||
* The header name to be queried from the request headers. The header’s
|
||||
* value is used to populate the value of the descriptor entry for the
|
||||
* descriptor_key.
|
||||
*/
|
||||
'header_name'?: (string);
|
||||
/**
|
||||
* The key to use in the descriptor entry.
|
||||
*/
|
||||
'descriptor_key'?: (string);
|
||||
}
|
||||
|
||||
/**
|
||||
* The following descriptor entry is appended when a header contains a key that matches the
|
||||
* *header_name*:
|
||||
*
|
||||
* .. code-block:: cpp
|
||||
*
|
||||
* ("<descriptor_key>", "<header_value_queried_from_header>")
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RateLimit_Action_RequestHeaders__Output {
|
||||
/**
|
||||
* The header name to be queried from the request headers. The header’s
|
||||
* value is used to populate the value of the descriptor entry for the
|
||||
* descriptor_key.
|
||||
*/
|
||||
'header_name': (string);
|
||||
/**
|
||||
* The key to use in the descriptor entry.
|
||||
*/
|
||||
'descriptor_key': (string);
|
||||
}
|
||||
|
||||
/**
|
||||
* The following descriptor entry is appended to the descriptor:
|
||||
*
|
||||
* .. code-block:: cpp
|
||||
*
|
||||
* ("source_cluster", "<local service cluster>")
|
||||
*
|
||||
* <local service cluster> is derived from the :option:`--service-cluster` option.
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RateLimit_Action_SourceCluster {
|
||||
}
|
||||
|
||||
/**
|
||||
* The following descriptor entry is appended to the descriptor:
|
||||
*
|
||||
* .. code-block:: cpp
|
||||
*
|
||||
* ("source_cluster", "<local service cluster>")
|
||||
*
|
||||
* <local service cluster> is derived from the :option:`--service-cluster` option.
|
||||
*/
|
||||
export interface _envoy_api_v2_route_RateLimit_Action_SourceCluster__Output {
|
||||
}
|
||||
|
||||
/**
|
||||
* Global rate limiting :ref:`architecture overview <arch_overview_global_rate_limit>`.
|
||||
*/
|
||||
export interface RateLimit {
|
||||
/**
|
||||
* Refers to the stage set in the filter. The rate limit configuration only
|
||||
* applies to filters with the same stage number. The default stage number is
|
||||
* 0.
|
||||
*
|
||||
* .. note::
|
||||
*
|
||||
* The filter supports a range of 0 - 10 inclusively for stage numbers.
|
||||
*/
|
||||
'stage'?: (_google_protobuf_UInt32Value);
|
||||
/**
|
||||
* The key to be set in runtime to disable this rate limit configuration.
|
||||
*/
|
||||
'disable_key'?: (string);
|
||||
/**
|
||||
* A list of actions that are to be applied for this rate limit configuration.
|
||||
* Order matters as the actions are processed sequentially and the descriptor
|
||||
* is composed by appending descriptor entries in that sequence. If an action
|
||||
* cannot append a descriptor entry, no descriptor is generated for the
|
||||
* configuration. See :ref:`composing actions
|
||||
* <config_http_filters_rate_limit_composing_actions>` for additional documentation.
|
||||
*/
|
||||
'actions'?: (_envoy_api_v2_route_RateLimit_Action)[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Global rate limiting :ref:`architecture overview <arch_overview_global_rate_limit>`.
|
||||
*/
|
||||
export interface RateLimit__Output {
|
||||
/**
|
||||
* Refers to the stage set in the filter. The rate limit configuration only
|
||||
* applies to filters with the same stage number. The default stage number is
|
||||
* 0.
|
||||
*
|
||||
* .. note::
|
||||
*
|
||||
* The filter supports a range of 0 - 10 inclusively for stage numbers.
|
||||
*/
|
||||
'stage'?: (_google_protobuf_UInt32Value__Output);
|
||||
/**
|
||||
* The key to be set in runtime to disable this rate limit configuration.
|
||||
*/
|
||||
'disable_key': (string);
|
||||
/**
|
||||
* A list of actions that are to be applied for this rate limit configuration.
|
||||
* Order matters as the actions are processed sequentially and the descriptor
|
||||
* is composed by appending descriptor entries in that sequence. If an action
|
||||
* cannot append a descriptor entry, no descriptor is generated for the
|
||||
* configuration. See :ref:`composing actions
|
||||
* <config_http_filters_rate_limit_composing_actions>` for additional documentation.
|
||||
*/
|
||||
'actions': (_envoy_api_v2_route_RateLimit_Action__Output)[];
|
||||
}
|
|
@ -1,139 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/route/route_components.proto
|
||||
|
||||
|
||||
// Original file: deps/envoy-api/envoy/api/v2/route/route_components.proto
|
||||
|
||||
export enum _envoy_api_v2_route_RedirectAction_RedirectResponseCode {
|
||||
/**
|
||||
* Moved Permanently HTTP Status Code - 301.
|
||||
*/
|
||||
MOVED_PERMANENTLY = 0,
|
||||
/**
|
||||
* Found HTTP Status Code - 302.
|
||||
*/
|
||||
FOUND = 1,
|
||||
/**
|
||||
* See Other HTTP Status Code - 303.
|
||||
*/
|
||||
SEE_OTHER = 2,
|
||||
/**
|
||||
* Temporary Redirect HTTP Status Code - 307.
|
||||
*/
|
||||
TEMPORARY_REDIRECT = 3,
|
||||
/**
|
||||
* Permanent Redirect HTTP Status Code - 308.
|
||||
*/
|
||||
PERMANENT_REDIRECT = 4,
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 9]
|
||||
*/
|
||||
export interface RedirectAction {
|
||||
/**
|
||||
* The host portion of the URL will be swapped with this value.
|
||||
*/
|
||||
'host_redirect'?: (string);
|
||||
/**
|
||||
* The path portion of the URL will be swapped with this value.
|
||||
*/
|
||||
'path_redirect'?: (string);
|
||||
/**
|
||||
* The HTTP status code to use in the redirect response. The default response
|
||||
* code is MOVED_PERMANENTLY (301).
|
||||
*/
|
||||
'response_code'?: (_envoy_api_v2_route_RedirectAction_RedirectResponseCode | keyof typeof _envoy_api_v2_route_RedirectAction_RedirectResponseCode);
|
||||
/**
|
||||
* The scheme portion of the URL will be swapped with "https".
|
||||
*/
|
||||
'https_redirect'?: (boolean);
|
||||
/**
|
||||
* Indicates that during redirection, the matched prefix (or path)
|
||||
* should be swapped with this value. This option allows redirect URLs be dynamically created
|
||||
* based on the request.
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* Pay attention to the use of trailing slashes as mentioned in
|
||||
* :ref:`RouteAction's prefix_rewrite <envoy_api_field_route.RouteAction.prefix_rewrite>`.
|
||||
*/
|
||||
'prefix_rewrite'?: (string);
|
||||
/**
|
||||
* Indicates that during redirection, the query portion of the URL will
|
||||
* be removed. Default value is false.
|
||||
*/
|
||||
'strip_query'?: (boolean);
|
||||
/**
|
||||
* The scheme portion of the URL will be swapped with this value.
|
||||
*/
|
||||
'scheme_redirect'?: (string);
|
||||
/**
|
||||
* The port value of the URL will be swapped with this value.
|
||||
*/
|
||||
'port_redirect'?: (number);
|
||||
/**
|
||||
* When the scheme redirection take place, the following rules apply:
|
||||
* 1. If the source URI scheme is `http` and the port is explicitly
|
||||
* set to `:80`, the port will be removed after the redirection
|
||||
* 2. If the source URI scheme is `https` and the port is explicitly
|
||||
* set to `:443`, the port will be removed after the redirection
|
||||
*/
|
||||
'scheme_rewrite_specifier'?: "https_redirect"|"scheme_redirect";
|
||||
'path_rewrite_specifier'?: "path_redirect"|"prefix_rewrite";
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 9]
|
||||
*/
|
||||
export interface RedirectAction__Output {
|
||||
/**
|
||||
* The host portion of the URL will be swapped with this value.
|
||||
*/
|
||||
'host_redirect': (string);
|
||||
/**
|
||||
* The path portion of the URL will be swapped with this value.
|
||||
*/
|
||||
'path_redirect'?: (string);
|
||||
/**
|
||||
* The HTTP status code to use in the redirect response. The default response
|
||||
* code is MOVED_PERMANENTLY (301).
|
||||
*/
|
||||
'response_code': (keyof typeof _envoy_api_v2_route_RedirectAction_RedirectResponseCode);
|
||||
/**
|
||||
* The scheme portion of the URL will be swapped with "https".
|
||||
*/
|
||||
'https_redirect'?: (boolean);
|
||||
/**
|
||||
* Indicates that during redirection, the matched prefix (or path)
|
||||
* should be swapped with this value. This option allows redirect URLs be dynamically created
|
||||
* based on the request.
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* Pay attention to the use of trailing slashes as mentioned in
|
||||
* :ref:`RouteAction's prefix_rewrite <envoy_api_field_route.RouteAction.prefix_rewrite>`.
|
||||
*/
|
||||
'prefix_rewrite'?: (string);
|
||||
/**
|
||||
* Indicates that during redirection, the query portion of the URL will
|
||||
* be removed. Default value is false.
|
||||
*/
|
||||
'strip_query': (boolean);
|
||||
/**
|
||||
* The scheme portion of the URL will be swapped with this value.
|
||||
*/
|
||||
'scheme_redirect'?: (string);
|
||||
/**
|
||||
* The port value of the URL will be swapped with this value.
|
||||
*/
|
||||
'port_redirect': (number);
|
||||
/**
|
||||
* When the scheme redirection take place, the following rules apply:
|
||||
* 1. If the source URI scheme is `http` and the port is explicitly
|
||||
* set to `:80`, the port will be removed after the redirection
|
||||
* 2. If the source URI scheme is `https` and the port is explicitly
|
||||
* set to `:443`, the port will be removed after the redirection
|
||||
*/
|
||||
'scheme_rewrite_specifier': "https_redirect"|"scheme_redirect";
|
||||
'path_rewrite_specifier': "path_redirect"|"prefix_rewrite";
|
||||
}
|
|
@ -1,218 +0,0 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/route/route_components.proto
|
||||
|
||||
import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
|
||||
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
|
||||
import type { HeaderMatcher as _envoy_api_v2_route_HeaderMatcher, HeaderMatcher__Output as _envoy_api_v2_route_HeaderMatcher__Output } from '../../../../envoy/api/v2/route/HeaderMatcher';
|
||||
import type { Struct as _google_protobuf_Struct, Struct__Output as _google_protobuf_Struct__Output } from '../../../../google/protobuf/Struct';
|
||||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../google/protobuf/Any';
|
||||
import type { Long } from '@grpc/proto-loader';
|
||||
|
||||
export interface _envoy_api_v2_route_RetryPolicy_RetryBackOff {
|
||||
/**
|
||||
* Specifies the base interval between retries. This parameter is required and must be greater
|
||||
* than zero. Values less than 1 ms are rounded up to 1 ms.
|
||||
* See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's
|
||||
* back-off algorithm.
|
||||
*/
|
||||
'base_interval'?: (_google_protobuf_Duration);
|
||||
/**
|
||||
* Specifies the maximum interval between retries. This parameter is optional, but must be
|
||||
* greater than or equal to the `base_interval` if set. The default is 10 times the
|
||||
* `base_interval`. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion
|
||||
* of Envoy's back-off algorithm.
|
||||
*/
|
||||
'max_interval'?: (_google_protobuf_Duration);
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_route_RetryPolicy_RetryBackOff__Output {
|
||||
/**
|
||||
* Specifies the base interval between retries. This parameter is required and must be greater
|
||||
* than zero. Values less than 1 ms are rounded up to 1 ms.
|
||||
* See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion of Envoy's
|
||||
* back-off algorithm.
|
||||
*/
|
||||
'base_interval'?: (_google_protobuf_Duration__Output);
|
||||
/**
|
||||
* Specifies the maximum interval between retries. This parameter is optional, but must be
|
||||
* greater than or equal to the `base_interval` if set. The default is 10 times the
|
||||
* `base_interval`. See :ref:`config_http_filters_router_x-envoy-max-retries` for a discussion
|
||||
* of Envoy's back-off algorithm.
|
||||
*/
|
||||
'max_interval'?: (_google_protobuf_Duration__Output);
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_route_RetryPolicy_RetryHostPredicate {
|
||||
'name'?: (string);
|
||||
'config'?: (_google_protobuf_Struct);
|
||||
'typed_config'?: (_google_protobuf_Any);
|
||||
'config_type'?: "config"|"typed_config";
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_route_RetryPolicy_RetryHostPredicate__Output {
|
||||
'name': (string);
|
||||
'config'?: (_google_protobuf_Struct__Output);
|
||||
'typed_config'?: (_google_protobuf_Any__Output);
|
||||
'config_type': "config"|"typed_config";
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_route_RetryPolicy_RetryPriority {
|
||||
'name'?: (string);
|
||||
'config'?: (_google_protobuf_Struct);
|
||||
'typed_config'?: (_google_protobuf_Any);
|
||||
'config_type'?: "config"|"typed_config";
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_route_RetryPolicy_RetryPriority__Output {
|
||||
'name': (string);
|
||||
'config'?: (_google_protobuf_Struct__Output);
|
||||
'typed_config'?: (_google_protobuf_Any__Output);
|
||||
'config_type': "config"|"typed_config";
|
||||
}
|
||||
|
||||
/**
|
||||
* HTTP retry :ref:`architecture overview <arch_overview_http_routing_retry>`.
|
||||
* [#next-free-field: 11]
|
||||
*/
|
||||
export interface RetryPolicy {
|
||||
/**
|
||||
* Specifies the conditions under which retry takes place. These are the same
|
||||
* conditions documented for :ref:`config_http_filters_router_x-envoy-retry-on` and
|
||||
* :ref:`config_http_filters_router_x-envoy-retry-grpc-on`.
|
||||
*/
|
||||
'retry_on'?: (string);
|
||||
/**
|
||||
* Specifies the allowed number of retries. This parameter is optional and
|
||||
* defaults to 1. These are the same conditions documented for
|
||||
* :ref:`config_http_filters_router_x-envoy-max-retries`.
|
||||
*/
|
||||
'num_retries'?: (_google_protobuf_UInt32Value);
|
||||
/**
|
||||
* Specifies a non-zero upstream timeout per retry attempt. This parameter is optional. The
|
||||
* same conditions documented for
|
||||
* :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
|
||||
*
|
||||
* .. note::
|
||||
*
|
||||
* If left unspecified, Envoy will use the global
|
||||
* :ref:`route timeout <envoy_api_field_route.RouteAction.timeout>` for the request.
|
||||
* Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
|
||||
* retry policy, a request that times out will not be retried as the total timeout budget
|
||||
* would have been exhausted.
|
||||
*/
|
||||
'per_try_timeout'?: (_google_protobuf_Duration);
|
||||
/**
|
||||
* Specifies an implementation of a RetryPriority which is used to determine the
|
||||
* distribution of load across priorities used for retries. Refer to
|
||||
* :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more details.
|
||||
*/
|
||||
'retry_priority'?: (_envoy_api_v2_route_RetryPolicy_RetryPriority);
|
||||
/**
|
||||
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
|
||||
* for retries. If any of the predicates reject the host, host selection will be reattempted.
|
||||
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
|
||||
* details.
|
||||
*/
|
||||
'retry_host_predicate'?: (_envoy_api_v2_route_RetryPolicy_RetryHostPredicate)[];
|
||||
/**
|
||||
* The maximum number of times host selection will be reattempted before giving up, at which
|
||||
* point the host that was last selected will be routed to. If unspecified, this will default to
|
||||
* retrying once.
|
||||
*/
|
||||
'host_selection_retry_max_attempts'?: (number | string | Long);
|
||||
/**
|
||||
* HTTP status codes that should trigger a retry in addition to those specified by retry_on.
|
||||
*/
|
||||
'retriable_status_codes'?: (number)[];
|
||||
/**
|
||||
* Specifies parameters that control retry back off. This parameter is optional, in which case the
|
||||
* default base interval is 25 milliseconds or, if set, the current value of the
|
||||
* `upstream.base_retry_backoff_ms` runtime parameter. The default maximum interval is 10 times
|
||||
* the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries`
|
||||
* describes Envoy's back-off algorithm.
|
||||
*/
|
||||
'retry_back_off'?: (_envoy_api_v2_route_RetryPolicy_RetryBackOff);
|
||||
/**
|
||||
* HTTP response headers that trigger a retry if present in the response. A retry will be
|
||||
* triggered if any of the header matches match the upstream response headers.
|
||||
* The field is only consulted if 'retriable-headers' retry policy is active.
|
||||
*/
|
||||
'retriable_headers'?: (_envoy_api_v2_route_HeaderMatcher)[];
|
||||
/**
|
||||
* HTTP headers which must be present in the request for retries to be attempted.
|
||||
*/
|
||||
'retriable_request_headers'?: (_envoy_api_v2_route_HeaderMatcher)[];
|
||||
}
|
||||
|
||||
/**
|
||||
* HTTP retry :ref:`architecture overview <arch_overview_http_routing_retry>`.
|
||||
* [#next-free-field: 11]
|
||||
*/
|
||||
export interface RetryPolicy__Output {
|
||||
/**
|
||||
* Specifies the conditions under which retry takes place. These are the same
|
||||
* conditions documented for :ref:`config_http_filters_router_x-envoy-retry-on` and
|
||||
* :ref:`config_http_filters_router_x-envoy-retry-grpc-on`.
|
||||
*/
|
||||
'retry_on': (string);
|
||||
/**
|
||||
* Specifies the allowed number of retries. This parameter is optional and
|
||||
* defaults to 1. These are the same conditions documented for
|
||||
* :ref:`config_http_filters_router_x-envoy-max-retries`.
|
||||
*/
|
||||
'num_retries'?: (_google_protobuf_UInt32Value__Output);
|
||||
/**
|
||||
* Specifies a non-zero upstream timeout per retry attempt. This parameter is optional. The
|
||||
* same conditions documented for
|
||||
* :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms` apply.
|
||||
*
|
||||
* .. note::
|
||||
*
|
||||
* If left unspecified, Envoy will use the global
|
||||
* :ref:`route timeout <envoy_api_field_route.RouteAction.timeout>` for the request.
|
||||
* Consequently, when using a :ref:`5xx <config_http_filters_router_x-envoy-retry-on>` based
|
||||
* retry policy, a request that times out will not be retried as the total timeout budget
|
||||
* would have been exhausted.
|
||||
*/
|
||||
'per_try_timeout'?: (_google_protobuf_Duration__Output);
|
||||
/**
|
||||
* Specifies an implementation of a RetryPriority which is used to determine the
|
||||
* distribution of load across priorities used for retries. Refer to
|
||||
* :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more details.
|
||||
*/
|
||||
'retry_priority'?: (_envoy_api_v2_route_RetryPolicy_RetryPriority__Output);
|
||||
/**
|
||||
* Specifies a collection of RetryHostPredicates that will be consulted when selecting a host
|
||||
* for retries. If any of the predicates reject the host, host selection will be reattempted.
|
||||
* Refer to :ref:`retry plugin configuration <arch_overview_http_retry_plugins>` for more
|
||||
* details.
|
||||
*/
|
||||
'retry_host_predicate': (_envoy_api_v2_route_RetryPolicy_RetryHostPredicate__Output)[];
|
||||
/**
|
||||
* The maximum number of times host selection will be reattempted before giving up, at which
|
||||
* point the host that was last selected will be routed to. If unspecified, this will default to
|
||||
* retrying once.
|
||||
*/
|
||||
'host_selection_retry_max_attempts': (string);
|
||||
/**
|
||||
* HTTP status codes that should trigger a retry in addition to those specified by retry_on.
|
||||
*/
|
||||
'retriable_status_codes': (number)[];
|
||||
/**
|
||||
* Specifies parameters that control retry back off. This parameter is optional, in which case the
|
||||
* default base interval is 25 milliseconds or, if set, the current value of the
|
||||
* `upstream.base_retry_backoff_ms` runtime parameter. The default maximum interval is 10 times
|
||||
* the base interval. The documentation for :ref:`config_http_filters_router_x-envoy-max-retries`
|
||||
* describes Envoy's back-off algorithm.
|
||||
*/
|
||||
'retry_back_off'?: (_envoy_api_v2_route_RetryPolicy_RetryBackOff__Output);
|
||||
/**
|
||||
* HTTP response headers that trigger a retry if present in the response. A retry will be
|
||||
* triggered if any of the header matches match the upstream response headers.
|
||||
* The field is only consulted if 'retriable-headers' retry policy is active.
|
||||
*/
|
||||
'retriable_headers': (_envoy_api_v2_route_HeaderMatcher__Output)[];
|
||||
/**
|
||||
* HTTP headers which must be present in the request for retries to be attempted.
|
||||
*/
|
||||
'retriable_request_headers': (_envoy_api_v2_route_HeaderMatcher__Output)[];
|
||||
}
|
|
@ -1,8 +1,7 @@
|
|||
// Original file: deps/envoy-api/envoy/config/filter/accesslog/v2/accesslog.proto
|
||||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
import type { AccessLogFilter as _envoy_config_filter_accesslog_v2_AccessLogFilter, AccessLogFilter__Output as _envoy_config_filter_accesslog_v2_AccessLogFilter__Output } from '../../../../../envoy/config/filter/accesslog/v2/AccessLogFilter';
|
||||
import type { Struct as _google_protobuf_Struct, Struct__Output as _google_protobuf_Struct__Output } from '../../../../../google/protobuf/Struct';
|
||||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../../google/protobuf/Any';
|
||||
import type { AccessLogFilter as _envoy_config_accesslog_v3_AccessLogFilter, AccessLogFilter__Output as _envoy_config_accesslog_v3_AccessLogFilter__Output } from '../../../../envoy/config/accesslog/v3/AccessLogFilter';
|
||||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../google/protobuf/Any';
|
||||
|
||||
export interface AccessLog {
|
||||
/**
|
||||
|
@ -17,21 +16,20 @@ export interface AccessLog {
|
|||
/**
|
||||
* Filter which is used to determine if the access log needs to be written.
|
||||
*/
|
||||
'filter'?: (_envoy_config_filter_accesslog_v2_AccessLogFilter);
|
||||
'config'?: (_google_protobuf_Struct);
|
||||
'filter'?: (_envoy_config_accesslog_v3_AccessLogFilter);
|
||||
'typed_config'?: (_google_protobuf_Any);
|
||||
/**
|
||||
* Custom configuration that depends on the access log being instantiated. Built-in
|
||||
* configurations include:
|
||||
* Custom configuration that depends on the access log being instantiated.
|
||||
* Built-in configurations include:
|
||||
*
|
||||
* #. "envoy.access_loggers.file": :ref:`FileAccessLog
|
||||
* <envoy_api_msg_config.accesslog.v2.FileAccessLog>`
|
||||
* <envoy_api_msg_extensions.access_loggers.file.v3.FileAccessLog>`
|
||||
* #. "envoy.access_loggers.http_grpc": :ref:`HttpGrpcAccessLogConfig
|
||||
* <envoy_api_msg_config.accesslog.v2.HttpGrpcAccessLogConfig>`
|
||||
* <envoy_api_msg_extensions.access_loggers.grpc.v3.HttpGrpcAccessLogConfig>`
|
||||
* #. "envoy.access_loggers.tcp_grpc": :ref:`TcpGrpcAccessLogConfig
|
||||
* <envoy_api_msg_config.accesslog.v2.TcpGrpcAccessLogConfig>`
|
||||
* <envoy_api_msg_extensions.access_loggers.grpc.v3.TcpGrpcAccessLogConfig>`
|
||||
*/
|
||||
'config_type'?: "config"|"typed_config";
|
||||
'config_type'?: "typed_config";
|
||||
}
|
||||
|
||||
export interface AccessLog__Output {
|
||||
|
@ -47,19 +45,18 @@ export interface AccessLog__Output {
|
|||
/**
|
||||
* Filter which is used to determine if the access log needs to be written.
|
||||
*/
|
||||
'filter'?: (_envoy_config_filter_accesslog_v2_AccessLogFilter__Output);
|
||||
'config'?: (_google_protobuf_Struct__Output);
|
||||
'filter'?: (_envoy_config_accesslog_v3_AccessLogFilter__Output);
|
||||
'typed_config'?: (_google_protobuf_Any__Output);
|
||||
/**
|
||||
* Custom configuration that depends on the access log being instantiated. Built-in
|
||||
* configurations include:
|
||||
* Custom configuration that depends on the access log being instantiated.
|
||||
* Built-in configurations include:
|
||||
*
|
||||
* #. "envoy.access_loggers.file": :ref:`FileAccessLog
|
||||
* <envoy_api_msg_config.accesslog.v2.FileAccessLog>`
|
||||
* <envoy_api_msg_extensions.access_loggers.file.v3.FileAccessLog>`
|
||||
* #. "envoy.access_loggers.http_grpc": :ref:`HttpGrpcAccessLogConfig
|
||||
* <envoy_api_msg_config.accesslog.v2.HttpGrpcAccessLogConfig>`
|
||||
* <envoy_api_msg_extensions.access_loggers.grpc.v3.HttpGrpcAccessLogConfig>`
|
||||
* #. "envoy.access_loggers.tcp_grpc": :ref:`TcpGrpcAccessLogConfig
|
||||
* <envoy_api_msg_config.accesslog.v2.TcpGrpcAccessLogConfig>`
|
||||
* <envoy_api_msg_extensions.access_loggers.grpc.v3.TcpGrpcAccessLogConfig>`
|
||||
*/
|
||||
'config_type': "config"|"typed_config";
|
||||
'config_type': "typed_config";
|
||||
}
|
|
@ -0,0 +1,124 @@
|
|||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
import type { StatusCodeFilter as _envoy_config_accesslog_v3_StatusCodeFilter, StatusCodeFilter__Output as _envoy_config_accesslog_v3_StatusCodeFilter__Output } from '../../../../envoy/config/accesslog/v3/StatusCodeFilter';
|
||||
import type { DurationFilter as _envoy_config_accesslog_v3_DurationFilter, DurationFilter__Output as _envoy_config_accesslog_v3_DurationFilter__Output } from '../../../../envoy/config/accesslog/v3/DurationFilter';
|
||||
import type { NotHealthCheckFilter as _envoy_config_accesslog_v3_NotHealthCheckFilter, NotHealthCheckFilter__Output as _envoy_config_accesslog_v3_NotHealthCheckFilter__Output } from '../../../../envoy/config/accesslog/v3/NotHealthCheckFilter';
|
||||
import type { TraceableFilter as _envoy_config_accesslog_v3_TraceableFilter, TraceableFilter__Output as _envoy_config_accesslog_v3_TraceableFilter__Output } from '../../../../envoy/config/accesslog/v3/TraceableFilter';
|
||||
import type { RuntimeFilter as _envoy_config_accesslog_v3_RuntimeFilter, RuntimeFilter__Output as _envoy_config_accesslog_v3_RuntimeFilter__Output } from '../../../../envoy/config/accesslog/v3/RuntimeFilter';
|
||||
import type { AndFilter as _envoy_config_accesslog_v3_AndFilter, AndFilter__Output as _envoy_config_accesslog_v3_AndFilter__Output } from '../../../../envoy/config/accesslog/v3/AndFilter';
|
||||
import type { OrFilter as _envoy_config_accesslog_v3_OrFilter, OrFilter__Output as _envoy_config_accesslog_v3_OrFilter__Output } from '../../../../envoy/config/accesslog/v3/OrFilter';
|
||||
import type { HeaderFilter as _envoy_config_accesslog_v3_HeaderFilter, HeaderFilter__Output as _envoy_config_accesslog_v3_HeaderFilter__Output } from '../../../../envoy/config/accesslog/v3/HeaderFilter';
|
||||
import type { ResponseFlagFilter as _envoy_config_accesslog_v3_ResponseFlagFilter, ResponseFlagFilter__Output as _envoy_config_accesslog_v3_ResponseFlagFilter__Output } from '../../../../envoy/config/accesslog/v3/ResponseFlagFilter';
|
||||
import type { GrpcStatusFilter as _envoy_config_accesslog_v3_GrpcStatusFilter, GrpcStatusFilter__Output as _envoy_config_accesslog_v3_GrpcStatusFilter__Output } from '../../../../envoy/config/accesslog/v3/GrpcStatusFilter';
|
||||
import type { ExtensionFilter as _envoy_config_accesslog_v3_ExtensionFilter, ExtensionFilter__Output as _envoy_config_accesslog_v3_ExtensionFilter__Output } from '../../../../envoy/config/accesslog/v3/ExtensionFilter';
|
||||
import type { MetadataFilter as _envoy_config_accesslog_v3_MetadataFilter, MetadataFilter__Output as _envoy_config_accesslog_v3_MetadataFilter__Output } from '../../../../envoy/config/accesslog/v3/MetadataFilter';
|
||||
|
||||
/**
|
||||
* [#next-free-field: 13]
|
||||
*/
|
||||
export interface AccessLogFilter {
|
||||
/**
|
||||
* Status code filter.
|
||||
*/
|
||||
'status_code_filter'?: (_envoy_config_accesslog_v3_StatusCodeFilter);
|
||||
/**
|
||||
* Duration filter.
|
||||
*/
|
||||
'duration_filter'?: (_envoy_config_accesslog_v3_DurationFilter);
|
||||
/**
|
||||
* Not health check filter.
|
||||
*/
|
||||
'not_health_check_filter'?: (_envoy_config_accesslog_v3_NotHealthCheckFilter);
|
||||
/**
|
||||
* Traceable filter.
|
||||
*/
|
||||
'traceable_filter'?: (_envoy_config_accesslog_v3_TraceableFilter);
|
||||
/**
|
||||
* Runtime filter.
|
||||
*/
|
||||
'runtime_filter'?: (_envoy_config_accesslog_v3_RuntimeFilter);
|
||||
/**
|
||||
* And filter.
|
||||
*/
|
||||
'and_filter'?: (_envoy_config_accesslog_v3_AndFilter);
|
||||
/**
|
||||
* Or filter.
|
||||
*/
|
||||
'or_filter'?: (_envoy_config_accesslog_v3_OrFilter);
|
||||
/**
|
||||
* Header filter.
|
||||
*/
|
||||
'header_filter'?: (_envoy_config_accesslog_v3_HeaderFilter);
|
||||
/**
|
||||
* Response flag filter.
|
||||
*/
|
||||
'response_flag_filter'?: (_envoy_config_accesslog_v3_ResponseFlagFilter);
|
||||
/**
|
||||
* gRPC status filter.
|
||||
*/
|
||||
'grpc_status_filter'?: (_envoy_config_accesslog_v3_GrpcStatusFilter);
|
||||
/**
|
||||
* Extension filter.
|
||||
*/
|
||||
'extension_filter'?: (_envoy_config_accesslog_v3_ExtensionFilter);
|
||||
/**
|
||||
* Metadata Filter
|
||||
*/
|
||||
'metadata_filter'?: (_envoy_config_accesslog_v3_MetadataFilter);
|
||||
'filter_specifier'?: "status_code_filter"|"duration_filter"|"not_health_check_filter"|"traceable_filter"|"runtime_filter"|"and_filter"|"or_filter"|"header_filter"|"response_flag_filter"|"grpc_status_filter"|"extension_filter"|"metadata_filter";
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 13]
|
||||
*/
|
||||
export interface AccessLogFilter__Output {
|
||||
/**
|
||||
* Status code filter.
|
||||
*/
|
||||
'status_code_filter'?: (_envoy_config_accesslog_v3_StatusCodeFilter__Output);
|
||||
/**
|
||||
* Duration filter.
|
||||
*/
|
||||
'duration_filter'?: (_envoy_config_accesslog_v3_DurationFilter__Output);
|
||||
/**
|
||||
* Not health check filter.
|
||||
*/
|
||||
'not_health_check_filter'?: (_envoy_config_accesslog_v3_NotHealthCheckFilter__Output);
|
||||
/**
|
||||
* Traceable filter.
|
||||
*/
|
||||
'traceable_filter'?: (_envoy_config_accesslog_v3_TraceableFilter__Output);
|
||||
/**
|
||||
* Runtime filter.
|
||||
*/
|
||||
'runtime_filter'?: (_envoy_config_accesslog_v3_RuntimeFilter__Output);
|
||||
/**
|
||||
* And filter.
|
||||
*/
|
||||
'and_filter'?: (_envoy_config_accesslog_v3_AndFilter__Output);
|
||||
/**
|
||||
* Or filter.
|
||||
*/
|
||||
'or_filter'?: (_envoy_config_accesslog_v3_OrFilter__Output);
|
||||
/**
|
||||
* Header filter.
|
||||
*/
|
||||
'header_filter'?: (_envoy_config_accesslog_v3_HeaderFilter__Output);
|
||||
/**
|
||||
* Response flag filter.
|
||||
*/
|
||||
'response_flag_filter'?: (_envoy_config_accesslog_v3_ResponseFlagFilter__Output);
|
||||
/**
|
||||
* gRPC status filter.
|
||||
*/
|
||||
'grpc_status_filter'?: (_envoy_config_accesslog_v3_GrpcStatusFilter__Output);
|
||||
/**
|
||||
* Extension filter.
|
||||
*/
|
||||
'extension_filter'?: (_envoy_config_accesslog_v3_ExtensionFilter__Output);
|
||||
/**
|
||||
* Metadata Filter
|
||||
*/
|
||||
'metadata_filter'?: (_envoy_config_accesslog_v3_MetadataFilter__Output);
|
||||
'filter_specifier': "status_code_filter"|"duration_filter"|"not_health_check_filter"|"traceable_filter"|"runtime_filter"|"and_filter"|"or_filter"|"header_filter"|"response_flag_filter"|"grpc_status_filter"|"extension_filter"|"metadata_filter";
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
// Original file: deps/envoy-api/envoy/config/filter/accesslog/v2/accesslog.proto
|
||||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
import type { AccessLogFilter as _envoy_config_filter_accesslog_v2_AccessLogFilter, AccessLogFilter__Output as _envoy_config_filter_accesslog_v2_AccessLogFilter__Output } from '../../../../../envoy/config/filter/accesslog/v2/AccessLogFilter';
|
||||
import type { AccessLogFilter as _envoy_config_accesslog_v3_AccessLogFilter, AccessLogFilter__Output as _envoy_config_accesslog_v3_AccessLogFilter__Output } from '../../../../envoy/config/accesslog/v3/AccessLogFilter';
|
||||
|
||||
/**
|
||||
* Performs a logical “and” operation on the result of each filter in filters.
|
||||
|
@ -8,7 +8,7 @@ import type { AccessLogFilter as _envoy_config_filter_accesslog_v2_AccessLogFilt
|
|||
* filter returns false immediately.
|
||||
*/
|
||||
export interface AndFilter {
|
||||
'filters'?: (_envoy_config_filter_accesslog_v2_AccessLogFilter)[];
|
||||
'filters'?: (_envoy_config_accesslog_v3_AccessLogFilter)[];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -17,5 +17,5 @@ export interface AndFilter {
|
|||
* filter returns false immediately.
|
||||
*/
|
||||
export interface AndFilter__Output {
|
||||
'filters': (_envoy_config_filter_accesslog_v2_AccessLogFilter__Output)[];
|
||||
'filters': (_envoy_config_accesslog_v3_AccessLogFilter__Output)[];
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
import type { RuntimeUInt32 as _envoy_config_core_v3_RuntimeUInt32, RuntimeUInt32__Output as _envoy_config_core_v3_RuntimeUInt32__Output } from '../../../../envoy/config/core/v3/RuntimeUInt32';
|
||||
|
||||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
export enum _envoy_config_accesslog_v3_ComparisonFilter_Op {
|
||||
/**
|
||||
* =
|
||||
*/
|
||||
EQ = 0,
|
||||
/**
|
||||
* >=
|
||||
*/
|
||||
GE = 1,
|
||||
/**
|
||||
* <=
|
||||
*/
|
||||
LE = 2,
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter on an integer comparison.
|
||||
*/
|
||||
export interface ComparisonFilter {
|
||||
/**
|
||||
* Comparison operator.
|
||||
*/
|
||||
'op'?: (_envoy_config_accesslog_v3_ComparisonFilter_Op | keyof typeof _envoy_config_accesslog_v3_ComparisonFilter_Op);
|
||||
/**
|
||||
* Value to compare against.
|
||||
*/
|
||||
'value'?: (_envoy_config_core_v3_RuntimeUInt32);
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter on an integer comparison.
|
||||
*/
|
||||
export interface ComparisonFilter__Output {
|
||||
/**
|
||||
* Comparison operator.
|
||||
*/
|
||||
'op': (keyof typeof _envoy_config_accesslog_v3_ComparisonFilter_Op);
|
||||
/**
|
||||
* Value to compare against.
|
||||
*/
|
||||
'value'?: (_envoy_config_core_v3_RuntimeUInt32__Output);
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
import type { ComparisonFilter as _envoy_config_accesslog_v3_ComparisonFilter, ComparisonFilter__Output as _envoy_config_accesslog_v3_ComparisonFilter__Output } from '../../../../envoy/config/accesslog/v3/ComparisonFilter';
|
||||
|
||||
/**
|
||||
* Filters on total request duration in milliseconds.
|
||||
*/
|
||||
export interface DurationFilter {
|
||||
/**
|
||||
* Comparison.
|
||||
*/
|
||||
'comparison'?: (_envoy_config_accesslog_v3_ComparisonFilter);
|
||||
}
|
||||
|
||||
/**
|
||||
* Filters on total request duration in milliseconds.
|
||||
*/
|
||||
export interface DurationFilter__Output {
|
||||
/**
|
||||
* Comparison.
|
||||
*/
|
||||
'comparison'?: (_envoy_config_accesslog_v3_ComparisonFilter__Output);
|
||||
}
|
|
@ -1,7 +1,6 @@
|
|||
// Original file: deps/envoy-api/envoy/config/filter/accesslog/v2/accesslog.proto
|
||||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
import type { Struct as _google_protobuf_Struct, Struct__Output as _google_protobuf_Struct__Output } from '../../../../../google/protobuf/Struct';
|
||||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../../google/protobuf/Any';
|
||||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../google/protobuf/Any';
|
||||
|
||||
/**
|
||||
* Extension filter is statically registered at runtime.
|
||||
|
@ -12,12 +11,11 @@ export interface ExtensionFilter {
|
|||
* match a statically registered filter.
|
||||
*/
|
||||
'name'?: (string);
|
||||
'config'?: (_google_protobuf_Struct);
|
||||
'typed_config'?: (_google_protobuf_Any);
|
||||
/**
|
||||
* Custom configuration that depends on the filter being instantiated.
|
||||
*/
|
||||
'config_type'?: "config"|"typed_config";
|
||||
'config_type'?: "typed_config";
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -29,10 +27,9 @@ export interface ExtensionFilter__Output {
|
|||
* match a statically registered filter.
|
||||
*/
|
||||
'name': (string);
|
||||
'config'?: (_google_protobuf_Struct__Output);
|
||||
'typed_config'?: (_google_protobuf_Any__Output);
|
||||
/**
|
||||
* Custom configuration that depends on the filter being instantiated.
|
||||
*/
|
||||
'config_type': "config"|"typed_config";
|
||||
'config_type': "typed_config";
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
// Original file: deps/envoy-api/envoy/config/filter/accesslog/v2/accesslog.proto
|
||||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
|
||||
// Original file: deps/envoy-api/envoy/config/filter/accesslog/v2/accesslog.proto
|
||||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
export enum _envoy_config_filter_accesslog_v2_GrpcStatusFilter_Status {
|
||||
export enum _envoy_config_accesslog_v3_GrpcStatusFilter_Status {
|
||||
OK = 0,
|
||||
CANCELED = 1,
|
||||
UNKNOWN = 2,
|
||||
|
@ -24,33 +24,35 @@ export enum _envoy_config_filter_accesslog_v2_GrpcStatusFilter_Status {
|
|||
}
|
||||
|
||||
/**
|
||||
* Filters gRPC requests based on their response status. If a gRPC status is not provided, the
|
||||
* filter will infer the status from the HTTP status code.
|
||||
* Filters gRPC requests based on their response status. If a gRPC status is not
|
||||
* provided, the filter will infer the status from the HTTP status code.
|
||||
*/
|
||||
export interface GrpcStatusFilter {
|
||||
/**
|
||||
* Logs only responses that have any one of the gRPC statuses in this field.
|
||||
*/
|
||||
'statuses'?: (_envoy_config_filter_accesslog_v2_GrpcStatusFilter_Status | keyof typeof _envoy_config_filter_accesslog_v2_GrpcStatusFilter_Status)[];
|
||||
'statuses'?: (_envoy_config_accesslog_v3_GrpcStatusFilter_Status | keyof typeof _envoy_config_accesslog_v3_GrpcStatusFilter_Status)[];
|
||||
/**
|
||||
* If included and set to true, the filter will instead block all responses with a gRPC status or
|
||||
* inferred gRPC status enumerated in statuses, and allow all other responses.
|
||||
* If included and set to true, the filter will instead block all responses
|
||||
* with a gRPC status or inferred gRPC status enumerated in statuses, and
|
||||
* allow all other responses.
|
||||
*/
|
||||
'exclude'?: (boolean);
|
||||
}
|
||||
|
||||
/**
|
||||
* Filters gRPC requests based on their response status. If a gRPC status is not provided, the
|
||||
* filter will infer the status from the HTTP status code.
|
||||
* Filters gRPC requests based on their response status. If a gRPC status is not
|
||||
* provided, the filter will infer the status from the HTTP status code.
|
||||
*/
|
||||
export interface GrpcStatusFilter__Output {
|
||||
/**
|
||||
* Logs only responses that have any one of the gRPC statuses in this field.
|
||||
*/
|
||||
'statuses': (keyof typeof _envoy_config_filter_accesslog_v2_GrpcStatusFilter_Status)[];
|
||||
'statuses': (keyof typeof _envoy_config_accesslog_v3_GrpcStatusFilter_Status)[];
|
||||
/**
|
||||
* If included and set to true, the filter will instead block all responses with a gRPC status or
|
||||
* inferred gRPC status enumerated in statuses, and allow all other responses.
|
||||
* If included and set to true, the filter will instead block all responses
|
||||
* with a gRPC status or inferred gRPC status enumerated in statuses, and
|
||||
* allow all other responses.
|
||||
*/
|
||||
'exclude': (boolean);
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
import type { HeaderMatcher as _envoy_config_route_v3_HeaderMatcher, HeaderMatcher__Output as _envoy_config_route_v3_HeaderMatcher__Output } from '../../../../envoy/config/route/v3/HeaderMatcher';
|
||||
|
||||
/**
|
||||
* Filters requests based on the presence or value of a request header.
|
||||
*/
|
||||
export interface HeaderFilter {
|
||||
/**
|
||||
* Only requests with a header which matches the specified HeaderMatcher will
|
||||
* pass the filter check.
|
||||
*/
|
||||
'header'?: (_envoy_config_route_v3_HeaderMatcher);
|
||||
}
|
||||
|
||||
/**
|
||||
* Filters requests based on the presence or value of a request header.
|
||||
*/
|
||||
export interface HeaderFilter__Output {
|
||||
/**
|
||||
* Only requests with a header which matches the specified HeaderMatcher will
|
||||
* pass the filter check.
|
||||
*/
|
||||
'header'?: (_envoy_config_route_v3_HeaderMatcher__Output);
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
import type { MetadataMatcher as _envoy_type_matcher_v3_MetadataMatcher, MetadataMatcher__Output as _envoy_type_matcher_v3_MetadataMatcher__Output } from '../../../../envoy/type/matcher/v3/MetadataMatcher';
|
||||
import type { BoolValue as _google_protobuf_BoolValue, BoolValue__Output as _google_protobuf_BoolValue__Output } from '../../../../google/protobuf/BoolValue';
|
||||
|
||||
/**
|
||||
* Filters based on matching dynamic metadata.
|
||||
* If the matcher path and key correspond to an existing key in dynamic
|
||||
* metadata, the request is logged only if the matcher value is equal to the
|
||||
* metadata value. If the matcher path and key *do not* correspond to an
|
||||
* existing key in dynamic metadata, the request is logged only if
|
||||
* match_if_key_not_found is "true" or unset.
|
||||
*/
|
||||
export interface MetadataFilter {
|
||||
/**
|
||||
* Matcher to check metadata for specified value. For example, to match on the
|
||||
* access_log_hint metadata, set the filter to "envoy.common" and the path to
|
||||
* "access_log_hint", and the value to "true".
|
||||
*/
|
||||
'matcher'?: (_envoy_type_matcher_v3_MetadataMatcher);
|
||||
/**
|
||||
* Default result if the key does not exist in dynamic metadata: if unset or
|
||||
* true, then log; if false, then don't log.
|
||||
*/
|
||||
'match_if_key_not_found'?: (_google_protobuf_BoolValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* Filters based on matching dynamic metadata.
|
||||
* If the matcher path and key correspond to an existing key in dynamic
|
||||
* metadata, the request is logged only if the matcher value is equal to the
|
||||
* metadata value. If the matcher path and key *do not* correspond to an
|
||||
* existing key in dynamic metadata, the request is logged only if
|
||||
* match_if_key_not_found is "true" or unset.
|
||||
*/
|
||||
export interface MetadataFilter__Output {
|
||||
/**
|
||||
* Matcher to check metadata for specified value. For example, to match on the
|
||||
* access_log_hint metadata, set the filter to "envoy.common" and the path to
|
||||
* "access_log_hint", and the value to "true".
|
||||
*/
|
||||
'matcher'?: (_envoy_type_matcher_v3_MetadataMatcher__Output);
|
||||
/**
|
||||
* Default result if the key does not exist in dynamic metadata: if unset or
|
||||
* true, then log; if false, then don't log.
|
||||
*/
|
||||
'match_if_key_not_found'?: (_google_protobuf_BoolValue__Output);
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
// Original file: deps/envoy-api/envoy/config/filter/accesslog/v2/accesslog.proto
|
||||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
|
||||
/**
|
|
@ -1,6 +1,6 @@
|
|||
// Original file: deps/envoy-api/envoy/config/filter/accesslog/v2/accesslog.proto
|
||||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
import type { AccessLogFilter as _envoy_config_filter_accesslog_v2_AccessLogFilter, AccessLogFilter__Output as _envoy_config_filter_accesslog_v2_AccessLogFilter__Output } from '../../../../../envoy/config/filter/accesslog/v2/AccessLogFilter';
|
||||
import type { AccessLogFilter as _envoy_config_accesslog_v3_AccessLogFilter, AccessLogFilter__Output as _envoy_config_accesslog_v3_AccessLogFilter__Output } from '../../../../envoy/config/accesslog/v3/AccessLogFilter';
|
||||
|
||||
/**
|
||||
* Performs a logical “or” operation on the result of each individual filter.
|
||||
|
@ -8,7 +8,7 @@ import type { AccessLogFilter as _envoy_config_filter_accesslog_v2_AccessLogFilt
|
|||
* filter returns true immediately.
|
||||
*/
|
||||
export interface OrFilter {
|
||||
'filters'?: (_envoy_config_filter_accesslog_v2_AccessLogFilter)[];
|
||||
'filters'?: (_envoy_config_accesslog_v3_AccessLogFilter)[];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -17,5 +17,5 @@ export interface OrFilter {
|
|||
* filter returns true immediately.
|
||||
*/
|
||||
export interface OrFilter__Output {
|
||||
'filters': (_envoy_config_filter_accesslog_v2_AccessLogFilter__Output)[];
|
||||
'filters': (_envoy_config_accesslog_v3_AccessLogFilter__Output)[];
|
||||
}
|
|
@ -1,16 +1,17 @@
|
|||
// Original file: deps/envoy-api/envoy/config/filter/accesslog/v2/accesslog.proto
|
||||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
|
||||
/**
|
||||
* Filters requests that received responses with an Envoy response flag set.
|
||||
* A list of the response flags can be found
|
||||
* in the access log formatter :ref:`documentation<config_access_log_format_response_flags>`.
|
||||
* in the access log formatter
|
||||
* :ref:`documentation<config_access_log_format_response_flags>`.
|
||||
*/
|
||||
export interface ResponseFlagFilter {
|
||||
/**
|
||||
* Only responses with the any of the flags listed in this field will be logged.
|
||||
* This field is optional. If it is not specified, then any response flag will pass
|
||||
* the filter check.
|
||||
* Only responses with the any of the flags listed in this field will be
|
||||
* logged. This field is optional. If it is not specified, then any response
|
||||
* flag will pass the filter check.
|
||||
*/
|
||||
'flags'?: (string)[];
|
||||
}
|
||||
|
@ -18,13 +19,14 @@ export interface ResponseFlagFilter {
|
|||
/**
|
||||
* Filters requests that received responses with an Envoy response flag set.
|
||||
* A list of the response flags can be found
|
||||
* in the access log formatter :ref:`documentation<config_access_log_format_response_flags>`.
|
||||
* in the access log formatter
|
||||
* :ref:`documentation<config_access_log_format_response_flags>`.
|
||||
*/
|
||||
export interface ResponseFlagFilter__Output {
|
||||
/**
|
||||
* Only responses with the any of the flags listed in this field will be logged.
|
||||
* This field is optional. If it is not specified, then any response flag will pass
|
||||
* the filter check.
|
||||
* Only responses with the any of the flags listed in this field will be
|
||||
* logged. This field is optional. If it is not specified, then any response
|
||||
* flag will pass the filter check.
|
||||
*/
|
||||
'flags': (string)[];
|
||||
}
|
|
@ -0,0 +1,73 @@
|
|||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
import type { FractionalPercent as _envoy_type_v3_FractionalPercent, FractionalPercent__Output as _envoy_type_v3_FractionalPercent__Output } from '../../../../envoy/type/v3/FractionalPercent';
|
||||
|
||||
/**
|
||||
* Filters for random sampling of requests.
|
||||
*/
|
||||
export interface RuntimeFilter {
|
||||
/**
|
||||
* Runtime key to get an optional overridden numerator for use in the
|
||||
* *percent_sampled* field. If found in runtime, this value will replace the
|
||||
* default numerator.
|
||||
*/
|
||||
'runtime_key'?: (string);
|
||||
/**
|
||||
* The default sampling percentage. If not specified, defaults to 0% with
|
||||
* denominator of 100.
|
||||
*/
|
||||
'percent_sampled'?: (_envoy_type_v3_FractionalPercent);
|
||||
/**
|
||||
* By default, sampling pivots on the header
|
||||
* :ref:`x-request-id<config_http_conn_man_headers_x-request-id>` being
|
||||
* present. If :ref:`x-request-id<config_http_conn_man_headers_x-request-id>`
|
||||
* is present, the filter will consistently sample across multiple hosts based
|
||||
* on the runtime key value and the value extracted from
|
||||
* :ref:`x-request-id<config_http_conn_man_headers_x-request-id>`. If it is
|
||||
* missing, or *use_independent_randomness* is set to true, the filter will
|
||||
* randomly sample based on the runtime key value alone.
|
||||
* *use_independent_randomness* can be used for logging kill switches within
|
||||
* complex nested :ref:`AndFilter
|
||||
* <envoy_api_msg_config.accesslog.v3.AndFilter>` and :ref:`OrFilter
|
||||
* <envoy_api_msg_config.accesslog.v3.OrFilter>` blocks that are easier to
|
||||
* reason about from a probability perspective (i.e., setting to true will
|
||||
* cause the filter to behave like an independent random variable when
|
||||
* composed within logical operator filters).
|
||||
*/
|
||||
'use_independent_randomness'?: (boolean);
|
||||
}
|
||||
|
||||
/**
|
||||
* Filters for random sampling of requests.
|
||||
*/
|
||||
export interface RuntimeFilter__Output {
|
||||
/**
|
||||
* Runtime key to get an optional overridden numerator for use in the
|
||||
* *percent_sampled* field. If found in runtime, this value will replace the
|
||||
* default numerator.
|
||||
*/
|
||||
'runtime_key': (string);
|
||||
/**
|
||||
* The default sampling percentage. If not specified, defaults to 0% with
|
||||
* denominator of 100.
|
||||
*/
|
||||
'percent_sampled'?: (_envoy_type_v3_FractionalPercent__Output);
|
||||
/**
|
||||
* By default, sampling pivots on the header
|
||||
* :ref:`x-request-id<config_http_conn_man_headers_x-request-id>` being
|
||||
* present. If :ref:`x-request-id<config_http_conn_man_headers_x-request-id>`
|
||||
* is present, the filter will consistently sample across multiple hosts based
|
||||
* on the runtime key value and the value extracted from
|
||||
* :ref:`x-request-id<config_http_conn_man_headers_x-request-id>`. If it is
|
||||
* missing, or *use_independent_randomness* is set to true, the filter will
|
||||
* randomly sample based on the runtime key value alone.
|
||||
* *use_independent_randomness* can be used for logging kill switches within
|
||||
* complex nested :ref:`AndFilter
|
||||
* <envoy_api_msg_config.accesslog.v3.AndFilter>` and :ref:`OrFilter
|
||||
* <envoy_api_msg_config.accesslog.v3.OrFilter>` blocks that are easier to
|
||||
* reason about from a probability perspective (i.e., setting to true will
|
||||
* cause the filter to behave like an independent random variable when
|
||||
* composed within logical operator filters).
|
||||
*/
|
||||
'use_independent_randomness': (boolean);
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
import type { ComparisonFilter as _envoy_config_accesslog_v3_ComparisonFilter, ComparisonFilter__Output as _envoy_config_accesslog_v3_ComparisonFilter__Output } from '../../../../envoy/config/accesslog/v3/ComparisonFilter';
|
||||
|
||||
/**
|
||||
* Filters on HTTP response/status code.
|
||||
*/
|
||||
export interface StatusCodeFilter {
|
||||
/**
|
||||
* Comparison.
|
||||
*/
|
||||
'comparison'?: (_envoy_config_accesslog_v3_ComparisonFilter);
|
||||
}
|
||||
|
||||
/**
|
||||
* Filters on HTTP response/status code.
|
||||
*/
|
||||
export interface StatusCodeFilter__Output {
|
||||
/**
|
||||
* Comparison.
|
||||
*/
|
||||
'comparison'?: (_envoy_config_accesslog_v3_ComparisonFilter__Output);
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
// Original file: deps/envoy-api/envoy/config/filter/accesslog/v2/accesslog.proto
|
||||
// Original file: deps/envoy-api/envoy/config/accesslog/v3/accesslog.proto
|
||||
|
||||
|
||||
/**
|
|
@ -1,10 +1,10 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/cluster/circuit_breaker.proto
|
||||
// Original file: deps/envoy-api/envoy/config/cluster/v3/circuit_breaker.proto
|
||||
|
||||
import type { RoutingPriority as _envoy_api_v2_core_RoutingPriority } from '../../../../envoy/api/v2/core/RoutingPriority';
|
||||
import type { RoutingPriority as _envoy_config_core_v3_RoutingPriority } from '../../../../envoy/config/core/v3/RoutingPriority';
|
||||
import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
|
||||
import type { Percent as _envoy_type_Percent, Percent__Output as _envoy_type_Percent__Output } from '../../../../envoy/type/Percent';
|
||||
import type { Percent as _envoy_type_v3_Percent, Percent__Output as _envoy_type_v3_Percent__Output } from '../../../../envoy/type/v3/Percent';
|
||||
|
||||
export interface _envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget {
|
||||
export interface _envoy_config_cluster_v3_CircuitBreakers_Thresholds_RetryBudget {
|
||||
/**
|
||||
* Specifies the limit on concurrent retries as a percentage of the sum of active requests and
|
||||
* active pending requests. For example, if there are 100 active requests and the
|
||||
|
@ -12,7 +12,7 @@ export interface _envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget {
|
|||
*
|
||||
* This parameter is optional. Defaults to 20%.
|
||||
*/
|
||||
'budget_percent'?: (_envoy_type_Percent);
|
||||
'budget_percent'?: (_envoy_type_v3_Percent);
|
||||
/**
|
||||
* Specifies the minimum retry concurrency allowed for the retry budget. The limit on the
|
||||
* number of active retries may never go below this number.
|
||||
|
@ -22,7 +22,7 @@ export interface _envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget {
|
|||
'min_retry_concurrency'?: (_google_protobuf_UInt32Value);
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget__Output {
|
||||
export interface _envoy_config_cluster_v3_CircuitBreakers_Thresholds_RetryBudget__Output {
|
||||
/**
|
||||
* Specifies the limit on concurrent retries as a percentage of the sum of active requests and
|
||||
* active pending requests. For example, if there are 100 active requests and the
|
||||
|
@ -30,7 +30,7 @@ export interface _envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget__O
|
|||
*
|
||||
* This parameter is optional. Defaults to 20%.
|
||||
*/
|
||||
'budget_percent'?: (_envoy_type_Percent__Output);
|
||||
'budget_percent'?: (_envoy_type_v3_Percent__Output);
|
||||
/**
|
||||
* Specifies the minimum retry concurrency allowed for the retry budget. The limit on the
|
||||
* number of active retries may never go below this number.
|
||||
|
@ -42,15 +42,15 @@ export interface _envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget__O
|
|||
|
||||
/**
|
||||
* A Thresholds defines CircuitBreaker settings for a
|
||||
* :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`.
|
||||
* :ref:`RoutingPriority<envoy_api_enum_config.core.v3.RoutingPriority>`.
|
||||
* [#next-free-field: 9]
|
||||
*/
|
||||
export interface _envoy_api_v2_cluster_CircuitBreakers_Thresholds {
|
||||
export interface _envoy_config_cluster_v3_CircuitBreakers_Thresholds {
|
||||
/**
|
||||
* The :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`
|
||||
* The :ref:`RoutingPriority<envoy_api_enum_config.core.v3.RoutingPriority>`
|
||||
* the specified CircuitBreaker settings apply to.
|
||||
*/
|
||||
'priority'?: (_envoy_api_v2_core_RoutingPriority | keyof typeof _envoy_api_v2_core_RoutingPriority);
|
||||
'priority'?: (_envoy_config_core_v3_RoutingPriority | keyof typeof _envoy_config_core_v3_RoutingPriority);
|
||||
/**
|
||||
* The maximum number of connections that Envoy will make to the upstream
|
||||
* cluster. If not specified, the default is 1024.
|
||||
|
@ -80,7 +80,7 @@ export interface _envoy_api_v2_cluster_CircuitBreakers_Thresholds {
|
|||
* If this field is set, the retry budget will override any configured retry circuit
|
||||
* breaker.
|
||||
*/
|
||||
'retry_budget'?: (_envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget);
|
||||
'retry_budget'?: (_envoy_config_cluster_v3_CircuitBreakers_Thresholds_RetryBudget);
|
||||
/**
|
||||
* If track_remaining is true, then stats will be published that expose
|
||||
* the number of resources remaining until the circuit breakers open. If
|
||||
|
@ -104,15 +104,15 @@ export interface _envoy_api_v2_cluster_CircuitBreakers_Thresholds {
|
|||
|
||||
/**
|
||||
* A Thresholds defines CircuitBreaker settings for a
|
||||
* :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`.
|
||||
* :ref:`RoutingPriority<envoy_api_enum_config.core.v3.RoutingPriority>`.
|
||||
* [#next-free-field: 9]
|
||||
*/
|
||||
export interface _envoy_api_v2_cluster_CircuitBreakers_Thresholds__Output {
|
||||
export interface _envoy_config_cluster_v3_CircuitBreakers_Thresholds__Output {
|
||||
/**
|
||||
* The :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`
|
||||
* The :ref:`RoutingPriority<envoy_api_enum_config.core.v3.RoutingPriority>`
|
||||
* the specified CircuitBreaker settings apply to.
|
||||
*/
|
||||
'priority': (keyof typeof _envoy_api_v2_core_RoutingPriority);
|
||||
'priority': (keyof typeof _envoy_config_core_v3_RoutingPriority);
|
||||
/**
|
||||
* The maximum number of connections that Envoy will make to the upstream
|
||||
* cluster. If not specified, the default is 1024.
|
||||
|
@ -142,7 +142,7 @@ export interface _envoy_api_v2_cluster_CircuitBreakers_Thresholds__Output {
|
|||
* If this field is set, the retry budget will override any configured retry circuit
|
||||
* breaker.
|
||||
*/
|
||||
'retry_budget'?: (_envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget__Output);
|
||||
'retry_budget'?: (_envoy_config_cluster_v3_CircuitBreakers_Thresholds_RetryBudget__Output);
|
||||
/**
|
||||
* If track_remaining is true, then stats will be published that expose
|
||||
* the number of resources remaining until the circuit breakers open. If
|
||||
|
@ -170,13 +170,13 @@ export interface _envoy_api_v2_cluster_CircuitBreakers_Thresholds__Output {
|
|||
*/
|
||||
export interface CircuitBreakers {
|
||||
/**
|
||||
* If multiple :ref:`Thresholds<envoy_api_msg_cluster.CircuitBreakers.Thresholds>`
|
||||
* are defined with the same :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`,
|
||||
* If multiple :ref:`Thresholds<envoy_api_msg_config.cluster.v3.CircuitBreakers.Thresholds>`
|
||||
* are defined with the same :ref:`RoutingPriority<envoy_api_enum_config.core.v3.RoutingPriority>`,
|
||||
* the first one in the list is used. If no Thresholds is defined for a given
|
||||
* :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`, the default values
|
||||
* :ref:`RoutingPriority<envoy_api_enum_config.core.v3.RoutingPriority>`, the default values
|
||||
* are used.
|
||||
*/
|
||||
'thresholds'?: (_envoy_api_v2_cluster_CircuitBreakers_Thresholds)[];
|
||||
'thresholds'?: (_envoy_config_cluster_v3_CircuitBreakers_Thresholds)[];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -185,11 +185,11 @@ export interface CircuitBreakers {
|
|||
*/
|
||||
export interface CircuitBreakers__Output {
|
||||
/**
|
||||
* If multiple :ref:`Thresholds<envoy_api_msg_cluster.CircuitBreakers.Thresholds>`
|
||||
* are defined with the same :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`,
|
||||
* If multiple :ref:`Thresholds<envoy_api_msg_config.cluster.v3.CircuitBreakers.Thresholds>`
|
||||
* are defined with the same :ref:`RoutingPriority<envoy_api_enum_config.core.v3.RoutingPriority>`,
|
||||
* the first one in the list is used. If no Thresholds is defined for a given
|
||||
* :ref:`RoutingPriority<envoy_api_enum_core.RoutingPriority>`, the default values
|
||||
* :ref:`RoutingPriority<envoy_api_enum_config.core.v3.RoutingPriority>`, the default values
|
||||
* are used.
|
||||
*/
|
||||
'thresholds': (_envoy_api_v2_cluster_CircuitBreakers_Thresholds__Output)[];
|
||||
'thresholds': (_envoy_config_cluster_v3_CircuitBreakers_Thresholds__Output)[];
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,19 @@
|
|||
// Original file: deps/envoy-api/envoy/config/cluster/v3/cluster.proto
|
||||
|
||||
import type { CollectionEntry as _xds_core_v3_CollectionEntry, CollectionEntry__Output as _xds_core_v3_CollectionEntry__Output } from '../../../../xds/core/v3/CollectionEntry';
|
||||
|
||||
/**
|
||||
* Cluster list collections. Entries are *Cluster* resources or references.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
export interface ClusterCollection {
|
||||
'entries'?: (_xds_core_v3_CollectionEntry);
|
||||
}
|
||||
|
||||
/**
|
||||
* Cluster list collections. Entries are *Cluster* resources or references.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
export interface ClusterCollection__Output {
|
||||
'entries'?: (_xds_core_v3_CollectionEntry__Output);
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/cluster/filter.proto
|
||||
// Original file: deps/envoy-api/envoy/config/cluster/v3/filter.proto
|
||||
|
||||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../google/protobuf/Any';
|
||||
|
|
@ -1,31 +1,20 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/cluster.proto
|
||||
// Original file: deps/envoy-api/envoy/config/cluster/v3/cluster.proto
|
||||
|
||||
import type { Struct as _google_protobuf_Struct, Struct__Output as _google_protobuf_Struct__Output } from '../../../google/protobuf/Struct';
|
||||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../google/protobuf/Any';
|
||||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../google/protobuf/Any';
|
||||
|
||||
export interface _envoy_api_v2_LoadBalancingPolicy_Policy {
|
||||
export interface _envoy_config_cluster_v3_LoadBalancingPolicy_Policy {
|
||||
/**
|
||||
* Required. The name of the LB policy.
|
||||
*/
|
||||
'name'?: (string);
|
||||
/**
|
||||
* Optional config for the LB policy.
|
||||
* No more than one of these two fields may be populated.
|
||||
*/
|
||||
'config'?: (_google_protobuf_Struct);
|
||||
'typed_config'?: (_google_protobuf_Any);
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_LoadBalancingPolicy_Policy__Output {
|
||||
export interface _envoy_config_cluster_v3_LoadBalancingPolicy_Policy__Output {
|
||||
/**
|
||||
* Required. The name of the LB policy.
|
||||
*/
|
||||
'name': (string);
|
||||
/**
|
||||
* Optional config for the LB policy.
|
||||
* No more than one of these two fields may be populated.
|
||||
*/
|
||||
'config'?: (_google_protobuf_Struct__Output);
|
||||
'typed_config'?: (_google_protobuf_Any__Output);
|
||||
}
|
||||
|
||||
|
@ -56,7 +45,7 @@ export interface LoadBalancingPolicy {
|
|||
* supports. This provides a mechanism for starting to use new LB policies that are not yet
|
||||
* supported by all clients.
|
||||
*/
|
||||
'policies'?: (_envoy_api_v2_LoadBalancingPolicy_Policy)[];
|
||||
'policies'?: (_envoy_config_cluster_v3_LoadBalancingPolicy_Policy)[];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -86,5 +75,5 @@ export interface LoadBalancingPolicy__Output {
|
|||
* supports. This provides a mechanism for starting to use new LB policies that are not yet
|
||||
* supported by all clients.
|
||||
*/
|
||||
'policies': (_envoy_api_v2_LoadBalancingPolicy_Policy__Output)[];
|
||||
'policies': (_envoy_config_cluster_v3_LoadBalancingPolicy_Policy__Output)[];
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/cluster/outlier_detection.proto
|
||||
// Original file: deps/envoy-api/envoy/config/cluster/v3/outlier_detection.proto
|
||||
|
||||
import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
|
||||
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
|
||||
|
@ -6,7 +6,7 @@ import type { Duration as _google_protobuf_Duration, Duration__Output as _google
|
|||
/**
|
||||
* See the :ref:`architecture overview <arch_overview_outlier_detection>` for
|
||||
* more information on outlier detection.
|
||||
* [#next-free-field: 21]
|
||||
* [#next-free-field: 22]
|
||||
*/
|
||||
export interface OutlierDetection {
|
||||
/**
|
||||
|
@ -23,7 +23,8 @@ export interface OutlierDetection {
|
|||
'interval'?: (_google_protobuf_Duration);
|
||||
/**
|
||||
* The base time that a host is ejected for. The real time is equal to the
|
||||
* base time multiplied by the number of times the host has been ejected.
|
||||
* base time multiplied by the number of times the host has been ejected and is
|
||||
* capped by :ref:`max_ejection_time<envoy_api_field_config.cluster.v3.OutlierDetection.max_ejection_time>`.
|
||||
* Defaults to 30000ms or 30s.
|
||||
*/
|
||||
'base_ejection_time'?: (_google_protobuf_Duration);
|
||||
|
@ -83,17 +84,17 @@ export interface OutlierDetection {
|
|||
/**
|
||||
* Determines whether to distinguish local origin failures from external errors. If set to true
|
||||
* the following configuration parameters are taken into account:
|
||||
* :ref:`consecutive_local_origin_failure<envoy_api_field_cluster.OutlierDetection.consecutive_local_origin_failure>`,
|
||||
* :ref:`enforcing_consecutive_local_origin_failure<envoy_api_field_cluster.OutlierDetection.enforcing_consecutive_local_origin_failure>`
|
||||
* :ref:`consecutive_local_origin_failure<envoy_api_field_config.cluster.v3.OutlierDetection.consecutive_local_origin_failure>`,
|
||||
* :ref:`enforcing_consecutive_local_origin_failure<envoy_api_field_config.cluster.v3.OutlierDetection.enforcing_consecutive_local_origin_failure>`
|
||||
* and
|
||||
* :ref:`enforcing_local_origin_success_rate<envoy_api_field_cluster.OutlierDetection.enforcing_local_origin_success_rate>`.
|
||||
* :ref:`enforcing_local_origin_success_rate<envoy_api_field_config.cluster.v3.OutlierDetection.enforcing_local_origin_success_rate>`.
|
||||
* Defaults to false.
|
||||
*/
|
||||
'split_external_local_origin_errors'?: (boolean);
|
||||
/**
|
||||
* The number of consecutive locally originated failures before ejection
|
||||
* occurs. Defaults to 5. Parameter takes effect only when
|
||||
* :ref:`split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
|
||||
* :ref:`split_external_local_origin_errors<envoy_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
|
||||
* is set to true.
|
||||
*/
|
||||
'consecutive_local_origin_failure'?: (_google_protobuf_UInt32Value);
|
||||
|
@ -102,7 +103,7 @@ export interface OutlierDetection {
|
|||
* is detected through consecutive locally originated failures. This setting can be
|
||||
* used to disable ejection or to ramp it up slowly. Defaults to 100.
|
||||
* Parameter takes effect only when
|
||||
* :ref:`split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
|
||||
* :ref:`split_external_local_origin_errors<envoy_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
|
||||
* is set to true.
|
||||
*/
|
||||
'enforcing_consecutive_local_origin_failure'?: (_google_protobuf_UInt32Value);
|
||||
|
@ -111,7 +112,7 @@ export interface OutlierDetection {
|
|||
* is detected through success rate statistics for locally originated errors.
|
||||
* This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100.
|
||||
* Parameter takes effect only when
|
||||
* :ref:`split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
|
||||
* :ref:`split_external_local_origin_errors<envoy_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
|
||||
* is set to true.
|
||||
*/
|
||||
'enforcing_local_origin_success_rate'?: (_google_protobuf_UInt32Value);
|
||||
|
@ -149,12 +150,18 @@ export interface OutlierDetection {
|
|||
* this host. Defaults to 50.
|
||||
*/
|
||||
'failure_percentage_request_volume'?: (_google_protobuf_UInt32Value);
|
||||
/**
|
||||
* The maximum time that a host is ejected for. See :ref:`base_ejection_time<envoy_api_field_config.cluster.v3.OutlierDetection.base_ejection_time>`
|
||||
* for more information.
|
||||
* Defaults to 300000ms or 300s.
|
||||
*/
|
||||
'max_ejection_time'?: (_google_protobuf_Duration);
|
||||
}
|
||||
|
||||
/**
|
||||
* See the :ref:`architecture overview <arch_overview_outlier_detection>` for
|
||||
* more information on outlier detection.
|
||||
* [#next-free-field: 21]
|
||||
* [#next-free-field: 22]
|
||||
*/
|
||||
export interface OutlierDetection__Output {
|
||||
/**
|
||||
|
@ -171,7 +178,8 @@ export interface OutlierDetection__Output {
|
|||
'interval'?: (_google_protobuf_Duration__Output);
|
||||
/**
|
||||
* The base time that a host is ejected for. The real time is equal to the
|
||||
* base time multiplied by the number of times the host has been ejected.
|
||||
* base time multiplied by the number of times the host has been ejected and is
|
||||
* capped by :ref:`max_ejection_time<envoy_api_field_config.cluster.v3.OutlierDetection.max_ejection_time>`.
|
||||
* Defaults to 30000ms or 30s.
|
||||
*/
|
||||
'base_ejection_time'?: (_google_protobuf_Duration__Output);
|
||||
|
@ -231,17 +239,17 @@ export interface OutlierDetection__Output {
|
|||
/**
|
||||
* Determines whether to distinguish local origin failures from external errors. If set to true
|
||||
* the following configuration parameters are taken into account:
|
||||
* :ref:`consecutive_local_origin_failure<envoy_api_field_cluster.OutlierDetection.consecutive_local_origin_failure>`,
|
||||
* :ref:`enforcing_consecutive_local_origin_failure<envoy_api_field_cluster.OutlierDetection.enforcing_consecutive_local_origin_failure>`
|
||||
* :ref:`consecutive_local_origin_failure<envoy_api_field_config.cluster.v3.OutlierDetection.consecutive_local_origin_failure>`,
|
||||
* :ref:`enforcing_consecutive_local_origin_failure<envoy_api_field_config.cluster.v3.OutlierDetection.enforcing_consecutive_local_origin_failure>`
|
||||
* and
|
||||
* :ref:`enforcing_local_origin_success_rate<envoy_api_field_cluster.OutlierDetection.enforcing_local_origin_success_rate>`.
|
||||
* :ref:`enforcing_local_origin_success_rate<envoy_api_field_config.cluster.v3.OutlierDetection.enforcing_local_origin_success_rate>`.
|
||||
* Defaults to false.
|
||||
*/
|
||||
'split_external_local_origin_errors': (boolean);
|
||||
/**
|
||||
* The number of consecutive locally originated failures before ejection
|
||||
* occurs. Defaults to 5. Parameter takes effect only when
|
||||
* :ref:`split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
|
||||
* :ref:`split_external_local_origin_errors<envoy_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
|
||||
* is set to true.
|
||||
*/
|
||||
'consecutive_local_origin_failure'?: (_google_protobuf_UInt32Value__Output);
|
||||
|
@ -250,7 +258,7 @@ export interface OutlierDetection__Output {
|
|||
* is detected through consecutive locally originated failures. This setting can be
|
||||
* used to disable ejection or to ramp it up slowly. Defaults to 100.
|
||||
* Parameter takes effect only when
|
||||
* :ref:`split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
|
||||
* :ref:`split_external_local_origin_errors<envoy_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
|
||||
* is set to true.
|
||||
*/
|
||||
'enforcing_consecutive_local_origin_failure'?: (_google_protobuf_UInt32Value__Output);
|
||||
|
@ -259,7 +267,7 @@ export interface OutlierDetection__Output {
|
|||
* is detected through success rate statistics for locally originated errors.
|
||||
* This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100.
|
||||
* Parameter takes effect only when
|
||||
* :ref:`split_external_local_origin_errors<envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors>`
|
||||
* :ref:`split_external_local_origin_errors<envoy_api_field_config.cluster.v3.OutlierDetection.split_external_local_origin_errors>`
|
||||
* is set to true.
|
||||
*/
|
||||
'enforcing_local_origin_success_rate'?: (_google_protobuf_UInt32Value__Output);
|
||||
|
@ -297,4 +305,10 @@ export interface OutlierDetection__Output {
|
|||
* this host. Defaults to 50.
|
||||
*/
|
||||
'failure_percentage_request_volume'?: (_google_protobuf_UInt32Value__Output);
|
||||
/**
|
||||
* The maximum time that a host is ejected for. See :ref:`base_ejection_time<envoy_api_field_config.cluster.v3.OutlierDetection.base_ejection_time>`
|
||||
* for more information.
|
||||
* Defaults to 300000ms or 300s.
|
||||
*/
|
||||
'max_ejection_time'?: (_google_protobuf_Duration__Output);
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
// Original file: deps/envoy-api/envoy/config/cluster/v3/cluster.proto
|
||||
|
||||
|
||||
export interface TrackClusterStats {
|
||||
/**
|
||||
* If timeout_budgets is true, the :ref:`timeout budget histograms
|
||||
* <config_cluster_manager_cluster_stats_timeout_budgets>` will be published for each
|
||||
* request. These show what percentage of a request's per try and global timeout was used. A value
|
||||
* of 0 would indicate that none of the timeout was used or that the timeout was infinite. A value
|
||||
* of 100 would indicate that the request took the entirety of the timeout given to it.
|
||||
*/
|
||||
'timeout_budgets'?: (boolean);
|
||||
/**
|
||||
* If request_response_sizes is true, then the :ref:`histograms
|
||||
* <config_cluster_manager_cluster_stats_request_response_sizes>` tracking header and body sizes
|
||||
* of requests and responses will be published.
|
||||
*/
|
||||
'request_response_sizes'?: (boolean);
|
||||
}
|
||||
|
||||
export interface TrackClusterStats__Output {
|
||||
/**
|
||||
* If timeout_budgets is true, the :ref:`timeout budget histograms
|
||||
* <config_cluster_manager_cluster_stats_timeout_budgets>` will be published for each
|
||||
* request. These show what percentage of a request's per try and global timeout was used. A value
|
||||
* of 0 would indicate that none of the timeout was used or that the timeout was infinite. A value
|
||||
* of 100 would indicate that the request took the entirety of the timeout given to it.
|
||||
*/
|
||||
'timeout_budgets': (boolean);
|
||||
/**
|
||||
* If request_response_sizes is true, then the :ref:`histograms
|
||||
* <config_cluster_manager_cluster_stats_request_response_sizes>` tracking header and body sizes
|
||||
* of requests and responses will be published.
|
||||
*/
|
||||
'request_response_sizes': (boolean);
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/cluster.proto
|
||||
// Original file: deps/envoy-api/envoy/config/cluster/v3/cluster.proto
|
||||
|
||||
import type { Address as _envoy_api_v2_core_Address, Address__Output as _envoy_api_v2_core_Address__Output } from '../../../envoy/api/v2/core/Address';
|
||||
import type { Address as _envoy_config_core_v3_Address, Address__Output as _envoy_config_core_v3_Address__Output } from '../../../../envoy/config/core/v3/Address';
|
||||
|
||||
/**
|
||||
* An extensible structure containing the address Envoy should bind to when
|
||||
|
@ -10,7 +10,7 @@ export interface UpstreamBindConfig {
|
|||
/**
|
||||
* The address Envoy should bind to when establishing upstream connections.
|
||||
*/
|
||||
'source_address'?: (_envoy_api_v2_core_Address);
|
||||
'source_address'?: (_envoy_config_core_v3_Address);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -21,5 +21,5 @@ export interface UpstreamBindConfig__Output {
|
|||
/**
|
||||
* The address Envoy should bind to when establishing upstream connections.
|
||||
*/
|
||||
'source_address'?: (_envoy_api_v2_core_Address__Output);
|
||||
'source_address'?: (_envoy_config_core_v3_Address__Output);
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Original file: deps/envoy-api/envoy/config/cluster/v3/cluster.proto
|
||||
|
||||
import type { TcpKeepalive as _envoy_config_core_v3_TcpKeepalive, TcpKeepalive__Output as _envoy_config_core_v3_TcpKeepalive__Output } from '../../../../envoy/config/core/v3/TcpKeepalive';
|
||||
|
||||
export interface UpstreamConnectionOptions {
|
||||
/**
|
||||
* If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
|
||||
*/
|
||||
'tcp_keepalive'?: (_envoy_config_core_v3_TcpKeepalive);
|
||||
}
|
||||
|
||||
export interface UpstreamConnectionOptions__Output {
|
||||
/**
|
||||
* If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
|
||||
*/
|
||||
'tcp_keepalive'?: (_envoy_config_core_v3_TcpKeepalive__Output);
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/address.proto
|
||||
|
||||
import type { SocketAddress as _envoy_config_core_v3_SocketAddress, SocketAddress__Output as _envoy_config_core_v3_SocketAddress__Output } from '../../../../envoy/config/core/v3/SocketAddress';
|
||||
import type { Pipe as _envoy_config_core_v3_Pipe, Pipe__Output as _envoy_config_core_v3_Pipe__Output } from '../../../../envoy/config/core/v3/Pipe';
|
||||
import type { EnvoyInternalAddress as _envoy_config_core_v3_EnvoyInternalAddress, EnvoyInternalAddress__Output as _envoy_config_core_v3_EnvoyInternalAddress__Output } from '../../../../envoy/config/core/v3/EnvoyInternalAddress';
|
||||
|
||||
/**
|
||||
* Addresses specify either a logical or physical address and port, which are
|
||||
* used to tell Envoy where to bind/listen, connect to upstream and find
|
||||
* management servers.
|
||||
*/
|
||||
export interface Address {
|
||||
'socket_address'?: (_envoy_config_core_v3_SocketAddress);
|
||||
'pipe'?: (_envoy_config_core_v3_Pipe);
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'envoy_internal_address'?: (_envoy_config_core_v3_EnvoyInternalAddress);
|
||||
'address'?: "socket_address"|"pipe"|"envoy_internal_address";
|
||||
}
|
||||
|
||||
/**
|
||||
* Addresses specify either a logical or physical address and port, which are
|
||||
* used to tell Envoy where to bind/listen, connect to upstream and find
|
||||
* management servers.
|
||||
*/
|
||||
export interface Address__Output {
|
||||
'socket_address'?: (_envoy_config_core_v3_SocketAddress__Output);
|
||||
'pipe'?: (_envoy_config_core_v3_Pipe__Output);
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'envoy_internal_address'?: (_envoy_config_core_v3_EnvoyInternalAddress__Output);
|
||||
'address': "socket_address"|"pipe"|"envoy_internal_address";
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/core/config_source.proto
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/config_source.proto
|
||||
|
||||
|
||||
/**
|
||||
* Aggregated Discovery Service (ADS) options. This is currently empty, but when
|
||||
* set in :ref:`ConfigSource <envoy_api_msg_core.ConfigSource>` can be used to
|
||||
* set in :ref:`ConfigSource <envoy_api_msg_config.core.v3.ConfigSource>` can be used to
|
||||
* specify that ADS is to be used.
|
||||
*/
|
||||
export interface AggregatedConfigSource {
|
||||
|
@ -11,7 +11,7 @@ export interface AggregatedConfigSource {
|
|||
|
||||
/**
|
||||
* Aggregated Discovery Service (ADS) options. This is currently empty, but when
|
||||
* set in :ref:`ConfigSource <envoy_api_msg_core.ConfigSource>` can be used to
|
||||
* set in :ref:`ConfigSource <envoy_api_msg_config.core.v3.ConfigSource>` can be used to
|
||||
* specify that ADS is to be used.
|
||||
*/
|
||||
export interface AggregatedConfigSource__Output {
|
|
@ -1,21 +1,21 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/core/config_source.proto
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/config_source.proto
|
||||
|
||||
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
|
||||
import type { GrpcService as _envoy_api_v2_core_GrpcService, GrpcService__Output as _envoy_api_v2_core_GrpcService__Output } from '../../../../envoy/api/v2/core/GrpcService';
|
||||
import type { RateLimitSettings as _envoy_api_v2_core_RateLimitSettings, RateLimitSettings__Output as _envoy_api_v2_core_RateLimitSettings__Output } from '../../../../envoy/api/v2/core/RateLimitSettings';
|
||||
import type { ApiVersion as _envoy_api_v2_core_ApiVersion } from '../../../../envoy/api/v2/core/ApiVersion';
|
||||
import type { GrpcService as _envoy_config_core_v3_GrpcService, GrpcService__Output as _envoy_config_core_v3_GrpcService__Output } from '../../../../envoy/config/core/v3/GrpcService';
|
||||
import type { RateLimitSettings as _envoy_config_core_v3_RateLimitSettings, RateLimitSettings__Output as _envoy_config_core_v3_RateLimitSettings__Output } from '../../../../envoy/config/core/v3/RateLimitSettings';
|
||||
import type { ApiVersion as _envoy_config_core_v3_ApiVersion } from '../../../../envoy/config/core/v3/ApiVersion';
|
||||
|
||||
// Original file: deps/envoy-api/envoy/api/v2/core/config_source.proto
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/config_source.proto
|
||||
|
||||
/**
|
||||
* APIs may be fetched via either REST or gRPC.
|
||||
*/
|
||||
export enum _envoy_api_v2_core_ApiConfigSource_ApiType {
|
||||
export enum _envoy_config_core_v3_ApiConfigSource_ApiType {
|
||||
/**
|
||||
* Ideally this would be 'reserved 0' but one can't reserve the default
|
||||
* value. Instead we throw an exception if this is ever used.
|
||||
*/
|
||||
UNSUPPORTED_REST_LEGACY = 0,
|
||||
DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE = 0,
|
||||
/**
|
||||
* REST-JSON v2 API. The `canonical JSON encoding
|
||||
* <https://developers.google.com/protocol-buffers/docs/proto3#json>`_ for
|
||||
|
@ -23,7 +23,7 @@ export enum _envoy_api_v2_core_ApiConfigSource_ApiType {
|
|||
*/
|
||||
REST = 1,
|
||||
/**
|
||||
* gRPC v2 API.
|
||||
* SotW gRPC service.
|
||||
*/
|
||||
GRPC = 2,
|
||||
/**
|
||||
|
@ -32,6 +32,18 @@ export enum _envoy_api_v2_core_ApiConfigSource_ApiType {
|
|||
* with every update, the xDS server only sends what has changed since the last update.
|
||||
*/
|
||||
DELTA_GRPC = 3,
|
||||
/**
|
||||
* SotW xDS gRPC with ADS. All resources which resolve to this configuration source will be
|
||||
* multiplexed on a single connection to an ADS endpoint.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
AGGREGATED_GRPC = 5,
|
||||
/**
|
||||
* Delta xDS gRPC with ADS. All resources which resolve to this configuration source will be
|
||||
* multiplexed on a single connection to an ADS endpoint.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
AGGREGATED_DELTA_GRPC = 6,
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -43,7 +55,7 @@ export interface ApiConfigSource {
|
|||
/**
|
||||
* API type (gRPC, REST, delta gRPC)
|
||||
*/
|
||||
'api_type'?: (_envoy_api_v2_core_ApiConfigSource_ApiType | keyof typeof _envoy_api_v2_core_ApiConfigSource_ApiType);
|
||||
'api_type'?: (_envoy_config_core_v3_ApiConfigSource_ApiType | keyof typeof _envoy_config_core_v3_ApiConfigSource_ApiType);
|
||||
/**
|
||||
* Cluster names should be used only with REST. If > 1
|
||||
* cluster is defined, clusters will be cycled through if any kind of failure
|
||||
|
@ -63,7 +75,7 @@ export interface ApiConfigSource {
|
|||
* Multiple gRPC services be provided for GRPC. If > 1 cluster is defined,
|
||||
* services will be cycled through if any kind of failure occurs.
|
||||
*/
|
||||
'grpc_services'?: (_envoy_api_v2_core_GrpcService)[];
|
||||
'grpc_services'?: (_envoy_config_core_v3_GrpcService)[];
|
||||
/**
|
||||
* For REST APIs, the request timeout. If not set, a default value of 1s will be used.
|
||||
*/
|
||||
|
@ -72,7 +84,7 @@ export interface ApiConfigSource {
|
|||
* For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
|
||||
* rate limited.
|
||||
*/
|
||||
'rate_limit_settings'?: (_envoy_api_v2_core_RateLimitSettings);
|
||||
'rate_limit_settings'?: (_envoy_config_core_v3_RateLimitSettings);
|
||||
/**
|
||||
* Skip the node identifier in subsequent discovery requests for streaming gRPC config types.
|
||||
*/
|
||||
|
@ -81,7 +93,7 @@ export interface ApiConfigSource {
|
|||
* API version for xDS transport protocol. This describes the xDS gRPC/REST
|
||||
* endpoint and version of [Delta]DiscoveryRequest/Response used on the wire.
|
||||
*/
|
||||
'transport_api_version'?: (_envoy_api_v2_core_ApiVersion | keyof typeof _envoy_api_v2_core_ApiVersion);
|
||||
'transport_api_version'?: (_envoy_config_core_v3_ApiVersion | keyof typeof _envoy_config_core_v3_ApiVersion);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -93,7 +105,7 @@ export interface ApiConfigSource__Output {
|
|||
/**
|
||||
* API type (gRPC, REST, delta gRPC)
|
||||
*/
|
||||
'api_type': (keyof typeof _envoy_api_v2_core_ApiConfigSource_ApiType);
|
||||
'api_type': (keyof typeof _envoy_config_core_v3_ApiConfigSource_ApiType);
|
||||
/**
|
||||
* Cluster names should be used only with REST. If > 1
|
||||
* cluster is defined, clusters will be cycled through if any kind of failure
|
||||
|
@ -113,7 +125,7 @@ export interface ApiConfigSource__Output {
|
|||
* Multiple gRPC services be provided for GRPC. If > 1 cluster is defined,
|
||||
* services will be cycled through if any kind of failure occurs.
|
||||
*/
|
||||
'grpc_services': (_envoy_api_v2_core_GrpcService__Output)[];
|
||||
'grpc_services': (_envoy_config_core_v3_GrpcService__Output)[];
|
||||
/**
|
||||
* For REST APIs, the request timeout. If not set, a default value of 1s will be used.
|
||||
*/
|
||||
|
@ -122,7 +134,7 @@ export interface ApiConfigSource__Output {
|
|||
* For GRPC APIs, the rate limit settings. If present, discovery requests made by Envoy will be
|
||||
* rate limited.
|
||||
*/
|
||||
'rate_limit_settings'?: (_envoy_api_v2_core_RateLimitSettings__Output);
|
||||
'rate_limit_settings'?: (_envoy_config_core_v3_RateLimitSettings__Output);
|
||||
/**
|
||||
* Skip the node identifier in subsequent discovery requests for streaming gRPC config types.
|
||||
*/
|
||||
|
@ -131,5 +143,5 @@ export interface ApiConfigSource__Output {
|
|||
* API version for xDS transport protocol. This describes the xDS gRPC/REST
|
||||
* endpoint and version of [Delta]DiscoveryRequest/Response used on the wire.
|
||||
*/
|
||||
'transport_api_version': (keyof typeof _envoy_api_v2_core_ApiVersion);
|
||||
'transport_api_version': (keyof typeof _envoy_config_core_v3_ApiVersion);
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/core/config_source.proto
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/config_source.proto
|
||||
|
||||
/**
|
||||
* xDS API version. This is used to describe both resource and transport
|
||||
* xDS API and non-xDS services version. This is used to describe both resource and transport
|
||||
* protocol versions (in distinct configuration fields).
|
||||
*/
|
||||
export enum ApiVersion {
|
|
@ -0,0 +1,34 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
import type { DataSource as _envoy_config_core_v3_DataSource, DataSource__Output as _envoy_config_core_v3_DataSource__Output } from '../../../../envoy/config/core/v3/DataSource';
|
||||
import type { RemoteDataSource as _envoy_config_core_v3_RemoteDataSource, RemoteDataSource__Output as _envoy_config_core_v3_RemoteDataSource__Output } from '../../../../envoy/config/core/v3/RemoteDataSource';
|
||||
|
||||
/**
|
||||
* Async data source which support async data fetch.
|
||||
*/
|
||||
export interface AsyncDataSource {
|
||||
/**
|
||||
* Local async data source.
|
||||
*/
|
||||
'local'?: (_envoy_config_core_v3_DataSource);
|
||||
/**
|
||||
* Remote async data source.
|
||||
*/
|
||||
'remote'?: (_envoy_config_core_v3_RemoteDataSource);
|
||||
'specifier'?: "local"|"remote";
|
||||
}
|
||||
|
||||
/**
|
||||
* Async data source which support async data fetch.
|
||||
*/
|
||||
export interface AsyncDataSource__Output {
|
||||
/**
|
||||
* Local async data source.
|
||||
*/
|
||||
'local'?: (_envoy_config_core_v3_DataSource__Output);
|
||||
/**
|
||||
* Remote async data source.
|
||||
*/
|
||||
'remote'?: (_envoy_config_core_v3_RemoteDataSource__Output);
|
||||
'specifier': "local"|"remote";
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/backoff.proto
|
||||
|
||||
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
|
||||
|
||||
/**
|
||||
* Configuration defining a jittered exponential back off strategy.
|
||||
*/
|
||||
export interface BackoffStrategy {
|
||||
/**
|
||||
* The base interval to be used for the next back off computation. It should
|
||||
* be greater than zero and less than or equal to :ref:`max_interval
|
||||
* <envoy_api_field_config.core.v3.BackoffStrategy.max_interval>`.
|
||||
*/
|
||||
'base_interval'?: (_google_protobuf_Duration);
|
||||
/**
|
||||
* Specifies the maximum interval between retries. This parameter is optional,
|
||||
* but must be greater than or equal to the :ref:`base_interval
|
||||
* <envoy_api_field_config.core.v3.BackoffStrategy.base_interval>` if set. The default
|
||||
* is 10 times the :ref:`base_interval
|
||||
* <envoy_api_field_config.core.v3.BackoffStrategy.base_interval>`.
|
||||
*/
|
||||
'max_interval'?: (_google_protobuf_Duration);
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration defining a jittered exponential back off strategy.
|
||||
*/
|
||||
export interface BackoffStrategy__Output {
|
||||
/**
|
||||
* The base interval to be used for the next back off computation. It should
|
||||
* be greater than zero and less than or equal to :ref:`max_interval
|
||||
* <envoy_api_field_config.core.v3.BackoffStrategy.max_interval>`.
|
||||
*/
|
||||
'base_interval'?: (_google_protobuf_Duration__Output);
|
||||
/**
|
||||
* Specifies the maximum interval between retries. This parameter is optional,
|
||||
* but must be greater than or equal to the :ref:`base_interval
|
||||
* <envoy_api_field_config.core.v3.BackoffStrategy.base_interval>` if set. The default
|
||||
* is 10 times the :ref:`base_interval
|
||||
* <envoy_api_field_config.core.v3.BackoffStrategy.base_interval>`.
|
||||
*/
|
||||
'max_interval'?: (_google_protobuf_Duration__Output);
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/address.proto
|
||||
|
||||
import type { SocketAddress as _envoy_config_core_v3_SocketAddress, SocketAddress__Output as _envoy_config_core_v3_SocketAddress__Output } from '../../../../envoy/config/core/v3/SocketAddress';
|
||||
import type { BoolValue as _google_protobuf_BoolValue, BoolValue__Output as _google_protobuf_BoolValue__Output } from '../../../../google/protobuf/BoolValue';
|
||||
import type { SocketOption as _envoy_config_core_v3_SocketOption, SocketOption__Output as _envoy_config_core_v3_SocketOption__Output } from '../../../../envoy/config/core/v3/SocketOption';
|
||||
|
||||
export interface BindConfig {
|
||||
/**
|
||||
* The address to bind to when creating a socket.
|
||||
*/
|
||||
'source_address'?: (_envoy_config_core_v3_SocketAddress);
|
||||
/**
|
||||
* Whether to set the *IP_FREEBIND* option when creating the socket. When this
|
||||
* flag is set to true, allows the :ref:`source_address
|
||||
* <envoy_api_field_config.cluster.v3.UpstreamBindConfig.source_address>` to be an IP address
|
||||
* that is not configured on the system running Envoy. When this flag is set
|
||||
* to false, the option *IP_FREEBIND* is disabled on the socket. When this
|
||||
* flag is not set (default), the socket is not modified, i.e. the option is
|
||||
* neither enabled nor disabled.
|
||||
*/
|
||||
'freebind'?: (_google_protobuf_BoolValue);
|
||||
/**
|
||||
* Additional socket options that may not be present in Envoy source code or
|
||||
* precompiled binaries.
|
||||
*/
|
||||
'socket_options'?: (_envoy_config_core_v3_SocketOption)[];
|
||||
}
|
||||
|
||||
export interface BindConfig__Output {
|
||||
/**
|
||||
* The address to bind to when creating a socket.
|
||||
*/
|
||||
'source_address'?: (_envoy_config_core_v3_SocketAddress__Output);
|
||||
/**
|
||||
* Whether to set the *IP_FREEBIND* option when creating the socket. When this
|
||||
* flag is set to true, allows the :ref:`source_address
|
||||
* <envoy_api_field_config.cluster.v3.UpstreamBindConfig.source_address>` to be an IP address
|
||||
* that is not configured on the system running Envoy. When this flag is set
|
||||
* to false, the option *IP_FREEBIND* is disabled on the socket. When this
|
||||
* flag is not set (default), the socket is not modified, i.e. the option is
|
||||
* neither enabled nor disabled.
|
||||
*/
|
||||
'freebind'?: (_google_protobuf_BoolValue__Output);
|
||||
/**
|
||||
* Additional socket options that may not be present in Envoy source code or
|
||||
* precompiled binaries.
|
||||
*/
|
||||
'socket_options': (_envoy_config_core_v3_SocketOption__Output)[];
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
import type { SemanticVersion as _envoy_type_v3_SemanticVersion, SemanticVersion__Output as _envoy_type_v3_SemanticVersion__Output } from '../../../../envoy/type/v3/SemanticVersion';
|
||||
import type { Struct as _google_protobuf_Struct, Struct__Output as _google_protobuf_Struct__Output } from '../../../../google/protobuf/Struct';
|
||||
|
||||
/**
|
||||
* BuildVersion combines SemVer version of extension with free-form build information
|
||||
* (i.e. 'alpha', 'private-build') as a set of strings.
|
||||
*/
|
||||
export interface BuildVersion {
|
||||
/**
|
||||
* SemVer version of extension.
|
||||
*/
|
||||
'version'?: (_envoy_type_v3_SemanticVersion);
|
||||
/**
|
||||
* Free-form build information.
|
||||
* Envoy defines several well known keys in the source/common/version/version.h file
|
||||
*/
|
||||
'metadata'?: (_google_protobuf_Struct);
|
||||
}
|
||||
|
||||
/**
|
||||
* BuildVersion combines SemVer version of extension with free-form build information
|
||||
* (i.e. 'alpha', 'private-build') as a set of strings.
|
||||
*/
|
||||
export interface BuildVersion__Output {
|
||||
/**
|
||||
* SemVer version of extension.
|
||||
*/
|
||||
'version'?: (_envoy_type_v3_SemanticVersion__Output);
|
||||
/**
|
||||
* Free-form build information.
|
||||
* Envoy defines several well known keys in the source/common/version/version.h file
|
||||
*/
|
||||
'metadata'?: (_google_protobuf_Struct__Output);
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/address.proto
|
||||
|
||||
import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
|
||||
|
||||
/**
|
||||
* CidrRange specifies an IP Address and a prefix length to construct
|
||||
* the subnet mask for a `CIDR <https://tools.ietf.org/html/rfc4632>`_ range.
|
||||
*/
|
||||
export interface CidrRange {
|
||||
/**
|
||||
* IPv4 or IPv6 address, e.g. ``192.0.0.0`` or ``2001:db8::``.
|
||||
*/
|
||||
'address_prefix'?: (string);
|
||||
/**
|
||||
* Length of prefix, e.g. 0, 32.
|
||||
*/
|
||||
'prefix_len'?: (_google_protobuf_UInt32Value);
|
||||
}
|
||||
|
||||
/**
|
||||
* CidrRange specifies an IP Address and a prefix length to construct
|
||||
* the subnet mask for a `CIDR <https://tools.ietf.org/html/rfc4632>`_ range.
|
||||
*/
|
||||
export interface CidrRange__Output {
|
||||
/**
|
||||
* IPv4 or IPv6 address, e.g. ``192.0.0.0`` or ``2001:db8::``.
|
||||
*/
|
||||
'address_prefix': (string);
|
||||
/**
|
||||
* Length of prefix, e.g. 0, 32.
|
||||
*/
|
||||
'prefix_len'?: (_google_protobuf_UInt32Value__Output);
|
||||
}
|
|
@ -1,24 +1,25 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/core/config_source.proto
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/config_source.proto
|
||||
|
||||
import type { ApiConfigSource as _envoy_api_v2_core_ApiConfigSource, ApiConfigSource__Output as _envoy_api_v2_core_ApiConfigSource__Output } from '../../../../envoy/api/v2/core/ApiConfigSource';
|
||||
import type { AggregatedConfigSource as _envoy_api_v2_core_AggregatedConfigSource, AggregatedConfigSource__Output as _envoy_api_v2_core_AggregatedConfigSource__Output } from '../../../../envoy/api/v2/core/AggregatedConfigSource';
|
||||
import type { ApiConfigSource as _envoy_config_core_v3_ApiConfigSource, ApiConfigSource__Output as _envoy_config_core_v3_ApiConfigSource__Output } from '../../../../envoy/config/core/v3/ApiConfigSource';
|
||||
import type { AggregatedConfigSource as _envoy_config_core_v3_AggregatedConfigSource, AggregatedConfigSource__Output as _envoy_config_core_v3_AggregatedConfigSource__Output } from '../../../../envoy/config/core/v3/AggregatedConfigSource';
|
||||
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
|
||||
import type { SelfConfigSource as _envoy_api_v2_core_SelfConfigSource, SelfConfigSource__Output as _envoy_api_v2_core_SelfConfigSource__Output } from '../../../../envoy/api/v2/core/SelfConfigSource';
|
||||
import type { ApiVersion as _envoy_api_v2_core_ApiVersion } from '../../../../envoy/api/v2/core/ApiVersion';
|
||||
import type { SelfConfigSource as _envoy_config_core_v3_SelfConfigSource, SelfConfigSource__Output as _envoy_config_core_v3_SelfConfigSource__Output } from '../../../../envoy/config/core/v3/SelfConfigSource';
|
||||
import type { ApiVersion as _envoy_config_core_v3_ApiVersion } from '../../../../envoy/config/core/v3/ApiVersion';
|
||||
import type { Authority as _xds_core_v3_Authority, Authority__Output as _xds_core_v3_Authority__Output } from '../../../../xds/core/v3/Authority';
|
||||
|
||||
/**
|
||||
* Configuration for :ref:`listeners <config_listeners>`, :ref:`clusters
|
||||
* <config_cluster_manager>`, :ref:`routes
|
||||
* <envoy_api_msg_RouteConfiguration>`, :ref:`endpoints
|
||||
* <envoy_api_msg_config.route.v3.RouteConfiguration>`, :ref:`endpoints
|
||||
* <arch_overview_service_discovery>` etc. may either be sourced from the
|
||||
* filesystem or from an xDS API source. Filesystem configs are watched with
|
||||
* inotify for updates.
|
||||
* [#next-free-field: 7]
|
||||
* [#next-free-field: 8]
|
||||
*/
|
||||
export interface ConfigSource {
|
||||
/**
|
||||
* Path on the filesystem to source and watch for configuration updates.
|
||||
* When sourcing configuration for :ref:`secret <envoy_api_msg_auth.Secret>`,
|
||||
* When sourcing configuration for :ref:`secret <envoy_api_msg_extensions.transport_sockets.tls.v3.Secret>`,
|
||||
* the certificate and key files are also watched for updates.
|
||||
*
|
||||
* .. note::
|
||||
|
@ -35,12 +36,12 @@ export interface ConfigSource {
|
|||
/**
|
||||
* API configuration source.
|
||||
*/
|
||||
'api_config_source'?: (_envoy_api_v2_core_ApiConfigSource);
|
||||
'api_config_source'?: (_envoy_config_core_v3_ApiConfigSource);
|
||||
/**
|
||||
* When set, ADS will be used to fetch resources. The ADS API configuration
|
||||
* source in the bootstrap configuration is used.
|
||||
*/
|
||||
'ads'?: (_envoy_api_v2_core_AggregatedConfigSource);
|
||||
'ads'?: (_envoy_config_core_v3_AggregatedConfigSource);
|
||||
/**
|
||||
* When this timeout is specified, Envoy will wait no longer than the specified time for first
|
||||
* config response on this xDS subscription during the :ref:`initialization process
|
||||
|
@ -64,29 +65,36 @@ export interface ConfigSource {
|
|||
* this field can implicitly mean to use the same stream in the case where the ConfigSource
|
||||
* is provided via ADS and the specified data can also be obtained via ADS.]
|
||||
*/
|
||||
'self'?: (_envoy_api_v2_core_SelfConfigSource);
|
||||
'self'?: (_envoy_config_core_v3_SelfConfigSource);
|
||||
/**
|
||||
* API version for xDS resources. This implies the type URLs that the client
|
||||
* will request for resources and the resource type that the client will in
|
||||
* turn expect to be delivered.
|
||||
*/
|
||||
'resource_api_version'?: (_envoy_api_v2_core_ApiVersion | keyof typeof _envoy_api_v2_core_ApiVersion);
|
||||
'resource_api_version'?: (_envoy_config_core_v3_ApiVersion | keyof typeof _envoy_config_core_v3_ApiVersion);
|
||||
/**
|
||||
* Authorities that this config source may be used for. An authority specified in a xdstp:// URL
|
||||
* is resolved to a *ConfigSource* prior to configuration fetch. This field provides the
|
||||
* association between authority name and configuration source.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'authorities'?: (_xds_core_v3_Authority)[];
|
||||
'config_source_specifier'?: "path"|"api_config_source"|"ads"|"self";
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration for :ref:`listeners <config_listeners>`, :ref:`clusters
|
||||
* <config_cluster_manager>`, :ref:`routes
|
||||
* <envoy_api_msg_RouteConfiguration>`, :ref:`endpoints
|
||||
* <envoy_api_msg_config.route.v3.RouteConfiguration>`, :ref:`endpoints
|
||||
* <arch_overview_service_discovery>` etc. may either be sourced from the
|
||||
* filesystem or from an xDS API source. Filesystem configs are watched with
|
||||
* inotify for updates.
|
||||
* [#next-free-field: 7]
|
||||
* [#next-free-field: 8]
|
||||
*/
|
||||
export interface ConfigSource__Output {
|
||||
/**
|
||||
* Path on the filesystem to source and watch for configuration updates.
|
||||
* When sourcing configuration for :ref:`secret <envoy_api_msg_auth.Secret>`,
|
||||
* When sourcing configuration for :ref:`secret <envoy_api_msg_extensions.transport_sockets.tls.v3.Secret>`,
|
||||
* the certificate and key files are also watched for updates.
|
||||
*
|
||||
* .. note::
|
||||
|
@ -103,12 +111,12 @@ export interface ConfigSource__Output {
|
|||
/**
|
||||
* API configuration source.
|
||||
*/
|
||||
'api_config_source'?: (_envoy_api_v2_core_ApiConfigSource__Output);
|
||||
'api_config_source'?: (_envoy_config_core_v3_ApiConfigSource__Output);
|
||||
/**
|
||||
* When set, ADS will be used to fetch resources. The ADS API configuration
|
||||
* source in the bootstrap configuration is used.
|
||||
*/
|
||||
'ads'?: (_envoy_api_v2_core_AggregatedConfigSource__Output);
|
||||
'ads'?: (_envoy_config_core_v3_AggregatedConfigSource__Output);
|
||||
/**
|
||||
* When this timeout is specified, Envoy will wait no longer than the specified time for first
|
||||
* config response on this xDS subscription during the :ref:`initialization process
|
||||
|
@ -132,12 +140,19 @@ export interface ConfigSource__Output {
|
|||
* this field can implicitly mean to use the same stream in the case where the ConfigSource
|
||||
* is provided via ADS and the specified data can also be obtained via ADS.]
|
||||
*/
|
||||
'self'?: (_envoy_api_v2_core_SelfConfigSource__Output);
|
||||
'self'?: (_envoy_config_core_v3_SelfConfigSource__Output);
|
||||
/**
|
||||
* API version for xDS resources. This implies the type URLs that the client
|
||||
* will request for resources and the resource type that the client will in
|
||||
* turn expect to be delivered.
|
||||
*/
|
||||
'resource_api_version': (keyof typeof _envoy_api_v2_core_ApiVersion);
|
||||
'resource_api_version': (keyof typeof _envoy_config_core_v3_ApiVersion);
|
||||
/**
|
||||
* Authorities that this config source may be used for. An authority specified in a xdstp:// URL
|
||||
* is resolved to a *ConfigSource* prior to configuration fetch. This field provides the
|
||||
* association between authority name and configuration source.
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
'authorities': (_xds_core_v3_Authority__Output)[];
|
||||
'config_source_specifier': "path"|"api_config_source"|"ads"|"self";
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
|
||||
/**
|
||||
* Identifies a specific ControlPlane instance that Envoy is connected to.
|
||||
*/
|
||||
export interface ControlPlane {
|
||||
/**
|
||||
* An opaque control plane identifier that uniquely identifies an instance
|
||||
* of control plane. This can be used to identify which control plane instance,
|
||||
* the Envoy is connected to.
|
||||
*/
|
||||
'identifier'?: (string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Identifies a specific ControlPlane instance that Envoy is connected to.
|
||||
*/
|
||||
export interface ControlPlane__Output {
|
||||
/**
|
||||
* An opaque control plane identifier that uniquely identifies an instance
|
||||
* of control plane. This can be used to identify which control plane instance,
|
||||
* the Envoy is connected to.
|
||||
*/
|
||||
'identifier': (string);
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
|
||||
/**
|
||||
* Data source consisting of either a file or an inline value.
|
||||
*/
|
||||
export interface DataSource {
|
||||
/**
|
||||
* Local filesystem data source.
|
||||
*/
|
||||
'filename'?: (string);
|
||||
/**
|
||||
* Bytes inlined in the configuration.
|
||||
*/
|
||||
'inline_bytes'?: (Buffer | Uint8Array | string);
|
||||
/**
|
||||
* String inlined in the configuration.
|
||||
*/
|
||||
'inline_string'?: (string);
|
||||
'specifier'?: "filename"|"inline_bytes"|"inline_string";
|
||||
}
|
||||
|
||||
/**
|
||||
* Data source consisting of either a file or an inline value.
|
||||
*/
|
||||
export interface DataSource__Output {
|
||||
/**
|
||||
* Local filesystem data source.
|
||||
*/
|
||||
'filename'?: (string);
|
||||
/**
|
||||
* Bytes inlined in the configuration.
|
||||
*/
|
||||
'inline_bytes'?: (Buffer);
|
||||
/**
|
||||
* String inlined in the configuration.
|
||||
*/
|
||||
'inline_string'?: (string);
|
||||
'specifier': "filename"|"inline_bytes"|"inline_string";
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/address.proto
|
||||
|
||||
|
||||
/**
|
||||
* [#not-implemented-hide:] The address represents an envoy internal listener.
|
||||
* TODO(lambdai): Make this address available for listener and endpoint.
|
||||
* TODO(asraa): When address available, remove workaround from test/server/server_fuzz_test.cc:30.
|
||||
*/
|
||||
export interface EnvoyInternalAddress {
|
||||
/**
|
||||
* [#not-implemented-hide:] The :ref:`listener name <envoy_api_field_config.listener.v3.Listener.name>` of the destination internal listener.
|
||||
*/
|
||||
'server_listener_name'?: (string);
|
||||
'address_name_specifier'?: "server_listener_name";
|
||||
}
|
||||
|
||||
/**
|
||||
* [#not-implemented-hide:] The address represents an envoy internal listener.
|
||||
* TODO(lambdai): Make this address available for listener and endpoint.
|
||||
* TODO(asraa): When address available, remove workaround from test/server/server_fuzz_test.cc:30.
|
||||
*/
|
||||
export interface EnvoyInternalAddress__Output {
|
||||
/**
|
||||
* [#not-implemented-hide:] The :ref:`listener name <envoy_api_field_config.listener.v3.Listener.name>` of the destination internal listener.
|
||||
*/
|
||||
'server_listener_name'?: (string);
|
||||
'address_name_specifier': "server_listener_name";
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/core/event_service_config.proto
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/event_service_config.proto
|
||||
|
||||
import type { GrpcService as _envoy_api_v2_core_GrpcService, GrpcService__Output as _envoy_api_v2_core_GrpcService__Output } from '../../../../envoy/api/v2/core/GrpcService';
|
||||
import type { GrpcService as _envoy_config_core_v3_GrpcService, GrpcService__Output as _envoy_config_core_v3_GrpcService__Output } from '../../../../envoy/config/core/v3/GrpcService';
|
||||
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
|
@ -10,7 +10,7 @@ export interface EventServiceConfig {
|
|||
/**
|
||||
* Specifies the gRPC service that hosts the event reporting service.
|
||||
*/
|
||||
'grpc_service'?: (_envoy_api_v2_core_GrpcService);
|
||||
'grpc_service'?: (_envoy_config_core_v3_GrpcService);
|
||||
'config_source_specifier'?: "grpc_service";
|
||||
}
|
||||
|
||||
|
@ -22,6 +22,6 @@ export interface EventServiceConfig__Output {
|
|||
/**
|
||||
* Specifies the gRPC service that hosts the event reporting service.
|
||||
*/
|
||||
'grpc_service'?: (_envoy_api_v2_core_GrpcService__Output);
|
||||
'grpc_service'?: (_envoy_config_core_v3_GrpcService__Output);
|
||||
'config_source_specifier': "grpc_service";
|
||||
}
|
|
@ -0,0 +1,75 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
import type { BuildVersion as _envoy_config_core_v3_BuildVersion, BuildVersion__Output as _envoy_config_core_v3_BuildVersion__Output } from '../../../../envoy/config/core/v3/BuildVersion';
|
||||
|
||||
/**
|
||||
* Version and identification for an Envoy extension.
|
||||
* [#next-free-field: 6]
|
||||
*/
|
||||
export interface Extension {
|
||||
/**
|
||||
* This is the name of the Envoy filter as specified in the Envoy
|
||||
* configuration, e.g. envoy.filters.http.router, com.acme.widget.
|
||||
*/
|
||||
'name'?: (string);
|
||||
/**
|
||||
* Category of the extension.
|
||||
* Extension category names use reverse DNS notation. For instance "envoy.filters.listener"
|
||||
* for Envoy's built-in listener filters or "com.acme.filters.http" for HTTP filters from
|
||||
* acme.com vendor.
|
||||
* [#comment:TODO(yanavlasov): Link to the doc with existing envoy category names.]
|
||||
*/
|
||||
'category'?: (string);
|
||||
/**
|
||||
* [#not-implemented-hide:] Type descriptor of extension configuration proto.
|
||||
* [#comment:TODO(yanavlasov): Link to the doc with existing configuration protos.]
|
||||
* [#comment:TODO(yanavlasov): Add tests when PR #9391 lands.]
|
||||
*/
|
||||
'type_descriptor'?: (string);
|
||||
/**
|
||||
* The version is a property of the extension and maintained independently
|
||||
* of other extensions and the Envoy API.
|
||||
* This field is not set when extension did not provide version information.
|
||||
*/
|
||||
'version'?: (_envoy_config_core_v3_BuildVersion);
|
||||
/**
|
||||
* Indicates that the extension is present but was disabled via dynamic configuration.
|
||||
*/
|
||||
'disabled'?: (boolean);
|
||||
}
|
||||
|
||||
/**
|
||||
* Version and identification for an Envoy extension.
|
||||
* [#next-free-field: 6]
|
||||
*/
|
||||
export interface Extension__Output {
|
||||
/**
|
||||
* This is the name of the Envoy filter as specified in the Envoy
|
||||
* configuration, e.g. envoy.filters.http.router, com.acme.widget.
|
||||
*/
|
||||
'name': (string);
|
||||
/**
|
||||
* Category of the extension.
|
||||
* Extension category names use reverse DNS notation. For instance "envoy.filters.listener"
|
||||
* for Envoy's built-in listener filters or "com.acme.filters.http" for HTTP filters from
|
||||
* acme.com vendor.
|
||||
* [#comment:TODO(yanavlasov): Link to the doc with existing envoy category names.]
|
||||
*/
|
||||
'category': (string);
|
||||
/**
|
||||
* [#not-implemented-hide:] Type descriptor of extension configuration proto.
|
||||
* [#comment:TODO(yanavlasov): Link to the doc with existing configuration protos.]
|
||||
* [#comment:TODO(yanavlasov): Add tests when PR #9391 lands.]
|
||||
*/
|
||||
'type_descriptor': (string);
|
||||
/**
|
||||
* The version is a property of the extension and maintained independently
|
||||
* of other extensions and the Envoy API.
|
||||
* This field is not set when extension did not provide version information.
|
||||
*/
|
||||
'version'?: (_envoy_config_core_v3_BuildVersion__Output);
|
||||
/**
|
||||
* Indicates that the extension is present but was disabled via dynamic configuration.
|
||||
*/
|
||||
'disabled': (boolean);
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/extension.proto
|
||||
|
||||
import type { ConfigSource as _envoy_config_core_v3_ConfigSource, ConfigSource__Output as _envoy_config_core_v3_ConfigSource__Output } from '../../../../envoy/config/core/v3/ConfigSource';
|
||||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../google/protobuf/Any';
|
||||
|
||||
/**
|
||||
* Configuration source specifier for a late-bound extension configuration. The
|
||||
* parent resource is warmed until all the initial extension configurations are
|
||||
* received, unless the flag to apply the default configuration is set.
|
||||
* Subsequent extension updates are atomic on a per-worker basis. Once an
|
||||
* extension configuration is applied to a request or a connection, it remains
|
||||
* constant for the duration of processing. If the initial delivery of the
|
||||
* extension configuration fails, due to a timeout for example, the optional
|
||||
* default configuration is applied. Without a default configuration, the
|
||||
* extension is disabled, until an extension configuration is received. The
|
||||
* behavior of a disabled extension depends on the context. For example, a
|
||||
* filter chain with a disabled extension filter rejects all incoming streams.
|
||||
*/
|
||||
export interface ExtensionConfigSource {
|
||||
'config_source'?: (_envoy_config_core_v3_ConfigSource);
|
||||
/**
|
||||
* Optional default configuration to use as the initial configuration if
|
||||
* there is a failure to receive the initial extension configuration or if
|
||||
* `apply_default_config_without_warming` flag is set.
|
||||
*/
|
||||
'default_config'?: (_google_protobuf_Any);
|
||||
/**
|
||||
* Use the default config as the initial configuration without warming and
|
||||
* waiting for the first discovery response. Requires the default configuration
|
||||
* to be supplied.
|
||||
*/
|
||||
'apply_default_config_without_warming'?: (boolean);
|
||||
/**
|
||||
* A set of permitted extension type URLs. Extension configuration updates are rejected
|
||||
* if they do not match any type URL in the set.
|
||||
*/
|
||||
'type_urls'?: (string)[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Configuration source specifier for a late-bound extension configuration. The
|
||||
* parent resource is warmed until all the initial extension configurations are
|
||||
* received, unless the flag to apply the default configuration is set.
|
||||
* Subsequent extension updates are atomic on a per-worker basis. Once an
|
||||
* extension configuration is applied to a request or a connection, it remains
|
||||
* constant for the duration of processing. If the initial delivery of the
|
||||
* extension configuration fails, due to a timeout for example, the optional
|
||||
* default configuration is applied. Without a default configuration, the
|
||||
* extension is disabled, until an extension configuration is received. The
|
||||
* behavior of a disabled extension depends on the context. For example, a
|
||||
* filter chain with a disabled extension filter rejects all incoming streams.
|
||||
*/
|
||||
export interface ExtensionConfigSource__Output {
|
||||
'config_source'?: (_envoy_config_core_v3_ConfigSource__Output);
|
||||
/**
|
||||
* Optional default configuration to use as the initial configuration if
|
||||
* there is a failure to receive the initial extension configuration or if
|
||||
* `apply_default_config_without_warming` flag is set.
|
||||
*/
|
||||
'default_config'?: (_google_protobuf_Any__Output);
|
||||
/**
|
||||
* Use the default config as the initial configuration without warming and
|
||||
* waiting for the first discovery response. Requires the default configuration
|
||||
* to be supplied.
|
||||
*/
|
||||
'apply_default_config_without_warming': (boolean);
|
||||
/**
|
||||
* A set of permitted extension type URLs. Extension configuration updates are rejected
|
||||
* if they do not match any type URL in the set.
|
||||
*/
|
||||
'type_urls': (string)[];
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/protocol.proto
|
||||
|
||||
import type { Http2ProtocolOptions as _envoy_config_core_v3_Http2ProtocolOptions, Http2ProtocolOptions__Output as _envoy_config_core_v3_Http2ProtocolOptions__Output } from '../../../../envoy/config/core/v3/Http2ProtocolOptions';
|
||||
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
export interface GrpcProtocolOptions {
|
||||
'http2_protocol_options'?: (_envoy_config_core_v3_Http2ProtocolOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
*/
|
||||
export interface GrpcProtocolOptions__Output {
|
||||
'http2_protocol_options'?: (_envoy_config_core_v3_Http2ProtocolOptions__Output);
|
||||
}
|
|
@ -1,9 +1,10 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/core/grpc_service.proto
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/grpc_service.proto
|
||||
|
||||
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
|
||||
import type { HeaderValue as _envoy_api_v2_core_HeaderValue, HeaderValue__Output as _envoy_api_v2_core_HeaderValue__Output } from '../../../../envoy/api/v2/core/HeaderValue';
|
||||
import type { HeaderValue as _envoy_config_core_v3_HeaderValue, HeaderValue__Output as _envoy_config_core_v3_HeaderValue__Output } from '../../../../envoy/config/core/v3/HeaderValue';
|
||||
import type { Struct as _google_protobuf_Struct, Struct__Output as _google_protobuf_Struct__Output } from '../../../../google/protobuf/Struct';
|
||||
import type { DataSource as _envoy_api_v2_core_DataSource, DataSource__Output as _envoy_api_v2_core_DataSource__Output } from '../../../../envoy/api/v2/core/DataSource';
|
||||
import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
|
||||
import type { DataSource as _envoy_config_core_v3_DataSource, DataSource__Output as _envoy_config_core_v3_DataSource__Output } from '../../../../envoy/config/core/v3/DataSource';
|
||||
import type { Empty as _google_protobuf_Empty, Empty__Output as _google_protobuf_Empty__Output } from '../../../../google/protobuf/Empty';
|
||||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../google/protobuf/Any';
|
||||
import type { Long } from '@grpc/proto-loader';
|
||||
|
@ -11,7 +12,7 @@ import type { Long } from '@grpc/proto-loader';
|
|||
/**
|
||||
* [#next-free-field: 8]
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials {
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials {
|
||||
/**
|
||||
* Access token credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
|
||||
|
@ -31,31 +32,31 @@ export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials {
|
|||
* Service Account JWT Access credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
|
||||
*/
|
||||
'service_account_jwt_access'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials);
|
||||
'service_account_jwt_access'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials);
|
||||
/**
|
||||
* Google IAM credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
|
||||
*/
|
||||
'google_iam'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials);
|
||||
'google_iam'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials);
|
||||
/**
|
||||
* Custom authenticator credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
|
||||
* https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
|
||||
*/
|
||||
'from_plugin'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin);
|
||||
'from_plugin'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin);
|
||||
/**
|
||||
* Custom security token service which implements OAuth 2.0 token exchange.
|
||||
* https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16
|
||||
* See https://github.com/grpc/grpc/pull/19587.
|
||||
*/
|
||||
'sts_service'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_StsService);
|
||||
'sts_service'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials_StsService);
|
||||
'credential_specifier'?: "access_token"|"google_compute_engine"|"google_refresh_token"|"service_account_jwt_access"|"google_iam"|"from_plugin"|"sts_service";
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 8]
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials__Output {
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials__Output {
|
||||
/**
|
||||
* Access token credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d.
|
||||
|
@ -75,38 +76,58 @@ export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials__Outp
|
|||
* Service Account JWT Access credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa.
|
||||
*/
|
||||
'service_account_jwt_access'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials__Output);
|
||||
'service_account_jwt_access'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials__Output);
|
||||
/**
|
||||
* Google IAM credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0.
|
||||
*/
|
||||
'google_iam'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials__Output);
|
||||
'google_iam'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials__Output);
|
||||
/**
|
||||
* Custom authenticator credentials.
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a823c6a4b19ffc71fb33e90154ee2ad07.
|
||||
* https://grpc.io/docs/guides/auth.html#extending-grpc-to-support-other-authentication-mechanisms.
|
||||
*/
|
||||
'from_plugin'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin__Output);
|
||||
'from_plugin'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin__Output);
|
||||
/**
|
||||
* Custom security token service which implements OAuth 2.0 token exchange.
|
||||
* https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16
|
||||
* See https://github.com/grpc/grpc/pull/19587.
|
||||
*/
|
||||
'sts_service'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_StsService__Output);
|
||||
'sts_service'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials_StsService__Output);
|
||||
'credential_specifier': "access_token"|"google_compute_engine"|"google_refresh_token"|"service_account_jwt_access"|"google_iam"|"from_plugin"|"sts_service";
|
||||
}
|
||||
|
||||
/**
|
||||
* Channel arguments.
|
||||
*/
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_ChannelArgs {
|
||||
/**
|
||||
* See grpc_types.h GRPC_ARG #defines for keys that work here.
|
||||
*/
|
||||
'args'?: ({[key: string]: _envoy_config_core_v3_GrpcService_GoogleGrpc_ChannelArgs_Value});
|
||||
}
|
||||
|
||||
/**
|
||||
* Channel arguments.
|
||||
*/
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_ChannelArgs__Output {
|
||||
/**
|
||||
* See grpc_types.h GRPC_ARG #defines for keys that work here.
|
||||
*/
|
||||
'args'?: ({[key: string]: _envoy_config_core_v3_GrpcService_GoogleGrpc_ChannelArgs_Value__Output});
|
||||
}
|
||||
|
||||
/**
|
||||
* See https://grpc.io/docs/guides/auth.html#credential-types to understand Channel and Call
|
||||
* credential types.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials {
|
||||
'ssl_credentials'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials);
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_ChannelCredentials {
|
||||
'ssl_credentials'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc_SslCredentials);
|
||||
/**
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
|
||||
*/
|
||||
'google_default'?: (_google_protobuf_Empty);
|
||||
'local_credentials'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials);
|
||||
'local_credentials'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc_GoogleLocalCredentials);
|
||||
'credential_specifier'?: "ssl_credentials"|"google_default"|"local_credentials";
|
||||
}
|
||||
|
||||
|
@ -114,50 +135,60 @@ export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials {
|
|||
* See https://grpc.io/docs/guides/auth.html#credential-types to understand Channel and Call
|
||||
* credential types.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials__Output {
|
||||
'ssl_credentials'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials__Output);
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_ChannelCredentials__Output {
|
||||
'ssl_credentials'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc_SslCredentials__Output);
|
||||
/**
|
||||
* https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61
|
||||
*/
|
||||
'google_default'?: (_google_protobuf_Empty__Output);
|
||||
'local_credentials'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials__Output);
|
||||
'local_credentials'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc_GoogleLocalCredentials__Output);
|
||||
'credential_specifier': "ssl_credentials"|"google_default"|"local_credentials";
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_GrpcService_EnvoyGrpc {
|
||||
export interface _envoy_config_core_v3_GrpcService_EnvoyGrpc {
|
||||
/**
|
||||
* The name of the upstream gRPC cluster. SSL credentials will be supplied
|
||||
* in the :ref:`Cluster <envoy_api_msg_Cluster>` :ref:`transport_socket
|
||||
* <envoy_api_field_Cluster.transport_socket>`.
|
||||
* in the :ref:`Cluster <envoy_api_msg_config.cluster.v3.Cluster>` :ref:`transport_socket
|
||||
* <envoy_api_field_config.cluster.v3.Cluster.transport_socket>`.
|
||||
*/
|
||||
'cluster_name'?: (string);
|
||||
/**
|
||||
* The `:authority` header in the grpc request. If this field is not set, the authority header value will be `cluster_name`.
|
||||
* Note that this authority does not override the SNI. The SNI is provided by the transport socket of the cluster.
|
||||
*/
|
||||
'authority'?: (string);
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_GrpcService_EnvoyGrpc__Output {
|
||||
export interface _envoy_config_core_v3_GrpcService_EnvoyGrpc__Output {
|
||||
/**
|
||||
* The name of the upstream gRPC cluster. SSL credentials will be supplied
|
||||
* in the :ref:`Cluster <envoy_api_msg_Cluster>` :ref:`transport_socket
|
||||
* <envoy_api_field_Cluster.transport_socket>`.
|
||||
* in the :ref:`Cluster <envoy_api_msg_config.cluster.v3.Cluster>` :ref:`transport_socket
|
||||
* <envoy_api_field_config.cluster.v3.Cluster.transport_socket>`.
|
||||
*/
|
||||
'cluster_name': (string);
|
||||
/**
|
||||
* The `:authority` header in the grpc request. If this field is not set, the authority header value will be `cluster_name`.
|
||||
* Note that this authority does not override the SNI. The SNI is provided by the transport socket of the cluster.
|
||||
*/
|
||||
'authority': (string);
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 7]
|
||||
* [#next-free-field: 9]
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc {
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc {
|
||||
/**
|
||||
* The target URI when using the `Google C++ gRPC client
|
||||
* <https://github.com/grpc/grpc>`_. SSL credentials will be supplied in
|
||||
* :ref:`channel_credentials <envoy_api_field_core.GrpcService.GoogleGrpc.channel_credentials>`.
|
||||
* :ref:`channel_credentials <envoy_api_field_config.core.v3.GrpcService.GoogleGrpc.channel_credentials>`.
|
||||
*/
|
||||
'target_uri'?: (string);
|
||||
'channel_credentials'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials);
|
||||
'channel_credentials'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc_ChannelCredentials);
|
||||
/**
|
||||
* A set of call credentials that can be composed with `channel credentials
|
||||
* <https://grpc.io/docs/guides/auth.html#credential-types>`_.
|
||||
*/
|
||||
'call_credentials'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials)[];
|
||||
'call_credentials'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials)[];
|
||||
/**
|
||||
* The human readable prefix to use when emitting statistics for the gRPC
|
||||
* service.
|
||||
|
@ -181,24 +212,33 @@ export interface _envoy_api_v2_core_GrpcService_GoogleGrpc {
|
|||
* gRPC library.
|
||||
*/
|
||||
'config'?: (_google_protobuf_Struct);
|
||||
/**
|
||||
* How many bytes each stream can buffer internally.
|
||||
* If not set an implementation defined default is applied (1MiB).
|
||||
*/
|
||||
'per_stream_buffer_limit_bytes'?: (_google_protobuf_UInt32Value);
|
||||
/**
|
||||
* Custom channels args.
|
||||
*/
|
||||
'channel_args'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc_ChannelArgs);
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 7]
|
||||
* [#next-free-field: 9]
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc__Output {
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc__Output {
|
||||
/**
|
||||
* The target URI when using the `Google C++ gRPC client
|
||||
* <https://github.com/grpc/grpc>`_. SSL credentials will be supplied in
|
||||
* :ref:`channel_credentials <envoy_api_field_core.GrpcService.GoogleGrpc.channel_credentials>`.
|
||||
* :ref:`channel_credentials <envoy_api_field_config.core.v3.GrpcService.GoogleGrpc.channel_credentials>`.
|
||||
*/
|
||||
'target_uri': (string);
|
||||
'channel_credentials'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc_ChannelCredentials__Output);
|
||||
'channel_credentials'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc_ChannelCredentials__Output);
|
||||
/**
|
||||
* A set of call credentials that can be composed with `channel credentials
|
||||
* <https://grpc.io/docs/guides/auth.html#credential-types>`_.
|
||||
*/
|
||||
'call_credentials': (_envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials__Output)[];
|
||||
'call_credentials': (_envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials__Output)[];
|
||||
/**
|
||||
* The human readable prefix to use when emitting statistics for the gRPC
|
||||
* service.
|
||||
|
@ -222,14 +262,23 @@ export interface _envoy_api_v2_core_GrpcService_GoogleGrpc__Output {
|
|||
* gRPC library.
|
||||
*/
|
||||
'config'?: (_google_protobuf_Struct__Output);
|
||||
/**
|
||||
* How many bytes each stream can buffer internally.
|
||||
* If not set an implementation defined default is applied (1MiB).
|
||||
*/
|
||||
'per_stream_buffer_limit_bytes'?: (_google_protobuf_UInt32Value__Output);
|
||||
/**
|
||||
* Custom channels args.
|
||||
*/
|
||||
'channel_args'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc_ChannelArgs__Output);
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials {
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials {
|
||||
'authorization_token'?: (string);
|
||||
'authority_selector'?: (string);
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials__Output {
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials_GoogleIAMCredentials__Output {
|
||||
'authorization_token': (string);
|
||||
'authority_selector': (string);
|
||||
}
|
||||
|
@ -238,36 +287,34 @@ export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_Googl
|
|||
* Local channel credentials. Only UDS is supported for now.
|
||||
* See https://github.com/grpc/grpc/pull/15909.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials {
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_GoogleLocalCredentials {
|
||||
}
|
||||
|
||||
/**
|
||||
* Local channel credentials. Only UDS is supported for now.
|
||||
* See https://github.com/grpc/grpc/pull/15909.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_GoogleLocalCredentials__Output {
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_GoogleLocalCredentials__Output {
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin {
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin {
|
||||
'name'?: (string);
|
||||
'config'?: (_google_protobuf_Struct);
|
||||
'typed_config'?: (_google_protobuf_Any);
|
||||
'config_type'?: "config"|"typed_config";
|
||||
'config_type'?: "typed_config";
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin__Output {
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials_MetadataCredentialsFromPlugin__Output {
|
||||
'name': (string);
|
||||
'config'?: (_google_protobuf_Struct__Output);
|
||||
'typed_config'?: (_google_protobuf_Any__Output);
|
||||
'config_type': "config"|"typed_config";
|
||||
'config_type': "typed_config";
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials {
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials {
|
||||
'json_key'?: (string);
|
||||
'token_lifetime_seconds'?: (number | string | Long);
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials__Output {
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials_ServiceAccountJWTAccessCredentials__Output {
|
||||
'json_key': (string);
|
||||
'token_lifetime_seconds': (string);
|
||||
}
|
||||
|
@ -275,37 +322,37 @@ export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_Servi
|
|||
/**
|
||||
* See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials {
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_SslCredentials {
|
||||
/**
|
||||
* PEM encoded server root certificates.
|
||||
*/
|
||||
'root_certs'?: (_envoy_api_v2_core_DataSource);
|
||||
'root_certs'?: (_envoy_config_core_v3_DataSource);
|
||||
/**
|
||||
* PEM encoded client private key.
|
||||
*/
|
||||
'private_key'?: (_envoy_api_v2_core_DataSource);
|
||||
'private_key'?: (_envoy_config_core_v3_DataSource);
|
||||
/**
|
||||
* PEM encoded client certificate chain.
|
||||
*/
|
||||
'cert_chain'?: (_envoy_api_v2_core_DataSource);
|
||||
'cert_chain'?: (_envoy_config_core_v3_DataSource);
|
||||
}
|
||||
|
||||
/**
|
||||
* See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials__Output {
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_SslCredentials__Output {
|
||||
/**
|
||||
* PEM encoded server root certificates.
|
||||
*/
|
||||
'root_certs'?: (_envoy_api_v2_core_DataSource__Output);
|
||||
'root_certs'?: (_envoy_config_core_v3_DataSource__Output);
|
||||
/**
|
||||
* PEM encoded client private key.
|
||||
*/
|
||||
'private_key'?: (_envoy_api_v2_core_DataSource__Output);
|
||||
'private_key'?: (_envoy_config_core_v3_DataSource__Output);
|
||||
/**
|
||||
* PEM encoded client certificate chain.
|
||||
*/
|
||||
'cert_chain'?: (_envoy_api_v2_core_DataSource__Output);
|
||||
'cert_chain'?: (_envoy_config_core_v3_DataSource__Output);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -315,7 +362,7 @@ export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_SslCredentials__Outpu
|
|||
* https://github.com/grpc/grpc/pull/19587.
|
||||
* [#next-free-field: 10]
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_StsService {
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials_StsService {
|
||||
/**
|
||||
* URI of the token exchange service that handles token exchange requests.
|
||||
* [#comment:TODO(asraa): Add URI validation when implemented. Tracked by
|
||||
|
@ -369,7 +416,7 @@ export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_StsSe
|
|||
* https://github.com/grpc/grpc/pull/19587.
|
||||
* [#next-free-field: 10]
|
||||
*/
|
||||
export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_StsService__Output {
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_CallCredentials_StsService__Output {
|
||||
/**
|
||||
* URI of the token exchange service that handles token exchange requests.
|
||||
* [#comment:TODO(asraa): Add URI validation when implemented. Tracked by
|
||||
|
@ -416,9 +463,29 @@ export interface _envoy_api_v2_core_GrpcService_GoogleGrpc_CallCredentials_StsSe
|
|||
'actor_token_type': (string);
|
||||
}
|
||||
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_ChannelArgs_Value {
|
||||
'string_value'?: (string);
|
||||
'int_value'?: (number | string | Long);
|
||||
/**
|
||||
* Pointer values are not supported, since they don't make any sense when
|
||||
* delivered via the API.
|
||||
*/
|
||||
'value_specifier'?: "string_value"|"int_value";
|
||||
}
|
||||
|
||||
export interface _envoy_config_core_v3_GrpcService_GoogleGrpc_ChannelArgs_Value__Output {
|
||||
'string_value'?: (string);
|
||||
'int_value'?: (string);
|
||||
/**
|
||||
* Pointer values are not supported, since they don't make any sense when
|
||||
* delivered via the API.
|
||||
*/
|
||||
'value_specifier': "string_value"|"int_value";
|
||||
}
|
||||
|
||||
/**
|
||||
* gRPC service configuration. This is used by :ref:`ApiConfigSource
|
||||
* <envoy_api_msg_core.ApiConfigSource>` and filter configurations.
|
||||
* <envoy_api_msg_config.core.v3.ApiConfigSource>` and filter configurations.
|
||||
* [#next-free-field: 6]
|
||||
*/
|
||||
export interface GrpcService {
|
||||
|
@ -427,30 +494,32 @@ export interface GrpcService {
|
|||
* See the :ref:`gRPC services overview <arch_overview_grpc_services>`
|
||||
* documentation for discussion on gRPC client selection.
|
||||
*/
|
||||
'envoy_grpc'?: (_envoy_api_v2_core_GrpcService_EnvoyGrpc);
|
||||
'envoy_grpc'?: (_envoy_config_core_v3_GrpcService_EnvoyGrpc);
|
||||
/**
|
||||
* `Google C++ gRPC client <https://github.com/grpc/grpc>`_
|
||||
* See the :ref:`gRPC services overview <arch_overview_grpc_services>`
|
||||
* documentation for discussion on gRPC client selection.
|
||||
*/
|
||||
'google_grpc'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc);
|
||||
'google_grpc'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc);
|
||||
/**
|
||||
* The timeout for the gRPC request. This is the timeout for a specific
|
||||
* request.
|
||||
*/
|
||||
'timeout'?: (_google_protobuf_Duration);
|
||||
/**
|
||||
* Additional metadata to include in streams initiated to the GrpcService.
|
||||
* This can be used for scenarios in which additional ad hoc authorization
|
||||
* headers (e.g. ``x-foo-bar: baz-key``) are to be injected.
|
||||
* Additional metadata to include in streams initiated to the GrpcService. This can be used for
|
||||
* scenarios in which additional ad hoc authorization headers (e.g. ``x-foo-bar: baz-key``) are to
|
||||
* be injected. For more information, including details on header value syntax, see the
|
||||
* documentation on :ref:`custom request headers
|
||||
* <config_http_conn_man_headers_custom_request_headers>`.
|
||||
*/
|
||||
'initial_metadata'?: (_envoy_api_v2_core_HeaderValue)[];
|
||||
'initial_metadata'?: (_envoy_config_core_v3_HeaderValue)[];
|
||||
'target_specifier'?: "envoy_grpc"|"google_grpc";
|
||||
}
|
||||
|
||||
/**
|
||||
* gRPC service configuration. This is used by :ref:`ApiConfigSource
|
||||
* <envoy_api_msg_core.ApiConfigSource>` and filter configurations.
|
||||
* <envoy_api_msg_config.core.v3.ApiConfigSource>` and filter configurations.
|
||||
* [#next-free-field: 6]
|
||||
*/
|
||||
export interface GrpcService__Output {
|
||||
|
@ -459,23 +528,25 @@ export interface GrpcService__Output {
|
|||
* See the :ref:`gRPC services overview <arch_overview_grpc_services>`
|
||||
* documentation for discussion on gRPC client selection.
|
||||
*/
|
||||
'envoy_grpc'?: (_envoy_api_v2_core_GrpcService_EnvoyGrpc__Output);
|
||||
'envoy_grpc'?: (_envoy_config_core_v3_GrpcService_EnvoyGrpc__Output);
|
||||
/**
|
||||
* `Google C++ gRPC client <https://github.com/grpc/grpc>`_
|
||||
* See the :ref:`gRPC services overview <arch_overview_grpc_services>`
|
||||
* documentation for discussion on gRPC client selection.
|
||||
*/
|
||||
'google_grpc'?: (_envoy_api_v2_core_GrpcService_GoogleGrpc__Output);
|
||||
'google_grpc'?: (_envoy_config_core_v3_GrpcService_GoogleGrpc__Output);
|
||||
/**
|
||||
* The timeout for the gRPC request. This is the timeout for a specific
|
||||
* request.
|
||||
*/
|
||||
'timeout'?: (_google_protobuf_Duration__Output);
|
||||
/**
|
||||
* Additional metadata to include in streams initiated to the GrpcService.
|
||||
* This can be used for scenarios in which additional ad hoc authorization
|
||||
* headers (e.g. ``x-foo-bar: baz-key``) are to be injected.
|
||||
* Additional metadata to include in streams initiated to the GrpcService. This can be used for
|
||||
* scenarios in which additional ad hoc authorization headers (e.g. ``x-foo-bar: baz-key``) are to
|
||||
* be injected. For more information, including details on header value syntax, see the
|
||||
* documentation on :ref:`custom request headers
|
||||
* <config_http_conn_man_headers_custom_request_headers>`.
|
||||
*/
|
||||
'initial_metadata': (_envoy_api_v2_core_HeaderValue__Output)[];
|
||||
'initial_metadata': (_envoy_config_core_v3_HeaderValue__Output)[];
|
||||
'target_specifier': "envoy_grpc"|"google_grpc";
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
import type { HeaderValue as _envoy_config_core_v3_HeaderValue, HeaderValue__Output as _envoy_config_core_v3_HeaderValue__Output } from '../../../../envoy/config/core/v3/HeaderValue';
|
||||
|
||||
/**
|
||||
* Wrapper for a set of headers.
|
||||
*/
|
||||
export interface HeaderMap {
|
||||
'headers'?: (_envoy_config_core_v3_HeaderValue)[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrapper for a set of headers.
|
||||
*/
|
||||
export interface HeaderMap__Output {
|
||||
'headers': (_envoy_config_core_v3_HeaderValue__Output)[];
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
|
||||
/**
|
||||
* Header name/value pair.
|
||||
*/
|
||||
export interface HeaderValue {
|
||||
/**
|
||||
* Header name.
|
||||
*/
|
||||
'key'?: (string);
|
||||
/**
|
||||
* Header value.
|
||||
*
|
||||
* The same :ref:`format specifier <config_access_log_format>` as used for
|
||||
* :ref:`HTTP access logging <config_access_log>` applies here, however
|
||||
* unknown header values are replaced with the empty string instead of `-`.
|
||||
*/
|
||||
'value'?: (string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Header name/value pair.
|
||||
*/
|
||||
export interface HeaderValue__Output {
|
||||
/**
|
||||
* Header name.
|
||||
*/
|
||||
'key': (string);
|
||||
/**
|
||||
* Header value.
|
||||
*
|
||||
* The same :ref:`format specifier <config_access_log_format>` as used for
|
||||
* :ref:`HTTP access logging <config_access_log>` applies here, however
|
||||
* unknown header values are replaced with the empty string instead of `-`.
|
||||
*/
|
||||
'value': (string);
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
import type { HeaderValue as _envoy_config_core_v3_HeaderValue, HeaderValue__Output as _envoy_config_core_v3_HeaderValue__Output } from '../../../../envoy/config/core/v3/HeaderValue';
|
||||
import type { BoolValue as _google_protobuf_BoolValue, BoolValue__Output as _google_protobuf_BoolValue__Output } from '../../../../google/protobuf/BoolValue';
|
||||
|
||||
/**
|
||||
* Header name/value pair plus option to control append behavior.
|
||||
*/
|
||||
export interface HeaderValueOption {
|
||||
/**
|
||||
* Header name/value pair that this option applies to.
|
||||
*/
|
||||
'header'?: (_envoy_config_core_v3_HeaderValue);
|
||||
/**
|
||||
* Should the value be appended? If true (default), the value is appended to
|
||||
* existing values. Otherwise it replaces any existing values.
|
||||
*/
|
||||
'append'?: (_google_protobuf_BoolValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* Header name/value pair plus option to control append behavior.
|
||||
*/
|
||||
export interface HeaderValueOption__Output {
|
||||
/**
|
||||
* Header name/value pair that this option applies to.
|
||||
*/
|
||||
'header'?: (_envoy_config_core_v3_HeaderValue__Output);
|
||||
/**
|
||||
* Should the value be appended? If true (default), the value is appended to
|
||||
* existing values. Otherwise it replaces any existing values.
|
||||
*/
|
||||
'append'?: (_google_protobuf_BoolValue__Output);
|
||||
}
|
|
@ -1,49 +1,47 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/core/health_check.proto
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/health_check.proto
|
||||
|
||||
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
|
||||
import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
|
||||
import type { BoolValue as _google_protobuf_BoolValue, BoolValue__Output as _google_protobuf_BoolValue__Output } from '../../../../google/protobuf/BoolValue';
|
||||
import type { EventServiceConfig as _envoy_api_v2_core_EventServiceConfig, EventServiceConfig__Output as _envoy_api_v2_core_EventServiceConfig__Output } from '../../../../envoy/api/v2/core/EventServiceConfig';
|
||||
import type { HeaderValueOption as _envoy_api_v2_core_HeaderValueOption, HeaderValueOption__Output as _envoy_api_v2_core_HeaderValueOption__Output } from '../../../../envoy/api/v2/core/HeaderValueOption';
|
||||
import type { Int64Range as _envoy_type_Int64Range, Int64Range__Output as _envoy_type_Int64Range__Output } from '../../../../envoy/type/Int64Range';
|
||||
import type { CodecClientType as _envoy_type_CodecClientType } from '../../../../envoy/type/CodecClientType';
|
||||
import type { StringMatcher as _envoy_type_matcher_StringMatcher, StringMatcher__Output as _envoy_type_matcher_StringMatcher__Output } from '../../../../envoy/type/matcher/StringMatcher';
|
||||
import type { EventServiceConfig as _envoy_config_core_v3_EventServiceConfig, EventServiceConfig__Output as _envoy_config_core_v3_EventServiceConfig__Output } from '../../../../envoy/config/core/v3/EventServiceConfig';
|
||||
import type { Struct as _google_protobuf_Struct, Struct__Output as _google_protobuf_Struct__Output } from '../../../../google/protobuf/Struct';
|
||||
import type { HeaderValueOption as _envoy_config_core_v3_HeaderValueOption, HeaderValueOption__Output as _envoy_config_core_v3_HeaderValueOption__Output } from '../../../../envoy/config/core/v3/HeaderValueOption';
|
||||
import type { Int64Range as _envoy_type_v3_Int64Range, Int64Range__Output as _envoy_type_v3_Int64Range__Output } from '../../../../envoy/type/v3/Int64Range';
|
||||
import type { CodecClientType as _envoy_type_v3_CodecClientType } from '../../../../envoy/type/v3/CodecClientType';
|
||||
import type { StringMatcher as _envoy_type_matcher_v3_StringMatcher, StringMatcher__Output as _envoy_type_matcher_v3_StringMatcher__Output } from '../../../../envoy/type/matcher/v3/StringMatcher';
|
||||
import type { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../google/protobuf/Any';
|
||||
import type { Long } from '@grpc/proto-loader';
|
||||
|
||||
/**
|
||||
* Custom health check.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_HealthCheck_CustomHealthCheck {
|
||||
export interface _envoy_config_core_v3_HealthCheck_CustomHealthCheck {
|
||||
/**
|
||||
* The registered name of the custom health checker.
|
||||
*/
|
||||
'name'?: (string);
|
||||
'config'?: (_google_protobuf_Struct);
|
||||
'typed_config'?: (_google_protobuf_Any);
|
||||
/**
|
||||
* A custom health checker specific configuration which depends on the custom health checker
|
||||
* being instantiated. See :api:`envoy/config/health_checker` for reference.
|
||||
*/
|
||||
'config_type'?: "config"|"typed_config";
|
||||
'config_type'?: "typed_config";
|
||||
}
|
||||
|
||||
/**
|
||||
* Custom health check.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_HealthCheck_CustomHealthCheck__Output {
|
||||
export interface _envoy_config_core_v3_HealthCheck_CustomHealthCheck__Output {
|
||||
/**
|
||||
* The registered name of the custom health checker.
|
||||
*/
|
||||
'name': (string);
|
||||
'config'?: (_google_protobuf_Struct__Output);
|
||||
'typed_config'?: (_google_protobuf_Any__Output);
|
||||
/**
|
||||
* A custom health checker specific configuration which depends on the custom health checker
|
||||
* being instantiated. See :api:`envoy/config/health_checker` for reference.
|
||||
*/
|
||||
'config_type': "config"|"typed_config";
|
||||
'config_type': "typed_config";
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -52,7 +50,7 @@ export interface _envoy_api_v2_core_HealthCheck_CustomHealthCheck__Output {
|
|||
* healthcheck. See `gRPC doc <https://github.com/grpc/grpc/blob/master/doc/health-checking.md>`_
|
||||
* for details.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_HealthCheck_GrpcHealthCheck {
|
||||
export interface _envoy_config_core_v3_HealthCheck_GrpcHealthCheck {
|
||||
/**
|
||||
* An optional service name parameter which will be sent to gRPC service in
|
||||
* `grpc.health.v1.HealthCheckRequest
|
||||
|
@ -65,7 +63,7 @@ export interface _envoy_api_v2_core_HealthCheck_GrpcHealthCheck {
|
|||
* The value of the :authority header in the gRPC health check request. If
|
||||
* left empty (default value), the name of the cluster this health check is associated
|
||||
* with will be used. The authority header can be customized for a specific endpoint by setting
|
||||
* the :ref:`hostname <envoy_api_field_endpoint.Endpoint.HealthCheckConfig.hostname>` field.
|
||||
* the :ref:`hostname <envoy_api_field_config.endpoint.v3.Endpoint.HealthCheckConfig.hostname>` field.
|
||||
*/
|
||||
'authority'?: (string);
|
||||
}
|
||||
|
@ -76,7 +74,7 @@ export interface _envoy_api_v2_core_HealthCheck_GrpcHealthCheck {
|
|||
* healthcheck. See `gRPC doc <https://github.com/grpc/grpc/blob/master/doc/health-checking.md>`_
|
||||
* for details.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_HealthCheck_GrpcHealthCheck__Output {
|
||||
export interface _envoy_config_core_v3_HealthCheck_GrpcHealthCheck__Output {
|
||||
/**
|
||||
* An optional service name parameter which will be sent to gRPC service in
|
||||
* `grpc.health.v1.HealthCheckRequest
|
||||
|
@ -89,7 +87,7 @@ export interface _envoy_api_v2_core_HealthCheck_GrpcHealthCheck__Output {
|
|||
* The value of the :authority header in the gRPC health check request. If
|
||||
* left empty (default value), the name of the cluster this health check is associated
|
||||
* with will be used. The authority header can be customized for a specific endpoint by setting
|
||||
* the :ref:`hostname <envoy_api_field_endpoint.Endpoint.HealthCheckConfig.hostname>` field.
|
||||
* the :ref:`hostname <envoy_api_field_config.endpoint.v3.Endpoint.HealthCheckConfig.hostname>` field.
|
||||
*/
|
||||
'authority': (string);
|
||||
}
|
||||
|
@ -97,12 +95,12 @@ export interface _envoy_api_v2_core_HealthCheck_GrpcHealthCheck__Output {
|
|||
/**
|
||||
* [#next-free-field: 12]
|
||||
*/
|
||||
export interface _envoy_api_v2_core_HealthCheck_HttpHealthCheck {
|
||||
export interface _envoy_config_core_v3_HealthCheck_HttpHealthCheck {
|
||||
/**
|
||||
* The value of the host header in the HTTP health check request. If
|
||||
* left empty (default value), the name of the cluster this health check is associated
|
||||
* with will be used. The host header can be customized for a specific endpoint by setting the
|
||||
* :ref:`hostname <envoy_api_field_endpoint.Endpoint.HealthCheckConfig.hostname>` field.
|
||||
* :ref:`hostname <envoy_api_field_config.endpoint.v3.Endpoint.HealthCheckConfig.hostname>` field.
|
||||
*/
|
||||
'host'?: (string);
|
||||
/**
|
||||
|
@ -113,69 +111,52 @@ export interface _envoy_api_v2_core_HealthCheck_HttpHealthCheck {
|
|||
/**
|
||||
* [#not-implemented-hide:] HTTP specific payload.
|
||||
*/
|
||||
'send'?: (_envoy_api_v2_core_HealthCheck_Payload);
|
||||
'send'?: (_envoy_config_core_v3_HealthCheck_Payload);
|
||||
/**
|
||||
* [#not-implemented-hide:] HTTP specific response.
|
||||
*/
|
||||
'receive'?: (_envoy_api_v2_core_HealthCheck_Payload);
|
||||
/**
|
||||
* An optional service name parameter which is used to validate the identity of
|
||||
* the health checked cluster. See the :ref:`architecture overview
|
||||
* <arch_overview_health_checking_identity>` for more information.
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* This field has been deprecated in favor of `service_name_matcher` for better flexibility
|
||||
* over matching with service-cluster name.
|
||||
*/
|
||||
'service_name'?: (string);
|
||||
'receive'?: (_envoy_config_core_v3_HealthCheck_Payload);
|
||||
/**
|
||||
* Specifies a list of HTTP headers that should be added to each request that is sent to the
|
||||
* health checked cluster. For more information, including details on header value syntax, see
|
||||
* the documentation on :ref:`custom request headers
|
||||
* <config_http_conn_man_headers_custom_request_headers>`.
|
||||
*/
|
||||
'request_headers_to_add'?: (_envoy_api_v2_core_HeaderValueOption)[];
|
||||
'request_headers_to_add'?: (_envoy_config_core_v3_HeaderValueOption)[];
|
||||
/**
|
||||
* Specifies a list of HTTP headers that should be removed from each request that is sent to the
|
||||
* health checked cluster.
|
||||
*/
|
||||
'request_headers_to_remove'?: (string)[];
|
||||
/**
|
||||
* If set, health checks will be made using http/2.
|
||||
* Deprecated, use :ref:`codec_client_type
|
||||
* <envoy_api_field_core.HealthCheck.HttpHealthCheck.codec_client_type>` instead.
|
||||
*/
|
||||
'use_http2'?: (boolean);
|
||||
/**
|
||||
* Specifies a list of HTTP response statuses considered healthy. If provided, replaces default
|
||||
* 200-only policy - 200 must be included explicitly as needed. Ranges follow half-open
|
||||
* semantics of :ref:`Int64Range <envoy_api_msg_type.Int64Range>`. The start and end of each
|
||||
* semantics of :ref:`Int64Range <envoy_api_msg_type.v3.Int64Range>`. The start and end of each
|
||||
* range are required. Only statuses in the range [100, 600) are allowed.
|
||||
*/
|
||||
'expected_statuses'?: (_envoy_type_Int64Range)[];
|
||||
'expected_statuses'?: (_envoy_type_v3_Int64Range)[];
|
||||
/**
|
||||
* Use specified application protocol for health checks.
|
||||
*/
|
||||
'codec_client_type'?: (_envoy_type_CodecClientType | keyof typeof _envoy_type_CodecClientType);
|
||||
'codec_client_type'?: (_envoy_type_v3_CodecClientType | keyof typeof _envoy_type_v3_CodecClientType);
|
||||
/**
|
||||
* An optional service name parameter which is used to validate the identity of
|
||||
* the health checked cluster using a :ref:`StringMatcher
|
||||
* <envoy_api_msg_type.matcher.StringMatcher>`. See the :ref:`architecture overview
|
||||
* <envoy_api_msg_type.matcher.v3.StringMatcher>`. See the :ref:`architecture overview
|
||||
* <arch_overview_health_checking_identity>` for more information.
|
||||
*/
|
||||
'service_name_matcher'?: (_envoy_type_matcher_StringMatcher);
|
||||
'service_name_matcher'?: (_envoy_type_matcher_v3_StringMatcher);
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 12]
|
||||
*/
|
||||
export interface _envoy_api_v2_core_HealthCheck_HttpHealthCheck__Output {
|
||||
export interface _envoy_config_core_v3_HealthCheck_HttpHealthCheck__Output {
|
||||
/**
|
||||
* The value of the host header in the HTTP health check request. If
|
||||
* left empty (default value), the name of the cluster this health check is associated
|
||||
* with will be used. The host header can be customized for a specific endpoint by setting the
|
||||
* :ref:`hostname <envoy_api_field_endpoint.Endpoint.HealthCheckConfig.hostname>` field.
|
||||
* :ref:`hostname <envoy_api_field_config.endpoint.v3.Endpoint.HealthCheckConfig.hostname>` field.
|
||||
*/
|
||||
'host': (string);
|
||||
/**
|
||||
|
@ -186,64 +167,47 @@ export interface _envoy_api_v2_core_HealthCheck_HttpHealthCheck__Output {
|
|||
/**
|
||||
* [#not-implemented-hide:] HTTP specific payload.
|
||||
*/
|
||||
'send'?: (_envoy_api_v2_core_HealthCheck_Payload__Output);
|
||||
'send'?: (_envoy_config_core_v3_HealthCheck_Payload__Output);
|
||||
/**
|
||||
* [#not-implemented-hide:] HTTP specific response.
|
||||
*/
|
||||
'receive'?: (_envoy_api_v2_core_HealthCheck_Payload__Output);
|
||||
/**
|
||||
* An optional service name parameter which is used to validate the identity of
|
||||
* the health checked cluster. See the :ref:`architecture overview
|
||||
* <arch_overview_health_checking_identity>` for more information.
|
||||
*
|
||||
* .. attention::
|
||||
*
|
||||
* This field has been deprecated in favor of `service_name_matcher` for better flexibility
|
||||
* over matching with service-cluster name.
|
||||
*/
|
||||
'service_name': (string);
|
||||
'receive'?: (_envoy_config_core_v3_HealthCheck_Payload__Output);
|
||||
/**
|
||||
* Specifies a list of HTTP headers that should be added to each request that is sent to the
|
||||
* health checked cluster. For more information, including details on header value syntax, see
|
||||
* the documentation on :ref:`custom request headers
|
||||
* <config_http_conn_man_headers_custom_request_headers>`.
|
||||
*/
|
||||
'request_headers_to_add': (_envoy_api_v2_core_HeaderValueOption__Output)[];
|
||||
'request_headers_to_add': (_envoy_config_core_v3_HeaderValueOption__Output)[];
|
||||
/**
|
||||
* Specifies a list of HTTP headers that should be removed from each request that is sent to the
|
||||
* health checked cluster.
|
||||
*/
|
||||
'request_headers_to_remove': (string)[];
|
||||
/**
|
||||
* If set, health checks will be made using http/2.
|
||||
* Deprecated, use :ref:`codec_client_type
|
||||
* <envoy_api_field_core.HealthCheck.HttpHealthCheck.codec_client_type>` instead.
|
||||
*/
|
||||
'use_http2': (boolean);
|
||||
/**
|
||||
* Specifies a list of HTTP response statuses considered healthy. If provided, replaces default
|
||||
* 200-only policy - 200 must be included explicitly as needed. Ranges follow half-open
|
||||
* semantics of :ref:`Int64Range <envoy_api_msg_type.Int64Range>`. The start and end of each
|
||||
* semantics of :ref:`Int64Range <envoy_api_msg_type.v3.Int64Range>`. The start and end of each
|
||||
* range are required. Only statuses in the range [100, 600) are allowed.
|
||||
*/
|
||||
'expected_statuses': (_envoy_type_Int64Range__Output)[];
|
||||
'expected_statuses': (_envoy_type_v3_Int64Range__Output)[];
|
||||
/**
|
||||
* Use specified application protocol for health checks.
|
||||
*/
|
||||
'codec_client_type': (keyof typeof _envoy_type_CodecClientType);
|
||||
'codec_client_type': (keyof typeof _envoy_type_v3_CodecClientType);
|
||||
/**
|
||||
* An optional service name parameter which is used to validate the identity of
|
||||
* the health checked cluster using a :ref:`StringMatcher
|
||||
* <envoy_api_msg_type.matcher.StringMatcher>`. See the :ref:`architecture overview
|
||||
* <envoy_api_msg_type.matcher.v3.StringMatcher>`. See the :ref:`architecture overview
|
||||
* <arch_overview_health_checking_identity>` for more information.
|
||||
*/
|
||||
'service_name_matcher'?: (_envoy_type_matcher_StringMatcher__Output);
|
||||
'service_name_matcher'?: (_envoy_type_matcher_v3_StringMatcher__Output);
|
||||
}
|
||||
|
||||
/**
|
||||
* Describes the encoding of the payload bytes in the payload.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_HealthCheck_Payload {
|
||||
export interface _envoy_config_core_v3_HealthCheck_Payload {
|
||||
/**
|
||||
* Hex encoded payload. E.g., "000000FF".
|
||||
*/
|
||||
|
@ -258,7 +222,7 @@ export interface _envoy_api_v2_core_HealthCheck_Payload {
|
|||
/**
|
||||
* Describes the encoding of the payload bytes in the payload.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_HealthCheck_Payload__Output {
|
||||
export interface _envoy_config_core_v3_HealthCheck_Payload__Output {
|
||||
/**
|
||||
* Hex encoded payload. E.g., "000000FF".
|
||||
*/
|
||||
|
@ -270,7 +234,7 @@ export interface _envoy_api_v2_core_HealthCheck_Payload__Output {
|
|||
'payload': "text"|"binary";
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_HealthCheck_RedisHealthCheck {
|
||||
export interface _envoy_config_core_v3_HealthCheck_RedisHealthCheck {
|
||||
/**
|
||||
* If set, optionally perform ``EXISTS <key>`` instead of ``PING``. A return value
|
||||
* from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other
|
||||
|
@ -280,7 +244,7 @@ export interface _envoy_api_v2_core_HealthCheck_RedisHealthCheck {
|
|||
'key'?: (string);
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_HealthCheck_RedisHealthCheck__Output {
|
||||
export interface _envoy_config_core_v3_HealthCheck_RedisHealthCheck__Output {
|
||||
/**
|
||||
* If set, optionally perform ``EXISTS <key>`` instead of ``PING``. A return value
|
||||
* from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other
|
||||
|
@ -290,30 +254,30 @@ export interface _envoy_api_v2_core_HealthCheck_RedisHealthCheck__Output {
|
|||
'key': (string);
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_HealthCheck_TcpHealthCheck {
|
||||
export interface _envoy_config_core_v3_HealthCheck_TcpHealthCheck {
|
||||
/**
|
||||
* Empty payloads imply a connect-only health check.
|
||||
*/
|
||||
'send'?: (_envoy_api_v2_core_HealthCheck_Payload);
|
||||
'send'?: (_envoy_config_core_v3_HealthCheck_Payload);
|
||||
/**
|
||||
* When checking the response, “fuzzy” matching is performed such that each
|
||||
* binary block must be found, and in the order specified, but not
|
||||
* necessarily contiguous.
|
||||
*/
|
||||
'receive'?: (_envoy_api_v2_core_HealthCheck_Payload)[];
|
||||
'receive'?: (_envoy_config_core_v3_HealthCheck_Payload)[];
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_HealthCheck_TcpHealthCheck__Output {
|
||||
export interface _envoy_config_core_v3_HealthCheck_TcpHealthCheck__Output {
|
||||
/**
|
||||
* Empty payloads imply a connect-only health check.
|
||||
*/
|
||||
'send'?: (_envoy_api_v2_core_HealthCheck_Payload__Output);
|
||||
'send'?: (_envoy_config_core_v3_HealthCheck_Payload__Output);
|
||||
/**
|
||||
* When checking the response, “fuzzy” matching is performed such that each
|
||||
* binary block must be found, and in the order specified, but not
|
||||
* necessarily contiguous.
|
||||
*/
|
||||
'receive': (_envoy_api_v2_core_HealthCheck_Payload__Output)[];
|
||||
'receive': (_envoy_config_core_v3_HealthCheck_Payload__Output)[];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -322,11 +286,11 @@ export interface _envoy_api_v2_core_HealthCheck_TcpHealthCheck__Output {
|
|||
*
|
||||
* This allows overriding the cluster TLS settings, just for health check connections.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_HealthCheck_TlsOptions {
|
||||
export interface _envoy_config_core_v3_HealthCheck_TlsOptions {
|
||||
/**
|
||||
* Specifies the ALPN protocols for health check connections. This is useful if the
|
||||
* corresponding upstream is using ALPN-based :ref:`FilterChainMatch
|
||||
* <envoy_api_msg_listener.FilterChainMatch>` along with different protocols for health checks
|
||||
* <envoy_api_msg_config.listener.v3.FilterChainMatch>` along with different protocols for health checks
|
||||
* versus data connections. If empty, no ALPN protocols will be set on health check connections.
|
||||
*/
|
||||
'alpn_protocols'?: (string)[];
|
||||
|
@ -338,18 +302,18 @@ export interface _envoy_api_v2_core_HealthCheck_TlsOptions {
|
|||
*
|
||||
* This allows overriding the cluster TLS settings, just for health check connections.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_HealthCheck_TlsOptions__Output {
|
||||
export interface _envoy_config_core_v3_HealthCheck_TlsOptions__Output {
|
||||
/**
|
||||
* Specifies the ALPN protocols for health check connections. This is useful if the
|
||||
* corresponding upstream is using ALPN-based :ref:`FilterChainMatch
|
||||
* <envoy_api_msg_listener.FilterChainMatch>` along with different protocols for health checks
|
||||
* <envoy_api_msg_config.listener.v3.FilterChainMatch>` along with different protocols for health checks
|
||||
* versus data connections. If empty, no ALPN protocols will be set on health check connections.
|
||||
*/
|
||||
'alpn_protocols': (string)[];
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 23]
|
||||
* [#next-free-field: 25]
|
||||
*/
|
||||
export interface HealthCheck {
|
||||
/**
|
||||
|
@ -389,15 +353,15 @@ export interface HealthCheck {
|
|||
/**
|
||||
* HTTP health check.
|
||||
*/
|
||||
'http_health_check'?: (_envoy_api_v2_core_HealthCheck_HttpHealthCheck);
|
||||
'http_health_check'?: (_envoy_config_core_v3_HealthCheck_HttpHealthCheck);
|
||||
/**
|
||||
* TCP health check.
|
||||
*/
|
||||
'tcp_health_check'?: (_envoy_api_v2_core_HealthCheck_TcpHealthCheck);
|
||||
'tcp_health_check'?: (_envoy_config_core_v3_HealthCheck_TcpHealthCheck);
|
||||
/**
|
||||
* gRPC health check.
|
||||
*/
|
||||
'grpc_health_check'?: (_envoy_api_v2_core_HealthCheck_GrpcHealthCheck);
|
||||
'grpc_health_check'?: (_envoy_config_core_v3_HealthCheck_GrpcHealthCheck);
|
||||
/**
|
||||
* The "no traffic interval" is a special health check interval that is used when a cluster has
|
||||
* never had traffic routed to it. This lower interval allows cluster information to be kept up to
|
||||
|
@ -412,7 +376,7 @@ export interface HealthCheck {
|
|||
/**
|
||||
* Custom health check.
|
||||
*/
|
||||
'custom_health_check'?: (_envoy_api_v2_core_HealthCheck_CustomHealthCheck);
|
||||
'custom_health_check'?: (_envoy_config_core_v3_HealthCheck_CustomHealthCheck);
|
||||
/**
|
||||
* The "unhealthy interval" is a health check interval that is used for hosts that are marked as
|
||||
* unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
|
||||
|
@ -467,18 +431,67 @@ export interface HealthCheck {
|
|||
/**
|
||||
* This allows overriding the cluster TLS settings, just for health check connections.
|
||||
*/
|
||||
'tls_options'?: (_envoy_api_v2_core_HealthCheck_TlsOptions);
|
||||
'tls_options'?: (_envoy_config_core_v3_HealthCheck_TlsOptions);
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
* The gRPC service for the health check event service.
|
||||
* If empty, health check events won't be sent to a remote endpoint.
|
||||
*/
|
||||
'event_service'?: (_envoy_api_v2_core_EventServiceConfig);
|
||||
'event_service'?: (_envoy_config_core_v3_EventServiceConfig);
|
||||
/**
|
||||
* Optional key/value pairs that will be used to match a transport socket from those specified in the cluster's
|
||||
* :ref:`tranport socket matches <envoy_api_field_config.cluster.v3.Cluster.transport_socket_matches>`.
|
||||
* For example, the following match criteria
|
||||
*
|
||||
* .. code-block:: yaml
|
||||
*
|
||||
* transport_socket_match_criteria:
|
||||
* useMTLS: true
|
||||
*
|
||||
* Will match the following :ref:`cluster socket match <envoy_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>`
|
||||
*
|
||||
* .. code-block:: yaml
|
||||
*
|
||||
* transport_socket_matches:
|
||||
* - name: "useMTLS"
|
||||
* match:
|
||||
* useMTLS: true
|
||||
* transport_socket:
|
||||
* name: envoy.transport_sockets.tls
|
||||
* config: { ... } # tls socket configuration
|
||||
*
|
||||
* If this field is set, then for health checks it will supersede an entry of *envoy.transport_socket* in the
|
||||
* :ref:`LbEndpoint.Metadata <envoy_api_field_config.endpoint.v3.LbEndpoint.metadata>`.
|
||||
* This allows using different transport socket capabilities for health checking versus proxying to the
|
||||
* endpoint.
|
||||
*
|
||||
* If the key/values pairs specified do not match any
|
||||
* :ref:`transport socket matches <envoy_api_field_config.cluster.v3.Cluster.transport_socket_matches>`,
|
||||
* the cluster's :ref:`transport socket <envoy_api_field_config.cluster.v3.Cluster.transport_socket>`
|
||||
* will be used for health check socket configuration.
|
||||
*/
|
||||
'transport_socket_match_criteria'?: (_google_protobuf_Struct);
|
||||
/**
|
||||
* The "no traffic healthy interval" is a special health check interval that
|
||||
* is used for hosts that are currently passing active health checking
|
||||
* (including new hosts) when the cluster has received no traffic.
|
||||
*
|
||||
* This is useful for when we want to send frequent health checks with
|
||||
* `no_traffic_interval` but then revert to lower frequency `no_traffic_healthy_interval` once
|
||||
* a host in the cluster is marked as healthy.
|
||||
*
|
||||
* Once a cluster has been used for traffic routing, Envoy will shift back to using the
|
||||
* standard health check interval that is defined.
|
||||
*
|
||||
* If no_traffic_healthy_interval is not set, it will default to the
|
||||
* no traffic interval and send that interval regardless of health state.
|
||||
*/
|
||||
'no_traffic_healthy_interval'?: (_google_protobuf_Duration);
|
||||
'health_checker'?: "http_health_check"|"tcp_health_check"|"grpc_health_check"|"custom_health_check";
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 23]
|
||||
* [#next-free-field: 25]
|
||||
*/
|
||||
export interface HealthCheck__Output {
|
||||
/**
|
||||
|
@ -518,15 +531,15 @@ export interface HealthCheck__Output {
|
|||
/**
|
||||
* HTTP health check.
|
||||
*/
|
||||
'http_health_check'?: (_envoy_api_v2_core_HealthCheck_HttpHealthCheck__Output);
|
||||
'http_health_check'?: (_envoy_config_core_v3_HealthCheck_HttpHealthCheck__Output);
|
||||
/**
|
||||
* TCP health check.
|
||||
*/
|
||||
'tcp_health_check'?: (_envoy_api_v2_core_HealthCheck_TcpHealthCheck__Output);
|
||||
'tcp_health_check'?: (_envoy_config_core_v3_HealthCheck_TcpHealthCheck__Output);
|
||||
/**
|
||||
* gRPC health check.
|
||||
*/
|
||||
'grpc_health_check'?: (_envoy_api_v2_core_HealthCheck_GrpcHealthCheck__Output);
|
||||
'grpc_health_check'?: (_envoy_config_core_v3_HealthCheck_GrpcHealthCheck__Output);
|
||||
/**
|
||||
* The "no traffic interval" is a special health check interval that is used when a cluster has
|
||||
* never had traffic routed to it. This lower interval allows cluster information to be kept up to
|
||||
|
@ -541,7 +554,7 @@ export interface HealthCheck__Output {
|
|||
/**
|
||||
* Custom health check.
|
||||
*/
|
||||
'custom_health_check'?: (_envoy_api_v2_core_HealthCheck_CustomHealthCheck__Output);
|
||||
'custom_health_check'?: (_envoy_config_core_v3_HealthCheck_CustomHealthCheck__Output);
|
||||
/**
|
||||
* The "unhealthy interval" is a health check interval that is used for hosts that are marked as
|
||||
* unhealthy. As soon as the host is marked as healthy, Envoy will shift back to using the
|
||||
|
@ -596,12 +609,61 @@ export interface HealthCheck__Output {
|
|||
/**
|
||||
* This allows overriding the cluster TLS settings, just for health check connections.
|
||||
*/
|
||||
'tls_options'?: (_envoy_api_v2_core_HealthCheck_TlsOptions__Output);
|
||||
'tls_options'?: (_envoy_config_core_v3_HealthCheck_TlsOptions__Output);
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
* The gRPC service for the health check event service.
|
||||
* If empty, health check events won't be sent to a remote endpoint.
|
||||
*/
|
||||
'event_service'?: (_envoy_api_v2_core_EventServiceConfig__Output);
|
||||
'event_service'?: (_envoy_config_core_v3_EventServiceConfig__Output);
|
||||
/**
|
||||
* Optional key/value pairs that will be used to match a transport socket from those specified in the cluster's
|
||||
* :ref:`tranport socket matches <envoy_api_field_config.cluster.v3.Cluster.transport_socket_matches>`.
|
||||
* For example, the following match criteria
|
||||
*
|
||||
* .. code-block:: yaml
|
||||
*
|
||||
* transport_socket_match_criteria:
|
||||
* useMTLS: true
|
||||
*
|
||||
* Will match the following :ref:`cluster socket match <envoy_api_msg_config.cluster.v3.Cluster.TransportSocketMatch>`
|
||||
*
|
||||
* .. code-block:: yaml
|
||||
*
|
||||
* transport_socket_matches:
|
||||
* - name: "useMTLS"
|
||||
* match:
|
||||
* useMTLS: true
|
||||
* transport_socket:
|
||||
* name: envoy.transport_sockets.tls
|
||||
* config: { ... } # tls socket configuration
|
||||
*
|
||||
* If this field is set, then for health checks it will supersede an entry of *envoy.transport_socket* in the
|
||||
* :ref:`LbEndpoint.Metadata <envoy_api_field_config.endpoint.v3.LbEndpoint.metadata>`.
|
||||
* This allows using different transport socket capabilities for health checking versus proxying to the
|
||||
* endpoint.
|
||||
*
|
||||
* If the key/values pairs specified do not match any
|
||||
* :ref:`transport socket matches <envoy_api_field_config.cluster.v3.Cluster.transport_socket_matches>`,
|
||||
* the cluster's :ref:`transport socket <envoy_api_field_config.cluster.v3.Cluster.transport_socket>`
|
||||
* will be used for health check socket configuration.
|
||||
*/
|
||||
'transport_socket_match_criteria'?: (_google_protobuf_Struct__Output);
|
||||
/**
|
||||
* The "no traffic healthy interval" is a special health check interval that
|
||||
* is used for hosts that are currently passing active health checking
|
||||
* (including new hosts) when the cluster has received no traffic.
|
||||
*
|
||||
* This is useful for when we want to send frequent health checks with
|
||||
* `no_traffic_interval` but then revert to lower frequency `no_traffic_healthy_interval` once
|
||||
* a host in the cluster is marked as healthy.
|
||||
*
|
||||
* Once a cluster has been used for traffic routing, Envoy will shift back to using the
|
||||
* standard health check interval that is defined.
|
||||
*
|
||||
* If no_traffic_healthy_interval is not set, it will default to the
|
||||
* no traffic interval and send that interval regardless of health state.
|
||||
*/
|
||||
'no_traffic_healthy_interval'?: (_google_protobuf_Duration__Output);
|
||||
'health_checker': "http_health_check"|"tcp_health_check"|"grpc_health_check"|"custom_health_check";
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/core/health_check.proto
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/health_check.proto
|
||||
|
||||
/**
|
||||
* Endpoint health status.
|
|
@ -1,8 +1,8 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/core/protocol.proto
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/protocol.proto
|
||||
|
||||
import type { BoolValue as _google_protobuf_BoolValue, BoolValue__Output as _google_protobuf_BoolValue__Output } from '../../../../google/protobuf/BoolValue';
|
||||
|
||||
export interface _envoy_api_v2_core_Http1ProtocolOptions_HeaderKeyFormat {
|
||||
export interface _envoy_config_core_v3_Http1ProtocolOptions_HeaderKeyFormat {
|
||||
/**
|
||||
* Formats the header by proper casing words: the first character and any character following
|
||||
* a special character will be capitalized if it's an alpha character. For example,
|
||||
|
@ -10,11 +10,11 @@ export interface _envoy_api_v2_core_Http1ProtocolOptions_HeaderKeyFormat {
|
|||
* Note that while this results in most headers following conventional casing, certain headers
|
||||
* are not covered. For example, the "TE" header will be formatted as "Te".
|
||||
*/
|
||||
'proper_case_words'?: (_envoy_api_v2_core_Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords);
|
||||
'proper_case_words'?: (_envoy_config_core_v3_Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords);
|
||||
'header_format'?: "proper_case_words";
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_Http1ProtocolOptions_HeaderKeyFormat__Output {
|
||||
export interface _envoy_config_core_v3_Http1ProtocolOptions_HeaderKeyFormat__Output {
|
||||
/**
|
||||
* Formats the header by proper casing words: the first character and any character following
|
||||
* a special character will be capitalized if it's an alpha character. For example,
|
||||
|
@ -22,18 +22,18 @@ export interface _envoy_api_v2_core_Http1ProtocolOptions_HeaderKeyFormat__Output
|
|||
* Note that while this results in most headers following conventional casing, certain headers
|
||||
* are not covered. For example, the "TE" header will be formatted as "Te".
|
||||
*/
|
||||
'proper_case_words'?: (_envoy_api_v2_core_Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords__Output);
|
||||
'proper_case_words'?: (_envoy_config_core_v3_Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords__Output);
|
||||
'header_format': "proper_case_words";
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords {
|
||||
export interface _envoy_config_core_v3_Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords {
|
||||
}
|
||||
|
||||
export interface _envoy_api_v2_core_Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords__Output {
|
||||
export interface _envoy_config_core_v3_Http1ProtocolOptions_HeaderKeyFormat_ProperCaseWords__Output {
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 6]
|
||||
* [#next-free-field: 8]
|
||||
*/
|
||||
export interface Http1ProtocolOptions {
|
||||
/**
|
||||
|
@ -60,7 +60,7 @@ export interface Http1ProtocolOptions {
|
|||
* Describes how the keys for response headers should be formatted. By default, all header keys
|
||||
* are lower cased.
|
||||
*/
|
||||
'header_key_format'?: (_envoy_api_v2_core_Http1ProtocolOptions_HeaderKeyFormat);
|
||||
'header_key_format'?: (_envoy_config_core_v3_Http1ProtocolOptions_HeaderKeyFormat);
|
||||
/**
|
||||
* Enables trailers for HTTP/1. By default the HTTP/1 codec drops proxied trailers.
|
||||
*
|
||||
|
@ -73,10 +73,30 @@ export interface Http1ProtocolOptions {
|
|||
* - The content length header is not present.
|
||||
*/
|
||||
'enable_trailers'?: (boolean);
|
||||
/**
|
||||
* Allows Envoy to process requests/responses with both `Content-Length` and `Transfer-Encoding`
|
||||
* headers set. By default such messages are rejected, but if option is enabled - Envoy will
|
||||
* remove Content-Length header and process message.
|
||||
* See `RFC7230, sec. 3.3.3 <https://tools.ietf.org/html/rfc7230#section-3.3.3>` for details.
|
||||
*
|
||||
* .. attention::
|
||||
* Enabling this option might lead to request smuggling vulnerability, especially if traffic
|
||||
* is proxied via multiple layers of proxies.
|
||||
*/
|
||||
'allow_chunked_length'?: (boolean);
|
||||
/**
|
||||
* Allows invalid HTTP messaging. When this option is false, then Envoy will terminate
|
||||
* HTTP/1.1 connections upon receiving an invalid HTTP message. However,
|
||||
* when this option is true, then Envoy will leave the HTTP/1.1 connection
|
||||
* open where possible.
|
||||
* If set, this overrides any HCM :ref:`stream_error_on_invalid_http_messaging
|
||||
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message>`.
|
||||
*/
|
||||
'override_stream_error_on_invalid_http_message'?: (_google_protobuf_BoolValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 6]
|
||||
* [#next-free-field: 8]
|
||||
*/
|
||||
export interface Http1ProtocolOptions__Output {
|
||||
/**
|
||||
|
@ -103,7 +123,7 @@ export interface Http1ProtocolOptions__Output {
|
|||
* Describes how the keys for response headers should be formatted. By default, all header keys
|
||||
* are lower cased.
|
||||
*/
|
||||
'header_key_format'?: (_envoy_api_v2_core_Http1ProtocolOptions_HeaderKeyFormat__Output);
|
||||
'header_key_format'?: (_envoy_config_core_v3_Http1ProtocolOptions_HeaderKeyFormat__Output);
|
||||
/**
|
||||
* Enables trailers for HTTP/1. By default the HTTP/1 codec drops proxied trailers.
|
||||
*
|
||||
|
@ -116,4 +136,24 @@ export interface Http1ProtocolOptions__Output {
|
|||
* - The content length header is not present.
|
||||
*/
|
||||
'enable_trailers': (boolean);
|
||||
/**
|
||||
* Allows Envoy to process requests/responses with both `Content-Length` and `Transfer-Encoding`
|
||||
* headers set. By default such messages are rejected, but if option is enabled - Envoy will
|
||||
* remove Content-Length header and process message.
|
||||
* See `RFC7230, sec. 3.3.3 <https://tools.ietf.org/html/rfc7230#section-3.3.3>` for details.
|
||||
*
|
||||
* .. attention::
|
||||
* Enabling this option might lead to request smuggling vulnerability, especially if traffic
|
||||
* is proxied via multiple layers of proxies.
|
||||
*/
|
||||
'allow_chunked_length': (boolean);
|
||||
/**
|
||||
* Allows invalid HTTP messaging. When this option is false, then Envoy will terminate
|
||||
* HTTP/1.1 connections upon receiving an invalid HTTP message. However,
|
||||
* when this option is true, then Envoy will leave the HTTP/1.1 connection
|
||||
* open where possible.
|
||||
* If set, this overrides any HCM :ref:`stream_error_on_invalid_http_messaging
|
||||
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message>`.
|
||||
*/
|
||||
'override_stream_error_on_invalid_http_message'?: (_google_protobuf_BoolValue__Output);
|
||||
}
|
|
@ -1,12 +1,14 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/core/protocol.proto
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/protocol.proto
|
||||
|
||||
import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
|
||||
import type { BoolValue as _google_protobuf_BoolValue, BoolValue__Output as _google_protobuf_BoolValue__Output } from '../../../../google/protobuf/BoolValue';
|
||||
import type { KeepaliveSettings as _envoy_config_core_v3_KeepaliveSettings, KeepaliveSettings__Output as _envoy_config_core_v3_KeepaliveSettings__Output } from '../../../../envoy/config/core/v3/KeepaliveSettings';
|
||||
|
||||
/**
|
||||
* Defines a parameter to be sent in the SETTINGS frame.
|
||||
* See `RFC7540, sec. 6.5.1 <https://tools.ietf.org/html/rfc7540#section-6.5.1>`_ for details.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_Http2ProtocolOptions_SettingsParameter {
|
||||
export interface _envoy_config_core_v3_Http2ProtocolOptions_SettingsParameter {
|
||||
/**
|
||||
* The 16 bit parameter identifier.
|
||||
*/
|
||||
|
@ -21,7 +23,7 @@ export interface _envoy_api_v2_core_Http2ProtocolOptions_SettingsParameter {
|
|||
* Defines a parameter to be sent in the SETTINGS frame.
|
||||
* See `RFC7540, sec. 6.5.1 <https://tools.ietf.org/html/rfc7540#section-6.5.1>`_ for details.
|
||||
*/
|
||||
export interface _envoy_api_v2_core_Http2ProtocolOptions_SettingsParameter__Output {
|
||||
export interface _envoy_config_core_v3_Http2ProtocolOptions_SettingsParameter__Output {
|
||||
/**
|
||||
* The 16 bit parameter identifier.
|
||||
*/
|
||||
|
@ -33,7 +35,7 @@ export interface _envoy_api_v2_core_Http2ProtocolOptions_SettingsParameter__Outp
|
|||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 14]
|
||||
* [#next-free-field: 16]
|
||||
*/
|
||||
export interface Http2ProtocolOptions {
|
||||
/**
|
||||
|
@ -81,7 +83,7 @@ export interface Http2ProtocolOptions {
|
|||
* Still under implementation. DO NOT USE.
|
||||
*
|
||||
* Allows metadata. See [metadata
|
||||
* docs](https://github.com/envoyproxy/envoy/blob/master/source/docs/h2_metadata.md) for more
|
||||
* docs](https://github.com/envoyproxy/envoy/blob/main/source/docs/h2_metadata.md) for more
|
||||
* information.
|
||||
*/
|
||||
'allow_metadata'?: (boolean);
|
||||
|
@ -90,7 +92,8 @@ export interface Http2ProtocolOptions {
|
|||
* be written into the socket). Exceeding this limit triggers flood mitigation and connection is
|
||||
* terminated. The ``http2.outbound_flood`` stat tracks the number of terminated connections due
|
||||
* to flood mitigation. The default limit is 10000.
|
||||
* [#comment:TODO: implement same limits for upstream outbound frames as well.]
|
||||
* NOTE: flood and abuse mitigation for upstream connections is presently enabled by the
|
||||
* `envoy.reloadable_features.upstream_http2_flood_checks` flag.
|
||||
*/
|
||||
'max_outbound_frames'?: (_google_protobuf_UInt32Value);
|
||||
/**
|
||||
|
@ -99,7 +102,8 @@ export interface Http2ProtocolOptions {
|
|||
* this limit triggers flood mitigation and connection is terminated. The
|
||||
* ``http2.outbound_control_flood`` stat tracks the number of terminated connections due to flood
|
||||
* mitigation. The default limit is 1000.
|
||||
* [#comment:TODO: implement same limits for upstream outbound frames as well.]
|
||||
* NOTE: flood and abuse mitigation for upstream connections is presently enabled by the
|
||||
* `envoy.reloadable_features.upstream_http2_flood_checks` flag.
|
||||
*/
|
||||
'max_outbound_control_frames'?: (_google_protobuf_UInt32Value);
|
||||
/**
|
||||
|
@ -109,7 +113,8 @@ export interface Http2ProtocolOptions {
|
|||
* stat tracks the number of connections terminated due to flood mitigation.
|
||||
* Setting this to 0 will terminate connection upon receiving first frame with an empty payload
|
||||
* and no end stream flag. The default limit is 1.
|
||||
* [#comment:TODO: implement same limits for upstream inbound frames as well.]
|
||||
* NOTE: flood and abuse mitigation for upstream connections is presently enabled by the
|
||||
* `envoy.reloadable_features.upstream_http2_flood_checks` flag.
|
||||
*/
|
||||
'max_consecutive_inbound_frames_with_empty_payload'?: (_google_protobuf_UInt32Value);
|
||||
/**
|
||||
|
@ -117,11 +122,15 @@ export interface Http2ProtocolOptions {
|
|||
* of PRIORITY frames received over the lifetime of connection exceeds the value calculated
|
||||
* using this formula::
|
||||
*
|
||||
* max_inbound_priority_frames_per_stream * (1 + inbound_streams)
|
||||
* max_inbound_priority_frames_per_stream * (1 + opened_streams)
|
||||
*
|
||||
* the connection is terminated. The ``http2.inbound_priority_frames_flood`` stat tracks
|
||||
* the connection is terminated. For downstream connections the `opened_streams` is incremented when
|
||||
* Envoy receives complete response headers from the upstream server. For upstream connection the
|
||||
* `opened_streams` is incremented when Envoy send the HEADERS frame for a new stream. The
|
||||
* ``http2.inbound_priority_frames_flood`` stat tracks
|
||||
* the number of connections terminated due to flood mitigation. The default limit is 100.
|
||||
* [#comment:TODO: implement same limits for upstream inbound frames as well.]
|
||||
* NOTE: flood and abuse mitigation for upstream connections is presently enabled by the
|
||||
* `envoy.reloadable_features.upstream_http2_flood_checks` flag.
|
||||
*/
|
||||
'max_inbound_priority_frames_per_stream'?: (_google_protobuf_UInt32Value);
|
||||
/**
|
||||
|
@ -129,14 +138,18 @@ export interface Http2ProtocolOptions {
|
|||
* of WINDOW_UPDATE frames received over the lifetime of connection exceeds the value calculated
|
||||
* using this formula::
|
||||
*
|
||||
* 1 + 2 * (inbound_streams +
|
||||
* 5 + 2 * (opened_streams +
|
||||
* max_inbound_window_update_frames_per_data_frame_sent * outbound_data_frames)
|
||||
*
|
||||
* the connection is terminated. The ``http2.inbound_priority_frames_flood`` stat tracks
|
||||
* the number of connections terminated due to flood mitigation. The default limit is 10.
|
||||
* the connection is terminated. For downstream connections the `opened_streams` is incremented when
|
||||
* Envoy receives complete response headers from the upstream server. For upstream connections the
|
||||
* `opened_streams` is incremented when Envoy sends the HEADERS frame for a new stream. The
|
||||
* ``http2.inbound_priority_frames_flood`` stat tracks the number of connections terminated due to
|
||||
* flood mitigation. The default max_inbound_window_update_frames_per_data_frame_sent value is 10.
|
||||
* Setting this to 1 should be enough to support HTTP/2 implementations with basic flow control,
|
||||
* but more complex implementations that try to estimate available bandwidth require at least 2.
|
||||
* [#comment:TODO: implement same limits for upstream inbound frames as well.]
|
||||
* NOTE: flood and abuse mitigation for upstream connections is presently enabled by the
|
||||
* `envoy.reloadable_features.upstream_http2_flood_checks` flag.
|
||||
*/
|
||||
'max_inbound_window_update_frames_per_data_frame_sent'?: (_google_protobuf_UInt32Value);
|
||||
/**
|
||||
|
@ -144,6 +157,13 @@ export interface Http2ProtocolOptions {
|
|||
* the whole HTTP/2 connection is terminated upon receiving invalid HEADERS frame. However,
|
||||
* when this option is enabled, only the offending stream is terminated.
|
||||
*
|
||||
* This is overridden by HCM :ref:`stream_error_on_invalid_http_messaging
|
||||
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message>`
|
||||
* iff present.
|
||||
*
|
||||
* This is deprecated in favor of :ref:`override_stream_error_on_invalid_http_message
|
||||
* <envoy_v3_api_field_config.core.v3.Http2ProtocolOptions.override_stream_error_on_invalid_http_message>`
|
||||
*
|
||||
* See `RFC7540, sec. 8.1 <https://tools.ietf.org/html/rfc7540#section-8.1>`_ for details.
|
||||
*/
|
||||
'stream_error_on_invalid_http_messaging'?: (boolean);
|
||||
|
@ -175,11 +195,27 @@ export interface Http2ProtocolOptions {
|
|||
* <https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml#settings>`_ for
|
||||
* standardized identifiers.
|
||||
*/
|
||||
'custom_settings_parameters'?: (_envoy_api_v2_core_Http2ProtocolOptions_SettingsParameter)[];
|
||||
'custom_settings_parameters'?: (_envoy_config_core_v3_Http2ProtocolOptions_SettingsParameter)[];
|
||||
/**
|
||||
* Allows invalid HTTP messaging and headers. When this option is disabled (default), then
|
||||
* the whole HTTP/2 connection is terminated upon receiving invalid HEADERS frame. However,
|
||||
* when this option is enabled, only the offending stream is terminated.
|
||||
*
|
||||
* This overrides any HCM :ref:`stream_error_on_invalid_http_messaging
|
||||
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message>`
|
||||
*
|
||||
* See `RFC7540, sec. 8.1 <https://tools.ietf.org/html/rfc7540#section-8.1>`_ for details.
|
||||
*/
|
||||
'override_stream_error_on_invalid_http_message'?: (_google_protobuf_BoolValue);
|
||||
/**
|
||||
* Send HTTP/2 PING frames to verify that the connection is still healthy. If the remote peer
|
||||
* does not respond within the configured timeout, the connection will be aborted.
|
||||
*/
|
||||
'connection_keepalive'?: (_envoy_config_core_v3_KeepaliveSettings);
|
||||
}
|
||||
|
||||
/**
|
||||
* [#next-free-field: 14]
|
||||
* [#next-free-field: 16]
|
||||
*/
|
||||
export interface Http2ProtocolOptions__Output {
|
||||
/**
|
||||
|
@ -227,7 +263,7 @@ export interface Http2ProtocolOptions__Output {
|
|||
* Still under implementation. DO NOT USE.
|
||||
*
|
||||
* Allows metadata. See [metadata
|
||||
* docs](https://github.com/envoyproxy/envoy/blob/master/source/docs/h2_metadata.md) for more
|
||||
* docs](https://github.com/envoyproxy/envoy/blob/main/source/docs/h2_metadata.md) for more
|
||||
* information.
|
||||
*/
|
||||
'allow_metadata': (boolean);
|
||||
|
@ -236,7 +272,8 @@ export interface Http2ProtocolOptions__Output {
|
|||
* be written into the socket). Exceeding this limit triggers flood mitigation and connection is
|
||||
* terminated. The ``http2.outbound_flood`` stat tracks the number of terminated connections due
|
||||
* to flood mitigation. The default limit is 10000.
|
||||
* [#comment:TODO: implement same limits for upstream outbound frames as well.]
|
||||
* NOTE: flood and abuse mitigation for upstream connections is presently enabled by the
|
||||
* `envoy.reloadable_features.upstream_http2_flood_checks` flag.
|
||||
*/
|
||||
'max_outbound_frames'?: (_google_protobuf_UInt32Value__Output);
|
||||
/**
|
||||
|
@ -245,7 +282,8 @@ export interface Http2ProtocolOptions__Output {
|
|||
* this limit triggers flood mitigation and connection is terminated. The
|
||||
* ``http2.outbound_control_flood`` stat tracks the number of terminated connections due to flood
|
||||
* mitigation. The default limit is 1000.
|
||||
* [#comment:TODO: implement same limits for upstream outbound frames as well.]
|
||||
* NOTE: flood and abuse mitigation for upstream connections is presently enabled by the
|
||||
* `envoy.reloadable_features.upstream_http2_flood_checks` flag.
|
||||
*/
|
||||
'max_outbound_control_frames'?: (_google_protobuf_UInt32Value__Output);
|
||||
/**
|
||||
|
@ -255,7 +293,8 @@ export interface Http2ProtocolOptions__Output {
|
|||
* stat tracks the number of connections terminated due to flood mitigation.
|
||||
* Setting this to 0 will terminate connection upon receiving first frame with an empty payload
|
||||
* and no end stream flag. The default limit is 1.
|
||||
* [#comment:TODO: implement same limits for upstream inbound frames as well.]
|
||||
* NOTE: flood and abuse mitigation for upstream connections is presently enabled by the
|
||||
* `envoy.reloadable_features.upstream_http2_flood_checks` flag.
|
||||
*/
|
||||
'max_consecutive_inbound_frames_with_empty_payload'?: (_google_protobuf_UInt32Value__Output);
|
||||
/**
|
||||
|
@ -263,11 +302,15 @@ export interface Http2ProtocolOptions__Output {
|
|||
* of PRIORITY frames received over the lifetime of connection exceeds the value calculated
|
||||
* using this formula::
|
||||
*
|
||||
* max_inbound_priority_frames_per_stream * (1 + inbound_streams)
|
||||
* max_inbound_priority_frames_per_stream * (1 + opened_streams)
|
||||
*
|
||||
* the connection is terminated. The ``http2.inbound_priority_frames_flood`` stat tracks
|
||||
* the connection is terminated. For downstream connections the `opened_streams` is incremented when
|
||||
* Envoy receives complete response headers from the upstream server. For upstream connection the
|
||||
* `opened_streams` is incremented when Envoy send the HEADERS frame for a new stream. The
|
||||
* ``http2.inbound_priority_frames_flood`` stat tracks
|
||||
* the number of connections terminated due to flood mitigation. The default limit is 100.
|
||||
* [#comment:TODO: implement same limits for upstream inbound frames as well.]
|
||||
* NOTE: flood and abuse mitigation for upstream connections is presently enabled by the
|
||||
* `envoy.reloadable_features.upstream_http2_flood_checks` flag.
|
||||
*/
|
||||
'max_inbound_priority_frames_per_stream'?: (_google_protobuf_UInt32Value__Output);
|
||||
/**
|
||||
|
@ -275,14 +318,18 @@ export interface Http2ProtocolOptions__Output {
|
|||
* of WINDOW_UPDATE frames received over the lifetime of connection exceeds the value calculated
|
||||
* using this formula::
|
||||
*
|
||||
* 1 + 2 * (inbound_streams +
|
||||
* 5 + 2 * (opened_streams +
|
||||
* max_inbound_window_update_frames_per_data_frame_sent * outbound_data_frames)
|
||||
*
|
||||
* the connection is terminated. The ``http2.inbound_priority_frames_flood`` stat tracks
|
||||
* the number of connections terminated due to flood mitigation. The default limit is 10.
|
||||
* the connection is terminated. For downstream connections the `opened_streams` is incremented when
|
||||
* Envoy receives complete response headers from the upstream server. For upstream connections the
|
||||
* `opened_streams` is incremented when Envoy sends the HEADERS frame for a new stream. The
|
||||
* ``http2.inbound_priority_frames_flood`` stat tracks the number of connections terminated due to
|
||||
* flood mitigation. The default max_inbound_window_update_frames_per_data_frame_sent value is 10.
|
||||
* Setting this to 1 should be enough to support HTTP/2 implementations with basic flow control,
|
||||
* but more complex implementations that try to estimate available bandwidth require at least 2.
|
||||
* [#comment:TODO: implement same limits for upstream inbound frames as well.]
|
||||
* NOTE: flood and abuse mitigation for upstream connections is presently enabled by the
|
||||
* `envoy.reloadable_features.upstream_http2_flood_checks` flag.
|
||||
*/
|
||||
'max_inbound_window_update_frames_per_data_frame_sent'?: (_google_protobuf_UInt32Value__Output);
|
||||
/**
|
||||
|
@ -290,6 +337,13 @@ export interface Http2ProtocolOptions__Output {
|
|||
* the whole HTTP/2 connection is terminated upon receiving invalid HEADERS frame. However,
|
||||
* when this option is enabled, only the offending stream is terminated.
|
||||
*
|
||||
* This is overridden by HCM :ref:`stream_error_on_invalid_http_messaging
|
||||
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message>`
|
||||
* iff present.
|
||||
*
|
||||
* This is deprecated in favor of :ref:`override_stream_error_on_invalid_http_message
|
||||
* <envoy_v3_api_field_config.core.v3.Http2ProtocolOptions.override_stream_error_on_invalid_http_message>`
|
||||
*
|
||||
* See `RFC7540, sec. 8.1 <https://tools.ietf.org/html/rfc7540#section-8.1>`_ for details.
|
||||
*/
|
||||
'stream_error_on_invalid_http_messaging': (boolean);
|
||||
|
@ -321,5 +375,21 @@ export interface Http2ProtocolOptions__Output {
|
|||
* <https://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml#settings>`_ for
|
||||
* standardized identifiers.
|
||||
*/
|
||||
'custom_settings_parameters': (_envoy_api_v2_core_Http2ProtocolOptions_SettingsParameter__Output)[];
|
||||
'custom_settings_parameters': (_envoy_config_core_v3_Http2ProtocolOptions_SettingsParameter__Output)[];
|
||||
/**
|
||||
* Allows invalid HTTP messaging and headers. When this option is disabled (default), then
|
||||
* the whole HTTP/2 connection is terminated upon receiving invalid HEADERS frame. However,
|
||||
* when this option is enabled, only the offending stream is terminated.
|
||||
*
|
||||
* This overrides any HCM :ref:`stream_error_on_invalid_http_messaging
|
||||
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message>`
|
||||
*
|
||||
* See `RFC7540, sec. 8.1 <https://tools.ietf.org/html/rfc7540#section-8.1>`_ for details.
|
||||
*/
|
||||
'override_stream_error_on_invalid_http_message'?: (_google_protobuf_BoolValue__Output);
|
||||
/**
|
||||
* Send HTTP/2 PING frames to verify that the connection is still healthy. If the remote peer
|
||||
* does not respond within the configured timeout, the connection will be aborted.
|
||||
*/
|
||||
'connection_keepalive'?: (_envoy_config_core_v3_KeepaliveSettings__Output);
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/protocol.proto
|
||||
|
||||
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
*
|
||||
* A message which allows using HTTP/3 as an upstream protocol.
|
||||
*
|
||||
* Eventually this will include configuration for tuning HTTP/3.
|
||||
*/
|
||||
export interface Http3ProtocolOptions {
|
||||
}
|
||||
|
||||
/**
|
||||
* [#not-implemented-hide:]
|
||||
*
|
||||
* A message which allows using HTTP/3 as an upstream protocol.
|
||||
*
|
||||
* Eventually this will include configuration for tuning HTTP/3.
|
||||
*/
|
||||
export interface Http3ProtocolOptions__Output {
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/core/protocol.proto
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/protocol.proto
|
||||
|
||||
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
|
||||
import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
|
||||
|
||||
// Original file: deps/envoy-api/envoy/api/v2/core/protocol.proto
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/protocol.proto
|
||||
|
||||
/**
|
||||
* Action to take when Envoy receives client request with header names containing underscore
|
||||
|
@ -12,7 +12,7 @@ import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output a
|
|||
* as a security measure due to systems that treat '_' and '-' as interchangeable. Envoy by default allows client request headers with underscore
|
||||
* characters.
|
||||
*/
|
||||
export enum _envoy_api_v2_core_HttpProtocolOptions_HeadersWithUnderscoresAction {
|
||||
export enum _envoy_config_core_v3_HttpProtocolOptions_HeadersWithUnderscoresAction {
|
||||
/**
|
||||
* Allow headers with underscores. This is the default behavior.
|
||||
*/
|
||||
|
@ -41,13 +41,17 @@ export interface HttpProtocolOptions {
|
|||
* idle timeout is reached the connection will be closed. If the connection is an HTTP/2
|
||||
* downstream connection a drain sequence will occur prior to closing the connection, see
|
||||
* :ref:`drain_timeout
|
||||
* <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.drain_timeout>`.
|
||||
* <envoy_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.drain_timeout>`.
|
||||
* Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive.
|
||||
* If not specified, this defaults to 1 hour. To disable idle timeouts explicitly set this to 0.
|
||||
*
|
||||
* .. warning::
|
||||
* Disabling this timeout has a highly likelihood of yielding connection leaks due to lost TCP
|
||||
* FIN packets, etc.
|
||||
*
|
||||
* If the :ref:`overload action <config_overload_manager_overload_actions>` "envoy.overload_actions.reduce_timeouts"
|
||||
* is configured, this timeout is scaled for downstream connections according to the value for
|
||||
* :ref:`HTTP_DOWNSTREAM_CONNECTION_IDLE <envoy_api_enum_value_config.overload.v3.ScaleTimersOverloadActionConfig.TimerType.HTTP_DOWNSTREAM_CONNECTION_IDLE>`.
|
||||
*/
|
||||
'idle_timeout'?: (_google_protobuf_Duration);
|
||||
/**
|
||||
|
@ -61,7 +65,7 @@ export interface HttpProtocolOptions {
|
|||
* was established. If not set, there is no max duration. When max_connection_duration is reached
|
||||
* the connection will be closed. Drain sequence will occur prior to closing the connection if
|
||||
* if's applicable. See :ref:`drain_timeout
|
||||
* <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.drain_timeout>`.
|
||||
* <envoy_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.drain_timeout>`.
|
||||
* Note: not implemented for upstream connections.
|
||||
*/
|
||||
'max_connection_duration'?: (_google_protobuf_Duration);
|
||||
|
@ -75,7 +79,7 @@ export interface HttpProtocolOptions {
|
|||
* If this setting is not specified, the value defaults to ALLOW.
|
||||
* Note: upstream responses are not affected by this setting.
|
||||
*/
|
||||
'headers_with_underscores_action'?: (_envoy_api_v2_core_HttpProtocolOptions_HeadersWithUnderscoresAction | keyof typeof _envoy_api_v2_core_HttpProtocolOptions_HeadersWithUnderscoresAction);
|
||||
'headers_with_underscores_action'?: (_envoy_config_core_v3_HttpProtocolOptions_HeadersWithUnderscoresAction | keyof typeof _envoy_config_core_v3_HttpProtocolOptions_HeadersWithUnderscoresAction);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -88,13 +92,17 @@ export interface HttpProtocolOptions__Output {
|
|||
* idle timeout is reached the connection will be closed. If the connection is an HTTP/2
|
||||
* downstream connection a drain sequence will occur prior to closing the connection, see
|
||||
* :ref:`drain_timeout
|
||||
* <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.drain_timeout>`.
|
||||
* <envoy_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.drain_timeout>`.
|
||||
* Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive.
|
||||
* If not specified, this defaults to 1 hour. To disable idle timeouts explicitly set this to 0.
|
||||
*
|
||||
* .. warning::
|
||||
* Disabling this timeout has a highly likelihood of yielding connection leaks due to lost TCP
|
||||
* FIN packets, etc.
|
||||
*
|
||||
* If the :ref:`overload action <config_overload_manager_overload_actions>` "envoy.overload_actions.reduce_timeouts"
|
||||
* is configured, this timeout is scaled for downstream connections according to the value for
|
||||
* :ref:`HTTP_DOWNSTREAM_CONNECTION_IDLE <envoy_api_enum_value_config.overload.v3.ScaleTimersOverloadActionConfig.TimerType.HTTP_DOWNSTREAM_CONNECTION_IDLE>`.
|
||||
*/
|
||||
'idle_timeout'?: (_google_protobuf_Duration__Output);
|
||||
/**
|
||||
|
@ -108,7 +116,7 @@ export interface HttpProtocolOptions__Output {
|
|||
* was established. If not set, there is no max duration. When max_connection_duration is reached
|
||||
* the connection will be closed. Drain sequence will occur prior to closing the connection if
|
||||
* if's applicable. See :ref:`drain_timeout
|
||||
* <envoy_api_field_config.filter.network.http_connection_manager.v2.HttpConnectionManager.drain_timeout>`.
|
||||
* <envoy_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.drain_timeout>`.
|
||||
* Note: not implemented for upstream connections.
|
||||
*/
|
||||
'max_connection_duration'?: (_google_protobuf_Duration__Output);
|
||||
|
@ -122,5 +130,5 @@ export interface HttpProtocolOptions__Output {
|
|||
* If this setting is not specified, the value defaults to ALLOW.
|
||||
* Note: upstream responses are not affected by this setting.
|
||||
*/
|
||||
'headers_with_underscores_action': (keyof typeof _envoy_api_v2_core_HttpProtocolOptions_HeadersWithUnderscoresAction);
|
||||
'headers_with_underscores_action': (keyof typeof _envoy_config_core_v3_HttpProtocolOptions_HeadersWithUnderscoresAction);
|
||||
}
|
|
@ -0,0 +1,79 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/http_uri.proto
|
||||
|
||||
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
|
||||
|
||||
/**
|
||||
* Envoy external URI descriptor
|
||||
*/
|
||||
export interface HttpUri {
|
||||
/**
|
||||
* The HTTP server URI. It should be a full FQDN with protocol, host and path.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* .. code-block:: yaml
|
||||
*
|
||||
* uri: https://www.googleapis.com/oauth2/v1/certs
|
||||
*/
|
||||
'uri'?: (string);
|
||||
/**
|
||||
* A cluster is created in the Envoy "cluster_manager" config
|
||||
* section. This field specifies the cluster name.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* .. code-block:: yaml
|
||||
*
|
||||
* cluster: jwks_cluster
|
||||
*/
|
||||
'cluster'?: (string);
|
||||
/**
|
||||
* Sets the maximum duration in milliseconds that a response can take to arrive upon request.
|
||||
*/
|
||||
'timeout'?: (_google_protobuf_Duration);
|
||||
/**
|
||||
* Specify how `uri` is to be fetched. Today, this requires an explicit
|
||||
* cluster, but in the future we may support dynamic cluster creation or
|
||||
* inline DNS resolution. See `issue
|
||||
* <https://github.com/envoyproxy/envoy/issues/1606>`_.
|
||||
*/
|
||||
'http_upstream_type'?: "cluster";
|
||||
}
|
||||
|
||||
/**
|
||||
* Envoy external URI descriptor
|
||||
*/
|
||||
export interface HttpUri__Output {
|
||||
/**
|
||||
* The HTTP server URI. It should be a full FQDN with protocol, host and path.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* .. code-block:: yaml
|
||||
*
|
||||
* uri: https://www.googleapis.com/oauth2/v1/certs
|
||||
*/
|
||||
'uri': (string);
|
||||
/**
|
||||
* A cluster is created in the Envoy "cluster_manager" config
|
||||
* section. This field specifies the cluster name.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* .. code-block:: yaml
|
||||
*
|
||||
* cluster: jwks_cluster
|
||||
*/
|
||||
'cluster'?: (string);
|
||||
/**
|
||||
* Sets the maximum duration in milliseconds that a response can take to arrive upon request.
|
||||
*/
|
||||
'timeout'?: (_google_protobuf_Duration__Output);
|
||||
/**
|
||||
* Specify how `uri` is to be fetched. Today, this requires an explicit
|
||||
* cluster, but in the future we may support dynamic cluster creation or
|
||||
* inline DNS resolution. See `issue
|
||||
* <https://github.com/envoyproxy/envoy/issues/1606>`_.
|
||||
*/
|
||||
'http_upstream_type': "cluster";
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/protocol.proto
|
||||
|
||||
import type { Duration as _google_protobuf_Duration, Duration__Output as _google_protobuf_Duration__Output } from '../../../../google/protobuf/Duration';
|
||||
import type { Percent as _envoy_type_v3_Percent, Percent__Output as _envoy_type_v3_Percent__Output } from '../../../../envoy/type/v3/Percent';
|
||||
|
||||
export interface KeepaliveSettings {
|
||||
/**
|
||||
* Send HTTP/2 PING frames at this period, in order to test that the connection is still alive.
|
||||
*/
|
||||
'interval'?: (_google_protobuf_Duration);
|
||||
/**
|
||||
* How long to wait for a response to a keepalive PING. If a response is not received within this
|
||||
* time period, the connection will be aborted.
|
||||
*/
|
||||
'timeout'?: (_google_protobuf_Duration);
|
||||
/**
|
||||
* A random jitter amount as a percentage of interval that will be added to each interval.
|
||||
* A value of zero means there will be no jitter.
|
||||
* The default value is 15%.
|
||||
*/
|
||||
'interval_jitter'?: (_envoy_type_v3_Percent);
|
||||
}
|
||||
|
||||
export interface KeepaliveSettings__Output {
|
||||
/**
|
||||
* Send HTTP/2 PING frames at this period, in order to test that the connection is still alive.
|
||||
*/
|
||||
'interval'?: (_google_protobuf_Duration__Output);
|
||||
/**
|
||||
* How long to wait for a response to a keepalive PING. If a response is not received within this
|
||||
* time period, the connection will be aborted.
|
||||
*/
|
||||
'timeout'?: (_google_protobuf_Duration__Output);
|
||||
/**
|
||||
* A random jitter amount as a percentage of interval that will be added to each interval.
|
||||
* A value of zero means there will be no jitter.
|
||||
* The default value is 15%.
|
||||
*/
|
||||
'interval_jitter'?: (_envoy_type_v3_Percent__Output);
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
|
||||
/**
|
||||
* Identifies location of where either Envoy runs or where upstream hosts run.
|
||||
*/
|
||||
export interface Locality {
|
||||
/**
|
||||
* Region this :ref:`zone <envoy_api_field_config.core.v3.Locality.zone>` belongs to.
|
||||
*/
|
||||
'region'?: (string);
|
||||
/**
|
||||
* Defines the local service zone where Envoy is running. Though optional, it
|
||||
* should be set if discovery service routing is used and the discovery
|
||||
* service exposes :ref:`zone data <envoy_api_field_config.endpoint.v3.LocalityLbEndpoints.locality>`,
|
||||
* either in this message or via :option:`--service-zone`. The meaning of zone
|
||||
* is context dependent, e.g. `Availability Zone (AZ)
|
||||
* <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html>`_
|
||||
* on AWS, `Zone <https://cloud.google.com/compute/docs/regions-zones/>`_ on
|
||||
* GCP, etc.
|
||||
*/
|
||||
'zone'?: (string);
|
||||
/**
|
||||
* When used for locality of upstream hosts, this field further splits zone
|
||||
* into smaller chunks of sub-zones so they can be load balanced
|
||||
* independently.
|
||||
*/
|
||||
'sub_zone'?: (string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Identifies location of where either Envoy runs or where upstream hosts run.
|
||||
*/
|
||||
export interface Locality__Output {
|
||||
/**
|
||||
* Region this :ref:`zone <envoy_api_field_config.core.v3.Locality.zone>` belongs to.
|
||||
*/
|
||||
'region': (string);
|
||||
/**
|
||||
* Defines the local service zone where Envoy is running. Though optional, it
|
||||
* should be set if discovery service routing is used and the discovery
|
||||
* service exposes :ref:`zone data <envoy_api_field_config.endpoint.v3.LocalityLbEndpoints.locality>`,
|
||||
* either in this message or via :option:`--service-zone`. The meaning of zone
|
||||
* is context dependent, e.g. `Availability Zone (AZ)
|
||||
* <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html>`_
|
||||
* on AWS, `Zone <https://cloud.google.com/compute/docs/regions-zones/>`_ on
|
||||
* GCP, etc.
|
||||
*/
|
||||
'zone': (string);
|
||||
/**
|
||||
* When used for locality of upstream hosts, this field further splits zone
|
||||
* into smaller chunks of sub-zones so they can be load balanced
|
||||
* independently.
|
||||
*/
|
||||
'sub_zone': (string);
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
import type { Struct as _google_protobuf_Struct, Struct__Output as _google_protobuf_Struct__Output } from '../../../../google/protobuf/Struct';
|
||||
|
||||
/**
|
||||
* Metadata provides additional inputs to filters based on matched listeners,
|
||||
* filter chains, routes and endpoints. It is structured as a map, usually from
|
||||
* filter name (in reverse DNS format) to metadata specific to the filter. Metadata
|
||||
* key-values for a filter are merged as connection and request handling occurs,
|
||||
* with later values for the same key overriding earlier values.
|
||||
*
|
||||
* An example use of metadata is providing additional values to
|
||||
* http_connection_manager in the envoy.http_connection_manager.access_log
|
||||
* namespace.
|
||||
*
|
||||
* Another example use of metadata is to per service config info in cluster metadata, which may get
|
||||
* consumed by multiple filters.
|
||||
*
|
||||
* For load balancing, Metadata provides a means to subset cluster endpoints.
|
||||
* Endpoints have a Metadata object associated and routes contain a Metadata
|
||||
* object to match against. There are some well defined metadata used today for
|
||||
* this purpose:
|
||||
*
|
||||
* * ``{"envoy.lb": {"canary": <bool> }}`` This indicates the canary status of an
|
||||
* endpoint and is also used during header processing
|
||||
* (x-envoy-upstream-canary) and for stats purposes.
|
||||
* [#next-major-version: move to type/metadata/v2]
|
||||
*/
|
||||
export interface Metadata {
|
||||
/**
|
||||
* Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
|
||||
* namespace is reserved for Envoy's built-in filters.
|
||||
*/
|
||||
'filter_metadata'?: ({[key: string]: _google_protobuf_Struct});
|
||||
}
|
||||
|
||||
/**
|
||||
* Metadata provides additional inputs to filters based on matched listeners,
|
||||
* filter chains, routes and endpoints. It is structured as a map, usually from
|
||||
* filter name (in reverse DNS format) to metadata specific to the filter. Metadata
|
||||
* key-values for a filter are merged as connection and request handling occurs,
|
||||
* with later values for the same key overriding earlier values.
|
||||
*
|
||||
* An example use of metadata is providing additional values to
|
||||
* http_connection_manager in the envoy.http_connection_manager.access_log
|
||||
* namespace.
|
||||
*
|
||||
* Another example use of metadata is to per service config info in cluster metadata, which may get
|
||||
* consumed by multiple filters.
|
||||
*
|
||||
* For load balancing, Metadata provides a means to subset cluster endpoints.
|
||||
* Endpoints have a Metadata object associated and routes contain a Metadata
|
||||
* object to match against. There are some well defined metadata used today for
|
||||
* this purpose:
|
||||
*
|
||||
* * ``{"envoy.lb": {"canary": <bool> }}`` This indicates the canary status of an
|
||||
* endpoint and is also used during header processing
|
||||
* (x-envoy-upstream-canary) and for stats purposes.
|
||||
* [#next-major-version: move to type/metadata/v2]
|
||||
*/
|
||||
export interface Metadata__Output {
|
||||
/**
|
||||
* Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.*
|
||||
* namespace is reserved for Envoy's built-in filters.
|
||||
*/
|
||||
'filter_metadata'?: ({[key: string]: _google_protobuf_Struct__Output});
|
||||
}
|
|
@ -0,0 +1,159 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
import type { Struct as _google_protobuf_Struct, Struct__Output as _google_protobuf_Struct__Output } from '../../../../google/protobuf/Struct';
|
||||
import type { Locality as _envoy_config_core_v3_Locality, Locality__Output as _envoy_config_core_v3_Locality__Output } from '../../../../envoy/config/core/v3/Locality';
|
||||
import type { BuildVersion as _envoy_config_core_v3_BuildVersion, BuildVersion__Output as _envoy_config_core_v3_BuildVersion__Output } from '../../../../envoy/config/core/v3/BuildVersion';
|
||||
import type { Extension as _envoy_config_core_v3_Extension, Extension__Output as _envoy_config_core_v3_Extension__Output } from '../../../../envoy/config/core/v3/Extension';
|
||||
import type { Address as _envoy_config_core_v3_Address, Address__Output as _envoy_config_core_v3_Address__Output } from '../../../../envoy/config/core/v3/Address';
|
||||
|
||||
/**
|
||||
* Identifies a specific Envoy instance. The node identifier is presented to the
|
||||
* management server, which may use this identifier to distinguish per Envoy
|
||||
* configuration for serving.
|
||||
* [#next-free-field: 12]
|
||||
*/
|
||||
export interface Node {
|
||||
/**
|
||||
* An opaque node identifier for the Envoy node. This also provides the local
|
||||
* service node name. It should be set if any of the following features are
|
||||
* used: :ref:`statsd <arch_overview_statistics>`, :ref:`CDS
|
||||
* <config_cluster_manager_cds>`, and :ref:`HTTP tracing
|
||||
* <arch_overview_tracing>`, either in this message or via
|
||||
* :option:`--service-node`.
|
||||
*/
|
||||
'id'?: (string);
|
||||
/**
|
||||
* Defines the local service cluster name where Envoy is running. Though
|
||||
* optional, it should be set if any of the following features are used:
|
||||
* :ref:`statsd <arch_overview_statistics>`, :ref:`health check cluster
|
||||
* verification
|
||||
* <envoy_api_field_config.core.v3.HealthCheck.HttpHealthCheck.service_name_matcher>`,
|
||||
* :ref:`runtime override directory <envoy_api_msg_config.bootstrap.v3.Runtime>`,
|
||||
* :ref:`user agent addition
|
||||
* <envoy_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.add_user_agent>`,
|
||||
* :ref:`HTTP global rate limiting <config_http_filters_rate_limit>`,
|
||||
* :ref:`CDS <config_cluster_manager_cds>`, and :ref:`HTTP tracing
|
||||
* <arch_overview_tracing>`, either in this message or via
|
||||
* :option:`--service-cluster`.
|
||||
*/
|
||||
'cluster'?: (string);
|
||||
/**
|
||||
* Opaque metadata extending the node identifier. Envoy will pass this
|
||||
* directly to the management server.
|
||||
*/
|
||||
'metadata'?: (_google_protobuf_Struct);
|
||||
/**
|
||||
* Locality specifying where the Envoy instance is running.
|
||||
*/
|
||||
'locality'?: (_envoy_config_core_v3_Locality);
|
||||
/**
|
||||
* Free-form string that identifies the entity requesting config.
|
||||
* E.g. "envoy" or "grpc"
|
||||
*/
|
||||
'user_agent_name'?: (string);
|
||||
/**
|
||||
* Free-form string that identifies the version of the entity requesting config.
|
||||
* E.g. "1.12.2" or "abcd1234", or "SpecialEnvoyBuild"
|
||||
*/
|
||||
'user_agent_version'?: (string);
|
||||
/**
|
||||
* Structured version of the entity requesting config.
|
||||
*/
|
||||
'user_agent_build_version'?: (_envoy_config_core_v3_BuildVersion);
|
||||
/**
|
||||
* List of extensions and their versions supported by the node.
|
||||
*/
|
||||
'extensions'?: (_envoy_config_core_v3_Extension)[];
|
||||
/**
|
||||
* Client feature support list. These are well known features described
|
||||
* in the Envoy API repository for a given major version of an API. Client features
|
||||
* use reverse DNS naming scheme, for example `com.acme.feature`.
|
||||
* See :ref:`the list of features <client_features>` that xDS client may
|
||||
* support.
|
||||
*/
|
||||
'client_features'?: (string)[];
|
||||
/**
|
||||
* Known listening ports on the node as a generic hint to the management server
|
||||
* for filtering :ref:`listeners <config_listeners>` to be returned. For example,
|
||||
* if there is a listener bound to port 80, the list can optionally contain the
|
||||
* SocketAddress `(0.0.0.0,80)`. The field is optional and just a hint.
|
||||
*/
|
||||
'listening_addresses'?: (_envoy_config_core_v3_Address)[];
|
||||
'user_agent_version_type'?: "user_agent_version"|"user_agent_build_version";
|
||||
}
|
||||
|
||||
/**
|
||||
* Identifies a specific Envoy instance. The node identifier is presented to the
|
||||
* management server, which may use this identifier to distinguish per Envoy
|
||||
* configuration for serving.
|
||||
* [#next-free-field: 12]
|
||||
*/
|
||||
export interface Node__Output {
|
||||
/**
|
||||
* An opaque node identifier for the Envoy node. This also provides the local
|
||||
* service node name. It should be set if any of the following features are
|
||||
* used: :ref:`statsd <arch_overview_statistics>`, :ref:`CDS
|
||||
* <config_cluster_manager_cds>`, and :ref:`HTTP tracing
|
||||
* <arch_overview_tracing>`, either in this message or via
|
||||
* :option:`--service-node`.
|
||||
*/
|
||||
'id': (string);
|
||||
/**
|
||||
* Defines the local service cluster name where Envoy is running. Though
|
||||
* optional, it should be set if any of the following features are used:
|
||||
* :ref:`statsd <arch_overview_statistics>`, :ref:`health check cluster
|
||||
* verification
|
||||
* <envoy_api_field_config.core.v3.HealthCheck.HttpHealthCheck.service_name_matcher>`,
|
||||
* :ref:`runtime override directory <envoy_api_msg_config.bootstrap.v3.Runtime>`,
|
||||
* :ref:`user agent addition
|
||||
* <envoy_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.add_user_agent>`,
|
||||
* :ref:`HTTP global rate limiting <config_http_filters_rate_limit>`,
|
||||
* :ref:`CDS <config_cluster_manager_cds>`, and :ref:`HTTP tracing
|
||||
* <arch_overview_tracing>`, either in this message or via
|
||||
* :option:`--service-cluster`.
|
||||
*/
|
||||
'cluster': (string);
|
||||
/**
|
||||
* Opaque metadata extending the node identifier. Envoy will pass this
|
||||
* directly to the management server.
|
||||
*/
|
||||
'metadata'?: (_google_protobuf_Struct__Output);
|
||||
/**
|
||||
* Locality specifying where the Envoy instance is running.
|
||||
*/
|
||||
'locality'?: (_envoy_config_core_v3_Locality__Output);
|
||||
/**
|
||||
* Free-form string that identifies the entity requesting config.
|
||||
* E.g. "envoy" or "grpc"
|
||||
*/
|
||||
'user_agent_name': (string);
|
||||
/**
|
||||
* Free-form string that identifies the version of the entity requesting config.
|
||||
* E.g. "1.12.2" or "abcd1234", or "SpecialEnvoyBuild"
|
||||
*/
|
||||
'user_agent_version'?: (string);
|
||||
/**
|
||||
* Structured version of the entity requesting config.
|
||||
*/
|
||||
'user_agent_build_version'?: (_envoy_config_core_v3_BuildVersion__Output);
|
||||
/**
|
||||
* List of extensions and their versions supported by the node.
|
||||
*/
|
||||
'extensions': (_envoy_config_core_v3_Extension__Output)[];
|
||||
/**
|
||||
* Client feature support list. These are well known features described
|
||||
* in the Envoy API repository for a given major version of an API. Client features
|
||||
* use reverse DNS naming scheme, for example `com.acme.feature`.
|
||||
* See :ref:`the list of features <client_features>` that xDS client may
|
||||
* support.
|
||||
*/
|
||||
'client_features': (string)[];
|
||||
/**
|
||||
* Known listening ports on the node as a generic hint to the management server
|
||||
* for filtering :ref:`listeners <config_listeners>` to be returned. For example,
|
||||
* if there is a listener bound to port 80, the list can optionally contain the
|
||||
* SocketAddress `(0.0.0.0,80)`. The field is optional and just a hint.
|
||||
*/
|
||||
'listening_addresses': (_envoy_config_core_v3_Address__Output)[];
|
||||
'user_agent_version_type': "user_agent_version"|"user_agent_build_version";
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/address.proto
|
||||
|
||||
|
||||
export interface Pipe {
|
||||
/**
|
||||
* Unix Domain Socket path. On Linux, paths starting with '@' will use the
|
||||
* abstract namespace. The starting '@' is replaced by a null byte by Envoy.
|
||||
* Paths starting with '@' will result in an error in environments other than
|
||||
* Linux.
|
||||
*/
|
||||
'path'?: (string);
|
||||
/**
|
||||
* The mode for the Pipe. Not applicable for abstract sockets.
|
||||
*/
|
||||
'mode'?: (number);
|
||||
}
|
||||
|
||||
export interface Pipe__Output {
|
||||
/**
|
||||
* Unix Domain Socket path. On Linux, paths starting with '@' will use the
|
||||
* abstract namespace. The starting '@' is replaced by a null byte by Envoy.
|
||||
* Paths starting with '@' will result in an error in environments other than
|
||||
* Linux.
|
||||
*/
|
||||
'path': (string);
|
||||
/**
|
||||
* The mode for the Pipe. Not applicable for abstract sockets.
|
||||
*/
|
||||
'mode': (number);
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/proxy_protocol.proto
|
||||
|
||||
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/proxy_protocol.proto
|
||||
|
||||
export enum _envoy_config_core_v3_ProxyProtocolConfig_Version {
|
||||
/**
|
||||
* PROXY protocol version 1. Human readable format.
|
||||
*/
|
||||
V1 = 0,
|
||||
/**
|
||||
* PROXY protocol version 2. Binary format.
|
||||
*/
|
||||
V2 = 1,
|
||||
}
|
||||
|
||||
export interface ProxyProtocolConfig {
|
||||
/**
|
||||
* The PROXY protocol version to use. See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details
|
||||
*/
|
||||
'version'?: (_envoy_config_core_v3_ProxyProtocolConfig_Version | keyof typeof _envoy_config_core_v3_ProxyProtocolConfig_Version);
|
||||
}
|
||||
|
||||
export interface ProxyProtocolConfig__Output {
|
||||
/**
|
||||
* The PROXY protocol version to use. See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details
|
||||
*/
|
||||
'version': (keyof typeof _envoy_config_core_v3_ProxyProtocolConfig_Version);
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
// Original file: deps/envoy-api/envoy/api/v2/core/config_source.proto
|
||||
// Original file: deps/envoy-api/envoy/config/core/v3/config_source.proto
|
||||
|
||||
import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
|
||||
import type { DoubleValue as _google_protobuf_DoubleValue, DoubleValue__Output as _google_protobuf_DoubleValue__Output } from '../../../../google/protobuf/DoubleValue';
|
|
@ -0,0 +1,40 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
import type { HttpUri as _envoy_config_core_v3_HttpUri, HttpUri__Output as _envoy_config_core_v3_HttpUri__Output } from '../../../../envoy/config/core/v3/HttpUri';
|
||||
import type { RetryPolicy as _envoy_config_core_v3_RetryPolicy, RetryPolicy__Output as _envoy_config_core_v3_RetryPolicy__Output } from '../../../../envoy/config/core/v3/RetryPolicy';
|
||||
|
||||
/**
|
||||
* The message specifies how to fetch data from remote and how to verify it.
|
||||
*/
|
||||
export interface RemoteDataSource {
|
||||
/**
|
||||
* The HTTP URI to fetch the remote data.
|
||||
*/
|
||||
'http_uri'?: (_envoy_config_core_v3_HttpUri);
|
||||
/**
|
||||
* SHA256 string for verifying data.
|
||||
*/
|
||||
'sha256'?: (string);
|
||||
/**
|
||||
* Retry policy for fetching remote data.
|
||||
*/
|
||||
'retry_policy'?: (_envoy_config_core_v3_RetryPolicy);
|
||||
}
|
||||
|
||||
/**
|
||||
* The message specifies how to fetch data from remote and how to verify it.
|
||||
*/
|
||||
export interface RemoteDataSource__Output {
|
||||
/**
|
||||
* The HTTP URI to fetch the remote data.
|
||||
*/
|
||||
'http_uri'?: (_envoy_config_core_v3_HttpUri__Output);
|
||||
/**
|
||||
* SHA256 string for verifying data.
|
||||
*/
|
||||
'sha256': (string);
|
||||
/**
|
||||
* Retry policy for fetching remote data.
|
||||
*/
|
||||
'retry_policy'?: (_envoy_config_core_v3_RetryPolicy__Output);
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
/**
|
||||
* HTTP request method.
|
||||
*/
|
||||
export enum RequestMethod {
|
||||
METHOD_UNSPECIFIED = 0,
|
||||
GET = 1,
|
||||
HEAD = 2,
|
||||
POST = 3,
|
||||
PUT = 4,
|
||||
DELETE = 5,
|
||||
CONNECT = 6,
|
||||
OPTIONS = 7,
|
||||
TRACE = 8,
|
||||
PATCH = 9,
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
import type { BackoffStrategy as _envoy_config_core_v3_BackoffStrategy, BackoffStrategy__Output as _envoy_config_core_v3_BackoffStrategy__Output } from '../../../../envoy/config/core/v3/BackoffStrategy';
|
||||
import type { UInt32Value as _google_protobuf_UInt32Value, UInt32Value__Output as _google_protobuf_UInt32Value__Output } from '../../../../google/protobuf/UInt32Value';
|
||||
|
||||
/**
|
||||
* The message specifies the retry policy of remote data source when fetching fails.
|
||||
*/
|
||||
export interface RetryPolicy {
|
||||
/**
|
||||
* Specifies parameters that control :ref:`retry backoff strategy <envoy_api_msg_config.core.v3.BackoffStrategy>`.
|
||||
* This parameter is optional, in which case the default base interval is 1000 milliseconds. The
|
||||
* default maximum interval is 10 times the base interval.
|
||||
*/
|
||||
'retry_back_off'?: (_envoy_config_core_v3_BackoffStrategy);
|
||||
/**
|
||||
* Specifies the allowed number of retries. This parameter is optional and
|
||||
* defaults to 1.
|
||||
*/
|
||||
'num_retries'?: (_google_protobuf_UInt32Value);
|
||||
}
|
||||
|
||||
/**
|
||||
* The message specifies the retry policy of remote data source when fetching fails.
|
||||
*/
|
||||
export interface RetryPolicy__Output {
|
||||
/**
|
||||
* Specifies parameters that control :ref:`retry backoff strategy <envoy_api_msg_config.core.v3.BackoffStrategy>`.
|
||||
* This parameter is optional, in which case the default base interval is 1000 milliseconds. The
|
||||
* default maximum interval is 10 times the base interval.
|
||||
*/
|
||||
'retry_back_off'?: (_envoy_config_core_v3_BackoffStrategy__Output);
|
||||
/**
|
||||
* Specifies the allowed number of retries. This parameter is optional and
|
||||
* defaults to 1.
|
||||
*/
|
||||
'num_retries'?: (_google_protobuf_UInt32Value__Output);
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
/**
|
||||
* Envoy supports :ref:`upstream priority routing
|
||||
* <arch_overview_http_routing_priority>` both at the route and the virtual
|
||||
* cluster level. The current priority implementation uses different connection
|
||||
* pool and circuit breaking settings for each priority level. This means that
|
||||
* even for HTTP/2 requests, two physical connections will be used to an
|
||||
* upstream host. In the future Envoy will likely support true HTTP/2 priority
|
||||
* over a single upstream connection.
|
||||
*/
|
||||
export enum RoutingPriority {
|
||||
DEFAULT = 0,
|
||||
HIGH = 1,
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
|
||||
/**
|
||||
* Runtime derived double with a default when not specified.
|
||||
*/
|
||||
export interface RuntimeDouble {
|
||||
/**
|
||||
* Default value if runtime value is not available.
|
||||
*/
|
||||
'default_value'?: (number | string);
|
||||
/**
|
||||
* Runtime key to get value for comparison. This value is used if defined.
|
||||
*/
|
||||
'runtime_key'?: (string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Runtime derived double with a default when not specified.
|
||||
*/
|
||||
export interface RuntimeDouble__Output {
|
||||
/**
|
||||
* Default value if runtime value is not available.
|
||||
*/
|
||||
'default_value': (number);
|
||||
/**
|
||||
* Runtime key to get value for comparison. This value is used if defined.
|
||||
*/
|
||||
'runtime_key': (string);
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
import type { BoolValue as _google_protobuf_BoolValue, BoolValue__Output as _google_protobuf_BoolValue__Output } from '../../../../google/protobuf/BoolValue';
|
||||
|
||||
/**
|
||||
* Runtime derived bool with a default when not specified.
|
||||
*/
|
||||
export interface RuntimeFeatureFlag {
|
||||
/**
|
||||
* Default value if runtime value is not available.
|
||||
*/
|
||||
'default_value'?: (_google_protobuf_BoolValue);
|
||||
/**
|
||||
* Runtime key to get value for comparison. This value is used if defined. The boolean value must
|
||||
* be represented via its
|
||||
* `canonical JSON encoding <https://developers.google.com/protocol-buffers/docs/proto3#json>`_.
|
||||
*/
|
||||
'runtime_key'?: (string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Runtime derived bool with a default when not specified.
|
||||
*/
|
||||
export interface RuntimeFeatureFlag__Output {
|
||||
/**
|
||||
* Default value if runtime value is not available.
|
||||
*/
|
||||
'default_value'?: (_google_protobuf_BoolValue__Output);
|
||||
/**
|
||||
* Runtime key to get value for comparison. This value is used if defined. The boolean value must
|
||||
* be represented via its
|
||||
* `canonical JSON encoding <https://developers.google.com/protocol-buffers/docs/proto3#json>`_.
|
||||
*/
|
||||
'runtime_key': (string);
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
import type { FractionalPercent as _envoy_type_v3_FractionalPercent, FractionalPercent__Output as _envoy_type_v3_FractionalPercent__Output } from '../../../../envoy/type/v3/FractionalPercent';
|
||||
|
||||
/**
|
||||
* Runtime derived FractionalPercent with defaults for when the numerator or denominator is not
|
||||
* specified via a runtime key.
|
||||
*
|
||||
* .. note::
|
||||
*
|
||||
* Parsing of the runtime key's data is implemented such that it may be represented as a
|
||||
* :ref:`FractionalPercent <envoy_api_msg_type.v3.FractionalPercent>` proto represented as JSON/YAML
|
||||
* and may also be represented as an integer with the assumption that the value is an integral
|
||||
* percentage out of 100. For instance, a runtime key lookup returning the value "42" would parse
|
||||
* as a `FractionalPercent` whose numerator is 42 and denominator is HUNDRED.
|
||||
*/
|
||||
export interface RuntimeFractionalPercent {
|
||||
/**
|
||||
* Default value if the runtime value's for the numerator/denominator keys are not available.
|
||||
*/
|
||||
'default_value'?: (_envoy_type_v3_FractionalPercent);
|
||||
/**
|
||||
* Runtime key for a YAML representation of a FractionalPercent.
|
||||
*/
|
||||
'runtime_key'?: (string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Runtime derived FractionalPercent with defaults for when the numerator or denominator is not
|
||||
* specified via a runtime key.
|
||||
*
|
||||
* .. note::
|
||||
*
|
||||
* Parsing of the runtime key's data is implemented such that it may be represented as a
|
||||
* :ref:`FractionalPercent <envoy_api_msg_type.v3.FractionalPercent>` proto represented as JSON/YAML
|
||||
* and may also be represented as an integer with the assumption that the value is an integral
|
||||
* percentage out of 100. For instance, a runtime key lookup returning the value "42" would parse
|
||||
* as a `FractionalPercent` whose numerator is 42 and denominator is HUNDRED.
|
||||
*/
|
||||
export interface RuntimeFractionalPercent__Output {
|
||||
/**
|
||||
* Default value if the runtime value's for the numerator/denominator keys are not available.
|
||||
*/
|
||||
'default_value'?: (_envoy_type_v3_FractionalPercent__Output);
|
||||
/**
|
||||
* Runtime key for a YAML representation of a FractionalPercent.
|
||||
*/
|
||||
'runtime_key': (string);
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
// Original file: deps/envoy-api/envoy/config/core/v3/base.proto
|
||||
|
||||
import type { Percent as _envoy_type_v3_Percent, Percent__Output as _envoy_type_v3_Percent__Output } from '../../../../envoy/type/v3/Percent';
|
||||
|
||||
/**
|
||||
* Runtime derived percentage with a default when not specified.
|
||||
*/
|
||||
export interface RuntimePercent {
|
||||
/**
|
||||
* Default value if runtime value is not available.
|
||||
*/
|
||||
'default_value'?: (_envoy_type_v3_Percent);
|
||||
/**
|
||||
* Runtime key to get value for comparison. This value is used if defined.
|
||||
*/
|
||||
'runtime_key'?: (string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Runtime derived percentage with a default when not specified.
|
||||
*/
|
||||
export interface RuntimePercent__Output {
|
||||
/**
|
||||
* Default value if runtime value is not available.
|
||||
*/
|
||||
'default_value'?: (_envoy_type_v3_Percent__Output);
|
||||
/**
|
||||
* Runtime key to get value for comparison. This value is used if defined.
|
||||
*/
|
||||
'runtime_key': (string);
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue