From 5d9aa4b034ba0552fd13a1ea3e397d3edf1e182f Mon Sep 17 00:00:00 2001 From: sheidkamp Date: Thu, 14 Nov 2024 10:12:10 -0500 Subject: [PATCH 01/14] Delete external api docs after generation --- .../v1.18.0-beta35/remove-external-apis.yaml | 6 + .../external/consul/query_options.proto.sk.md | 62 - .../v3/upstream_proxy_protocol.proto.sk.md | 48 - .../v2/cluster/outlier_detection.proto.sk.md | 75 - .../api/v2/core/health_check.proto.sk.md | 239 --- .../v3/mutation_rules.proto.sk.md | 109 -- .../envoy/config/core/v3/address.proto.sk.md | 179 --- .../envoy/config/core/v3/backoff.proto.sk.md | 48 - .../envoy/config/core/v3/base.proto.sk.md | 516 ------- .../core/v3/event_service_config.proto.sk.md | 47 - .../config/core/v3/extension.proto.sk.md | 49 - .../config/core/v3/grpc_service.proto.sk.md | 343 ----- .../config/core/v3/health_check.proto.sk.md | 270 ---- .../envoy/config/core/v3/http_uri.proto.sk.md | 50 - .../config/core/v3/proxy_protocol.proto.sk.md | 95 -- .../envoy/config/core/v3/resolver.proto.sk.md | 48 - .../config/core/v3/socket_option.proto.sk.md | 73 - .../filter/http/gzip/v2/gzip.proto.sk.md | 111 -- .../v3/tls_cipher_inspector.proto.sk.md | 43 - .../v3/server_name_matcher.proto.sk.md | 67 - .../v3/cipher_detection_input.proto.sk.md | 49 - .../route/v3/route_components.proto.sk.md | 1332 ----------------- .../v3/grpc_output_sink.proto.sk.md | 46 - .../v3/http_output_sink.proto.sk.md | 46 - .../envoy/config/trace/v3/datadog.proto.sk.md | 76 - .../config/trace/v3/opencensus.proto.sk.md | 204 --- .../config/trace/v3/opentelemetry.proto.sk.md | 49 - .../envoy/config/trace/v3/zipkin.proto.sk.md | 74 - .../advanced_http/advanced_http.proto.sk.md | 178 --- .../envoy/extensions/aws/filter.proto.sk.md | 156 -- .../extensions/cache/grpc/config.proto.sk.md | 50 - .../extensions/extauth/sanitize.proto.sk.md | 65 - .../filters/http/buffer/v3/buffer.proto.sk.md | 69 - .../filters/http/csrf/v3/csrf.proto.sk.md | 54 - .../ext_proc/v3/processing_mode.proto.sk.md | 93 -- .../http/jwt_authn/v3/config.proto.sk.md | 476 ------ .../filters/http/wasm/v3/wasm.proto.sk.md | 49 - .../extensions/graphql/graphql.proto.sk.md | 814 ---------- .../extensions/graphql/stitching.proto.sk.md | 249 --- .../http_path/http_path.proto.sk.md | 48 - .../extensions/jwt/solo_jwt_authn.proto.sk.md | 131 -- .../apple/v3/apple_dns_resolver.proto.sk.md | 44 - .../cares/v3/cares_dns_resolver.proto.sk.md | 48 - .../proxylatency/proxylatency.proto.sk.md | 83 - .../proxyprotocol/proxyprotocol.proto.sk.md | 90 -- .../span_decorators.proto.sk.md | 44 - .../transformation/transformation.proto.sk.md | 547 ------- .../transformation.proto.sk.md | 244 --- .../xslt/xslt_transformer.proto.sk.md | 50 - .../upstream_wait_filter.proto.sk.md | 43 - .../envoy/extensions/waf/waf.proto.sk.md | 160 -- .../envoy/extensions/wasm/v3/wasm.proto.sk.md | 111 -- .../solo_xff_offset_filter.proto.sk.md | 46 - .../v3/external_processor.proto.sk.md | 362 ----- .../envoy/type/matcher/v3/regex.proto.sk.md | 101 -- .../envoy/type/matcher/v3/string.proto.sk.md | 74 - .../type/metadata/v3/metadata.proto.sk.md | 183 --- .../api/external/envoy/type/range.proto.sk.md | 71 - .../type/tracing/v3/custom_tag.proto.sk.md | 143 -- .../external/envoy/type/v3/http.proto.sk.md | 38 - .../envoy/type/v3/http_status.proto.sk.md | 118 -- .../envoy/type/v3/percent.proto.sk.md | 88 -- .../external/envoy/type/v3/range.proto.sk.md | 93 -- .../type/v3/semantic_version.proto.sk.md | 52 - .../udpa/annotations/migrate.proto.sk.md | 83 - .../udpa/annotations/sensitive.proto.sk.md | 21 - .../udpa/annotations/status.proto.sk.md | 65 - .../udpa/annotations/versioning.proto.sk.md | 45 - .../xds/annotations/v3/migrate.proto.sk.md | 83 - .../xds/annotations/v3/security.proto.sk.md | 49 - .../xds/annotations/v3/sensitive.proto.sk.md | 21 - .../xds/annotations/v3/status.proto.sk.md | 119 -- .../xds/annotations/v3/versioning.proto.sk.md | 45 - .../xds/core/v3/authority.proto.sk.md | 46 - .../api/external/xds/core/v3/cidr.proto.sk.md | 49 - .../xds/core/v3/context_params.proto.sk.md | 52 - .../xds/core/v3/extension.proto.sk.md | 48 - .../external/xds/core/v3/resource.proto.sk.md | 51 - .../xds/core/v3/resource_locator.proto.sk.md | 127 -- .../xds/core/v3/resource_name.proto.sk.md | 60 - .../xds/service/orca/v3/orca.proto.sk.md | 47 - .../xds/type/matcher/v3/domain.proto.sk.md | 71 - .../type/matcher/v3/http_inputs.proto.sk.md | 52 - .../xds/type/matcher/v3/ip.proto.sk.md | 69 - .../xds/type/matcher/v3/matcher.proto.sk.md | 227 --- .../xds/type/matcher/v3/range.proto.sk.md | 150 -- .../xds/type/matcher/v3/regex.proto.sk.md | 81 - .../xds/type/matcher/v3/string.proto.sk.md | 76 - .../external/xds/type/v3/range.proto.sk.md | 93 -- .../xds/type/v3/typed_struct.proto.sk.md | 71 - generate.go | 9 + go.sum | 615 ++++++++ 92 files changed, 630 insertions(+), 11514 deletions(-) create mode 100644 changelog/v1.18.0-beta35/remove-external-apis.yaml delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/consul/query_options.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/envoy/extensions/transport_sockets/proxy_protocol/v3/upstream_proxy_protocol.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/address.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/backoff.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/base.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/extension.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/health_check.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/resolver.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/route/v3/route_components.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/aws/filter.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/network/dns_resolver/apple/v3/apple_dns_resolver.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/network/dns_resolver/cares/v3/cares_dns_resolver.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxyprotocol/proxyprotocol.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/span_decorators/span_decorators.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/string.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/range.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http_status.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/percent.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/range.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/semantic_version.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/migrate.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/sensitive.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/status.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/versioning.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/migrate.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/security.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/sensitive.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/status.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/versioning.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/authority.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/cidr.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/context_params.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/extension.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/resource.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/resource_locator.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/resource_name.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/service/orca/v3/orca.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/domain.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/http_inputs.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/ip.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/matcher.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/range.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/regex.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/string.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/v3/range.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/v3/typed_struct.proto.sk.md diff --git a/changelog/v1.18.0-beta35/remove-external-apis.yaml b/changelog/v1.18.0-beta35/remove-external-apis.yaml new file mode 100644 index 00000000000..8d839d18c2b --- /dev/null +++ b/changelog/v1.18.0-beta35/remove-external-apis.yaml @@ -0,0 +1,6 @@ +changelog: + - type: NON_USER_FACING + issueLink: https://github.com/solo-io/solo-projects/issues/6768 + resolvesIssue: false + description: >- + After generation, remove docs for external APIs diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/consul/query_options.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/consul/query_options.proto.sk.md deleted file mode 100644 index e1b6ef1a958..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/consul/query_options.proto.sk.md +++ /dev/null @@ -1,62 +0,0 @@ - ---- -title: "query_options.proto" -weight: 5 ---- - - - - -### Package: `consul.external.gloo.solo.io` -#### Types: - - -- [QueryOptions](#queryoptions) - - - - -##### Enums: - - - - [ConsulConsistencyModes](#consulconsistencymodes) - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/consul/query_options.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/consul/query_options.proto) - - - - - ---- -### QueryOptions - - -mirrors client query options struct in consul catalog api - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - -### ConsulConsistencyModes - -Description: These are the same consistency modes offered by Consul. For more information please review https://www.consul.io/api-docs/features/consistency. -For more information please review https://pkg.go.dev/github.com/hashicorp/consul/api#QueryOptions. - -| Name | Description | -| ----- | ----------- | -| ConsistentMode | This is strongly consistent. Sets the RequireConsistent in the consul api to true. | -| DefaultMode | This will set (clears) both the AllowStale and the RequireConsistent in the consul api to false. | -| StaleMode | Allows stale reads when set. This will set the AllowStale in the consul api. | - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/envoy/extensions/transport_sockets/proxy_protocol/v3/upstream_proxy_protocol.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/envoy/extensions/transport_sockets/proxy_protocol/v3/upstream_proxy_protocol.proto.sk.md deleted file mode 100644 index ad91771e775..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/envoy/extensions/transport_sockets/proxy_protocol/v3/upstream_proxy_protocol.proto.sk.md +++ /dev/null @@ -1,48 +0,0 @@ - ---- -title: "upstream_proxy_protocol.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.extensions.transport_sockets.proxy_protocol.v3` -#### Types: - - -- [ProxyProtocolUpstreamTransport](#proxyprotocolupstreamtransport) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/envoy/extensions/transport_sockets/proxy_protocol/v3/upstream_proxy_protocol.proto](https://github.com/solo-io/gloo/blob/master/projects/gloo/api/external/envoy/api/envoy/extensions/transport_sockets/proxy_protocol/v3/upstream_proxy_protocol.proto) - - - - - ---- -### ProxyProtocolUpstreamTransport - - -Configuration for PROXY protocol socket - -```yaml -"config": .solo.io.envoy.config.core.v3.ProxyProtocolConfig -"transportSocket": .solo.io.envoy.config.core.v3.TransportSocket - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `config` | [.solo.io.envoy.config.core.v3.ProxyProtocolConfig](../../../../../../../config/core/v3/proxy_protocol.proto.sk/#proxyprotocolconfig) | The PROXY protocol settings. | -| `transportSocket` | [.solo.io.envoy.config.core.v3.TransportSocket](../../../../../../../config/core/v3/base.proto.sk/#transportsocket) | The underlying transport socket being wrapped. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto.sk.md deleted file mode 100644 index 87ae60dc8b9..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto.sk.md +++ /dev/null @@ -1,75 +0,0 @@ - ---- -title: "outlier_detection.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.api.v2.cluster` -#### Types: - - -- [OutlierDetection](#outlierdetection) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto) - - - - - ---- -### OutlierDetection - - -See the `architecture overview (arch_overview_outlier_detection)` for -more information on outlier detection. - -```yaml -"consecutive5Xx": .google.protobuf.UInt32Value -"interval": .google.protobuf.Duration -"baseEjectionTime": .google.protobuf.Duration -"maxEjectionPercent": .google.protobuf.UInt32Value -"enforcingConsecutive5Xx": .google.protobuf.UInt32Value -"enforcingSuccessRate": .google.protobuf.UInt32Value -"successRateMinimumHosts": .google.protobuf.UInt32Value -"successRateRequestVolume": .google.protobuf.UInt32Value -"successRateStdevFactor": .google.protobuf.UInt32Value -"consecutiveGatewayFailure": .google.protobuf.UInt32Value -"enforcingConsecutiveGatewayFailure": .google.protobuf.UInt32Value -"splitExternalLocalOriginErrors": bool -"consecutiveLocalOriginFailure": .google.protobuf.UInt32Value -"enforcingConsecutiveLocalOriginFailure": .google.protobuf.UInt32Value -"enforcingLocalOriginSuccessRate": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `consecutive5Xx` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of consecutive 5xx responses or local origin errors that are mapped to 5xx error codes before a consecutive 5xx ejection occurs. Defaults to 5. | -| `interval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service. Defaults to 10000ms or 10s. | -| `baseEjectionTime` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/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. Defaults to 30000ms or 30s. | -| `maxEjectionPercent` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The maximum % of an upstream cluster that can be ejected due to outlier detection. Defaults to 10% but will eject at least one host regardless of the value. | -| `enforcingConsecutive5Xx` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The % chance that a host will be actually ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. | -| `enforcingSuccessRate` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The % chance that a host will be actually ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. | -| `successRateMinimumHosts` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. Defaults to 5. | -| `successRateRequestVolume` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. Defaults to 100. | -| `successRateStdevFactor` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. | -| `consecutiveGatewayFailure` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of consecutive gateway failures (502, 503, 504 status codes) before a consecutive gateway failure ejection occurs. Defaults to 5. | -| `enforcingConsecutiveGatewayFailure` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The % chance that a host will be actually ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0. | -| `splitExternalLocalOriginErrors` | `bool` | Determines whether to distinguish local origin failures from external errors. If set to true the following configuration parameters are taken into account: `consecutive_local_origin_failure (envoy_api_field_cluster.OutlierDetection.consecutive_local_origin_failure)`, `enforcing_consecutive_local_origin_failure (envoy_api_field_cluster.OutlierDetection.enforcing_consecutive_local_origin_failure)` and `enforcing_local_origin_success_rate (envoy_api_field_cluster.OutlierDetection.enforcing_local_origin_success_rate)`. Defaults to false. | -| `consecutiveLocalOriginFailure` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of consecutive locally originated failures before ejection occurs. Defaults to 5. Parameter takes effect only when `split_external_local_origin_errors (envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors)` is set to true. | -| `enforcingConsecutiveLocalOriginFailure` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The % chance that a host will be actually ejected when an outlier status 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 `split_external_local_origin_errors (envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors)` is set to true. | -| `enforcingLocalOriginSuccessRate` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The % chance that a host will be actually ejected when an outlier status 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 `split_external_local_origin_errors (envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors)` is set to true. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto.sk.md deleted file mode 100644 index da672fa11a1..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto.sk.md +++ /dev/null @@ -1,239 +0,0 @@ - ---- -title: "health_check.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.api.v2.core` -#### Types: - - -- [HealthCheck](#healthcheck) -- [Payload](#payload) -- [HttpHealthCheck](#httphealthcheck) -- [TcpHealthCheck](#tcphealthcheck) -- [RedisHealthCheck](#redishealthcheck) -- [GrpcHealthCheck](#grpchealthcheck) -- [CustomHealthCheck](#customhealthcheck) - - - - -##### Enums: - - - - [HealthStatus](#healthstatus) - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/api/v2/core/health_check.proto) - - - - - ---- -### HealthCheck - - - -```yaml -"timeout": .google.protobuf.Duration -"interval": .google.protobuf.Duration -"initialJitter": .google.protobuf.Duration -"intervalJitter": .google.protobuf.Duration -"intervalJitterPercent": int -"unhealthyThreshold": .google.protobuf.UInt32Value -"healthyThreshold": .google.protobuf.UInt32Value -"reuseConnection": .google.protobuf.BoolValue -"httpHealthCheck": .solo.io.envoy.api.v2.core.HealthCheck.HttpHealthCheck -"tcpHealthCheck": .solo.io.envoy.api.v2.core.HealthCheck.TcpHealthCheck -"grpcHealthCheck": .solo.io.envoy.api.v2.core.HealthCheck.GrpcHealthCheck -"customHealthCheck": .solo.io.envoy.api.v2.core.HealthCheck.CustomHealthCheck -"noTrafficInterval": .google.protobuf.Duration -"unhealthyInterval": .google.protobuf.Duration -"unhealthyEdgeInterval": .google.protobuf.Duration -"healthyEdgeInterval": .google.protobuf.Duration -"eventLogPath": string -"alwaysLogHealthCheckFailures": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The time to wait for a health check response. If the timeout is reached the health check attempt will be considered a failure. | -| `interval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The interval between health checks. | -| `initialJitter` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | An optional jitter amount in milliseconds. If specified, Envoy will start health checking after for a random time in ms between 0 and initial_jitter. This only applies to the first health check. | -| `intervalJitter` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | An optional jitter amount in milliseconds. If specified, during every interval Envoy will add interval_jitter to the wait time. | -| `intervalJitterPercent` | `int` | An optional jitter amount as a percentage of interval_ms. If specified, during every interval Envoy will add interval_ms * interval_jitter_percent / 100 to the wait time. If interval_jitter_ms and interval_jitter_percent are both set, both of them will be used to increase the wait time. | -| `unhealthyThreshold` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of unhealthy health checks required before a host is marked unhealthy. Note that for *http* health checking if a host responds with 503 this threshold is ignored and the host is considered unhealthy immediately. | -| `healthyThreshold` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of healthy health checks required before a host is marked healthy. Note that during startup, only a single successful health check is required to mark a host healthy. | -| `reuseConnection` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Reuse health check connection between health checks. Default is true. | -| `httpHealthCheck` | [.solo.io.envoy.api.v2.core.HealthCheck.HttpHealthCheck](../health_check.proto.sk/#httphealthcheck) | HTTP health check. Only one of `httpHealthCheck`, `tcpHealthCheck`, `grpcHealthCheck`, or `customHealthCheck` can be set. | -| `tcpHealthCheck` | [.solo.io.envoy.api.v2.core.HealthCheck.TcpHealthCheck](../health_check.proto.sk/#tcphealthcheck) | TCP health check. Only one of `tcpHealthCheck`, `httpHealthCheck`, `grpcHealthCheck`, or `customHealthCheck` can be set. | -| `grpcHealthCheck` | [.solo.io.envoy.api.v2.core.HealthCheck.GrpcHealthCheck](../health_check.proto.sk/#grpchealthcheck) | gRPC health check. Only one of `grpcHealthCheck`, `httpHealthCheck`, `tcpHealthCheck`, or `customHealthCheck` can be set. | -| `customHealthCheck` | [.solo.io.envoy.api.v2.core.HealthCheck.CustomHealthCheck](../health_check.proto.sk/#customhealthcheck) | Custom health check. Only one of `customHealthCheck`, `httpHealthCheck`, `tcpHealthCheck`, or `grpcHealthCheck` can be set. | -| `noTrafficInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 date, without sending a potentially large amount of active health checking traffic for no reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the standard health check interval that is defined. Note that this interval takes precedence over any other. The default value for "no traffic interval" is 60 seconds. | -| `unhealthyInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 standard health check interval that is defined. The default value for "unhealthy interval" is the same as "interval". | -| `unhealthyEdgeInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The "unhealthy edge interval" is a special health check interval that is used for the first health check right after a host is marked as unhealthy. For subsequent health checks Envoy will shift back to using either "unhealthy interval" if present or the standard health check interval that is defined. The default value for "unhealthy edge interval" is the same as "unhealthy interval". | -| `healthyEdgeInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The "healthy edge interval" is a special health check interval that is used for the first health check right after a host is marked as healthy. For subsequent health checks Envoy will shift back to using the standard health check interval that is defined. The default value for "healthy edge interval" is the same as the default interval. | -| `eventLogPath` | `string` | Specifies the path to the `health check event log (arch_overview_health_check_logging)`. If empty, no event log will be written. | -| `alwaysLogHealthCheckFailures` | `bool` | If set to true, health check failure events will always be logged. If set to false, only the initial health check failure event will be logged. The default value is false. | - - - - ---- -### Payload - - -Describes the encoding of the payload bytes in the payload. - -```yaml -"text": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `text` | `string` | Hex encoded payload. E.g., "000000FF". | - - - - ---- -### HttpHealthCheck - - -[#comment:next free field: 11] - -```yaml -"host": string -"path": string -"serviceName": string -"requestHeadersToAdd": []solo.io.envoy.api.v2.core.HeaderValueOption -"requestHeadersToRemove": []string -"useHttp2": bool -"expectedStatuses": []solo.io.envoy.type.Int64Range -"responseAssertions": .advancedhttp.options.gloo.solo.io.ResponseAssertions -"method": .solo.io.envoy.config.core.v3.RequestMethod - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `host` | `string` | 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. | -| `path` | `string` | Specifies the HTTP path that will be requested during health checking. For example */healthcheck*. | -| `serviceName` | `string` | An optional service name parameter which is used to validate the identity of the health checked cluster. See the `architecture overview (arch_overview_health_checking_identity)` for more information. | -| `requestHeadersToAdd` | [[]solo.io.envoy.api.v2.core.HeaderValueOption](../../../../../../../../../../solo-kit/api/external/envoy/api/v2/core/base.proto.sk/#headervalueoption) | 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 `custom request headers (config_http_conn_man_headers_custom_request_headers)`. | -| `requestHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each request that is sent to the health checked cluster. | -| `useHttp2` | `bool` | If set, health checks will be made using http/2. | -| `expectedStatuses` | [[]solo.io.envoy.type.Int64Range](../../../../type/range.proto.sk/#int64range) | 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 `Int64Range (envoy_api_msg_type.Int64Range)`. | -| `responseAssertions` | [.advancedhttp.options.gloo.solo.io.ResponseAssertions](../../../../../../v1/options/advanced_http/advanced_http.proto.sk/#responseassertions) | (Enterprise Only): If defined, the response health check rules take precedence over the http `expected_statuses`. | -| `method` | [.solo.io.envoy.config.core.v3.RequestMethod](../../../../config/core/v3/base.proto.sk/#requestmethod) | HTTP Method that will be used for health checking, default is "GET". GET, HEAD, POST, PUT, DELETE, OPTIONS, TRACE, PATCH methods are supported, but making request body is not supported. CONNECT method is disallowed because it is not appropriate for health check request. If a non-200 response is expected by the method, it needs to be set in expected_statuses. | - - - - ---- -### TcpHealthCheck - - - -```yaml -"send": .solo.io.envoy.api.v2.core.HealthCheck.Payload -"receive": []solo.io.envoy.api.v2.core.HealthCheck.Payload - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `send` | [.solo.io.envoy.api.v2.core.HealthCheck.Payload](../health_check.proto.sk/#payload) | Empty payloads imply a connect-only health check. | -| `receive` | [[]solo.io.envoy.api.v2.core.HealthCheck.Payload](../health_check.proto.sk/#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. | - - - - ---- -### RedisHealthCheck - - - -```yaml -"key": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | If set, optionally perform `EXISTS ` instead of `PING`. A return value from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance by setting the specified key to any value and waiting for traffic to drain. | - - - - ---- -### GrpcHealthCheck - - -[grpc.health.v1.Health](https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto)-based -healthcheck. See [gRPC doc](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) -for details. - -```yaml -"serviceName": string -"authority": string -"initialMetadata": []solo.io.envoy.api.v2.core.HeaderValueOption - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `serviceName` | `string` | An optional service name parameter which will be sent to gRPC service in [grpc.health.v1.HealthCheckRequest](https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20) message. See [gRPC health-checking overview](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) for more information. | -| `authority` | `string` | 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. | -| `initialMetadata` | [[]solo.io.envoy.api.v2.core.HeaderValueOption](../../../../../../../../../../solo-kit/api/external/envoy/api/v2/core/base.proto.sk/#headervalueoption) | Specifies a list of key-value pairs that should be added to the metadata of each GRPC call that is sent to the health checked cluster. | - - - - ---- -### CustomHealthCheck - - -Custom health check. - -```yaml -"name": string -"config": .google.protobuf.Struct -"typedConfig": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The registered name of the custom health checker. | -| `config` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Only one of `config` or `typedConfig` can be set. | -| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | Only one of `typedConfig` or `config` can be set. | - - - - -### HealthStatus - -Description: Endpoint health status. - -| Name | Description | -| ----- | ----------- | -| UNKNOWN | The health status is not known. This is interpreted by Envoy as *HEALTHY*. | -| HEALTHY | Healthy. | -| UNHEALTHY | Unhealthy. | -| DRAINING | Connection draining in progress. E.g., https://aws.amazon.com/blogs/aws/elb-connection-draining-remove-instances-from-service-with-care/ or https://cloud.google.com/compute/docs/load-balancing/enabling-connection-draining. This is interpreted by Envoy as *UNHEALTHY*. | -| TIMEOUT | Health check timed out. This is part of HDS and is interpreted by Envoy as *UNHEALTHY*. | -| DEGRADED | Degraded. | - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto.sk.md deleted file mode 100644 index 0479a5be108..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto.sk.md +++ /dev/null @@ -1,109 +0,0 @@ - ---- -title: "mutation_rules.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.common.mutation_rules.v3` -copied from https://github.com/envoyproxy/envoy/blob/ad89a587aa0177bfdad6b5c968a6aead5d9be7a4/api/envoy/config/common/mutation_rules/v3/mutation_rules.proto - - - -#### Types: - - -- [HeaderMutationRules](#headermutationrules) -- [HeaderMutation](#headermutation) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto) - - - - - ---- -### HeaderMutationRules - - -The HeaderMutationRules structure specifies what headers may be -manipulated by a processing filter. This set of rules makes it -possible to control which modifications a filter may make. - -By default, an external processing server may add, modify, or remove -any header except for an "Envoy internal" header (which is typically -denoted by an x-envoy prefix) or specific headers that may affect -further filter processing: - -* `host` -* `:authority` -* `:scheme` -* `:method` - -Every attempt to add, change, append, or remove a header will be -tested against the rules here. Disallowed header mutations will be -ignored unless `disallow_is_error` is set to true. - -Attempts to remove headers are further constrained -- regardless of the -settings, system-defined headers (that start with `:`) and the `host` -header may never be removed. - -In addition, a counter will be incremented whenever a mutation is -rejected. In the ext_proc filter, that counter is named -`rejected_header_mutations`. -[#next-free-field: 8] - -```yaml -"allowAllRouting": .google.protobuf.BoolValue -"allowEnvoy": .google.protobuf.BoolValue -"disallowSystem": .google.protobuf.BoolValue -"disallowAll": .google.protobuf.BoolValue -"allowExpression": .solo.io.envoy.type.matcher.v3.RegexMatcher -"disallowExpression": .solo.io.envoy.type.matcher.v3.RegexMatcher -"disallowIsError": .google.protobuf.BoolValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `allowAllRouting` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | By default, certain headers that could affect processing of subsequent filters or request routing cannot be modified. These headers are `host`, `:authority`, `:scheme`, and `:method`. Setting this parameter to true allows these headers to be modified as well. | -| `allowEnvoy` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If true, allow modification of envoy internal headers. By default, these start with `x-envoy` but this may be overridden in the `Bootstrap` configuration using the :ref:`header_prefix ` field. Default is false. | -| `disallowSystem` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If true, prevent modification of any system header, defined as a header that starts with a `:` character, regardless of any other settings. A processing server may still override the `:status` of an HTTP response using an `ImmediateResponse` message. Default is false. | -| `disallowAll` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If true, prevent modifications of all header values, regardless of any other settings. A processing server may still override the `:status` of an HTTP response using an `ImmediateResponse` message. Default is false. | -| `allowExpression` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../../../../../type/matcher/v3/regex.proto.sk/#regexmatcher) | If set, specifically allow any header that matches this regular expression. This overrides all other settings except for `disallow_expression`. | -| `disallowExpression` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../../../../../type/matcher/v3/regex.proto.sk/#regexmatcher) | If set, specifically disallow any header that matches this regular expression regardless of any other settings. | -| `disallowIsError` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If true, and if the rules in this list cause a header mutation to be disallowed, then the filter using this configuration will terminate the request with a 500 error. In addition, regardless of the setting of this parameter, any attempt to set, add, or modify a disallowed header will cause the `rejected_header_mutations` counter to be incremented. Default is false. | - - - - ---- -### HeaderMutation - - -The HeaderMutation structure specifies an action that may be taken on HTTP -headers. - -```yaml -"remove": string -"append": .solo.io.envoy.config.core.v3.HeaderValueOption - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `remove` | `string` | Remove the specified header if it exists. Only one of `remove` or `append` can be set. | -| `append` | [.solo.io.envoy.config.core.v3.HeaderValueOption](../../../../core/v3/base.proto.sk/#headervalueoption) | Append new header by the specified HeaderValueOption. Only one of `append` or `remove` can be set. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/address.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/address.proto.sk.md deleted file mode 100644 index 5c2b4de3304..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/address.proto.sk.md +++ /dev/null @@ -1,179 +0,0 @@ - ---- -title: "address.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [Pipe](#pipe) -- [SocketAddress](#socketaddress) -- [Protocol](#protocol) -- [TcpKeepalive](#tcpkeepalive) -- [BindConfig](#bindconfig) -- [Address](#address) -- [CidrRange](#cidrrange) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/address.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/address.proto) - - - - - ---- -### Pipe - - - -```yaml -"path": string -"mode": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `path` | `string` | 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. | -| `mode` | `int` | The mode for the Pipe. Not applicable for abstract sockets. | - - - - ---- -### SocketAddress - - -[#next-free-field: 7] - -```yaml -"protocol": .solo.io.envoy.config.core.v3.SocketAddress.Protocol -"address": string -"portValue": int -"namedPort": string -"resolverName": string -"ipv4Compat": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `protocol` | [.solo.io.envoy.config.core.v3.SocketAddress.Protocol](../address.proto.sk/#protocol) | | -| `address` | `string` | The address for this socket. Listeners will bind to the address. An empty address is not allowed. Specify `0.0.0.0` or `::` to bind to any address. [#comment:TODO(zuercher) reinstate when implemented: It is possible to distinguish a Listener address via the prefix/suffix matching in FilterChainMatch.] When used within an upstream BindConfig, the address controls the source address of outbound connections. For :ref:`clusters `, the cluster type determines whether the address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized via resolver_name. | -| `portValue` | `int` | Only one of `portValue` or `namedPort` can be set. | -| `namedPort` | `string` | This is only valid if :ref:`resolver_name ` is specified below and the named resolver is capable of named port resolution. Only one of `namedPort` or `portValue` can be set. | -| `resolverName` | `string` | The name of the custom resolver. This must have been registered with Envoy. If this is empty, a context dependent default applies. If the address is a concrete IP address, no resolution will occur. If address is a hostname this should be set for resolution other than DNS. Specifying a custom resolver with *STRICT_DNS* or *LOGICAL_DNS* will generate an error at runtime. | -| `ipv4Compat` | `bool` | When binding to an IPv6 address above, this enables [IPv4 compatibility](https://datatracker.ietf.org/doc/html/rfc3493#page-11). Binding to `::` will allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into IPv6 space as `::FFFF:`. | - - - - ---- -### Protocol - - - -| Name | Description | -| ----- | ----------- | -| `TCP` | | -| `UDP` | | - - - - ---- -### TcpKeepalive - - - -```yaml -"keepaliveProbes": .google.protobuf.UInt32Value -"keepaliveTime": .google.protobuf.UInt32Value -"keepaliveInterval": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `keepaliveProbes` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Maximum number of keepalive probes to send without response before deciding the connection is dead. Default is to use the OS level configuration (unless overridden, Linux defaults to 9.). | -| `keepaliveTime` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of seconds a connection needs to be idle before keep-alive probes start being sent. Default is to use the OS level configuration (unless overridden, Linux defaults to 7200s (i.e., 2 hours.). | -| `keepaliveInterval` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of seconds between keep-alive probes. Default is to use the OS level configuration (unless overridden, Linux defaults to 75s.). | - - - - ---- -### BindConfig - - - -```yaml -"sourceAddress": .solo.io.envoy.config.core.v3.SocketAddress -"freebind": .google.protobuf.BoolValue -"socketOptions": []solo.io.envoy.config.core.v3.SocketOption - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `sourceAddress` | [.solo.io.envoy.config.core.v3.SocketAddress](../address.proto.sk/#socketaddress) | The address to bind to when creating a socket. | -| `freebind` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Whether to set the *IP_FREEBIND* option when creating the socket. When this flag is set to true, allows the :ref:`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. | -| `socketOptions` | [[]solo.io.envoy.config.core.v3.SocketOption](../socket_option.proto.sk/#socketoption) | Additional socket options that may not be present in Envoy source code or precompiled binaries. | - - - - ---- -### 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. - -```yaml -"socketAddress": .solo.io.envoy.config.core.v3.SocketAddress -"pipe": .solo.io.envoy.config.core.v3.Pipe - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `socketAddress` | [.solo.io.envoy.config.core.v3.SocketAddress](../address.proto.sk/#socketaddress) | Only one of `socketAddress` or `pipe` can be set. | -| `pipe` | [.solo.io.envoy.config.core.v3.Pipe](../address.proto.sk/#pipe) | Only one of `pipe` or `socketAddress` can be set. | - - - - ---- -### CidrRange - - -CidrRange specifies an IP Address and a prefix length to construct -the subnet mask for a [CIDR](https://datatracker.ietf.org/doc/html/rfc4632) range. - -```yaml -"addressPrefix": string -"prefixLen": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `addressPrefix` | `string` | IPv4 or IPv6 address, e.g. `192.0.0.0` or `2001:db8::`. | -| `prefixLen` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Length of prefix, e.g. 0, 32. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/backoff.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/backoff.proto.sk.md deleted file mode 100644 index 4fe30370b79..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/backoff.proto.sk.md +++ /dev/null @@ -1,48 +0,0 @@ - ---- -title: "backoff.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [BackoffStrategy](#backoffstrategy) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/backoff.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/backoff.proto) - - - - - ---- -### BackoffStrategy - - -Configuration defining a jittered exponential back off strategy. - -```yaml -"baseInterval": .google.protobuf.Duration -"maxInterval": .google.protobuf.Duration - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `baseInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 `. | -| `maxInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Specifies the maximum interval between retries. This parameter is optional, but must be greater than or equal to the :ref:`base_interval ` if set. The default is 10 times the :ref:`base_interval `. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/base.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/base.proto.sk.md deleted file mode 100644 index 07c4318d076..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/base.proto.sk.md +++ /dev/null @@ -1,516 +0,0 @@ - ---- -title: "base.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [Locality](#locality) -- [BuildVersion](#buildversion) -- [Extension](#extension) -- [Node](#node) -- [Metadata](#metadata) -- [RuntimeUInt32](#runtimeuint32) -- [RuntimeDouble](#runtimedouble) -- [RuntimeFeatureFlag](#runtimefeatureflag) -- [HeaderValue](#headervalue) -- [HeaderValueOption](#headervalueoption) -- [HeaderMap](#headermap) -- [DataSource](#datasource) -- [RetryPolicy](#retrypolicy) -- [RemoteDataSource](#remotedatasource) -- [AsyncDataSource](#asyncdatasource) -- [TransportSocket](#transportsocket) -- [RuntimeFractionalPercent](#runtimefractionalpercent) -- [ControlPlane](#controlplane) - - - - -##### Enums: - - - - [RoutingPriority](#routingpriority) - - [RequestMethod](#requestmethod) - - [TrafficDirection](#trafficdirection) - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/base.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/base.proto) - - - - - ---- -### Locality - - -Identifies location of where either Envoy runs or where upstream hosts run. - -```yaml -"region": string -"zone": string -"subZone": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `region` | `string` | Region this zone belongs to. | -| `zone` | `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 zone data, either in this message or via `--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. | -| `subZone` | `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. | - - - - ---- -### BuildVersion - - -BuildVersion combines SemVer version of extension with free-form build information -(i.e. 'alpha', 'private-build') as a set of strings. - -```yaml -"version": .solo.io.envoy.type.v3.SemanticVersion -"metadata": .google.protobuf.Struct - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `version` | [.solo.io.envoy.type.v3.SemanticVersion](../../../../type/v3/semantic_version.proto.sk/#semanticversion) | SemVer version of extension. | -| `metadata` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Free-form build information. Envoy defines several well known keys in the source/common/common/version.h file. | - - - - ---- -### Extension - - -Version and identification for an Envoy extension. -[#next-free-field: 6] - -```yaml -"name": string -"category": string -"typeDescriptor": string -"version": .solo.io.envoy.config.core.v3.BuildVersion -"disabled": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | This is the name of the Envoy filter as specified in the Envoy configuration, e.g. envoy.filters.http.router, com.acme.widget. | -| `category` | `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.]. | -| `typeDescriptor` | `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.]. | -| `version` | [.solo.io.envoy.config.core.v3.BuildVersion](../base.proto.sk/#buildversion) | 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. | -| `disabled` | `bool` | Indicates that the extension is present but was disabled via dynamic configuration. | - - - - ---- -### Node - - -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] - -```yaml -"id": string -"cluster": string -"metadata": .google.protobuf.Struct -"locality": .solo.io.envoy.config.core.v3.Locality -"userAgentName": string -"userAgentVersion": string -"userAgentBuildVersion": .solo.io.envoy.config.core.v3.BuildVersion -"extensions": []solo.io.envoy.config.core.v3.Extension -"clientFeatures": []string -"listeningAddresses": []solo.io.envoy.config.core.v3.Address - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `id` | `string` | 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: statsd, :ref:`CDS `, and :ref:`HTTP tracing `, either in this message or via `--service-node`. | -| `cluster` | `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: statsd, :ref:`health check cluster verification `, runtime override directory, :ref:`user agent addition `, HTTP global rate limiting, CDS, and :ref:`HTTP tracing `, either in this message or via `--service-cluster`. | -| `metadata` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Opaque metadata extending the node identifier. Envoy will pass this directly to the management server. | -| `locality` | [.solo.io.envoy.config.core.v3.Locality](../base.proto.sk/#locality) | Locality specifying where the Envoy instance is running. | -| `userAgentName` | `string` | Free-form string that identifies the entity requesting config. E.g. "envoy" or "grpc". | -| `userAgentVersion` | `string` | Free-form string that identifies the version of the entity requesting config. E.g. "1.12.2" or "abcd1234", or "SpecialEnvoyBuild". Only one of `userAgentVersion` or `userAgentBuildVersion` can be set. | -| `userAgentBuildVersion` | [.solo.io.envoy.config.core.v3.BuildVersion](../base.proto.sk/#buildversion) | Structured version of the entity requesting config. Only one of `userAgentBuildVersion` or `userAgentVersion` can be set. | -| `extensions` | [[]solo.io.envoy.config.core.v3.Extension](../base.proto.sk/#extension) | List of extensions and their versions supported by the node. | -| `clientFeatures` | `[]string` | 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 the list of features that xDS client may support. | -| `listeningAddresses` | [[]solo.io.envoy.config.core.v3.Address](../address.proto.sk/#address) | Known listening ports on the node as a generic hint to the management server for filtering 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. | - - - - ---- -### Metadata - - -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": }}` 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] - -```yaml -"filterMetadata": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `filterMetadata` | `map` | Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.* namespace is reserved for Envoy's built-in filters. | - - - - ---- -### RuntimeUInt32 - - -Runtime derived uint32 with a default when not specified. - -```yaml -"defaultValue": int -"runtimeKey": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `defaultValue` | `int` | Default value if runtime value is not available. | -| `runtimeKey` | `string` | Runtime key to get value for comparison. This value is used if defined. | - - - - ---- -### RuntimeDouble - - -Runtime derived double with a default when not specified. - -```yaml -"defaultValue": float -"runtimeKey": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `defaultValue` | `float` | Default value if runtime value is not available. | -| `runtimeKey` | `string` | Runtime key to get value for comparison. This value is used if defined. | - - - - ---- -### RuntimeFeatureFlag - - -Runtime derived bool with a default when not specified. - -```yaml -"defaultValue": .google.protobuf.BoolValue -"runtimeKey": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `defaultValue` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Default value if runtime value is not available. | -| `runtimeKey` | `string` | 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). | - - - - ---- -### HeaderValue - - -Header name/value pair. - -```yaml -"key": string -"value": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | Header name. | -| `value` | `string` | Header value. The same format specifier as used for HTTP access logging applies here, however unknown header values are replaced with the empty string instead of `-`. | - - - - ---- -### HeaderValueOption - - -Header name/value pair plus option to control append behavior. - -```yaml -"header": .solo.io.envoy.config.core.v3.HeaderValue -"append": .google.protobuf.BoolValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `header` | [.solo.io.envoy.config.core.v3.HeaderValue](../base.proto.sk/#headervalue) | Header name/value pair that this option applies to. | -| `append` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Should the value be appended? If true (default), the value is appended to existing values. | - - - - ---- -### HeaderMap - - -Wrapper for a set of headers. - -```yaml -"headers": []solo.io.envoy.config.core.v3.HeaderValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headers` | [[]solo.io.envoy.config.core.v3.HeaderValue](../base.proto.sk/#headervalue) | | - - - - ---- -### DataSource - - -Data source consisting of either a file or an inline value. - -```yaml -"filename": string -"inlineBytes": bytes -"inlineString": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `filename` | `string` | Local filesystem data source. Only one of `filename`, `inlineBytes`, or `inlineString` can be set. | -| `inlineBytes` | `bytes` | Bytes inlined in the configuration. Only one of `inlineBytes`, `filename`, or `inlineString` can be set. | -| `inlineString` | `string` | String inlined in the configuration. Only one of `inlineString`, `filename`, or `inlineBytes` can be set. | - - - - ---- -### RetryPolicy - - -The message specifies the retry policy of remote data source when fetching fails. - -```yaml -"retryBackOff": .solo.io.envoy.config.core.v3.BackoffStrategy -"numRetries": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `retryBackOff` | [.solo.io.envoy.config.core.v3.BackoffStrategy](../backoff.proto.sk/#backoffstrategy) | Specifies parameters that control retry backoff strategy. This parameter is optional, in which case the default base interval is 1000 milliseconds. The default maximum interval is 10 times the base interval. | -| `numRetries` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Specifies the allowed number of retries. This parameter is optional and defaults to 1. | - - - - ---- -### RemoteDataSource - - -The message specifies how to fetch data from remote and how to verify it. - -```yaml -"httpUri": .solo.io.envoy.config.core.v3.HttpUri -"sha256": string -"retryPolicy": .solo.io.envoy.config.core.v3.RetryPolicy - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `httpUri` | [.solo.io.envoy.config.core.v3.HttpUri](../http_uri.proto.sk/#httpuri) | The HTTP URI to fetch the remote data. | -| `sha256` | `string` | SHA256 string for verifying data. | -| `retryPolicy` | [.solo.io.envoy.config.core.v3.RetryPolicy](../base.proto.sk/#retrypolicy) | Retry policy for fetching remote data. | - - - - ---- -### AsyncDataSource - - -Async data source which support async data fetch. - -```yaml -"local": .solo.io.envoy.config.core.v3.DataSource -"remote": .solo.io.envoy.config.core.v3.RemoteDataSource - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `local` | [.solo.io.envoy.config.core.v3.DataSource](../base.proto.sk/#datasource) | Local async data source. Only one of `local` or `remote` can be set. | -| `remote` | [.solo.io.envoy.config.core.v3.RemoteDataSource](../base.proto.sk/#remotedatasource) | Remote async data source. Only one of `remote` or `local` can be set. | - - - - ---- -### TransportSocket - - -Configuration for transport socket in listeners and -clusters. If the configuration is -empty, a default transport socket implementation and configuration will be -chosen based on the platform and existence of tls_context. - -```yaml -"name": string -"typedConfig": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The name of the transport socket to instantiate. The name must match a supported transport socket implementation. | -| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | - - - - ---- -### RuntimeFractionalPercent - - -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 - 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. - -```yaml -"defaultValue": .solo.io.envoy.type.v3.FractionalPercent -"runtimeKey": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `defaultValue` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../type/v3/percent.proto.sk/#fractionalpercent) | Default value if the runtime value's for the numerator/denominator keys are not available. | -| `runtimeKey` | `string` | Runtime key for a YAML representation of a FractionalPercent. | - - - - ---- -### ControlPlane - - -Identifies a specific ControlPlane instance that Envoy is connected to. - -```yaml -"identifier": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `identifier` | `string` | 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. | - - - - -### RoutingPriority - -Description: Envoy supports :ref:`upstream priority routing -` 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. - -| Name | Description | -| ----- | ----------- | -| DEFAULT | | -| HIGH | | - -### RequestMethod - -Description: HTTP request method. - -| Name | Description | -| ----- | ----------- | -| METHOD_UNSPECIFIED | | -| GET | | -| HEAD | | -| POST | | -| PUT | | -| DELETE | | -| CONNECT | | -| OPTIONS | | -| TRACE | | -| PATCH | | - -### TrafficDirection - -Description: Identifies the direction of the traffic relative to the local Envoy. - -| Name | Description | -| ----- | ----------- | -| UNSPECIFIED | Default option is unspecified. | -| INBOUND | The transport is used for incoming traffic. | -| OUTBOUND | The transport is used for outgoing traffic. | - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto.sk.md deleted file mode 100644 index 09dbc6b4c80..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto.sk.md +++ /dev/null @@ -1,47 +0,0 @@ - ---- -title: "event_service_config.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [EventServiceConfig](#eventserviceconfig) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto) - - - - - ---- -### EventServiceConfig - - -[#not-implemented-hide:] -Configuration of the event reporting service endpoint. - -```yaml -"grpcService": .solo.io.envoy.config.core.v3.GrpcService - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `grpcService` | [.solo.io.envoy.config.core.v3.GrpcService](../grpc_service.proto.sk/#grpcservice) | Specifies the gRPC service that hosts the event reporting service. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/extension.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/extension.proto.sk.md deleted file mode 100644 index 2b8115a580c..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/extension.proto.sk.md +++ /dev/null @@ -1,49 +0,0 @@ - ---- -title: "extension.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [TypedExtensionConfig](#typedextensionconfig) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/extension.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/extension.proto) - - - - - ---- -### TypedExtensionConfig - - -Message type for extension configuration. -[#next-major-version: revisit all existing typed_config that doesn't use this wrapper.]. - -```yaml -"name": string -"typedConfig": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The name of an extension. This is not used to select the extension, instead it serves the role of an opaque identifier. | -| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | The typed config for the extension. The type URL will be used to identify the extension. In the case that the type URL is *udpa.type.v1.TypedStruct*, the inner type URL of *TypedStruct* will be utilized. See the :ref:`extension configuration overview ` for further details. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto.sk.md deleted file mode 100644 index 20d42bdebfe..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto.sk.md +++ /dev/null @@ -1,343 +0,0 @@ - ---- -title: "grpc_service.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [GrpcService](#grpcservice) -- [EnvoyGrpc](#envoygrpc) -- [GoogleGrpc](#googlegrpc) -- [SslCredentials](#sslcredentials) -- [GoogleLocalCredentials](#googlelocalcredentials) -- [ChannelCredentials](#channelcredentials) -- [CallCredentials](#callcredentials) -- [ServiceAccountJWTAccessCredentials](#serviceaccountjwtaccesscredentials) -- [GoogleIAMCredentials](#googleiamcredentials) -- [MetadataCredentialsFromPlugin](#metadatacredentialsfromplugin) -- [StsService](#stsservice) -- [ChannelArgs](#channelargs) -- [Value](#value) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto) - - - - - ---- -### GrpcService - - -gRPC service configuration. This is used by :ref:`ApiConfigSource -` and filter configurations. -[#next-free-field: 6] - -```yaml -"envoyGrpc": .solo.io.envoy.config.core.v3.GrpcService.EnvoyGrpc -"googleGrpc": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc -"timeout": .google.protobuf.Duration -"initialMetadata": []solo.io.envoy.config.core.v3.HeaderValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `envoyGrpc` | [.solo.io.envoy.config.core.v3.GrpcService.EnvoyGrpc](../grpc_service.proto.sk/#envoygrpc) | Envoy's in-built gRPC client. See the :ref:`gRPC services overview ` documentation for discussion on gRPC client selection. Only one of `envoyGrpc` or `googleGrpc` can be set. | -| `googleGrpc` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc](../grpc_service.proto.sk/#googlegrpc) | [Google C++ gRPC client](https://github.com/grpc/grpc) See the :ref:`gRPC services overview ` documentation for discussion on gRPC client selection. Only one of `googleGrpc` or `envoyGrpc` can be set. | -| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The timeout for the gRPC request. This is the timeout for a specific request. | -| `initialMetadata` | [[]solo.io.envoy.config.core.v3.HeaderValue](../base.proto.sk/#headervalue) | 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. | - - - - ---- -### EnvoyGrpc - - - -```yaml -"clusterName": string -"authority": string -"retryPolicy": .solo.io.envoy.config.core.v3.RetryPolicy - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `clusterName` | `string` | The name of the upstream gRPC cluster. SSL credentials will be supplied in the Cluster :ref:`transport_socket `. | -| `authority` | `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. | -| `retryPolicy` | [.solo.io.envoy.config.core.v3.RetryPolicy](../base.proto.sk/#retrypolicy) | Indicates the retry policy for re-establishing the gRPC stream This field is optional. If max interval is not provided, it will be set to ten times the provided base interval. Currently only supported for xDS gRPC streams. If not set, xDS gRPC streams default base interval:500ms, maximum interval:30s will be applied. | - - - - ---- -### GoogleGrpc - - -[#next-free-field: 9] - -```yaml -"targetUri": string -"channelCredentials": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials -"callCredentials": []solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials -"statPrefix": string -"credentialsFactoryName": string -"config": .google.protobuf.Struct -"perStreamBufferLimitBytes": .google.protobuf.UInt32Value -"channelArgs": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `targetUri` | `string` | The target URI when using the [Google C++ gRPC client](https://github.com/grpc/grpc). SSL credentials will be supplied in channel_credentials. | -| `channelCredentials` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials](../grpc_service.proto.sk/#channelcredentials) | | -| `callCredentials` | [[]solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials](../grpc_service.proto.sk/#callcredentials) | A set of call credentials that can be composed with [channel credentials](https://grpc.io/docs/guides/auth.html#credential-types). | -| `statPrefix` | `string` | The human readable prefix to use when emitting statistics for the gRPC service. .. csv-table:: :header: Name, Type, Description :widths: 1, 1, 2 streams_total, Counter, Total number of streams opened streams_closed_, Counter, Total streams closed with . | -| `credentialsFactoryName` | `string` | The name of the Google gRPC credentials factory to use. This must have been registered with Envoy. If this is empty, a default credentials factory will be used that sets up channel credentials based on other configuration parameters. | -| `config` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Additional configuration for site-specific customizations of the Google gRPC library. | -| `perStreamBufferLimitBytes` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | How many bytes each stream can buffer internally. If not set an implementation defined default is applied (1MiB). | -| `channelArgs` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs](../grpc_service.proto.sk/#channelargs) | Custom channels args. | - - - - ---- -### SslCredentials - - -See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html. - -```yaml -"rootCerts": .solo.io.envoy.config.core.v3.DataSource -"privateKey": .solo.io.envoy.config.core.v3.DataSource -"certChain": .solo.io.envoy.config.core.v3.DataSource - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `rootCerts` | [.solo.io.envoy.config.core.v3.DataSource](../base.proto.sk/#datasource) | PEM encoded server root certificates. | -| `privateKey` | [.solo.io.envoy.config.core.v3.DataSource](../base.proto.sk/#datasource) | PEM encoded client private key. | -| `certChain` | [.solo.io.envoy.config.core.v3.DataSource](../base.proto.sk/#datasource) | PEM encoded client certificate chain. | - - - - ---- -### GoogleLocalCredentials - - -Local channel credentials. Only UDS is supported for now. -See https://github.com/grpc/grpc/pull/15909. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### ChannelCredentials - - -See https://grpc.io/docs/guides/auth.html#credential-types to understand Channel and Call -credential types. - -```yaml -"sslCredentials": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials -"googleDefault": .google.protobuf.Empty -"localCredentials": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.GoogleLocalCredentials - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `sslCredentials` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials](../grpc_service.proto.sk/#sslcredentials) | Only one of `sslCredentials`, `googleDefault`, or `localCredentials` can be set. | -| `googleDefault` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61. Only one of `googleDefault`, `sslCredentials`, or `localCredentials` can be set. | -| `localCredentials` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.GoogleLocalCredentials](../grpc_service.proto.sk/#googlelocalcredentials) | Only one of `localCredentials`, `sslCredentials`, or `googleDefault` can be set. | - - - - ---- -### CallCredentials - - -[#next-free-field: 8] - -```yaml -"accessToken": string -"googleComputeEngine": .google.protobuf.Empty -"googleRefreshToken": string -"serviceAccountJwtAccess": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials -"googleIam": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials -"fromPlugin": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin -"stsService": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.StsService - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `accessToken` | `string` | Access token credentials. https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d. Only one of `accessToken`, `googleComputeEngine`, `googleRefreshToken`, `serviceAccountJwtAccess`, `googleIam`, `fromPlugin`, or `stsService` can be set. | -| `googleComputeEngine` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | Google Compute Engine credentials. https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61. Only one of `googleComputeEngine`, `accessToken`, `googleRefreshToken`, `serviceAccountJwtAccess`, `googleIam`, `fromPlugin`, or `stsService` can be set. | -| `googleRefreshToken` | `string` | Google refresh token credentials. https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c. Only one of `googleRefreshToken`, `accessToken`, `googleComputeEngine`, `serviceAccountJwtAccess`, `googleIam`, `fromPlugin`, or `stsService` can be set. | -| `serviceAccountJwtAccess` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials](../grpc_service.proto.sk/#serviceaccountjwtaccesscredentials) | Service Account JWT Access credentials. https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa. Only one of `serviceAccountJwtAccess`, `accessToken`, `googleComputeEngine`, `googleRefreshToken`, `googleIam`, `fromPlugin`, or `stsService` can be set. | -| `googleIam` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials](../grpc_service.proto.sk/#googleiamcredentials) | Google IAM credentials. https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0. Only one of `googleIam`, `accessToken`, `googleComputeEngine`, `googleRefreshToken`, `serviceAccountJwtAccess`, `fromPlugin`, or `stsService` can be set. | -| `fromPlugin` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin](../grpc_service.proto.sk/#metadatacredentialsfromplugin) | 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. Only one of `fromPlugin`, `accessToken`, `googleComputeEngine`, `googleRefreshToken`, `serviceAccountJwtAccess`, `googleIam`, or `stsService` can be set. | -| `stsService` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.StsService](../grpc_service.proto.sk/#stsservice) | Custom security token service which implements OAuth 2.0 token exchange. https://datatracker.ietf.org/doc/html/draft-ietf-oauth-token-exchange-16 See https://github.com/grpc/grpc/pull/19587. Only one of `stsService`, `accessToken`, `googleComputeEngine`, `googleRefreshToken`, `serviceAccountJwtAccess`, `googleIam`, or `fromPlugin` can be set. | - - - - ---- -### ServiceAccountJWTAccessCredentials - - - -```yaml -"jsonKey": string -"tokenLifetimeSeconds": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `jsonKey` | `string` | | -| `tokenLifetimeSeconds` | `int` | | - - - - ---- -### GoogleIAMCredentials - - - -```yaml -"authorizationToken": string -"authoritySelector": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `authorizationToken` | `string` | | -| `authoritySelector` | `string` | | - - - - ---- -### MetadataCredentialsFromPlugin - - - -```yaml -"name": string -"typedConfig": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | | -| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | - - - - ---- -### StsService - - -Security token service configuration that allows Google gRPC to -fetch security token from an OAuth 2.0 authorization server. -See https://datatracker.ietf.org/doc/html/draft-ietf-oauth-token-exchange-16 and -https://github.com/grpc/grpc/pull/19587. -[#next-free-field: 10] - -```yaml -"tokenExchangeServiceUri": string -"resource": string -"audience": string -"scope": string -"requestedTokenType": string -"subjectTokenPath": string -"subjectTokenType": string -"actorTokenPath": string -"actorTokenType": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `tokenExchangeServiceUri` | `string` | URI of the token exchange service that handles token exchange requests. [#comment:TODO(asraa): Add URI validation when implemented. Tracked by https://github.com/envoyproxy/protoc-gen-validate/issues/303]. | -| `resource` | `string` | Location of the target service or resource where the client intends to use the requested security token. | -| `audience` | `string` | Logical name of the target service where the client intends to use the requested security token. | -| `scope` | `string` | The desired scope of the requested security token in the context of the service or resource where the token will be used. | -| `requestedTokenType` | `string` | Type of the requested security token. | -| `subjectTokenPath` | `string` | The path of subject token, a security token that represents the identity of the party on behalf of whom the request is being made. | -| `subjectTokenType` | `string` | Type of the subject token. | -| `actorTokenPath` | `string` | The path of actor token, a security token that represents the identity of the acting party. The acting party is authorized to use the requested security token and act on behalf of the subject. | -| `actorTokenType` | `string` | Type of the actor token. | - - - - ---- -### ChannelArgs - - -Channel arguments. - -```yaml -"args": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `args` | `map` | See grpc_types.h GRPC_ARG #defines for keys that work here. | - - - - ---- -### Value - - - -```yaml -"stringValue": string -"intValue": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `stringValue` | `string` | Only one of `stringValue` or `intValue` can be set. | -| `intValue` | `int` | Only one of `intValue` or `stringValue` can be set. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/health_check.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/health_check.proto.sk.md deleted file mode 100644 index 958dc4282ad..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/health_check.proto.sk.md +++ /dev/null @@ -1,270 +0,0 @@ - ---- -title: "health_check.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [HealthCheck](#healthcheck) -- [Payload](#payload) -- [HttpHealthCheck](#httphealthcheck) -- [TcpHealthCheck](#tcphealthcheck) -- [RedisHealthCheck](#redishealthcheck) -- [GrpcHealthCheck](#grpchealthcheck) -- [CustomHealthCheck](#customhealthcheck) -- [TlsOptions](#tlsoptions) - - - - -##### Enums: - - - - [HealthStatus](#healthstatus) - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/health_check.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/health_check.proto) - - - - - ---- -### HealthCheck - - -[#next-free-field: 24] - -```yaml -"timeout": .google.protobuf.Duration -"interval": .google.protobuf.Duration -"initialJitter": .google.protobuf.Duration -"intervalJitter": .google.protobuf.Duration -"intervalJitterPercent": int -"unhealthyThreshold": .google.protobuf.UInt32Value -"healthyThreshold": .google.protobuf.UInt32Value -"altPort": .google.protobuf.UInt32Value -"reuseConnection": .google.protobuf.BoolValue -"httpHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck -"tcpHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.TcpHealthCheck -"grpcHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.GrpcHealthCheck -"customHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.CustomHealthCheck -"noTrafficInterval": .google.protobuf.Duration -"unhealthyInterval": .google.protobuf.Duration -"unhealthyEdgeInterval": .google.protobuf.Duration -"healthyEdgeInterval": .google.protobuf.Duration -"eventLogPath": string -"eventService": .solo.io.envoy.config.core.v3.EventServiceConfig -"alwaysLogHealthCheckFailures": bool -"tlsOptions": .solo.io.envoy.config.core.v3.HealthCheck.TlsOptions -"transportSocketMatchCriteria": .google.protobuf.Struct - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The time to wait for a health check response. If the timeout is reached the health check attempt will be considered a failure. | -| `interval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The interval between health checks. | -| `initialJitter` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | An optional jitter amount in milliseconds. If specified, Envoy will start health checking after for a random time in ms between 0 and initial_jitter. This only applies to the first health check. | -| `intervalJitter` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | An optional jitter amount in milliseconds. If specified, during every interval Envoy will add interval_jitter to the wait time. | -| `intervalJitterPercent` | `int` | An optional jitter amount as a percentage of interval_ms. If specified, during every interval Envoy will add interval_ms * interval_jitter_percent / 100 to the wait time. If interval_jitter_ms and interval_jitter_percent are both set, both of them will be used to increase the wait time. | -| `unhealthyThreshold` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of unhealthy health checks required before a host is marked unhealthy. Note that for *http* health checking if a host responds with 503 this threshold is ignored and the host is considered unhealthy immediately. | -| `healthyThreshold` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of healthy health checks required before a host is marked healthy. Note that during startup, only a single successful health check is required to mark a host healthy. | -| `altPort` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | [#not-implemented-hide:] Non-serving port for health checking. | -| `reuseConnection` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Reuse health check connection between health checks. Default is true. | -| `httpHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck](../health_check.proto.sk/#httphealthcheck) | HTTP health check. Only one of `httpHealthCheck`, `tcpHealthCheck`, `grpcHealthCheck`, or `customHealthCheck` can be set. | -| `tcpHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.TcpHealthCheck](../health_check.proto.sk/#tcphealthcheck) | TCP health check. Only one of `tcpHealthCheck`, `httpHealthCheck`, `grpcHealthCheck`, or `customHealthCheck` can be set. | -| `grpcHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.GrpcHealthCheck](../health_check.proto.sk/#grpchealthcheck) | gRPC health check. Only one of `grpcHealthCheck`, `httpHealthCheck`, `tcpHealthCheck`, or `customHealthCheck` can be set. | -| `customHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.CustomHealthCheck](../health_check.proto.sk/#customhealthcheck) | Custom health check. Only one of `customHealthCheck`, `httpHealthCheck`, `tcpHealthCheck`, or `grpcHealthCheck` can be set. | -| `noTrafficInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 date, without sending a potentially large amount of active health checking traffic for no reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the standard health check interval that is defined. Note that this interval takes precedence over any other. The default value for "no traffic interval" is 60 seconds. | -| `unhealthyInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 standard health check interval that is defined. The default value for "unhealthy interval" is the same as "interval". | -| `unhealthyEdgeInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The "unhealthy edge interval" is a special health check interval that is used for the first health check right after a host is marked as unhealthy. For subsequent health checks Envoy will shift back to using either "unhealthy interval" if present or the standard health check interval that is defined. The default value for "unhealthy edge interval" is the same as "unhealthy interval". | -| `healthyEdgeInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The "healthy edge interval" is a special health check interval that is used for the first health check right after a host is marked as healthy. For subsequent health checks Envoy will shift back to using the standard health check interval that is defined. The default value for "healthy edge interval" is the same as the default interval. | -| `eventLogPath` | `string` | Specifies the path to the health check event log. If empty, no event log will be written. | -| `eventService` | [.solo.io.envoy.config.core.v3.EventServiceConfig](../event_service_config.proto.sk/#eventserviceconfig) | [#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. | -| `alwaysLogHealthCheckFailures` | `bool` | If set to true, health check failure events will always be logged. If set to false, only the initial health check failure event will be logged. The default value is false. | -| `tlsOptions` | [.solo.io.envoy.config.core.v3.HealthCheck.TlsOptions](../health_check.proto.sk/#tlsoptions) | This allows overriding the cluster TLS settings, just for health check connections. | -| `transportSocketMatchCriteria` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Optional key/value pairs that will be used to match a transport socket from those specified in the cluster's tranport 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 ` .. 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 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 transport socket matches, the cluster's :ref:`transport socket ` will be used for health check socket configuration. | - - - - ---- -### Payload - - -Describes the encoding of the payload bytes in the payload. - -```yaml -"text": string -"binary": bytes - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `text` | `string` | Hex encoded payload. E.g., "000000FF". Only one of `text` or `binary` can be set. | -| `binary` | `bytes` | [#not-implemented-hide:] Binary payload. Only one of `binary` or `text` can be set. | - - - - ---- -### HttpHealthCheck - - -[#next-free-field: 13] - -```yaml -"host": string -"path": string -"send": .solo.io.envoy.config.core.v3.HealthCheck.Payload -"receive": .solo.io.envoy.config.core.v3.HealthCheck.Payload -"requestHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption -"requestHeadersToRemove": []string -"expectedStatuses": []solo.io.envoy.type.v3.Int64Range -"codecClientType": .solo.io.envoy.type.v3.CodecClientType -"serviceNameMatcher": .solo.io.envoy.type.matcher.v3.StringMatcher -"responseAssertions": .advancedhttp.options.gloo.solo.io.ResponseAssertions - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `host` | `string` | 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 hostname field. | -| `path` | `string` | Specifies the HTTP path that will be requested during health checking. For example */healthcheck*. | -| `send` | [.solo.io.envoy.config.core.v3.HealthCheck.Payload](../health_check.proto.sk/#payload) | [#not-implemented-hide:] HTTP specific payload. | -| `receive` | [.solo.io.envoy.config.core.v3.HealthCheck.Payload](../health_check.proto.sk/#payload) | [#not-implemented-hide:] HTTP specific response. | -| `requestHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../base.proto.sk/#headervalueoption) | 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 `. | -| `requestHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each request that is sent to the health checked cluster. | -| `expectedStatuses` | [[]solo.io.envoy.type.v3.Int64Range](../../../../type/v3/range.proto.sk/#int64range) | 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 Int64Range. The start and end of each range are required. Only statuses in the range [100, 600) are allowed. | -| `codecClientType` | [.solo.io.envoy.type.v3.CodecClientType](../../../../type/v3/http.proto.sk/#codecclienttype) | Use specified application protocol for health checks. | -| `serviceNameMatcher` | [.solo.io.envoy.type.matcher.v3.StringMatcher](../../../../type/matcher/v3/string.proto.sk/#stringmatcher) | An optional service name parameter which is used to validate the identity of the health checked cluster using a :ref:`StringMatcher `. See the :ref:`architecture overview ` for more information. | -| `responseAssertions` | [.advancedhttp.options.gloo.solo.io.ResponseAssertions](../../../../../../v1/options/advanced_http/advanced_http.proto.sk/#responseassertions) | (Enterprise Only): If defined, the response health check rules take precedence over the http `expected_statuses`. | - - - - ---- -### TcpHealthCheck - - - -```yaml -"send": .solo.io.envoy.config.core.v3.HealthCheck.Payload -"receive": []solo.io.envoy.config.core.v3.HealthCheck.Payload - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `send` | [.solo.io.envoy.config.core.v3.HealthCheck.Payload](../health_check.proto.sk/#payload) | Empty payloads imply a connect-only health check. | -| `receive` | [[]solo.io.envoy.config.core.v3.HealthCheck.Payload](../health_check.proto.sk/#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. | - - - - ---- -### RedisHealthCheck - - - -```yaml -"key": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | If set, optionally perform `EXISTS ` instead of `PING`. A return value from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance by setting the specified key to any value and waiting for traffic to drain. | - - - - ---- -### GrpcHealthCheck - - -[grpc.health.v1.Health](https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto)-based -healthcheck. See [gRPC doc](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) -for details. - -```yaml -"serviceName": string -"authority": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `serviceName` | `string` | An optional service name parameter which will be sent to gRPC service in [grpc.health.v1.HealthCheckRequest](https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20). message. See [gRPC health-checking overview](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) for more information. | -| `authority` | `string` | 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 hostname field. | - - - - ---- -### CustomHealthCheck - - -Custom health check. - -```yaml -"name": string -"typedConfig": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The registered name of the custom health checker. | -| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | - - - - ---- -### TlsOptions - - -Health checks occur over the transport socket specified for the cluster. This implies that if a -cluster is using a TLS-enabled transport socket, the health check will also occur over TLS. - -This allows overriding the cluster TLS settings, just for health check connections. - -```yaml -"alpnProtocols": []string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `alpnProtocols` | `[]string` | Specifies the ALPN protocols for health check connections. This is useful if the corresponding upstream is using ALPN-based :ref:`FilterChainMatch ` along with different protocols for health checks versus data connections. If empty, no ALPN protocols will be set on health check connections. | - - - - -### HealthStatus - -Description: Endpoint health status. - -| Name | Description | -| ----- | ----------- | -| UNKNOWN | The health status is not known. This is interpreted by Envoy as *HEALTHY*. | -| HEALTHY | Healthy. | -| UNHEALTHY | Unhealthy. | -| DRAINING | Connection draining in progress. E.g., https://aws.amazon.com/blogs/aws/elb-connection-draining-remove-instances-from-service-with-care/ or https://cloud.google.com/compute/docs/load-balancing/enabling-connection-draining. This is interpreted by Envoy as *UNHEALTHY*. | -| TIMEOUT | Health check timed out. This is part of HDS and is interpreted by Envoy as *UNHEALTHY*. | -| DEGRADED | Degraded. | - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto.sk.md deleted file mode 100644 index a05282d6a63..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto.sk.md +++ /dev/null @@ -1,50 +0,0 @@ - ---- -title: "http_uri.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [HttpUri](#httpuri) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto) - - - - - ---- -### HttpUri - - -Envoy external URI descriptor - -```yaml -"uri": string -"cluster": string -"timeout": .google.protobuf.Duration - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `uri` | `string` | 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. | -| `cluster` | `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. | -| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Sets the maximum duration in milliseconds that a response can take to arrive upon request. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto.sk.md deleted file mode 100644 index 8cb30452725..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto.sk.md +++ /dev/null @@ -1,95 +0,0 @@ - ---- -title: "proxy_protocol.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [ProxyProtocolPassThroughTLVs](#proxyprotocolpassthroughtlvs) -- [PassTLVsMatchType](#passtlvsmatchtype) -- [ProxyProtocolConfig](#proxyprotocolconfig) -- [Version](#version) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto) - - - - - ---- -### ProxyProtocolPassThroughTLVs - - - -```yaml -"matchType": .solo.io.envoy.config.core.v3.ProxyProtocolPassThroughTLVs.PassTLVsMatchType -"tlvType": []int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `matchType` | [.solo.io.envoy.config.core.v3.ProxyProtocolPassThroughTLVs.PassTLVsMatchType](../proxy_protocol.proto.sk/#passtlvsmatchtype) | The strategy to pass through TLVs. Default is INCLUDE_ALL. If INCLUDE_ALL is set, all TLVs will be passed through no matter the tlv_type field. | -| `tlvType` | `[]int` | The TLV types that are applied based on match_type. TLV type is defined as uint8_t in proxy protocol. See [the spec](https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt) for details. | - - - - ---- -### PassTLVsMatchType - - - -| Name | Description | -| ----- | ----------- | -| `INCLUDE_ALL` | Pass all TLVs. | -| `INCLUDE` | Pass specific TLVs defined in tlv_type. | - - - - ---- -### ProxyProtocolConfig - - - -```yaml -"version": .solo.io.envoy.config.core.v3.ProxyProtocolConfig.Version -"passThroughTlvs": .solo.io.envoy.config.core.v3.ProxyProtocolPassThroughTLVs - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `version` | [.solo.io.envoy.config.core.v3.ProxyProtocolConfig.Version](../proxy_protocol.proto.sk/#version) | The PROXY protocol version to use. See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details. | -| `passThroughTlvs` | [.solo.io.envoy.config.core.v3.ProxyProtocolPassThroughTLVs](../proxy_protocol.proto.sk/#proxyprotocolpassthroughtlvs) | This config controls which TLVs can be passed to filter state if it is Proxy Protocol V2 header. If there is no setting for this field, no TLVs will be passed through. | - - - - ---- -### Version - - - -| Name | Description | -| ----- | ----------- | -| `V1` | PROXY protocol version 1. Human readable format. | -| `V2` | PROXY protocol version 2. Binary format. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/resolver.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/resolver.proto.sk.md deleted file mode 100644 index 58928d76b91..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/resolver.proto.sk.md +++ /dev/null @@ -1,48 +0,0 @@ - ---- -title: "resolver.proto" -weight: 5 ---- - - - - -### Package: `solo.io.config.core.v3` -#### Types: - - -- [DnsResolverOptions](#dnsresolveroptions) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/resolver.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/resolver.proto) - - - - - ---- -### DnsResolverOptions - - -Configuration of DNS resolver option flags which control the behavior of the DNS resolver. - -```yaml -"useTcpForDnsLookups": bool -"noDefaultSearchDomain": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `useTcpForDnsLookups` | `bool` | Use TCP for all DNS queries instead of the default protocol UDP. | -| `noDefaultSearchDomain` | `bool` | Do not use the default search domains; only query hostnames as-is or as aliases. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto.sk.md deleted file mode 100644 index fb497935ca0..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto.sk.md +++ /dev/null @@ -1,73 +0,0 @@ - ---- -title: "socket_option.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [SocketOption](#socketoption) -- [SocketState](#socketstate) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto) - - - - - ---- -### SocketOption - - -Generic socket option message. This would be used to set socket options that -might not exist in upstream kernels or precompiled Envoy binaries. -[#next-free-field: 7] - -```yaml -"description": string -"level": int -"name": int -"intValue": int -"bufValue": bytes -"state": .solo.io.envoy.config.core.v3.SocketOption.SocketState - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `description` | `string` | An optional name to give this socket option for debugging, etc. Uniqueness is not required and no special meaning is assumed. | -| `level` | `int` | Corresponding to the level value passed to setsockopt, such as IPPROTO_TCP. | -| `name` | `int` | The numeric name as passed to setsockopt. | -| `intValue` | `int` | Because many sockopts take an int value. Only one of `intValue` or `bufValue` can be set. | -| `bufValue` | `bytes` | Otherwise it's a byte buffer. Only one of `bufValue` or `intValue` can be set. | -| `state` | [.solo.io.envoy.config.core.v3.SocketOption.SocketState](../socket_option.proto.sk/#socketstate) | The state in which the option will be applied. When used in BindConfig STATE_PREBIND is currently the only valid value. | - - - - ---- -### SocketState - - - -| Name | Description | -| ----- | ----------- | -| `STATE_PREBIND` | Socket options are applied after socket creation but before binding the socket to a port | -| `STATE_BOUND` | Socket options are applied after binding the socket to a port but before calling listen() | -| `STATE_LISTENING` | Socket options are applied after calling listen() | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto.sk.md deleted file mode 100644 index 1501050667e..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto.sk.md +++ /dev/null @@ -1,111 +0,0 @@ - ---- -title: "gzip.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.filter.http.gzip.v2` -copied from https://raw.githubusercontent.com/envoyproxy/envoy/bd637fc7aab5de06707e3e478f507c2e7aacad75/api/envoy/config/filter/http/gzip/v2/gzip.proto - - - -#### Types: - - -- [Gzip](#gzip) -- [CompressionLevel](#compressionlevel) -- [Enum](#enum) -- [CompressionStrategy](#compressionstrategy) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto) - - - - - ---- -### Gzip - - -[#next-free-field: 10] - -```yaml -"memoryLevel": .google.protobuf.UInt32Value -"contentLength": .google.protobuf.UInt32Value -"compressionLevel": .solo.io.envoy.config.filter.http.gzip.v2.Gzip.CompressionLevel.Enum -"compressionStrategy": .solo.io.envoy.config.filter.http.gzip.v2.Gzip.CompressionStrategy -"contentType": []string -"disableOnEtagHeader": bool -"removeAcceptEncodingHeader": bool -"windowBits": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `memoryLevel` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Value from 1 to 9 that controls the amount of internal memory used by zlib. Higher values use more memory, but are faster and produce better compression results. The default value is 5. | -| `contentLength` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Minimum response length, in bytes, which will trigger compression. The default value is 30. | -| `compressionLevel` | [.solo.io.envoy.config.filter.http.gzip.v2.Gzip.CompressionLevel.Enum](../gzip.proto.sk/#enum) | A value used for selecting the zlib compression level. This setting will affect speed and amount of compression applied to the content. "BEST" provides higher compression at the cost of higher latency, "SPEED" provides lower compression with minimum impact on response time. "DEFAULT" provides an optimal result between speed and compression. This field will be set to "DEFAULT" if not specified. | -| `compressionStrategy` | [.solo.io.envoy.config.filter.http.gzip.v2.Gzip.CompressionStrategy](../gzip.proto.sk/#compressionstrategy) | A value used for selecting the zlib compression strategy which is directly related to the characteristics of the content. Most of the time "DEFAULT" will be the best choice, though there are situations which changing this parameter might produce better results. For example, run-length encoding (RLE) is typically used when the content is known for having sequences which same data occurs many consecutive times. For more information about each strategy, please refer to zlib manual. | -| `contentType` | `[]string` | Set of strings that allows specifying which mime-types yield compression; e.g., application/json, text/html, etc. When this field is not defined, compression will be applied to the following mime-types: "application/javascript", "application/json", "application/xhtml+xml", "image/svg+xml", "text/css", "text/html", "text/plain", "text/xml". | -| `disableOnEtagHeader` | `bool` | If true, disables compression when the response contains an etag header. When it is false, the filter will preserve weak etags and remove the ones that require strong validation. | -| `removeAcceptEncodingHeader` | `bool` | If true, removes accept-encoding from the request headers before dispatching it to the upstream so that responses do not get compressed before reaching the filter. | -| `windowBits` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Value from 9 to 15 that represents the base two logarithmic of the compressor's window size. Larger window results in better compression at the expense of memory usage. The default is 12 which will produce a 4096 bytes window. For more details about this parameter, please refer to zlib manual > deflateInit2. | - - - - ---- -### CompressionLevel - - - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### Enum - - - -| Name | Description | -| ----- | ----------- | -| `DEFAULT` | | -| `BEST` | | -| `SPEED` | | - - - - ---- -### CompressionStrategy - - - -| Name | Description | -| ----- | ----------- | -| `DEFAULT` | | -| `FILTERED` | | -| `HUFFMAN` | | -| `RLE` | | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto.sk.md deleted file mode 100644 index a8964782cb1..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto.sk.md +++ /dev/null @@ -1,43 +0,0 @@ - ---- -title: "tls_cipher_inspector.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.listener.tls_cipher_inspector.v3` -#### Types: - - -- [TlsCipherInspector](#tlscipherinspector) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto) - - - - - ---- -### TlsCipherInspector - - - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto.sk.md deleted file mode 100644 index 31131320b45..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto.sk.md +++ /dev/null @@ -1,67 +0,0 @@ - ---- -title: "server_name_matcher.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.matching.custom_matchers.server_name.v3` -#### Types: - - -- [ServerNameMatcher](#servernamematcher) -- [ServerNameSetMatcher](#servernamesetmatcher) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto) - - - - - ---- -### ServerNameMatcher - - -Matches a specific server name provided in the client request against a set server names configured for the matcher to handle, with possible prefix wildcard. - -```yaml -"serverNameMatchers": []envoy.config.matching.custom_matchers.server_name.v3.ServerNameMatcher.ServerNameSetMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `serverNameMatchers` | [[]envoy.config.matching.custom_matchers.server_name.v3.ServerNameMatcher.ServerNameSetMatcher](../server_name_matcher.proto.sk/#servernamesetmatcher) | Match server names. Order doesn't matter, the most specific server name is matched. | - - - - ---- -### ServerNameSetMatcher - - -Specifies a list of server names and a match action. - -```yaml -"serverNames": []string -"onMatch": .xds.type.matcher.v3.Matcher.OnMatch - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `serverNames` | `[]string` | A non-empty set of server names. Server name can start with a wildcard prefix, e.g. "*.example.com". | -| `onMatch` | [.xds.type.matcher.v3.Matcher.OnMatch](../../../../../../../xds/type/matcher/v3/matcher.proto.sk/#onmatch) | Match action to apply when the input matches the server name. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto.sk.md deleted file mode 100644 index 2ef5c2d047d..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto.sk.md +++ /dev/null @@ -1,49 +0,0 @@ - ---- -title: "cipher_detection_input.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.matching.cipher_detection_input.v3` -#### Types: - - -- [CipherDetectionInput](#cipherdetectioninput) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto) - - - - - ---- -### CipherDetectionInput - - -Specifies that matching should be performed by the destination IP address. -[#extension: io.solo.matching.inputs.cipher_detection_input] - -```yaml -"passthroughCiphers": []int -"terminatingCiphers": []int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `passthroughCiphers` | `[]int` | List of TLS ciphers to send to the passthrough cipher chain. Ciphers must be provided using their 16-bit value. These numbers of IANA standardised values for all possible cipher suites and can be found here: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml example: to select the following cipher 0x00,0x3c TLS_RSA_WITH_AES_128_CBC_SHA256 this field should be set to 0x003c. | -| `terminatingCiphers` | `[]int` | Terminating ciphers are those that should be considered as supported. If not specified, defaults to whatever the current envoy implementation finds to be the default set of ciphers. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/route/v3/route_components.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/route/v3/route_components.proto.sk.md deleted file mode 100644 index 1a3360dded7..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/route/v3/route_components.proto.sk.md +++ /dev/null @@ -1,1332 +0,0 @@ - ---- -title: "route_components.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.route.v3` -#### Types: - - -- [VirtualHost](#virtualhost) -- [TlsRequirementType](#tlsrequirementtype) -- [FilterAction](#filteraction) -- [Route](#route) -- [WeightedCluster](#weightedcluster) -- [ClusterWeight](#clusterweight) -- [RouteMatch](#routematch) -- [GrpcRouteMatchOptions](#grpcroutematchoptions) -- [TlsContextMatchOptions](#tlscontextmatchoptions) -- [ConnectMatcher](#connectmatcher) -- [CorsPolicy](#corspolicy) -- [RouteAction](#routeaction) -- [RequestMirrorPolicy](#requestmirrorpolicy) -- [HashPolicy](#hashpolicy) -- [Header](#header) -- [Cookie](#cookie) -- [ConnectionProperties](#connectionproperties) -- [QueryParameter](#queryparameter) -- [FilterState](#filterstate) -- [UpgradeConfig](#upgradeconfig) -- [ConnectConfig](#connectconfig) -- [ClusterNotFoundResponseCode](#clusternotfoundresponsecode) -- [InternalRedirectAction](#internalredirectaction) -- [RetryPolicy](#retrypolicy) -- [RetryPriority](#retrypriority) -- [RetryHostPredicate](#retryhostpredicate) -- [RetryBackOff](#retrybackoff) -- [HedgePolicy](#hedgepolicy) -- [RedirectAction](#redirectaction) -- [RedirectResponseCode](#redirectresponsecode) -- [DirectResponseAction](#directresponseaction) -- [Decorator](#decorator) -- [Tracing](#tracing) -- [VirtualCluster](#virtualcluster) -- [RateLimit](#ratelimit) -- [Action](#action) -- [SourceCluster](#sourcecluster) -- [DestinationCluster](#destinationcluster) -- [RequestHeaders](#requestheaders) -- [RemoteAddress](#remoteaddress) -- [GenericKey](#generickey) -- [HeaderValueMatch](#headervaluematch) -- [DynamicMetaData](#dynamicmetadata) -- [Override](#override) -- [DynamicMetadata](#dynamicmetadata) -- [HeaderMatcher](#headermatcher) -- [QueryParameterMatcher](#queryparametermatcher) -- [InternalRedirectPolicy](#internalredirectpolicy) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/route/v3/route_components.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/route/v3/route_components.proto) - - - - - ---- -### VirtualHost - - -The top level element in the routing configuration is a virtual host. Each virtual host has -a logical name as well as a set of domains that get routed to it based on the incoming request's -host header. This allows a single listener to service multiple top level domain path trees. Once -a virtual host is selected based on the domain, the routes are processed in order to see which -upstream cluster to route to or whether to perform a redirect. -[#next-free-field: 21] - -```yaml -"name": string -"domains": []string -"routes": []solo.io.envoy.config.route.v3.Route -"requireTls": .solo.io.envoy.config.route.v3.VirtualHost.TlsRequirementType -"virtualClusters": []solo.io.envoy.config.route.v3.VirtualCluster -"rateLimits": []solo.io.envoy.config.route.v3.RateLimit -"requestHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption -"requestHeadersToRemove": []string -"responseHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption -"responseHeadersToRemove": []string -"cors": .solo.io.envoy.config.route.v3.CorsPolicy -"typedPerFilterConfig": map -"includeRequestAttemptCount": bool -"includeAttemptCountInResponse": bool -"retryPolicy": .solo.io.envoy.config.route.v3.RetryPolicy -"retryPolicyTypedConfig": .google.protobuf.Any -"hedgePolicy": .solo.io.envoy.config.route.v3.HedgePolicy -"perRequestBufferLimitBytes": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The logical name of the virtual host. This is used when emitting certain statistics but is not relevant for routing. | -| `domains` | `[]string` | A list of domains (host/authority header) that will be matched to this virtual host. Wildcard hosts are supported in the suffix or prefix form. Domain search order: 1. Exact domain names: `www.foo.com`. 2. Suffix domain wildcards: `*.foo.com` or `*-bar.foo.com`. 3. Prefix domain wildcards: `foo.*` or `foo-*`. 4. Special wildcard `*` matching any domain. **Note**: The wildcard will not match the empty string. e.g. `*-bar.foo.com` will match `baz-bar.foo.com` but not `-bar.foo.com`. The longest wildcards match first. Only a single virtual host in the entire route configuration can match on `*`. A domain must be unique across all virtual hosts or the config will fail to load. Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE. | -| `routes` | [[]solo.io.envoy.config.route.v3.Route](../route_components.proto.sk/#route) | The list of routes that will be matched, in order, for incoming requests. The first route that matches will be used. | -| `requireTls` | [.solo.io.envoy.config.route.v3.VirtualHost.TlsRequirementType](../route_components.proto.sk/#tlsrequirementtype) | Specifies the type of TLS enforcement the virtual host expects. If this option is not specified, there is no TLS requirement for the virtual host. | -| `virtualClusters` | [[]solo.io.envoy.config.route.v3.VirtualCluster](../route_components.proto.sk/#virtualcluster) | A list of virtual clusters defined for this virtual host. Virtual clusters are used for additional statistics gathering. | -| `rateLimits` | [[]solo.io.envoy.config.route.v3.RateLimit](../route_components.proto.sk/#ratelimit) | Specifies a set of rate limit configurations that will be applied to the virtual host. | -| `requestHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a list of HTTP headers that should be added to each request handled by this virtual host. Headers specified at this level are applied after headers from enclosed :ref:`envoy_api_msg_config.route.v3.Route` and before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on :ref:`custom request headers `. | -| `requestHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each request handled by this virtual host. | -| `responseHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a list of HTTP headers that should be added to each response handled by this virtual host. Headers specified at this level are applied after headers from enclosed :ref:`envoy_api_msg_config.route.v3.Route` and before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on :ref:`custom request headers `. | -| `responseHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each response handled by this virtual host. | -| `cors` | [.solo.io.envoy.config.route.v3.CorsPolicy](../route_components.proto.sk/#corspolicy) | Indicates that the virtual host has a CORS policy. | -| `typedPerFilterConfig` | `map` | The per_filter_config field can be used to provide virtual host-specific configurations for filters. The key should match the filter name, such as *envoy.filters.http.buffer* for the HTTP buffer filter. Use of this field is filter specific; see the :ref:`HTTP filter documentation ` for if and how it is utilized. | -| `includeRequestAttemptCount` | `bool` | Decides whether the :ref:`x-envoy-attempt-count ` header should be included in the upstream request. Setting this option will cause it to override any existing header value, so in the case of two Envoys on the request path with this option enabled, the upstream will see the attempt count as perceived by the second Envoy. Defaults to false. This header is unaffected by the :ref:`suppress_envoy_headers ` flag. [#next-major-version: rename to include_attempt_count_in_request.]. | -| `includeAttemptCountInResponse` | `bool` | Decides whether the :ref:`x-envoy-attempt-count ` header should be included in the downstream response. Setting this option will cause the router to override any existing header value, so in the case of two Envoys on the request path with this option enabled, the downstream will see the attempt count as perceived by the Envoy closest upstream from itself. Defaults to false. This header is unaffected by the :ref:`suppress_envoy_headers ` flag. | -| `retryPolicy` | [.solo.io.envoy.config.route.v3.RetryPolicy](../route_components.proto.sk/#retrypolicy) | Indicates the retry policy for all routes in this virtual host. Note that setting a route level entry will take precedence over this config and it'll be treated independently (e.g.: values are not inherited). | -| `retryPolicyTypedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | [#not-implemented-hide:] Specifies the configuration for retry policy extension. Note that setting a route level entry will take precedence over this config and it'll be treated independently (e.g.: values are not inherited). Retry policy should not be set if this field is used. | -| `hedgePolicy` | [.solo.io.envoy.config.route.v3.HedgePolicy](../route_components.proto.sk/#hedgepolicy) | Indicates the hedge policy for all routes in this virtual host. Note that setting a route level entry will take precedence over this config and it'll be treated independently (e.g.: values are not inherited). | -| `perRequestBufferLimitBytes` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The maximum bytes which will be buffered for retries and shadowing. If set and a route-specific limit is not set, the bytes actually buffered will be the minimum value of this and the listener per_connection_buffer_limit_bytes. | - - - - ---- -### TlsRequirementType - - - -| Name | Description | -| ----- | ----------- | -| `NONE` | No TLS requirement for the virtual host. | -| `EXTERNAL_ONLY` | External requests must use TLS. If a request is external and it is not using TLS, a 301 redirect will be sent telling the client to use HTTPS. | -| `ALL` | All requests must use TLS. If a request is not using TLS, a 301 redirect will be sent telling the client to use HTTPS. | - - - - ---- -### FilterAction - - -A filter-defined action type. - -```yaml -"action": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `action` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | - - - - ---- -### Route - - -A route is both a specification of how to match a request as well as an indication of what to do -next (e.g., redirect, forward, rewrite, etc.). - -**Attention**: - - Envoy supports routing on HTTP method via :ref:`header matching - `. -[#next-free-field: 18] - -```yaml -"name": string -"match": .solo.io.envoy.config.route.v3.RouteMatch -"route": .solo.io.envoy.config.route.v3.RouteAction -"redirect": .solo.io.envoy.config.route.v3.RedirectAction -"directResponse": .solo.io.envoy.config.route.v3.DirectResponseAction -"filterAction": .solo.io.envoy.config.route.v3.FilterAction -"metadata": .solo.io.envoy.config.core.v3.Metadata -"decorator": .solo.io.envoy.config.route.v3.Decorator -"typedPerFilterConfig": map -"requestHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption -"requestHeadersToRemove": []string -"responseHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption -"responseHeadersToRemove": []string -"tracing": .solo.io.envoy.config.route.v3.Tracing -"perRequestBufferLimitBytes": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | Name for the route. | -| `match` | [.solo.io.envoy.config.route.v3.RouteMatch](../route_components.proto.sk/#routematch) | Route matching parameters. | -| `route` | [.solo.io.envoy.config.route.v3.RouteAction](../route_components.proto.sk/#routeaction) | Route request to some upstream cluster. Only one of `route`, `redirect`, `directResponse`, or `filterAction` can be set. | -| `redirect` | [.solo.io.envoy.config.route.v3.RedirectAction](../route_components.proto.sk/#redirectaction) | Return a redirect. Only one of `redirect`, `route`, `directResponse`, or `filterAction` can be set. | -| `directResponse` | [.solo.io.envoy.config.route.v3.DirectResponseAction](../route_components.proto.sk/#directresponseaction) | Return an arbitrary HTTP response directly, without proxying. Only one of `directResponse`, `route`, `redirect`, or `filterAction` can be set. | -| `filterAction` | [.solo.io.envoy.config.route.v3.FilterAction](../route_components.proto.sk/#filteraction) | [#not-implemented-hide:] If true, a filter will define the action (e.g., it could dynamically generate the RouteAction). [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when implemented]. Only one of `filterAction`, `route`, `redirect`, or `directResponse` can be set. | -| `metadata` | [.solo.io.envoy.config.core.v3.Metadata](../../../core/v3/base.proto.sk/#metadata) | The Metadata field can be used to provide additional information about the route. It can be used for configuration, stats, and logging. The metadata should go under the filter namespace that will need it. For instance, if the metadata is intended for the Router filter, the filter name should be specified as *envoy.filters.http.router*. | -| `decorator` | [.solo.io.envoy.config.route.v3.Decorator](../route_components.proto.sk/#decorator) | Decorator for the matched route. | -| `typedPerFilterConfig` | `map` | The typed_per_filter_config field can be used to provide route-specific configurations for filters. The key should match the filter name, such as *envoy.filters.http.buffer* for the HTTP buffer filter. Use of this field is filter specific; see the HTTP filter documentation for if and how it is utilized. | -| `requestHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a set of headers that will be added to requests matching this route. Headers specified at this level are applied before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.VirtualHost` and :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on :ref:`custom request headers `. | -| `requestHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each request matching this route. | -| `responseHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a set of headers that will be added to responses to requests matching this route. Headers specified at this level are applied before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.VirtualHost` and :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on custom request headers. | -| `responseHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each response to requests matching this route. | -| `tracing` | [.solo.io.envoy.config.route.v3.Tracing](../route_components.proto.sk/#tracing) | Presence of the object defines whether the connection manager's tracing configuration is overridden by this route specific instance. | -| `perRequestBufferLimitBytes` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The maximum bytes which will be buffered for retries and shadowing. If set, the bytes actually buffered will be the minimum value of this and the listener per_connection_buffer_limit_bytes. | - - - - ---- -### WeightedCluster - - -Compared to the cluster field that specifies a -single upstream cluster as the target of a request, the :ref:`weighted_clusters -` option allows for specification of -multiple upstream clusters along with weights that indicate the percentage of -traffic to be forwarded to each cluster. The router selects an upstream cluster based on the -weights. - -```yaml -"clusters": []solo.io.envoy.config.route.v3.WeightedCluster.ClusterWeight -"totalWeight": .google.protobuf.UInt32Value -"runtimeKeyPrefix": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `clusters` | [[]solo.io.envoy.config.route.v3.WeightedCluster.ClusterWeight](../route_components.proto.sk/#clusterweight) | Specifies one or more upstream clusters associated with the route. | -| `totalWeight` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Specifies the total weight across all clusters. The sum of all cluster weights must equal this value, which must be greater than 0. Defaults to 100. | -| `runtimeKeyPrefix` | `string` | Specifies the runtime key prefix that should be used to construct the runtime keys associated with each cluster. When the *runtime_key_prefix* is specified, the router will look for weights associated with each upstream cluster under the key *runtime_key_prefix* + "." + *cluster[i].name* where *cluster[i]* denotes an entry in the clusters array field. If the runtime key for the cluster does not exist, the value specified in the configuration file will be used as the default weight. See the :ref:`runtime documentation ` for how key names map to the underlying implementation. | - - - - ---- -### ClusterWeight - - -[#next-free-field: 11] - -```yaml -"name": string -"weight": .google.protobuf.UInt32Value -"metadataMatch": .solo.io.envoy.config.core.v3.Metadata -"requestHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption -"requestHeadersToRemove": []string -"responseHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption -"responseHeadersToRemove": []string -"typedPerFilterConfig": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | Name of the upstream cluster. The cluster must exist in the cluster manager configuration. | -| `weight` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | An integer between 0 and :ref:`total_weight `. When a request matches the route, the choice of an upstream cluster is determined by its weight. The sum of weights across all entries in the clusters array must add up to the total_weight, which defaults to 100. | -| `metadataMatch` | [.solo.io.envoy.config.core.v3.Metadata](../../../core/v3/base.proto.sk/#metadata) | Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in the upstream cluster with metadata matching what is set in this field will be considered for load balancing. Note that this will be merged with what's provided in RouteAction.metadata_match, with values here taking precedence. The filter name should be specified as *envoy.lb*. | -| `requestHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a list of headers to be added to requests when this cluster is selected through the enclosing :ref:`envoy_api_msg_config.route.v3.RouteAction`. Headers specified at this level are applied before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.Route`, :ref:`envoy_api_msg_config.route.v3.VirtualHost`, and :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on :ref:`custom request headers `. | -| `requestHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each request when this cluster is selected through the enclosing :ref:`envoy_api_msg_config.route.v3.RouteAction`. | -| `responseHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a list of headers to be added to responses when this cluster is selected through the enclosing :ref:`envoy_api_msg_config.route.v3.RouteAction`. Headers specified at this level are applied before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.Route`, :ref:`envoy_api_msg_config.route.v3.VirtualHost`, and :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on :ref:`custom request headers `. | -| `responseHeadersToRemove` | `[]string` | Specifies a list of headers to be removed from responses when this cluster is selected through the enclosing :ref:`envoy_api_msg_config.route.v3.RouteAction`. | -| `typedPerFilterConfig` | `map` | The per_filter_config field can be used to provide weighted cluster-specific configurations for filters. The key should match the filter name, such as *envoy.filters.http.buffer* for the HTTP buffer filter. Use of this field is filter specific; see the :ref:`HTTP filter documentation ` for if and how it is utilized. | - - - - ---- -### RouteMatch - - -[#next-free-field: 13] - -```yaml -"prefix": string -"path": string -"safeRegex": .solo.io.envoy.type.matcher.v3.RegexMatcher -"connectMatcher": .solo.io.envoy.config.route.v3.RouteMatch.ConnectMatcher -"caseSensitive": .google.protobuf.BoolValue -"runtimeFraction": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent -"headers": []solo.io.envoy.config.route.v3.HeaderMatcher -"queryParameters": []solo.io.envoy.config.route.v3.QueryParameterMatcher -"grpc": .solo.io.envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions -"tlsContext": .solo.io.envoy.config.route.v3.RouteMatch.TlsContextMatchOptions - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `prefix` | `string` | If specified, the route is a prefix rule meaning that the prefix must match the beginning of the *:path* header. Only one of `prefix`, `path`, `safeRegex`, or `connectMatcher` can be set. | -| `path` | `string` | If specified, the route is an exact path rule meaning that the path must exactly match the *:path* header once the query string is removed. Only one of `path`, `prefix`, `safeRegex`, or `connectMatcher` can be set. | -| `safeRegex` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../../../../type/matcher/v3/regex.proto.sk/#regexmatcher) | If specified, the route is a regular expression rule meaning that the regex must match the *:path* header once the query string is removed. The entire path (without the query string) must match the regex. The rule will not match if only a subsequence of the *:path* header matches the regex. [#next-major-version: In the v3 API we should redo how path specification works such that we utilize StringMatcher, and additionally have consistent options around whether we strip query strings, do a case sensitive match, etc. In the interim it will be too disruptive to deprecate the existing options. We should even consider whether we want to do away with path_specifier entirely and just rely on a set of header matchers which can already match on :path, etc. The issue with that is it is unclear how to generically deal with query string stripping. This needs more thought.]. Only one of `safeRegex`, `prefix`, `path`, or `connectMatcher` can be set. | -| `connectMatcher` | [.solo.io.envoy.config.route.v3.RouteMatch.ConnectMatcher](../route_components.proto.sk/#connectmatcher) | If this is used as the matcher, the matcher will only match CONNECT requests. Note that this will not match HTTP/2 upgrade-style CONNECT requests (WebSocket and the like) as they are normalized in Envoy as HTTP/1.1 style upgrades. This is the only way to match CONNECT requests for HTTP/1.1. For HTTP/2, where CONNECT requests may have a path, the path matchers will work if there is a path present. Note that CONNECT support is currently considered alpha in Envoy. [#comment:TODO(htuch): Replace the above comment with an alpha tag. Only one of `connectMatcher`, `prefix`, `path`, or `safeRegex` can be set. | -| `caseSensitive` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Indicates that prefix/path matching should be case insensitive. The default is true. | -| `runtimeFraction` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../core/v3/base.proto.sk/#runtimefractionalpercent) | Indicates that the route should additionally match on a runtime key. Every time the route is considered for a match, it must also fall under the percentage of matches indicated by this field. For some fraction N/D, a random number in the range [0,D) is selected. If the number is <= the value of the numerator N, or if the key is not present, the default value, the router continues to evaluate the remaining match criteria. A runtime_fraction route configuration can be used to roll out route changes in a gradual manner without full code/config deploys. Refer to the :ref:`traffic shifting ` docs for additional documentation. **Note**: Parsing this field is implemented such that the runtime key's data may be represented as a 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. This preserves legacy semantics. | -| `headers` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../route_components.proto.sk/#headermatcher) | Specifies a set of headers that the route should match on. The router will check the request’s headers against all the specified headers in the route config. A match will happen if all the headers in the route are present in the request with the same values (or based on presence if the value field is not in the config). | -| `queryParameters` | [[]solo.io.envoy.config.route.v3.QueryParameterMatcher](../route_components.proto.sk/#queryparametermatcher) | Specifies a set of URL query parameters on which the route should match. The router will check the query string from the *path* header against all the specified query parameters. If the number of specified query parameters is nonzero, they all must match the *path* header's query string for a match to occur. | -| `grpc` | [.solo.io.envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions](../route_components.proto.sk/#grpcroutematchoptions) | If specified, only gRPC requests will be matched. The router will check that the content-type header has a application/grpc or one of the various application/grpc+ values. | -| `tlsContext` | [.solo.io.envoy.config.route.v3.RouteMatch.TlsContextMatchOptions](../route_components.proto.sk/#tlscontextmatchoptions) | If specified, the client tls context will be matched against the defined match options. [#next-major-version: unify with RBAC]. | - - - - ---- -### GrpcRouteMatchOptions - - - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### TlsContextMatchOptions - - - -```yaml -"presented": .google.protobuf.BoolValue -"validated": .google.protobuf.BoolValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `presented` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If specified, the route will match against whether or not a certificate is presented. If not specified, certificate presentation status (true or false) will not be considered when route matching. | -| `validated` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If specified, the route will match against whether or not a certificate is validated. If not specified, certificate validation status (true or false) will not be considered when route matching. | - - - - ---- -### ConnectMatcher - - -An extensible message for matching CONNECT requests. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### CorsPolicy - - -[#next-free-field: 12] - -```yaml -"allowOriginStringMatch": []solo.io.envoy.type.matcher.v3.StringMatcher -"allowMethods": string -"allowHeaders": string -"exposeHeaders": string -"maxAge": string -"allowCredentials": .google.protobuf.BoolValue -"filterEnabled": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent -"shadowEnabled": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `allowOriginStringMatch` | [[]solo.io.envoy.type.matcher.v3.StringMatcher](../../../../type/matcher/v3/string.proto.sk/#stringmatcher) | Specifies string patterns that match allowed origins. An origin is allowed if any of the string matchers match. | -| `allowMethods` | `string` | Specifies the content for the *access-control-allow-methods* header. | -| `allowHeaders` | `string` | Specifies the content for the *access-control-allow-headers* header. | -| `exposeHeaders` | `string` | Specifies the content for the *access-control-expose-headers* header. | -| `maxAge` | `string` | Specifies the content for the *access-control-max-age* header. | -| `allowCredentials` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Specifies whether the resource allows credentials. | -| `filterEnabled` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../core/v3/base.proto.sk/#runtimefractionalpercent) | Specifies the % of requests for which the CORS filter is enabled. If neither `enabled`, `filter_enabled`, nor `shadow_enabled` are specified, the CORS filter will be enabled for 100% of the requests. If runtime_key is specified, Envoy will lookup the runtime key to get the percentage of requests to filter. | -| `shadowEnabled` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../core/v3/base.proto.sk/#runtimefractionalpercent) | Specifies the % of requests for which the CORS policies will be evaluated and tracked, but not enforced. This field is intended to be used when `filter_enabled` and `enabled` are off. One of those fields have to explicitly disable the filter in order for this setting to take effect. If runtime_key is specified, Envoy will lookup the runtime key to get the percentage of requests for which it will evaluate and track the request's *Origin* to determine if it's valid but will not enforce any policies. | - - - - ---- -### RouteAction - - -[#next-free-field: 35] - -```yaml -"cluster": string -"clusterHeader": string -"weightedClusters": .solo.io.envoy.config.route.v3.WeightedCluster -"clusterNotFoundResponseCode": .solo.io.envoy.config.route.v3.RouteAction.ClusterNotFoundResponseCode -"metadataMatch": .solo.io.envoy.config.core.v3.Metadata -"prefixRewrite": string -"regexRewrite": .solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute -"hostRewriteLiteral": string -"autoHostRewrite": .google.protobuf.BoolValue -"hostRewriteHeader": string -"timeout": .google.protobuf.Duration -"idleTimeout": .google.protobuf.Duration -"retryPolicy": .solo.io.envoy.config.route.v3.RetryPolicy -"retryPolicyTypedConfig": .google.protobuf.Any -"requestMirrorPolicies": []solo.io.envoy.config.route.v3.RouteAction.RequestMirrorPolicy -"priority": .solo.io.envoy.config.core.v3.RoutingPriority -"rateLimits": []solo.io.envoy.config.route.v3.RateLimit -"includeVhRateLimits": .google.protobuf.BoolValue -"hashPolicy": []solo.io.envoy.config.route.v3.RouteAction.HashPolicy -"cors": .solo.io.envoy.config.route.v3.CorsPolicy -"maxGrpcTimeout": .google.protobuf.Duration -"grpcTimeoutOffset": .google.protobuf.Duration -"upgradeConfigs": []solo.io.envoy.config.route.v3.RouteAction.UpgradeConfig -"internalRedirectPolicy": .solo.io.envoy.config.route.v3.InternalRedirectPolicy -"internalRedirectAction": .solo.io.envoy.config.route.v3.RouteAction.InternalRedirectAction -"maxInternalRedirects": .google.protobuf.UInt32Value -"hedgePolicy": .solo.io.envoy.config.route.v3.HedgePolicy - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `cluster` | `string` | Indicates the upstream cluster to which the request should be routed to. Only one of `cluster`, `clusterHeader`, or `weightedClusters` can be set. | -| `clusterHeader` | `string` | Envoy will determine the cluster to route to by reading the value of the HTTP header named by cluster_header from the request headers. If the header is not found or the referenced cluster does not exist, Envoy will return a 404 response. **Attention**: Internally, Envoy always uses the HTTP/2 *:authority* header to represent the HTTP/1 *Host* header. Thus, if attempting to match on *Host*, match on *:authority* instead. Only one of `clusterHeader`, `cluster`, or `weightedClusters` can be set. | -| `weightedClusters` | [.solo.io.envoy.config.route.v3.WeightedCluster](../route_components.proto.sk/#weightedcluster) | Multiple upstream clusters can be specified for a given route. The request is routed to one of the upstream clusters based on weights assigned to each cluster. See :ref:`traffic splitting ` for additional documentation. Only one of `weightedClusters`, `cluster`, or `clusterHeader` can be set. | -| `clusterNotFoundResponseCode` | [.solo.io.envoy.config.route.v3.RouteAction.ClusterNotFoundResponseCode](../route_components.proto.sk/#clusternotfoundresponsecode) | The HTTP status code to use when configured cluster is not found. The default response code is 503 Service Unavailable. | -| `metadataMatch` | [.solo.io.envoy.config.core.v3.Metadata](../../../core/v3/base.proto.sk/#metadata) | Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in the upstream cluster with metadata matching what's set in this field will be considered for load balancing. If using :ref:`weighted_clusters `, metadata will be merged, with values provided there taking precedence. The filter name should be specified as *envoy.lb*. | -| `prefixRewrite` | `string` | Indicates that during forwarding, the matched prefix (or path) should be swapped with this value. This option allows application URLs to be rooted at a different path from those exposed at the reverse proxy layer. The router filter will place the original path before rewrite into the :ref:`x-envoy-original-path ` header. Only one of *prefix_rewrite* or :ref:`regex_rewrite ` may be specified. **Attention**: Pay careful attention to the use of trailing slashes in the route's match prefix value. Stripping a prefix from a path requires multiple Routes to handle all cases. For example, rewriting */prefix* to */* and */prefix/etc* to */etc* cannot be done in a single Route, as shown by the below config entries: .. code-block:: yaml - match: prefix: "/prefix/" route: prefix_rewrite: "/" - match: prefix: "/prefix" route: prefix_rewrite: "/" Having above entries in the config, requests to */prefix* will be stripped to */*, while requests to */prefix/etc* will be stripped to */etc*. | -| `regexRewrite` | [.solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute](../../../../type/matcher/v3/regex.proto.sk/#regexmatchandsubstitute) | Indicates that during forwarding, portions of the path that match the pattern should be rewritten, even allowing the substitution of capture groups from the pattern into the new path as specified by the rewrite substitution string. This is useful to allow application paths to be rewritten in a way that is aware of segments with variable content like identifiers. The router filter will place the original path as it was before the rewrite into the :ref:`x-envoy-original-path ` header. Only one of :ref:`prefix_rewrite ` or *regex_rewrite* may be specified. Examples using Google's [RE2](https://github.com/google/re2) engine: * The path pattern `^/service/([^/]+)(/.*)$` paired with a substitution string of `\2/instance/\1` would transform `/service/foo/v1/api` into `/v1/api/instance/foo`. * The pattern `one` paired with a substitution string of `two` would transform `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/two/zzz`. * The pattern `^(.*?)one(.*)$` paired with a substitution string of `\1two\2` would replace only the first occurrence of `one`, transforming path `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/one/zzz`. * The pattern `(?i)/xxx/` paired with a substitution string of `/yyy/` would do a case-insensitive match and transform path `/aaa/XxX/bbb` to `/aaa/yyy/bbb`. | -| `hostRewriteLiteral` | `string` | Indicates that during forwarding, the host header will be swapped with this value. Only one of `hostRewriteLiteral`, `autoHostRewrite`, or `hostRewriteHeader` can be set. | -| `autoHostRewrite` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Indicates that during forwarding, the host header will be swapped with the hostname of the upstream host chosen by the cluster manager. This option is applicable only when the destination cluster for a route is of type *strict_dns* or *logical_dns*. Setting this to true with other cluster types has no effect. Only one of `autoHostRewrite`, `hostRewriteLiteral`, or `hostRewriteHeader` can be set. | -| `hostRewriteHeader` | `string` | Indicates that during forwarding, the host header will be swapped with the content of given downstream or custom header. If header value is empty, host header is left intact. **Attention**: Pay attention to the potential security implications of using this option. Provided header must come from trusted source. Only one of `hostRewriteHeader`, `hostRewriteLiteral`, or `autoHostRewrite` can be set. | -| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Specifies the upstream timeout for the route. If not specified, the default is 15s. This spans between the point at which the entire downstream request (i.e. end-of-stream) has been processed and when the upstream response has been completely processed. A value of 0 will disable the route's timeout. **Note**: This timeout includes all retries. See also :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the retry overview. | -| `idleTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout, although the connection manager wide :ref:`stream_idle_timeout ` will still apply. A value of 0 will completely disable the route's idle timeout, even if a connection manager stream idle timeout is configured. The idle timeout is distinct to :ref:`timeout `, which provides an upper bound on the upstream response time; :ref:`idle_timeout ` instead bounds the amount of time the request's stream may be idle. After header decoding, the idle timeout will apply on downstream and upstream request events. Each time an encode/decode event for headers or data is processed for the stream, the timer will be reset. If the timeout fires, the stream is terminated with a 408 Request Timeout error code if no upstream response header has been received, otherwise a stream reset occurs. | -| `retryPolicy` | [.solo.io.envoy.config.route.v3.RetryPolicy](../route_components.proto.sk/#retrypolicy) | Indicates that the route has a retry policy. Note that if this is set, it'll take precedence over the virtual host level retry policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy). | -| `retryPolicyTypedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | [#not-implemented-hide:] Specifies the configuration for retry policy extension. Note that if this is set, it'll take precedence over the virtual host level retry policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy). :ref:`Retry policy ` should not be set if this field is used. | -| `requestMirrorPolicies` | [[]solo.io.envoy.config.route.v3.RouteAction.RequestMirrorPolicy](../route_components.proto.sk/#requestmirrorpolicy) | Indicates that the route has request mirroring policies. | -| `priority` | [.solo.io.envoy.config.core.v3.RoutingPriority](../../../core/v3/base.proto.sk/#routingpriority) | Optionally specifies the routing priority. | -| `rateLimits` | [[]solo.io.envoy.config.route.v3.RateLimit](../route_components.proto.sk/#ratelimit) | Specifies a set of rate limit configurations that could be applied to the route. | -| `includeVhRateLimits` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Specifies if the rate limit filter should include the virtual host rate limits. By default, if the route configured rate limits, the virtual host rate_limits are not applied to the request. | -| `hashPolicy` | [[]solo.io.envoy.config.route.v3.RouteAction.HashPolicy](../route_components.proto.sk/#hashpolicy) | Specifies a list of hash policies to use for ring hash load balancing. Each hash policy is evaluated individually and the combined result is used to route the request. The method of combination is deterministic such that identical lists of hash policies will produce the same hash. Since a hash policy examines specific parts of a request, it can fail to produce a hash (i.e. if the hashed header is not present). If (and only if) all configured hash policies fail to generate a hash, no hash will be produced for the route. In this case, the behavior is the same as if no hash policies were specified (i.e. the ring hash load balancer will choose a random backend). If a hash policy has the "terminal" attribute set to true, and there is already a hash generated, the hash is returned immediately, ignoring the rest of the hash policy list. | -| `cors` | [.solo.io.envoy.config.route.v3.CorsPolicy](../route_components.proto.sk/#corspolicy) | Indicates that the route has a CORS policy. | -| `maxGrpcTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | If present, and the request is a gRPC request, use the [grpc-timeout header](https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md), or its default value (infinity) instead of timeout, but limit the applied timeout to the maximum value specified here. If configured as 0, the maximum allowed timeout for gRPC requests is infinity. If not configured at all, the `grpc-timeout` header is not used and gRPC requests time out like any other requests using timeout or its default. This can be used to prevent unexpected upstream request timeouts due to potentially long time gaps between gRPC request and response in gRPC streaming mode. **Note**: If a timeout is specified using :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, it takes precedence over [grpc-timeout header](https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md), when both are present. See also :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the retry overview. | -| `grpcTimeoutOffset` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by subtracting the provided duration from the header. This is useful in allowing Envoy to set its global timeout to be less than that of the deadline imposed by the calling client, which makes it more likely that Envoy will handle the timeout instead of having the call canceled by the client. The offset will only be applied if the provided grpc_timeout is greater than the offset. This ensures that the offset will only ever decrease the timeout and never set it to 0 (meaning infinity). | -| `upgradeConfigs` | [[]solo.io.envoy.config.route.v3.RouteAction.UpgradeConfig](../route_components.proto.sk/#upgradeconfig) | | -| `internalRedirectPolicy` | [.solo.io.envoy.config.route.v3.InternalRedirectPolicy](../route_components.proto.sk/#internalredirectpolicy) | If present, Envoy will try to follow an upstream redirect response instead of proxying the response back to the downstream. An upstream redirect response is defined by :ref:`redirect_response_codes `. | -| `internalRedirectAction` | [.solo.io.envoy.config.route.v3.RouteAction.InternalRedirectAction](../route_components.proto.sk/#internalredirectaction) | | -| `maxInternalRedirects` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | An internal redirect is handled, iff the number of previous internal redirects that a downstream request has encountered is lower than this value, and :ref:`internal_redirect_action ` is set to :ref:`HANDLE_INTERNAL_REDIRECT ` In the case where a downstream request is bounced among multiple routes by internal redirect, the first route that hits this threshold, or has :ref:`internal_redirect_action ` set to :ref:`PASS_THROUGH_INTERNAL_REDIRECT ` will pass the redirect back to downstream. If not specified, at most one redirect will be followed. | -| `hedgePolicy` | [.solo.io.envoy.config.route.v3.HedgePolicy](../route_components.proto.sk/#hedgepolicy) | Indicates that the route has a hedge policy. Note that if this is set, it'll take precedence over the virtual host level hedge policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy). | - - - - ---- -### RequestMirrorPolicy - - -The router is capable of shadowing traffic from one cluster to another. The current -implementation is "fire and forget," meaning Envoy will not wait for the shadow cluster to -respond before returning the response from the primary cluster. All normal statistics are -collected for the shadow cluster making this feature useful for testing. - -During shadowing, the host/authority header is altered such that *-shadow* is appended. This is -useful for logging. For example, *cluster1* becomes *cluster1-shadow*. - -**Note**: - - Shadowing will not be triggered if the primary cluster does not exist. - -```yaml -"cluster": string -"runtimeFraction": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent -"traceSampled": .google.protobuf.BoolValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `cluster` | `string` | Specifies the cluster that requests will be mirrored to. The cluster must exist in the cluster manager configuration. | -| `runtimeFraction` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../core/v3/base.proto.sk/#runtimefractionalpercent) | If not specified, all requests to the target cluster will be mirrored. If specified, this field takes precedence over the `runtime_key` field and requests must also fall under the percentage of matches indicated by this field. For some fraction N/D, a random number in the range [0,D) is selected. If the number is <= the value of the numerator N, or if the key is not present, the default value, the request will be mirrored. | -| `traceSampled` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Determines if the trace span should be sampled. Defaults to true. | - - - - ---- -### HashPolicy - - -Specifies the route's hashing policy if the upstream cluster uses a hashing :ref:`load balancer -`. -[#next-free-field: 7] - -```yaml -"header": .solo.io.envoy.config.route.v3.RouteAction.HashPolicy.Header -"cookie": .solo.io.envoy.config.route.v3.RouteAction.HashPolicy.Cookie -"connectionProperties": .solo.io.envoy.config.route.v3.RouteAction.HashPolicy.ConnectionProperties -"queryParameter": .solo.io.envoy.config.route.v3.RouteAction.HashPolicy.QueryParameter -"filterState": .solo.io.envoy.config.route.v3.RouteAction.HashPolicy.FilterState -"terminal": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `header` | [.solo.io.envoy.config.route.v3.RouteAction.HashPolicy.Header](../route_components.proto.sk/#header) | Header hash policy. Only one of `header`, `cookie`, `connectionProperties`, `queryParameter`, or `filterState` can be set. | -| `cookie` | [.solo.io.envoy.config.route.v3.RouteAction.HashPolicy.Cookie](../route_components.proto.sk/#cookie) | Cookie hash policy. Only one of `cookie`, `header`, `connectionProperties`, `queryParameter`, or `filterState` can be set. | -| `connectionProperties` | [.solo.io.envoy.config.route.v3.RouteAction.HashPolicy.ConnectionProperties](../route_components.proto.sk/#connectionproperties) | Connection properties hash policy. Only one of `connectionProperties`, `header`, `cookie`, `queryParameter`, or `filterState` can be set. | -| `queryParameter` | [.solo.io.envoy.config.route.v3.RouteAction.HashPolicy.QueryParameter](../route_components.proto.sk/#queryparameter) | Query parameter hash policy. Only one of `queryParameter`, `header`, `cookie`, `connectionProperties`, or `filterState` can be set. | -| `filterState` | [.solo.io.envoy.config.route.v3.RouteAction.HashPolicy.FilterState](../route_components.proto.sk/#filterstate) | Filter state hash policy. Only one of `filterState`, `header`, `cookie`, `connectionProperties`, or `queryParameter` can be set. | -| `terminal` | `bool` | The flag that short-circuits the hash computing. This field provides a 'fallback' style of configuration: "if a terminal policy doesn't work, fallback to rest of the policy list", it saves time when the terminal policy works. If true, and there is already a hash computed, ignore rest of the list of hash polices. For example, if the following hash methods are configured: ========= ======== specifier terminal ========= ======== Header A true Header B false Header C false ========= ======== The generateHash process ends if policy "header A" generates a hash, as it's a terminal policy. | - - - - ---- -### Header - - - -```yaml -"headerName": string -"regexRewrite": .solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headerName` | `string` | The name of the request header that will be used to obtain the hash key. If the request header is not present, no hash will be produced. | -| `regexRewrite` | [.solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute](../../../../type/matcher/v3/regex.proto.sk/#regexmatchandsubstitute) | If specified, the request header value will be rewritten and used to produce the hash key. | - - - - ---- -### Cookie - - -Envoy supports two types of cookie affinity: - -1. Passive. Envoy takes a cookie that's present in the cookies header and - hashes on its value. - -2. Generated. Envoy generates and sets a cookie with an expiration (TTL) - on the first request from the client in its response to the client, - based on the endpoint the request gets sent to. The client then - presents this on the next and all subsequent requests. The hash of - this is sufficient to ensure these requests get sent to the same - endpoint. The cookie is generated by hashing the source and - destination ports and addresses so that multiple independent HTTP2 - streams on the same connection will independently receive the same - cookie, even if they arrive at the Envoy simultaneously. - -```yaml -"name": string -"ttl": .google.protobuf.Duration -"path": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The name of the cookie that will be used to obtain the hash key. If the cookie is not present and ttl below is not set, no hash will be produced. | -| `ttl` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | If specified, a cookie with the TTL will be generated if the cookie is not present. If the TTL is present and zero, the generated cookie will be a session cookie. | -| `path` | `string` | The name of the path for the cookie. If no path is specified here, no path will be set for the cookie. | - - - - ---- -### ConnectionProperties - - - -```yaml -"sourceIp": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `sourceIp` | `bool` | Hash on source IP address. | - - - - ---- -### QueryParameter - - - -```yaml -"name": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The name of the URL query parameter that will be used to obtain the hash key. If the parameter is not present, no hash will be produced. Query parameter names are case-sensitive. | - - - - ---- -### FilterState - - - -```yaml -"key": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | The name of the Object in the per-request filterState, which is an Envoy::Http::Hashable object. If there is no data associated with the key, or the stored object is not Envoy::Http::Hashable, no hash will be produced. | - - - - ---- -### UpgradeConfig - - -Allows enabling and disabling upgrades on a per-route basis. -This overrides any enabled/disabled upgrade filter chain specified in the -HttpConnectionManager -:ref:`upgrade_configs -` -but does not affect any custom filter chain specified there. - -```yaml -"upgradeType": string -"enabled": .google.protobuf.BoolValue -"connectConfig": .solo.io.envoy.config.route.v3.RouteAction.UpgradeConfig.ConnectConfig - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `upgradeType` | `string` | The case-insensitive name of this upgrade, e.g. "websocket". For each upgrade type present in upgrade_configs, requests with Upgrade: [upgrade_type] will be proxied upstream. | -| `enabled` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Determines if upgrades are available on this route. Defaults to true. | -| `connectConfig` | [.solo.io.envoy.config.route.v3.RouteAction.UpgradeConfig.ConnectConfig](../route_components.proto.sk/#connectconfig) | Configuration for sending data upstream as a raw data payload. This is used for CONNECT requests, when forwarding CONNECT payload as raw TCP. Note that CONNECT support is currently considered alpha in Envoy. [#comment:TODO(htuch): Replace the above comment with an alpha tag. | - - - - ---- -### ConnectConfig - - -Configuration for sending data upstream as a raw data payload. This is used for -CONNECT requests, when forwarding CONNECT payload as raw TCP. - -```yaml -"proxyProtocolConfig": .solo.io.envoy.config.core.v3.ProxyProtocolConfig - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `proxyProtocolConfig` | [.solo.io.envoy.config.core.v3.ProxyProtocolConfig](../../../core/v3/proxy_protocol.proto.sk/#proxyprotocolconfig) | If present, the proxy protocol header will be prepended to the CONNECT payload sent upstream. | - - - - ---- -### ClusterNotFoundResponseCode - - - -| Name | Description | -| ----- | ----------- | -| `SERVICE_UNAVAILABLE` | HTTP status code - 503 Service Unavailable. | -| `NOT_FOUND` | HTTP status code - 404 Not Found. | - - - - ---- -### InternalRedirectAction - - -Configures internal redirect behavior. -[#next-major-version: remove this definition - it's defined in the InternalRedirectPolicy message.] - -| Name | Description | -| ----- | ----------- | -| `PASS_THROUGH_INTERNAL_REDIRECT` | | -| `HANDLE_INTERNAL_REDIRECT` | | - - - - ---- -### RetryPolicy - - -HTTP retry architecture overview. -[#next-free-field: 11] - -```yaml -"retryOn": string -"numRetries": .google.protobuf.UInt32Value -"perTryTimeout": .google.protobuf.Duration -"retryPriority": .solo.io.envoy.config.route.v3.RetryPolicy.RetryPriority -"retryHostPredicate": []solo.io.envoy.config.route.v3.RetryPolicy.RetryHostPredicate -"hostSelectionRetryMaxAttempts": int -"retriableStatusCodes": []int -"retryBackOff": .solo.io.envoy.config.route.v3.RetryPolicy.RetryBackOff -"retriableHeaders": []solo.io.envoy.config.route.v3.HeaderMatcher -"retriableRequestHeaders": []solo.io.envoy.config.route.v3.HeaderMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `retryOn` | `string` | 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`. | -| `numRetries` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | 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`. | -| `perTryTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 route timeout for the request. Consequently, when using a 5xx based retry policy, a request that times out will not be retried as the total timeout budget would have been exhausted. | -| `retryPriority` | [.solo.io.envoy.config.route.v3.RetryPolicy.RetryPriority](../route_components.proto.sk/#retrypriority) | Specifies an implementation of a RetryPriority which is used to determine the distribution of load across priorities used for retries. Refer to retry plugin configuration for more details. | -| `retryHostPredicate` | [[]solo.io.envoy.config.route.v3.RetryPolicy.RetryHostPredicate](../route_components.proto.sk/#retryhostpredicate) | 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 retry plugin configuration for more details. | -| `hostSelectionRetryMaxAttempts` | `int` | 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. | -| `retriableStatusCodes` | `[]int` | HTTP status codes that should trigger a retry in addition to those specified by retry_on. | -| `retryBackOff` | [.solo.io.envoy.config.route.v3.RetryPolicy.RetryBackOff](../route_components.proto.sk/#retrybackoff) | 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. | -| `retriableHeaders` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../route_components.proto.sk/#headermatcher) | 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. | -| `retriableRequestHeaders` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../route_components.proto.sk/#headermatcher) | HTTP headers which must be present in the request for retries to be attempted. | - - - - ---- -### RetryPriority - - - -```yaml -"name": string -"typedConfig": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | | -| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | - - - - ---- -### RetryHostPredicate - - - -```yaml -"name": string -"typedConfig": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | | -| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | - - - - ---- -### RetryBackOff - - - -```yaml -"baseInterval": .google.protobuf.Duration -"maxInterval": .google.protobuf.Duration - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `baseInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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. | -| `maxInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/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. | - - - - ---- -### HedgePolicy - - -HTTP request hedging architecture overview. - -```yaml -"initialRequests": .google.protobuf.UInt32Value -"additionalRequestChance": .solo.io.envoy.type.v3.FractionalPercent -"hedgeOnPerTryTimeout": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `initialRequests` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Specifies the number of initial requests that should be sent upstream. Must be at least 1. Defaults to 1. [#not-implemented-hide:]. | -| `additionalRequestChance` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../type/v3/percent.proto.sk/#fractionalpercent) | 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:]. | -| `hedgeOnPerTryTimeout` | `bool` | 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 RetryPolicy. Defaults to false. | - - - - ---- -### RedirectAction - - -[#next-free-field: 9] - -```yaml -"httpsRedirect": bool -"schemeRedirect": string -"hostRedirect": string -"portRedirect": int -"pathRedirect": string -"prefixRewrite": string -"responseCode": .solo.io.envoy.config.route.v3.RedirectAction.RedirectResponseCode -"stripQuery": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `httpsRedirect` | `bool` | The scheme portion of the URL will be swapped with "https". Only one of `httpsRedirect` or `schemeRedirect` can be set. | -| `schemeRedirect` | `string` | The scheme portion of the URL will be swapped with this value. Only one of `schemeRedirect` or `httpsRedirect` can be set. | -| `hostRedirect` | `string` | The host portion of the URL will be swapped with this value. | -| `portRedirect` | `int` | The port value of the URL will be swapped with this value. | -| `pathRedirect` | `string` | The path portion of the URL will be swapped with this value. Please note that query string in path_redirect will override the request's query string and will not be stripped. For example, let's say we have the following routes: - match: { path: "/old-path-1" } redirect: { path_redirect: "/new-path-1" } - match: { path: "/old-path-2" } redirect: { path_redirect: "/new-path-2", strip-query: "true" } - match: { path: "/old-path-3" } redirect: { path_redirect: "/new-path-3?foo=1", strip_query: "true" } 1. if request uri is "/old-path-1?bar=1", users will be redirected to "/new-path-1?bar=1" 2. if request uri is "/old-path-2?bar=1", users will be redirected to "/new-path-2" 3. if request uri is "/old-path-3?bar=1", users will be redirected to "/new-path-3?foo=1". Only one of `pathRedirect` or `prefixRewrite` can be set. | -| `prefixRewrite` | `string` | 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 RouteAction's prefix_rewrite. Only one of `prefixRewrite` or `pathRedirect` can be set. | -| `responseCode` | [.solo.io.envoy.config.route.v3.RedirectAction.RedirectResponseCode](../route_components.proto.sk/#redirectresponsecode) | The HTTP status code to use in the redirect response. The default response code is MOVED_PERMANENTLY (301). | -| `stripQuery` | `bool` | Indicates that during redirection, the query portion of the URL will be removed. Default value is false. | - - - - ---- -### RedirectResponseCode - - - -| Name | Description | -| ----- | ----------- | -| `MOVED_PERMANENTLY` | Moved Permanently HTTP Status Code - 301. | -| `FOUND` | Found HTTP Status Code - 302. | -| `SEE_OTHER` | See Other HTTP Status Code - 303. | -| `TEMPORARY_REDIRECT` | Temporary Redirect HTTP Status Code - 307. | -| `PERMANENT_REDIRECT` | Permanent Redirect HTTP Status Code - 308. | - - - - ---- -### DirectResponseAction - - - -```yaml -"status": int -"body": .solo.io.envoy.config.core.v3.DataSource - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `status` | `int` | Specifies the HTTP response status to be returned. | -| `body` | [.solo.io.envoy.config.core.v3.DataSource](../../../core/v3/base.proto.sk/#datasource) | Specifies the content of the response body. If this setting is omitted, no body is included in the generated response. **Note**: Headers can be specified using *response_headers_to_add* in the enclosing :ref:`envoy_api_msg_config.route.v3.Route`, :ref:`envoy_api_msg_config.route.v3.RouteConfiguration` or :ref:`envoy_api_msg_config.route.v3.VirtualHost`. | - - - - ---- -### Decorator - - - -```yaml -"operation": string -"propagate": .google.protobuf.BoolValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `operation` | `string` | The operation name associated with the request matched to this route. If tracing is enabled, this information will be used as the span name reported for this request. **Note**: For ingress (inbound) requests, or egress (outbound) responses, this value may be overridden by the :ref:`x-envoy-decorator-operation ` header. | -| `propagate` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Whether the decorated details should be propagated to the other party. The default is true. | - - - - ---- -### Tracing - - - -```yaml -"clientSampling": .solo.io.envoy.type.v3.FractionalPercent -"randomSampling": .solo.io.envoy.type.v3.FractionalPercent -"overallSampling": .solo.io.envoy.type.v3.FractionalPercent -"customTags": []solo.io.envoy.type.tracing.v3.CustomTag - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `clientSampling` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../type/v3/percent.proto.sk/#fractionalpercent) | Target percentage of requests managed by this HTTP connection manager that will be force traced if the :ref:`x-client-trace-id ` header is set. This field is a direct analog for the runtime variable 'tracing.client_sampling' in the :ref:`HTTP Connection Manager `. Default: 100%. | -| `randomSampling` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../type/v3/percent.proto.sk/#fractionalpercent) | Target percentage of requests managed by this HTTP connection manager that will be randomly selected for trace generation, if not requested by the client or not forced. This field is a direct analog for the runtime variable 'tracing.random_sampling' in the HTTP Connection Manager. Default: 100%. | -| `overallSampling` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../type/v3/percent.proto.sk/#fractionalpercent) | Target percentage of requests managed by this HTTP connection manager that will be traced after all other sampling checks have been applied (client-directed, force tracing, random sampling). This field functions as an upper limit on the total configured sampling rate. For instance, setting client_sampling to 100% but overall_sampling to 1% will result in only 1% of client requests with the appropriate headers to be force traced. This field is a direct analog for the runtime variable 'tracing.global_enabled' in the HTTP Connection Manager. Default: 100%. | -| `customTags` | [[]solo.io.envoy.type.tracing.v3.CustomTag](../../../../type/tracing/v3/custom_tag.proto.sk/#customtag) | A list of custom tags with unique tag name to create tags for the active span. It will take effect after merging with the :ref:`corresponding configuration ` configured in the HTTP connection manager. If two tags with the same name are configured each in the HTTP connection manager and the route level, the one configured here takes priority. | - - - - ---- -### VirtualCluster - - -A virtual cluster is a way of specifying a regex matching rule against -certain important endpoints such that statistics are generated explicitly for -the matched requests. The reason this is useful is that when doing -prefix/path matching Envoy does not always know what the application -considers to be an endpoint. Thus, it’s impossible for Envoy to generically -emit per endpoint statistics. However, often systems have highly critical -endpoints that they wish to get “perfect” statistics on. Virtual cluster -statistics are perfect in the sense that they are emitted on the downstream -side such that they include network level failures. - -Documentation for virtual cluster statistics. - -**Note**: - - Virtual clusters are a useful tool, but we do not recommend setting up a virtual cluster for - every application endpoint. This is both not easily maintainable and as well the matching and - statistics output are not free. - -```yaml -"headers": []solo.io.envoy.config.route.v3.HeaderMatcher -"name": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headers` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../route_components.proto.sk/#headermatcher) | Specifies a list of header matchers to use for matching requests. Each specified header must match. The pseudo-headers `:path` and `:method` can be used to match the request path and method, respectively. | -| `name` | `string` | Specifies the name of the virtual cluster. The virtual cluster name as well as the virtual host name are used when emitting statistics. The statistics are emitted by the router filter and are documented here. | - - - - ---- -### RateLimit - - -Global rate limiting architecture overview. - -```yaml -"stage": .google.protobuf.UInt32Value -"disableKey": string -"actions": []solo.io.envoy.config.route.v3.RateLimit.Action -"limit": .solo.io.envoy.config.route.v3.RateLimit.Override - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `stage` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | 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. | -| `disableKey` | `string` | The key to be set in runtime to disable this rate limit configuration. | -| `actions` | [[]solo.io.envoy.config.route.v3.RateLimit.Action](../route_components.proto.sk/#action) | 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 ` for additional documentation. | -| `limit` | [.solo.io.envoy.config.route.v3.RateLimit.Override](../route_components.proto.sk/#override) | An optional limit override to be appended to the descriptor produced by this rate limit configuration. If the override value is invalid or cannot be resolved from metadata, no override is provided. See :ref:`rate limit override ` for more information. | - - - - ---- -### Action - - -[#next-free-field: 8] - -```yaml -"sourceCluster": .solo.io.envoy.config.route.v3.RateLimit.Action.SourceCluster -"destinationCluster": .solo.io.envoy.config.route.v3.RateLimit.Action.DestinationCluster -"requestHeaders": .solo.io.envoy.config.route.v3.RateLimit.Action.RequestHeaders -"remoteAddress": .solo.io.envoy.config.route.v3.RateLimit.Action.RemoteAddress -"genericKey": .solo.io.envoy.config.route.v3.RateLimit.Action.GenericKey -"headerValueMatch": .solo.io.envoy.config.route.v3.RateLimit.Action.HeaderValueMatch -"dynamicMetadata": .solo.io.envoy.config.route.v3.RateLimit.Action.DynamicMetaData - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `sourceCluster` | [.solo.io.envoy.config.route.v3.RateLimit.Action.SourceCluster](../route_components.proto.sk/#sourcecluster) | Rate limit on source cluster. Only one of `sourceCluster`, `destinationCluster`, `requestHeaders`, `remoteAddress`, `genericKey`, `headerValueMatch`, or `dynamicMetadata` can be set. | -| `destinationCluster` | [.solo.io.envoy.config.route.v3.RateLimit.Action.DestinationCluster](../route_components.proto.sk/#destinationcluster) | Rate limit on destination cluster. Only one of `destinationCluster`, `sourceCluster`, `requestHeaders`, `remoteAddress`, `genericKey`, `headerValueMatch`, or `dynamicMetadata` can be set. | -| `requestHeaders` | [.solo.io.envoy.config.route.v3.RateLimit.Action.RequestHeaders](../route_components.proto.sk/#requestheaders) | Rate limit on request headers. Only one of `requestHeaders`, `sourceCluster`, `destinationCluster`, `remoteAddress`, `genericKey`, `headerValueMatch`, or `dynamicMetadata` can be set. | -| `remoteAddress` | [.solo.io.envoy.config.route.v3.RateLimit.Action.RemoteAddress](../route_components.proto.sk/#remoteaddress) | Rate limit on remote address. Only one of `remoteAddress`, `sourceCluster`, `destinationCluster`, `requestHeaders`, `genericKey`, `headerValueMatch`, or `dynamicMetadata` can be set. | -| `genericKey` | [.solo.io.envoy.config.route.v3.RateLimit.Action.GenericKey](../route_components.proto.sk/#generickey) | Rate limit on a generic key. Only one of `genericKey`, `sourceCluster`, `destinationCluster`, `requestHeaders`, `remoteAddress`, `headerValueMatch`, or `dynamicMetadata` can be set. | -| `headerValueMatch` | [.solo.io.envoy.config.route.v3.RateLimit.Action.HeaderValueMatch](../route_components.proto.sk/#headervaluematch) | Rate limit on the existence of request headers. Only one of `headerValueMatch`, `sourceCluster`, `destinationCluster`, `requestHeaders`, `remoteAddress`, `genericKey`, or `dynamicMetadata` can be set. | -| `dynamicMetadata` | [.solo.io.envoy.config.route.v3.RateLimit.Action.DynamicMetaData](../route_components.proto.sk/#dynamicmetadata) | Rate limit on dynamic metadata. Only one of `dynamicMetadata`, `sourceCluster`, `destinationCluster`, `requestHeaders`, `remoteAddress`, `genericKey`, or `headerValueMatch` can be set. | - - - - ---- -### SourceCluster - - -The following descriptor entry is appended to the descriptor: - -.. code-block:: cpp - - ("source_cluster", "") - - is derived from the `--service-cluster` option. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### DestinationCluster - - -The following descriptor entry is appended to the descriptor: - -.. code-block:: cpp - - ("destination_cluster", "") - -Once a request matches against a route table rule, a routed cluster is determined by one of -the following :ref:`route table configuration ` -settings: - -* cluster indicates the upstream cluster - to route to. -* :ref:`weighted_clusters ` - chooses a cluster randomly from a set of clusters with attributed weight. -* cluster_header indicates which - header in the request contains the target cluster. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### RequestHeaders - - -The following descriptor entry is appended when a header contains a key that matches the -*header_name*: - -.. code-block:: cpp - - ("", "") - -```yaml -"headerName": string -"descriptorKey": string -"skipIfAbsent": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headerName` | `string` | 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. | -| `descriptorKey` | `string` | The key to use in the descriptor entry. | -| `skipIfAbsent` | `bool` | If set to true, Envoy skips the descriptor while calling rate limiting service when header is not present in the request. By default it skips calling the rate limiting service if this header is not present in the request. | - - - - ---- -### RemoteAddress - - -The following descriptor entry is appended to the descriptor and is populated using the -trusted address from x-forwarded-for. - -.. code-block:: cpp - - ("remote_address", "") - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### GenericKey - - -The following descriptor entry is appended to the descriptor: - -.. code-block:: cpp - - ("generic_key", "") - -```yaml -"descriptorValue": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `descriptorValue` | `string` | The value to use in the descriptor entry. | - - - - ---- -### HeaderValueMatch - - -The following descriptor entry is appended to the descriptor: - -.. code-block:: cpp - - ("header_match", "") - -```yaml -"descriptorValue": string -"expectMatch": .google.protobuf.BoolValue -"headers": []solo.io.envoy.config.route.v3.HeaderMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `descriptorValue` | `string` | The value to use in the descriptor entry. | -| `expectMatch` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | 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. | -| `headers` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../route_components.proto.sk/#headermatcher) | 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). | - - - - ---- -### DynamicMetaData - - -The following descriptor entry is appended when the dynamic metadata contains a key value: - -.. code-block:: cpp - - ("", "") - -```yaml -"descriptorKey": string -"metadataKey": .solo.io.envoy.type.metadata.v3.MetadataKey - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `descriptorKey` | `string` | The key to use in the descriptor entry. | -| `metadataKey` | [.solo.io.envoy.type.metadata.v3.MetadataKey](../../../../type/metadata/v3/metadata.proto.sk/#metadatakey) | Metadata struct that defines the key and path to retrieve the string value. A match will only happen if the value in the dynamic metadata is of type string. | - - - - ---- -### Override - - - -```yaml -"dynamicMetadata": .solo.io.envoy.config.route.v3.RateLimit.Override.DynamicMetadata - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `dynamicMetadata` | [.solo.io.envoy.config.route.v3.RateLimit.Override.DynamicMetadata](../route_components.proto.sk/#dynamicmetadata) | Limit override from dynamic metadata. | - - - - ---- -### DynamicMetadata - - -Fetches the override from the dynamic metadata. - -```yaml -"metadataKey": .solo.io.envoy.type.metadata.v3.MetadataKey - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `metadataKey` | [.solo.io.envoy.type.metadata.v3.MetadataKey](../../../../type/metadata/v3/metadata.proto.sk/#metadatakey) | Metadata struct that defines the key and path to retrieve the struct value. The value must be a struct containing an integer "requests_per_unit" property and a "unit" property with a value parseable to :ref:`RateLimitUnit enum `. | - - - - ---- -### HeaderMatcher - - -**Attention**: - - Internally, Envoy always uses the HTTP/2 *:authority* header to represent the HTTP/1 *Host* - header. Thus, if attempting to match on *Host*, match on *:authority* instead. - -**Attention**: - - To route on HTTP method, use the special HTTP/2 *:method* header. This works for both - HTTP/1 and HTTP/2 as Envoy normalizes headers. E.g., - - .. code-block:: json - - { - "name": ":method", - "exact_match": "POST" - } - -**Attention**: - In the absence of any header match specifier, match will default to :ref:`present_match - `. i.e, a request that has the :ref:`name - ` header will match, regardless of the header's - value. - - [#next-major-version: HeaderMatcher should be refactored to use StringMatcher.] -[#next-free-field: 12] - -```yaml -"name": string -"exactMatch": string -"safeRegexMatch": .solo.io.envoy.type.matcher.v3.RegexMatcher -"rangeMatch": .solo.io.envoy.type.v3.Int64Range -"presentMatch": bool -"prefixMatch": string -"suffixMatch": string -"invertMatch": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | Specifies the name of the header in the request. | -| `exactMatch` | `string` | If specified, header match will be performed based on the value of the header. Only one of `exactMatch`, `safeRegexMatch`, `rangeMatch`, `presentMatch`, `prefixMatch`, or `suffixMatch` can be set. | -| `safeRegexMatch` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../../../../type/matcher/v3/regex.proto.sk/#regexmatcher) | If specified, this regex string is a regular expression rule which implies the entire request header value must match the regex. The rule will not match if only a subsequence of the request header value matches the regex. Only one of `safeRegexMatch`, `exactMatch`, `rangeMatch`, `presentMatch`, `prefixMatch`, or `suffixMatch` can be set. | -| `rangeMatch` | [.solo.io.envoy.type.v3.Int64Range](../../../../type/v3/range.proto.sk/#int64range) | If specified, header match will be performed based on range. The rule will match if the request header value is within this range. The entire request header value must represent an integer in base 10 notation: consisting of an optional plus or minus sign followed by a sequence of digits. The rule will not match if the header value does not represent an integer. Match will fail for empty values, floating point numbers or if only a subsequence of the header value is an integer. Examples: * For range [-10,0), route will match for header value -1, but not for 0, "somestring", 10.9, "-1somestring". Only one of `rangeMatch`, `exactMatch`, `safeRegexMatch`, `presentMatch`, `prefixMatch`, or `suffixMatch` can be set. | -| `presentMatch` | `bool` | If specified, header match will be performed based on whether the header is in the request. Only one of `presentMatch`, `exactMatch`, `safeRegexMatch`, `rangeMatch`, `prefixMatch`, or `suffixMatch` can be set. | -| `prefixMatch` | `string` | If specified, header match will be performed based on the prefix of the header value. Note: empty prefix is not allowed, please use present_match instead. Examples: * The prefix *abcd* matches the value *abcdxyz*, but not for *abcxyz*. Only one of `prefixMatch`, `exactMatch`, `safeRegexMatch`, `rangeMatch`, `presentMatch`, or `suffixMatch` can be set. | -| `suffixMatch` | `string` | If specified, header match will be performed based on the suffix of the header value. Note: empty suffix is not allowed, please use present_match instead. Examples: * The suffix *abcd* matches the value *xyzabcd*, but not for *xyzbcd*. Only one of `suffixMatch`, `exactMatch`, `safeRegexMatch`, `rangeMatch`, `presentMatch`, or `prefixMatch` can be set. | -| `invertMatch` | `bool` | If specified, the match result will be inverted before checking. Defaults to false. Examples: * The regex `\d{3}` does not match the value *1234*, so it will match when inverted. * The range [-10,0) will match the value -1, so it will not match when inverted. | - - - - ---- -### QueryParameterMatcher - - -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] - -```yaml -"name": string -"stringMatch": .solo.io.envoy.type.matcher.v3.StringMatcher -"presentMatch": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | Specifies the name of a key that must be present in the requested *path*'s query string. | -| `stringMatch` | [.solo.io.envoy.type.matcher.v3.StringMatcher](../../../../type/matcher/v3/string.proto.sk/#stringmatcher) | Specifies whether a query parameter value should match against a string. Only one of `stringMatch` or `presentMatch` can be set. | -| `presentMatch` | `bool` | Specifies whether a query parameter should be present. Only one of `presentMatch` or `stringMatch` can be set. | - - - - ---- -### InternalRedirectPolicy - - -HTTP Internal Redirect architecture overview. - -```yaml -"maxInternalRedirects": .google.protobuf.UInt32Value -"redirectResponseCodes": []int -"predicates": []solo.io.envoy.config.core.v3.TypedExtensionConfig -"allowCrossSchemeRedirect": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `maxInternalRedirects` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | An internal redirect is not handled, unless the number of previous internal redirects that a downstream request has encountered is lower than this value. In the case where a downstream request is bounced among multiple routes by internal redirect, the first route that hits this threshold, or does not set :ref:`internal_redirect_policy ` will pass the redirect back to downstream. If not specified, at most one redirect will be followed. | -| `redirectResponseCodes` | `[]int` | Defines what upstream response codes are allowed to trigger internal redirect. If unspecified, only 302 will be treated as internal redirect. Only 301, 302, 303, 307 and 308 are valid values. Any other codes will be ignored. | -| `predicates` | [[]solo.io.envoy.config.core.v3.TypedExtensionConfig](../../../core/v3/extension.proto.sk/#typedextensionconfig) | Specifies a list of predicates that are queried when an upstream response is deemed to trigger an internal redirect by all other criteria. Any predicate in the list can reject the redirect, causing the response to be proxied to downstream. | -| `allowCrossSchemeRedirect` | `bool` | Allow internal redirect to follow a target URI with a different scheme than the value of x-forwarded-proto. The default is false. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto.sk.md deleted file mode 100644 index c46ca6c93f7..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto.sk.md +++ /dev/null @@ -1,46 +0,0 @@ - ---- -title: "grpc_output_sink.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.tap.output_sink.v3` -#### Types: - - -- [GrpcOutputSink](#grpcoutputsink) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto) - - - - - ---- -### GrpcOutputSink - - -GRPC output sink definition - -```yaml -"grpcService": .solo.io.envoy.config.core.v3.GrpcService - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `grpcService` | [.solo.io.envoy.config.core.v3.GrpcService](../../../../core/v3/grpc_service.proto.sk/#grpcservice) | Location of the GRPC service to which output traces should be submitted. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto.sk.md deleted file mode 100644 index 10e0d2e06ef..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto.sk.md +++ /dev/null @@ -1,46 +0,0 @@ - ---- -title: "http_output_sink.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.tap.output_sink.v3` -#### Types: - - -- [HttpOutputSink](#httpoutputsink) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto) - - - - - ---- -### HttpOutputSink - - -HTTP output sink definition - -```yaml -"serverUri": .solo.io.envoy.config.core.v3.HttpUri - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `serverUri` | [.solo.io.envoy.config.core.v3.HttpUri](../../../../core/v3/http_uri.proto.sk/#httpuri) | URI of the HTTP server to which output traces should be submitted. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto.sk.md deleted file mode 100644 index f280d9a210e..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto.sk.md +++ /dev/null @@ -1,76 +0,0 @@ - ---- -title: "datadog.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.trace.v3` -#### Types: - - -- [DatadogRemoteConfig](#datadogremoteconfig) -- [DatadogConfig](#datadogconfig) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto) - - - - - ---- -### DatadogRemoteConfig - - -Configuration for the Remote Configuration feature. - -```yaml -"pollingInterval": .google.protobuf.Duration -"disabled": .google.protobuf.BoolValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `pollingInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Frequency at which new configuration updates are queried. If no value is provided, the default value is delegated to the Datadog tracing library. | -| `disabled` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Disabled remote config. This field does not exist in envoy's config but allow us to preserve the default behavior when upgrading to envoy v1.31. | - - - - ---- -### DatadogConfig - - -Configuration for the Datadog tracer. -[#extension: envoy.tracers.datadog] - -```yaml -"collectorUpstreamRef": .core.solo.io.ResourceRef -"clusterName": string -"serviceName": .google.protobuf.StringValue -"collectorHostname": string -"remoteConfig": .solo.io.envoy.config.trace.v3.DatadogRemoteConfig - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `collectorUpstreamRef` | [.core.solo.io.ResourceRef](../../../../../../../../../../solo-kit/api/v1/ref.proto.sk/#resourceref) | The upstream to use for submitting traces to the Datadog agent. Only one of `collectorUpstreamRef` or `clusterName` can be set. | -| `clusterName` | `string` | The name of the cluster to use for submitting traces to the Datadog agent. Note that the cluster must be defined in the :ref:`Bootstrap static cluster resources `. Only one of `clusterName` or `collectorUpstreamRef` can be set. | -| `serviceName` | [.google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/string-value) | The name used for the service when traces are generated by envoy. | -| `collectorHostname` | `string` | Optional hostname to use when sending spans to the collector_cluster. Useful for collectors that require a specific hostname. Defaults to collector_cluster above. | -| `remoteConfig` | [.solo.io.envoy.config.trace.v3.DatadogRemoteConfig](../datadog.proto.sk/#datadogremoteconfig) | Configures remote configuration. Remote Configuration allows to configure the tracer from Datadog's user interface. This feature can drastically increase the number of connections to the Datadog Agent. Each tracer regularly polls for configuration updates, and the number of tracers is the product of the number of listeners and worker threads. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto.sk.md deleted file mode 100644 index 7d27f55bb99..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto.sk.md +++ /dev/null @@ -1,204 +0,0 @@ - ---- -title: "opencensus.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.trace.v3` -#### Types: - - -- [OpenCensusConfig](#opencensusconfig) -- [OcagentGrpcAddress](#ocagentgrpcaddress) -- [TraceContext](#tracecontext) -- [TraceConfig](#traceconfig) -- [ProbabilitySampler](#probabilitysampler) -- [ConstantSampler](#constantsampler) -- [ConstantDecision](#constantdecision) -- [RateLimitingSampler](#ratelimitingsampler) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto) - - - - - ---- -### OpenCensusConfig - - -Configuration for the OpenCensus tracer. - -The OpenCensus tracer is capable of reporting metadata to a collector using W3C-standard Trace Context: https://www.w3.org/TR/trace-context/ -WARNING: users should take care to note that this plugin has a serious limitation that can cause a configuration freeze of Envoy's dynamic listeners. This plugin can be initialised once after Envoy has started. In order to change this plugin's configuration, users must first apply the new configuration, and then restart Envoy. Users should also be aware that once the new configuration is applied, Envoy will reject any changes to its dynamic listeners configuration until after it has been restarted. -[#extension: envoy.tracers.opencensus] - -```yaml -"traceConfig": .solo.io.envoy.config.trace.v3.TraceConfig -"ocagentExporterEnabled": bool -"httpAddress": string -"grpcAddress": .solo.io.envoy.config.trace.v3.OpenCensusConfig.OcagentGrpcAddress -"incomingTraceContext": []solo.io.envoy.config.trace.v3.OpenCensusConfig.TraceContext -"outgoingTraceContext": []solo.io.envoy.config.trace.v3.OpenCensusConfig.TraceContext - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `traceConfig` | [.solo.io.envoy.config.trace.v3.TraceConfig](../opencensus.proto.sk/#traceconfig) | Configuration of when to submit traces to the collector. See https://github.com/census-instrumentation/opencensus-proto/blob/3619b5dda8bff26ff1974714c24de8f6d4953811/src/opencensus/proto/trace/v1/trace_config.proto#L29 for full documentation. | -| `ocagentExporterEnabled` | `bool` | Enables the OpenCensus agent if set to true. | -| `httpAddress` | `string` | Send to upstream over http. Only one of `httpAddress` or `grpcAddress` can be set. | -| `grpcAddress` | [.solo.io.envoy.config.trace.v3.OpenCensusConfig.OcagentGrpcAddress](../opencensus.proto.sk/#ocagentgrpcaddress) | Send to upstream over GRPC. Only one of `grpcAddress` or `httpAddress` can be set. | -| `incomingTraceContext` | [[]solo.io.envoy.config.trace.v3.OpenCensusConfig.TraceContext](../opencensus.proto.sk/#tracecontext) | List of incoming trace context headers to accept. First one found wins. | -| `outgoingTraceContext` | [[]solo.io.envoy.config.trace.v3.OpenCensusConfig.TraceContext](../opencensus.proto.sk/#tracecontext) | List of outgoing trace context headers we will produce. | - - - - ---- -### OcagentGrpcAddress - - - -```yaml -"targetUri": string -"statPrefix": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `targetUri` | `string` | URI of the target address. | -| `statPrefix` | `string` | Prefix for statistical measurements. | - - - - ---- -### TraceContext - - - -| Name | Description | -| ----- | ----------- | -| `NONE` | No-op default, no trace context is utilized. | -| `TRACE_CONTEXT` | W3C Trace-Context format "traceparent:" header. | -| `GRPC_TRACE_BIN` | Binary "grpc-trace-bin:" header. | -| `CLOUD_TRACE_CONTEXT` | "X-Cloud-Trace-Context:" header. | -| `B3` | X-B3-* headers. | - - - - ---- -### TraceConfig - - - -```yaml -"probabilitySampler": .solo.io.envoy.config.trace.v3.ProbabilitySampler -"constantSampler": .solo.io.envoy.config.trace.v3.ConstantSampler -"rateLimitingSampler": .solo.io.envoy.config.trace.v3.RateLimitingSampler -"maxNumberOfAttributes": int -"maxNumberOfAnnotations": int -"maxNumberOfMessageEvents": int -"maxNumberOfLinks": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `probabilitySampler` | [.solo.io.envoy.config.trace.v3.ProbabilitySampler](../opencensus.proto.sk/#probabilitysampler) | Only one of `probabilitySampler`, `constantSampler`, or `rateLimitingSampler` can be set. | -| `constantSampler` | [.solo.io.envoy.config.trace.v3.ConstantSampler](../opencensus.proto.sk/#constantsampler) | Only one of `constantSampler`, `probabilitySampler`, or `rateLimitingSampler` can be set. | -| `rateLimitingSampler` | [.solo.io.envoy.config.trace.v3.RateLimitingSampler](../opencensus.proto.sk/#ratelimitingsampler) | Only one of `rateLimitingSampler`, `probabilitySampler`, or `constantSampler` can be set. | -| `maxNumberOfAttributes` | `int` | The global default max number of attributes per span. | -| `maxNumberOfAnnotations` | `int` | The global default max number of annotation events per span. | -| `maxNumberOfMessageEvents` | `int` | The global default max number of message events per span. | -| `maxNumberOfLinks` | `int` | The global default max number of link entries per span. | - - - - ---- -### ProbabilitySampler - - -Sampler that tries to uniformly sample traces with a given probability. -The probability of sampling a trace is equal to that of the specified probability. - -```yaml -"samplingProbability": float - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `samplingProbability` | `float` | The desired probability of sampling. Must be within [0.0, 1.0]. | - - - - ---- -### ConstantSampler - - -Sampler that always makes a constant decision on span sampling. - -```yaml -"decision": .solo.io.envoy.config.trace.v3.ConstantSampler.ConstantDecision - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `decision` | [.solo.io.envoy.config.trace.v3.ConstantSampler.ConstantDecision](../opencensus.proto.sk/#constantdecision) | | - - - - ---- -### ConstantDecision - - -How spans should be sampled: -- Always off -- Always on -- Always follow the parent Span's decision (off if no parent). - -| Name | Description | -| ----- | ----------- | -| `ALWAYS_OFF` | | -| `ALWAYS_ON` | | -| `ALWAYS_PARENT` | | - - - - ---- -### RateLimitingSampler - - -Sampler that tries to sample with a rate per time window. - -```yaml -"qps": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `qps` | `int` | Rate per second. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto.sk.md deleted file mode 100644 index c854ace4d37..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto.sk.md +++ /dev/null @@ -1,49 +0,0 @@ - ---- -title: "opentelemetry.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.trace.v3` -#### Types: - - -- [OpenTelemetryConfig](#opentelemetryconfig) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto) - - - - - ---- -### OpenTelemetryConfig - - -Configuration for the OpenTelemetry tracer. -[#extension: envoy.tracers.opentelemetry] - -```yaml -"collectorUpstreamRef": .core.solo.io.ResourceRef -"clusterName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `collectorUpstreamRef` | [.core.solo.io.ResourceRef](../../../../../../../../../../solo-kit/api/v1/ref.proto.sk/#resourceref) | The upstream to use for submitting traces to the OpenTelemetry agent. Only one of `collectorUpstreamRef` or `clusterName` can be set. | -| `clusterName` | `string` | The name of the Envoy cluster to use for submitting traces to the OpenTelemetry agent. Only one of `clusterName` or `collectorUpstreamRef` can be set. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto.sk.md deleted file mode 100644 index 8a330e6e487..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto.sk.md +++ /dev/null @@ -1,74 +0,0 @@ - ---- -title: "zipkin.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.trace.v3` -#### Types: - - -- [ZipkinConfig](#zipkinconfig) -- [CollectorEndpointVersion](#collectorendpointversion) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto) - - - - - ---- -### ZipkinConfig - - -Configuration for the Zipkin tracer. -[#extension: envoy.tracers.zipkin] -[#next-free-field: 6] - -```yaml -"collectorUpstreamRef": .core.solo.io.ResourceRef -"clusterName": string -"collectorEndpoint": string -"traceId128Bit": .google.protobuf.BoolValue -"sharedSpanContext": .google.protobuf.BoolValue -"collectorEndpointVersion": .solo.io.envoy.config.trace.v3.ZipkinConfig.CollectorEndpointVersion - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `collectorUpstreamRef` | [.core.solo.io.ResourceRef](../../../../../../../../../../solo-kit/api/v1/ref.proto.sk/#resourceref) | The upstream that hosts the Zipkin collectors. Only one of `collectorUpstreamRef` or `clusterName` can be set. | -| `clusterName` | `string` | The name of the cluster that hosts the Zipkin collectors. Note that the Zipkin cluster must be defined in the :ref:`Bootstrap static cluster resources `. Only one of `clusterName` or `collectorUpstreamRef` can be set. | -| `collectorEndpoint` | `string` | The API endpoint of the Zipkin service where the spans will be sent. When using a standard Zipkin installation, the API endpoint is typically /api/v1/spans, which is the default value. | -| `traceId128Bit` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Determines whether a 128bit trace id will be used when creating a new trace instance. The default value is false, which will result in a 64 bit trace id being used. | -| `sharedSpanContext` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Determines whether client and server spans will share the same span context. The default value is true. | -| `collectorEndpointVersion` | [.solo.io.envoy.config.trace.v3.ZipkinConfig.CollectorEndpointVersion](../zipkin.proto.sk/#collectorendpointversion) | Determines the selected collector endpoint version. By default, the `HTTP_JSON_V1` will be used. | - - - - ---- -### CollectorEndpointVersion - - -Available Zipkin collector endpoint versions. - -| Name | Description | -| ----- | ----------- | -| `DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE` | Zipkin API v1, JSON over HTTP. [#comment: The default implementation of Zipkin client before this field is added was only v1 and the way user configure this was by not explicitly specifying the version. Consequently, before this is added, the corresponding Zipkin collector expected to receive v1 payload. Hence the motivation of adding HTTP_JSON_V1 as the default is to avoid a breaking change when user upgrading Envoy with this change. Furthermore, we also immediately deprecate this field, since in Zipkin realm this v1 version is considered to be not preferable anymore.] | -| `HTTP_JSON` | Zipkin API v2, JSON over HTTP. | -| `HTTP_PROTO` | Zipkin API v2, protobuf over HTTP. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto.sk.md deleted file mode 100644 index efc97dd789f..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto.sk.md +++ /dev/null @@ -1,178 +0,0 @@ - ---- -title: "advanced_http.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.health_checker.advanced_http.v2` -#### Types: - - -- [AdvancedHttp](#advancedhttp) -- [ResponseAssertions](#responseassertions) -- [ResponseMatcher](#responsematcher) -- [ResponseMatch](#responsematch) -- [JsonKey](#jsonkey) -- [PathSegment](#pathsegment) - - - - -##### Enums: - - - - [HealthCheckResult](#healthcheckresult) - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto) - - - - - ---- -### AdvancedHttp - - -Same as envoy's default HTTP health checker, but with some additions: -- allows a custom path and method on the health check request per endpoint. - The http path to use can be overridden using endpoint metadata. The endpoint-specific - path should be in the "io.solo.health_checkers.advanced_http" namespace, under a string - value named "path". The same can be done for the method by setting a string value - named "method". -- allows for health check responses to leverage the response body rather than just - the http status code returned. The response body can be parsed as json and complex - assertions can be made on fields parsed from the json or plaintext response body. - -```yaml -"httpHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck -"responseAssertions": .envoy.config.health_checker.advanced_http.v2.ResponseAssertions - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `httpHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck](../../../config/core/v3/health_check.proto.sk/#httphealthcheck) | Http health check. | -| `responseAssertions` | [.envoy.config.health_checker.advanced_http.v2.ResponseAssertions](../advanced_http.proto.sk/#responseassertions) | If defined, the response health check rules take precedence over the http status settings defined in `http_health_check`. | - - - - ---- -### ResponseAssertions - - - -```yaml -"responseMatchers": []envoy.config.health_checker.advanced_http.v2.ResponseMatcher -"noMatchHealth": .envoy.config.health_checker.advanced_http.v2.HealthCheckResult - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `responseMatchers` | [[]envoy.config.health_checker.advanced_http.v2.ResponseMatcher](../advanced_http.proto.sk/#responsematcher) | A bunch of match rules, the first match wins out and short-circuits. | -| `noMatchHealth` | [.envoy.config.health_checker.advanced_http.v2.HealthCheckResult](../advanced_http.proto.sk/#healthcheckresult) | The default health response if none of the response health checks were matches. If omitted, defaults to healthy. Note for devs: we'd probably prefer this default to unhealthy, but since the version of protoc we're on doesn't support optional scalars without an experimental flag, we cannot have the `no_match_health` field default to unhealthy while the `match_health` field defaults to healthy. As such, we offload this defaulting behavior to the control plane. For more reading, see https://github.com/protocolbuffers/protobuf/issues/1606#issuecomment-618687169. | - - - - ---- -### ResponseMatcher - - -Defines a transformation template. - -```yaml -"responseMatch": .envoy.config.health_checker.advanced_http.v2.ResponseMatch -"matchHealth": .envoy.config.health_checker.advanced_http.v2.HealthCheckResult - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `responseMatch` | [.envoy.config.health_checker.advanced_http.v2.ResponseMatch](../advanced_http.proto.sk/#responsematch) | Defines the parameters to determine a single match. | -| `matchHealth` | [.envoy.config.health_checker.advanced_http.v2.HealthCheckResult](../advanced_http.proto.sk/#healthcheckresult) | The health response if this response_match is a match. If omitted, defaults to healthy. | - - - - ---- -### ResponseMatch - - -ResponseMatches can be used to extract information from the request/response. - -```yaml -"jsonKey": .envoy.config.health_checker.advanced_http.v2.JsonKey -"ignoreErrorOnParse": bool -"header": string -"body": .google.protobuf.Empty -"regex": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `jsonKey` | [.envoy.config.health_checker.advanced_http.v2.JsonKey](../advanced_http.proto.sk/#jsonkey) | Configuration to get the json key. Treats the body as raw text if omitted. | -| `ignoreErrorOnParse` | `bool` | If set to true, Envoy will not throw an exception in case the json body parsing fails. | -| `header` | `string` | Extract information from headers. Only one of `header` or `body` can be set. | -| `body` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | Extract information from the request/response body. Only one of `body` or `header` can be set. | -| `regex` | `string` | Only strings matching this regular expression will be considered a match. The most simple value for this field is '.*', which matches the whole source. The field is required. | - - - - ---- -### JsonKey - - - -```yaml -"path": []envoy.config.health_checker.advanced_http.v2.JsonKey.PathSegment - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `path` | [[]envoy.config.health_checker.advanced_http.v2.JsonKey.PathSegment](../advanced_http.proto.sk/#pathsegment) | The path to retrieve the Value. | - - - - ---- -### PathSegment - - -Specifies the segment in a path to retrieve value. - -```yaml -"key": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | If specified, use the key to retrieve the value. If the key is not found, the value defaults to empty string. | - - - - -### HealthCheckResult - -Description: - -| Name | Description | -| ----- | ----------- | -| healthy | | -| degraded | | -| unhealthy | | - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/aws/filter.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/aws/filter.proto.sk.md deleted file mode 100644 index c00d3e51b2b..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/aws/filter.proto.sk.md +++ /dev/null @@ -1,156 +0,0 @@ - ---- -title: "filter.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.aws_lambda.v2` -#### Types: - - -- [AWSLambdaPerRoute](#awslambdaperroute) -- [AWSLambdaProtocolExtension](#awslambdaprotocolextension) -- [AWSLambdaConfig](#awslambdaconfig) -- [ServiceAccountCredentials](#serviceaccountcredentials) -- [ApiGatewayTransformation](#apigatewaytransformation) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/aws/filter.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/aws/filter.proto) - - - - - ---- -### AWSLambdaPerRoute - - -AWS Lambda contains the configuration necessary to perform transform regular -http calls to AWS Lambda invocations. - -```yaml -"name": string -"qualifier": string -"async": bool -"emptyBodyOverride": .google.protobuf.StringValue -"unwrapAsAlb": bool -"transformerConfig": .solo.io.envoy.config.core.v3.TypedExtensionConfig -"requestTransformerConfig": .solo.io.envoy.config.core.v3.TypedExtensionConfig - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The name of the function. | -| `qualifier` | `string` | The qualifier of the function (defaults to $LATEST if not specified). | -| `async` | `bool` | Invocation type - async or regular. | -| `emptyBodyOverride` | [.google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/string-value) | Optional default body if the body is empty. By default on default body is used if the body empty, and an empty body will be sent upstream. | -| `unwrapAsAlb` | `bool` | Deprecated. Use transformer_config to specify an AWS Lambda response transformer instead. Unwrap responses as AWS ALB does. Expects json lambda responses to construct response. Intended to ease migration when previously using alb to invoke Lambdas. When set on a route the filter will not stream data on the encoding step. For further information see below link for the expected format when true. https://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html Defaults to false. | -| `transformerConfig` | [.solo.io.envoy.config.core.v3.TypedExtensionConfig](../../../config/core/v3/extension.proto.sk/#typedextensionconfig) | transformer configuration used to process response data cannot be configured simultaneously with unwrap_as_alb. | -| `requestTransformerConfig` | [.solo.io.envoy.config.core.v3.TypedExtensionConfig](../../../config/core/v3/extension.proto.sk/#typedextensionconfig) | This is a transformer config, as defined in api.envoy.config.filter.http.transformation.v2 used to process request data. | - - - - ---- -### AWSLambdaProtocolExtension - - - -```yaml -"host": string -"region": string -"accessKey": string -"secretKey": string -"sessionToken": string -"roleArn": string -"disableRoleChaining": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `host` | `string` | The host header for AWS this cluster. | -| `region` | `string` | The region for this cluster. | -| `accessKey` | `string` | The access_key for AWS this cluster. | -| `secretKey` | `string` | The secret_key for AWS this cluster. | -| `sessionToken` | `string` | The session_token for AWS this cluster. | -| `roleArn` | `string` | The role_arn to use when generating credentials for the mounted projected SA token. | -| `disableRoleChaining` | `bool` | Optional override to disable role chaining;. | - - - - ---- -### AWSLambdaConfig - - - -```yaml -"useDefaultCredentials": .google.protobuf.BoolValue -"serviceAccountCredentials": .envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.ServiceAccountCredentials -"propagateOriginalRouting": bool -"credentialRefreshDelay": .google.protobuf.Duration - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `useDefaultCredentials` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Use AWS default credentials chain to get credentials. This will search environment variables, ECS metadata and instance metadata to get the credentials. credentials will be rotated automatically. If credentials are provided on the cluster (using the AWSLambdaProtocolExtension), it will override these credentials. This defaults to false, but may change in the future to true. Only one of `useDefaultCredentials` or `serviceAccountCredentials` can be set. | -| `serviceAccountCredentials` | [.envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.ServiceAccountCredentials](../filter.proto.sk/#serviceaccountcredentials) | Use projected service account token, and role arn to create temporary credentials with which to authenticate lambda requests. This functionality is meant to work along side EKS service account to IAM binding functionality as outlined here: https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html If the following environment values are not present, this option cannot be used. 1. AWS_WEB_IDENTITY_TOKEN_FILE 2. AWS_ROLE_ARN If they are not specified envoy will NACK the config update, which will show up in the logs when running OS Gloo. When running Gloo enterprise it will be reflected in the prometheus stat: "glooe.solo.io/xds/nack" The role arn may also be specified in the `AWSLambdaProtocolExtension` on the cluster level, to override the environment variable. Only one of `serviceAccountCredentials` or `useDefaultCredentials` can be set. | -| `propagateOriginalRouting` | `bool` | Send downstream path and method as `x-envoy-original-path` and `x-envoy-original-method` headers on the request to AWS lambda. Defaults to false. | -| `credentialRefreshDelay` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Sets cadence for refreshing credentials for Service Account. Does nothing if Service account is not set. Does not affect the default filewatch for service account only augments it. Defaults to not refreshing on time period. Suggested is 15 minutes. | - - - - ---- -### ServiceAccountCredentials - - -In order to specify the aws sts endpoint, both the cluster and uri must be set. -This is due to an envoy limitation which cannot infer the host or path from the cluster, -and therefore must be explicitly specified via the uri - -```yaml -"cluster": string -"uri": string -"timeout": .google.protobuf.Duration -"region": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `cluster` | `string` | The name of the envoy cluster which represents the desired aws sts endpoint. | -| `uri` | `string` | The full uri of the aws sts endpoint. | -| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | timeout for the request. | -| `region` | `string` | Region for the sts endpoint. Defaults to us-east-1. | - - - - ---- -### ApiGatewayTransformation - - - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto.sk.md deleted file mode 100644 index e23200f190e..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto.sk.md +++ /dev/null @@ -1,50 +0,0 @@ - ---- -title: "config.proto" -weight: 5 ---- - - - - -### Package: `envoy.extensions.cache.grpc.v2` -#### Types: - - -- [GrpcCacheConfig](#grpccacheconfig) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto) - - - - - ---- -### GrpcCacheConfig - - -[#proto-status: experimental] - -```yaml -"service": .solo.io.envoy.config.core.v3.GrpcService -"timeout": .google.protobuf.Duration -"maxPayloadSize": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `service` | [.solo.io.envoy.config.core.v3.GrpcService](../../../../config/core/v3/grpc_service.proto.sk/#grpcservice) | A GRPC service: this maps exactly to envoy GRPC service defintions. | -| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Connection timeout for retrieval from cache. | -| `maxPayloadSize` | `int` | Max payload size to cache. This may be set to protect against large requests or responses by not caching them. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto.sk.md deleted file mode 100644 index e49331d5848..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto.sk.md +++ /dev/null @@ -1,65 +0,0 @@ - ---- -title: "sanitize.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.sanitize.v2` -#### Types: - - -- [Sanitize](#sanitize) -- [SanitizePerRoute](#sanitizeperroute) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto) - - - - - ---- -### Sanitize - - - -```yaml -"headersToRemove": []string -"customAuthServerName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headersToRemove` | `[]string` | | -| `customAuthServerName` | `string` | The name of the custom ext auth server This is only set in the case where multiple auth servers exist. | - - - - ---- -### SanitizePerRoute - - - -```yaml -"customAuthServerName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `customAuthServerName` | `string` | The name of the custom ext auth server This is only set in the case where multiple auth servers exist. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk.md deleted file mode 100644 index dabaad457f3..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk.md +++ /dev/null @@ -1,69 +0,0 @@ - ---- -title: "buffer.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.extensions.filters.http.buffer.v3` -copied from https://github.com/envoyproxy/envoy/blob/3b52fc36373272902d9817f0db97dd2fccc40784/api/envoy/extensions/filters/http/buffer/v3/buffer.proto - - - -#### Types: - - -- [Buffer](#buffer) -- [BufferPerRoute](#bufferperroute) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto) - - - - - ---- -### Buffer - - - -```yaml -"maxRequestBytes": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `maxRequestBytes` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. | - - - - ---- -### BufferPerRoute - - - -```yaml -"disabled": bool -"buffer": .solo.io.envoy.extensions.filters.http.buffer.v3.Buffer - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `disabled` | `bool` | Disable the buffer filter for this particular vhost or route. Only one of `disabled` or `buffer` can be set. | -| `buffer` | [.solo.io.envoy.extensions.filters.http.buffer.v3.Buffer](../buffer.proto.sk/#buffer) | Override the global configuration of the buffer filter with this new config. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. Only one of `buffer` or `disabled` can be set. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk.md deleted file mode 100644 index 529b0c37825..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk.md +++ /dev/null @@ -1,54 +0,0 @@ - ---- -title: "csrf.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.extensions.filters.http.csrf.v3` -copied from https://github.com/envoyproxy/envoy/blob/main/api/envoy/extensions/filters/http/csrf/v3/csrf.proto - - - -#### Types: - - -- [CsrfPolicy](#csrfpolicy) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto) - - - - - ---- -### CsrfPolicy - - -CSRF filter config. - -```yaml -"filterEnabled": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent -"shadowEnabled": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent -"additionalOrigins": []solo.io.envoy.type.matcher.v3.StringMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `filterEnabled` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../../../../config/core/v3/base.proto.sk/#runtimefractionalpercent) | Specifies the % of requests for which the CSRF filter is enabled. If runtime_key is specified, Envoy will lookup the runtime key to get the percentage of requests to filter. **Note**: This field defaults to 100/:ref:`HUNDRED `. | -| `shadowEnabled` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../../../../config/core/v3/base.proto.sk/#runtimefractionalpercent) | Specifies that CSRF policies will be evaluated and tracked, but not enforced. This is intended to be used when `filter_enabled` is off and will be ignored otherwise. If runtime_key is specified, Envoy will lookup the runtime key to get the percentage of requests for which it will evaluate and track the request's *Origin* and *Destination* to determine if it's valid, but will not enforce any policies. | -| `additionalOrigins` | [[]solo.io.envoy.type.matcher.v3.StringMatcher](../../../../../../type/matcher/v3/string.proto.sk/#stringmatcher) | Specifies additional source origins that will be allowed in addition to the destination origin. More information on how this can be configured via runtime can be found here. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto.sk.md deleted file mode 100644 index 111cd67c021..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto.sk.md +++ /dev/null @@ -1,93 +0,0 @@ - ---- -title: "processing_mode.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.extensions.filters.http.ext_proc.v3` -copied from https://github.com/envoyproxy/envoy/blob/ad89a587aa0177bfdad6b5c968a6aead5d9be7a4/api/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto - - - -#### Types: - - -- [ProcessingMode](#processingmode) -- [HeaderSendMode](#headersendmode) -- [BodySendMode](#bodysendmode) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto) - - - - - ---- -### ProcessingMode - - -[#next-free-field: 7] - -```yaml -"requestHeaderMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode -"responseHeaderMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode -"requestBodyMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.BodySendMode -"responseBodyMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.BodySendMode -"requestTrailerMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode -"responseTrailerMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requestHeaderMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode](../processing_mode.proto.sk/#headersendmode) | How to handle the request header. Default is "SEND". | -| `responseHeaderMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode](../processing_mode.proto.sk/#headersendmode) | How to handle the response header. Default is "SEND". | -| `requestBodyMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.BodySendMode](../processing_mode.proto.sk/#bodysendmode) | How to handle the request body. Default is "NONE". | -| `responseBodyMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.BodySendMode](../processing_mode.proto.sk/#bodysendmode) | How do handle the response body. Default is "NONE". | -| `requestTrailerMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode](../processing_mode.proto.sk/#headersendmode) | How to handle the request trailers. Default is "SKIP". | -| `responseTrailerMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode](../processing_mode.proto.sk/#headersendmode) | How to handle the response trailers. Default is "SKIP". | - - - - ---- -### HeaderSendMode - - -Control how headers and trailers are handled - -| Name | Description | -| ----- | ----------- | -| `DEFAULT` | The default HeaderSendMode depends on which part of the message is being processed. By default, request and response headers are sent, while trailers are skipped. | -| `SEND` | Send the header or trailer. | -| `SKIP` | Do not send the header or trailer. | - - - - ---- -### BodySendMode - - -Control how the request and response bodies are handled - -| Name | Description | -| ----- | ----------- | -| `NONE` | Do not send the body at all. This is the default. | -| `STREAMED` | Stream the body to the server in pieces as they arrive at the proxy. | -| `BUFFERED` | Buffer the message body in memory and send the entire body at once. If the body exceeds the configured buffer limit, then the downstream system will receive an error. | -| `BUFFERED_PARTIAL` | Buffer the message body in memory and send the entire body in one chunk. If the body exceeds the configured buffer limit, then the body contents up to the buffer limit will be sent. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto.sk.md deleted file mode 100644 index 96dea070dee..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto.sk.md +++ /dev/null @@ -1,476 +0,0 @@ - ---- -title: "config.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.extensions.filters.http.jwt_authn.v3` -#### Types: - - -- [JwtProvider](#jwtprovider) -- [RemoteJwks](#remotejwks) -- [JwksAsyncFetch](#jwksasyncfetch) -- [JwtHeader](#jwtheader) -- [ProviderWithAudiences](#providerwithaudiences) -- [JwtRequirement](#jwtrequirement) -- [JwtRequirementOrList](#jwtrequirementorlist) -- [JwtRequirementAndList](#jwtrequirementandlist) -- [RequirementRule](#requirementrule) -- [FilterStateRule](#filterstaterule) -- [JwtAuthentication](#jwtauthentication) -- [PerRouteConfig](#perrouteconfig) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto) - - - - - ---- -### JwtProvider - - -Please see following for JWT authentication flow: - -* [JSON Web Token (JWT)](https://datatracker.ietf.org/doc/html/rfc7519) -* [The OAuth 2.0 Authorization Framework](https://datatracker.ietf.org/doc/html/rfc6749) -* [OpenID Connect](http://openid.net/connect) - -A JwtProvider message specifies how a JSON Web Token (JWT) can be verified. It specifies: - -* issuer: the principal that issues the JWT. If specified, it has to match the *iss* field in JWT. -* allowed audiences: the ones in the token have to be listed here. -* how to fetch public key JWKS to verify the token signature. -* how to extract JWT token in the request. -* how to pass successfully verified token payload. - -Example: - -.. code-block:: yaml - - issuer: https://example.com - audiences: - - bookstore_android.apps.googleusercontent.com - - bookstore_web.apps.googleusercontent.com - remote_jwks: - http_uri: - uri: https://example.com/.well-known/jwks.json - cluster: example_jwks_cluster - timeout: 1s - cache_duration: - seconds: 300 - -[#next-free-field: 11] - -```yaml -"issuer": string -"audiences": []string -"remoteJwks": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.RemoteJwks -"localJwks": .solo.io.envoy.config.core.v3.DataSource -"forward": bool -"fromHeaders": []solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtHeader -"fromParams": []string -"forwardPayloadHeader": string -"payloadInMetadata": string -"clockSkewSeconds": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `issuer` | `string` | Specify the [principal](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.1) that issued the JWT, usually a URL or an email address. It is optional. If specified, it has to match the *iss* field in JWT. If a JWT has *iss* field and this field is specified, they have to match, otherwise the JWT *iss* field is not checked. Note: *JwtRequirement* :ref:`allow_missing ` and :ref:`allow_missing_or_failed ` are implemented differently than other *JwtRequirements*. Hence the usage of this field is different as follows if *allow_missing* or *allow_missing_or_failed* is used: * If a JWT has *iss* field, it needs to be specified by this field in one of *JwtProviders*. * If a JWT doesn't have *iss* field, one of *JwtProviders* should fill this field empty. * Multiple *JwtProviders* should not have same value in this field. Example: https://securetoken.google.com Example: 1234567-compute@developer.gserviceaccount.com. | -| `audiences` | `[]string` | The list of JWT [audiences](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.3) are allowed to access. A JWT containing any of these audiences will be accepted. If not specified, will not check audiences in the token. Example: .. code-block:: yaml audiences: - bookstore_android.apps.googleusercontent.com - bookstore_web.apps.googleusercontent.com. | -| `remoteJwks` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.RemoteJwks](../config.proto.sk/#remotejwks) | JWKS can be fetched from remote server via HTTP/HTTPS. This field specifies the remote HTTP URI and how the fetched JWKS should be cached. Example: .. code-block:: yaml remote_jwks: http_uri: uri: https://www.googleapis.com/oauth2/v1/certs cluster: jwt.www.googleapis.com|443 timeout: 1s cache_duration: seconds: 300. Only one of `remoteJwks` or `localJwks` can be set. | -| `localJwks` | [.solo.io.envoy.config.core.v3.DataSource](../../../../../../config/core/v3/base.proto.sk/#datasource) | JWKS is in local data source. It could be either in a local file or embedded in the inline_string. Example: local file .. code-block:: yaml local_jwks: filename: /etc/envoy/jwks/jwks1.txt Example: inline_string .. code-block:: yaml local_jwks: inline_string: ACADADADADA. Only one of `localJwks` or `remoteJwks` can be set. | -| `forward` | `bool` | If false, the JWT is removed in the request after a success verification. If true, the JWT is not removed in the request. Default value is false. | -| `fromHeaders` | [[]solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtHeader](../config.proto.sk/#jwtheader) | Two fields below define where to extract the JWT from an HTTP request. If no explicit location is specified, the following default locations are tried in order: 1. The Authorization header using the [Bearer schema](https://datatracker.ietf.org/doc/html/rfc6750#section-2.1). Example:: Authorization: Bearer . 2. [access_token](https://datatracker.ietf.org/doc/html/rfc6750#section-2.3) query parameter. Multiple JWTs can be verified for a request. Each JWT has to be extracted from the locations its provider specified or from the default locations. Specify the HTTP headers to extract JWT token. For examples, following config: .. code-block:: yaml from_headers: - name: x-goog-iap-jwt-assertion can be used to extract token from header:: `x-goog-iap-jwt-assertion: `. | -| `fromParams` | `[]string` | JWT is sent in a query parameter. `jwt_params` represents the query parameter names. For example, if config is: .. code-block:: yaml from_params: - jwt_token The JWT format in query parameter is:: /path?jwt_token=. | -| `forwardPayloadHeader` | `string` | This field specifies the header name to forward a successfully verified JWT payload to the backend. The forwarded data is:: base64url_encoded(jwt_payload_in_JSON) If it is not specified, the payload will not be forwarded. | -| `payloadInMetadata` | `string` | If non empty, successfully verified JWT payloads will be written to StreamInfo DynamicMetadata in the format as: *namespace* is the jwt_authn filter name as **envoy.filters.http.jwt_authn** The value is the *protobuf::Struct*. The value of this field will be the key for its *fields* and the value is the *protobuf::Struct* converted from JWT JSON payload. For example, if payload_in_metadata is *my_payload*: .. code-block:: yaml envoy.filters.http.jwt_authn: my_payload: iss: https://example.com sub: test@example.com aud: https://example.com exp: 1501281058. | -| `clockSkewSeconds` | `int` | Specify the clock skew in seconds when verifying JWT time constraint, such as `exp`, and `nbf`. If not specified, default is 60 seconds. | - - - - ---- -### RemoteJwks - - -This message specifies how to fetch JWKS from remote and how to cache it. - -```yaml -"httpUri": .solo.io.envoy.config.core.v3.HttpUri -"cacheDuration": .google.protobuf.Duration -"asyncFetch": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwksAsyncFetch - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `httpUri` | [.solo.io.envoy.config.core.v3.HttpUri](../../../../../../config/core/v3/http_uri.proto.sk/#httpuri) | The HTTP URI to fetch the JWKS. For example: .. code-block:: yaml http_uri: uri: https://www.googleapis.com/oauth2/v1/certs cluster: jwt.www.googleapis.com|443 timeout: 1s. | -| `cacheDuration` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Duration after which the cached JWKS should be expired. If not specified, default cache duration is 5 minutes. | -| `asyncFetch` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwksAsyncFetch](../config.proto.sk/#jwksasyncfetch) | Fetch Jwks asynchronously in the main thread before the listener is activated. Fetched Jwks can be used by all worker threads. If this feature is not enabled: * The Jwks is fetched on-demand when the requests come. During the fetching, first few requests are paused until the Jwks is fetched. * Each worker thread fetches its own Jwks since Jwks cache is per worker thread. If this feature is enabled: * Fetched Jwks is done in the main thread before the listener is activated. Its fetched Jwks can be used by all worker threads. Each worker thread doesn't need to fetch its own. * Jwks is ready when the requests come, not need to wait for the Jwks fetching. | - - - - ---- -### JwksAsyncFetch - - -Fetch Jwks asynchronously in the main thread when the filter config is parsed. -The listener is activated only after the Jwks is fetched. -When the Jwks is expired in the cache, it is fetched again in the main thread. -The fetched Jwks from the main thread can be used by all worker threads. - -```yaml -"fastListener": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `fastListener` | `bool` | If false, the listener is activated after the initial fetch is completed. The initial fetch result can be either successful or failed. If true, it is activated without waiting for the initial fetch to complete. Default is false. | - - - - ---- -### JwtHeader - - -This message specifies a header location to extract JWT token. - -```yaml -"name": string -"valuePrefix": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The HTTP header name. | -| `valuePrefix` | `string` | The value prefix. The value format is "value_prefix" For example, for "Authorization: Bearer ", value_prefix="Bearer " with a space at the end. | - - - - ---- -### ProviderWithAudiences - - -Specify a required provider with audiences. - -```yaml -"providerName": string -"audiences": []string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `providerName` | `string` | Specify a required provider name. | -| `audiences` | `[]string` | This field overrides the one specified in the JwtProvider. | - - - - ---- -### JwtRequirement - - -This message specifies a Jwt requirement. An empty message means JWT verification is not -required. Here are some config examples: - -.. code-block:: yaml - - # Example 1: not required with an empty message - - # Example 2: require A - provider_name: provider-A - - # Example 3: require A or B - requires_any: - requirements: - - provider_name: provider-A - - provider_name: provider-B - - # Example 4: require A and B - requires_all: - requirements: - - provider_name: provider-A - - provider_name: provider-B - - # Example 5: require A and (B or C) - requires_all: - requirements: - - provider_name: provider-A - - requires_any: - requirements: - - provider_name: provider-B - - provider_name: provider-C - - # Example 6: require A or (B and C) - requires_any: - requirements: - - provider_name: provider-A - - requires_all: - requirements: - - provider_name: provider-B - - provider_name: provider-C - - # Example 7: A is optional (if token from A is provided, it must be valid, but also allows - missing token.) - requires_any: - requirements: - - provider_name: provider-A - - allow_missing: {} - - # Example 8: A is optional and B is required. - requires_all: - requirements: - - requires_any: - requirements: - - provider_name: provider-A - - allow_missing: {} - - provider_name: provider-B - -[#next-free-field: 7] - -```yaml -"providerName": string -"providerAndAudiences": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.ProviderWithAudiences -"requiresAny": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementOrList -"requiresAll": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementAndList -"allowMissingOrFailed": .google.protobuf.Empty -"allowMissing": .google.protobuf.Empty - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `providerName` | `string` | Specify a required provider name. Only one of `providerName`, `providerAndAudiences`, `requiresAny`, `requiresAll`, `allowMissingOrFailed`, or `allowMissing` can be set. | -| `providerAndAudiences` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.ProviderWithAudiences](../config.proto.sk/#providerwithaudiences) | Specify a required provider with audiences. Only one of `providerAndAudiences`, `providerName`, `requiresAny`, `requiresAll`, `allowMissingOrFailed`, or `allowMissing` can be set. | -| `requiresAny` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementOrList](../config.proto.sk/#jwtrequirementorlist) | Specify list of JwtRequirement. Their results are OR-ed. If any one of them passes, the result is passed. Only one of `requiresAny`, `providerName`, `providerAndAudiences`, `requiresAll`, `allowMissingOrFailed`, or `allowMissing` can be set. | -| `requiresAll` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementAndList](../config.proto.sk/#jwtrequirementandlist) | Specify list of JwtRequirement. Their results are AND-ed. All of them must pass, if one of them fails or missing, it fails. Only one of `requiresAll`, `providerName`, `providerAndAudiences`, `requiresAny`, `allowMissingOrFailed`, or `allowMissing` can be set. | -| `allowMissingOrFailed` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | The requirement is always satisfied even if JWT is missing or the JWT verification fails. A typical usage is: this filter is used to only verify JWTs and pass the verified JWT payloads to another filter, the other filter will make decision. In this mode, all JWT tokens will be verified. Only one of `allowMissingOrFailed`, `providerName`, `providerAndAudiences`, `requiresAny`, `requiresAll`, or `allowMissing` can be set. | -| `allowMissing` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | The requirement is satisfied if JWT is missing, but failed if JWT is presented but invalid. Similar to allow_missing_or_failed, this is used to only verify JWTs and pass the verified payload to another filter. The different is this mode will reject requests with invalid tokens. Only one of `allowMissing`, `providerName`, `providerAndAudiences`, `requiresAny`, `requiresAll`, or `allowMissingOrFailed` can be set. | - - - - ---- -### JwtRequirementOrList - - -This message specifies a list of RequiredProvider. -Their results are OR-ed; if any one of them passes, the result is passed - -```yaml -"requirements": []solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requirements` | [[]solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement](../config.proto.sk/#jwtrequirement) | Specify a list of JwtRequirement. | - - - - ---- -### JwtRequirementAndList - - -This message specifies a list of RequiredProvider. -Their results are AND-ed; all of them must pass, if one of them fails or missing, it fails. - -```yaml -"requirements": []solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requirements` | [[]solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement](../config.proto.sk/#jwtrequirement) | Specify a list of JwtRequirement. | - - - - ---- -### RequirementRule - - -This message specifies a Jwt requirement for a specific Route condition. -Example 1: - -.. code-block:: yaml - - - match: - prefix: /healthz - -In above example, "requires" field is empty for /healthz prefix match, -it means that requests matching the path prefix don't require JWT authentication. - -Example 2: - -.. code-block:: yaml - - - match: - prefix: / - requires: { provider_name: provider-A } - -In above example, all requests matched the path prefix require jwt authentication -from "provider-A". - -```yaml -"match": .solo.io.envoy.config.route.v3.RouteMatch -"requires": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement -"requirementName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `match` | [.solo.io.envoy.config.route.v3.RouteMatch](../../../../../../config/route/v3/route_components.proto.sk/#routematch) | The route matching parameter. Only when the match is satisfied, the "requires" field will apply. For example: following match will match all requests. .. code-block:: yaml match: prefix: /. | -| `requires` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement](../config.proto.sk/#jwtrequirement) | Specify a Jwt requirement. Please see detail comment in message JwtRequirement. Only one of `requires` or `requirementName` can be set. | -| `requirementName` | `string` | Use requirement_name to specify a Jwt requirement. This requirement_name MUST be specified at the :ref:`requirement_map ` in `JwtAuthentication`. Only one of `requirementName` or `requires` can be set. | - - - - ---- -### FilterStateRule - - -This message specifies Jwt requirements based on stream_info.filterState. -This FilterState should use `Router::StringAccessor` object to set a string value. -Other HTTP filters can use it to specify Jwt requirements dynamically. - -Example: - -.. code-block:: yaml - - name: jwt_selector - requires: - issuer_1: - provider_name: issuer1 - issuer_2: - provider_name: issuer2 - -If a filter set "jwt_selector" with "issuer_1" to FilterState for a request, -jwt_authn filter will use JwtRequirement{"provider_name": "issuer1"} to verify. - -```yaml -"name": string -"requires": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The filter state name to retrieve the `Router::StringAccessor` object. | -| `requires` | `map` | A map of string keys to requirements. The string key is the string value in the FilterState with the name specified in the *name* field above. | - - - - ---- -### JwtAuthentication - - -This is the Envoy HTTP filter config for JWT authentication. - -For example: - -.. code-block:: yaml - - providers: - provider1: - issuer: issuer1 - audiences: - - audience1 - - audience2 - remote_jwks: - http_uri: - uri: https://example.com/.well-known/jwks.json - cluster: example_jwks_cluster - timeout: 1s - provider2: - issuer: issuer2 - local_jwks: - inline_string: jwks_string - - rules: - # Not jwt verification is required for /health path - - match: - prefix: /health - - # Jwt verification for provider1 is required for path prefixed with "prefix" - - match: - prefix: /prefix - requires: - provider_name: provider1 - - # Jwt verification for either provider1 or provider2 is required for all other requests. - - match: - prefix: / - requires: - requires_any: - requirements: - - provider_name: provider1 - - provider_name: provider2 - -[#next-free-field: 6] - -```yaml -"providers": map -"rules": []solo.io.envoy.extensions.filters.http.jwt_authn.v3.RequirementRule -"filterStateRules": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.FilterStateRule -"bypassCorsPreflight": bool -"requirementMap": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `providers` | `map` | Map of provider names to JwtProviders. .. code-block:: yaml providers: provider1: issuer: issuer1 audiences: - audience1 - audience2 remote_jwks: http_uri: uri: https://example.com/.well-known/jwks.json cluster: example_jwks_cluster timeout: 1s provider2: issuer: provider2 local_jwks: inline_string: jwks_string. | -| `rules` | [[]solo.io.envoy.extensions.filters.http.jwt_authn.v3.RequirementRule](../config.proto.sk/#requirementrule) | Specifies requirements based on the route matches. The first matched requirement will be applied. If there are overlapped match conditions, please put the most specific match first. Examples .. code-block:: yaml rules: - match: prefix: /healthz - match: prefix: /baz requires: provider_name: provider1 - match: prefix: /foo requires: requires_any: requirements: - provider_name: provider1 - provider_name: provider2 - match: prefix: /bar requires: requires_all: requirements: - provider_name: provider1 - provider_name: provider2. | -| `filterStateRules` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.FilterStateRule](../config.proto.sk/#filterstaterule) | This message specifies Jwt requirements based on stream_info.filterState. Other HTTP filters can use it to specify Jwt requirements dynamically. The *rules* field above is checked first, if it could not find any matches, check this one. | -| `bypassCorsPreflight` | `bool` | When set to true, bypass the [CORS preflight request](http://www.w3.org/TR/cors/#cross-origin-request-with-preflight) regardless of JWT requirements specified in the rules. | -| `requirementMap` | `map` | A map of unique requirement_names to JwtRequirements. :ref:`requirement_name ` in `PerRouteConfig` uses this map to specify a JwtRequirement. | - - - - ---- -### PerRouteConfig - - -Specify per-route config. - -```yaml -"disabled": bool -"requirementName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `disabled` | `bool` | Disable Jwt Authentication for this route. Only one of `disabled` or `requirementName` can be set. | -| `requirementName` | `string` | Use requirement_name to specify a JwtRequirement. This requirement_name MUST be specified at the :ref:`requirement_map ` in `JwtAuthentication`. If no, the requests using this route will be rejected with 403. Only one of `requirementName` or `disabled` can be set. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto.sk.md deleted file mode 100644 index 003599e2918..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto.sk.md +++ /dev/null @@ -1,49 +0,0 @@ - ---- -title: "wasm.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.extensions.filters.http.wasm.v3` -copied from https://github.com/envoyproxy/envoy-wasm/blob/2721ee7897207c87c6cd2d26cccda6cc805e826b/api/envoy/extensions/filters/http/wasm/v3/wasm.proto - - - -#### Types: - - -- [Wasm](#wasm) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto) - - - - - ---- -### Wasm - - - -```yaml -"config": .solo.io.envoy.extensions.wasm.v3.PluginConfig - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `config` | [.solo.io.envoy.extensions.wasm.v3.PluginConfig](../../../../../wasm/v3/wasm.proto.sk/#pluginconfig) | General Plugin configuration. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto.sk.md deleted file mode 100644 index 042f9d13348..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto.sk.md +++ /dev/null @@ -1,814 +0,0 @@ - ---- -title: "graphql.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.graphql.v2` -#### Types: - - -- [PathSegment](#pathsegment) -- [Path](#path) -- [TemplatedPath](#templatedpath) -- [ValueProvider](#valueprovider) -- [GraphQLArgExtraction](#graphqlargextraction) -- [GraphQLParentExtraction](#graphqlparentextraction) -- [TypedValueProvider](#typedvalueprovider) -- [Type](#type) -- [Provider](#provider) -- [JsonValueList](#jsonvaluelist) -- [JsonValue](#jsonvalue) -- [JsonKeyValue](#jsonkeyvalue) -- [JsonNode](#jsonnode) -- [RequestTemplate](#requesttemplate) -- [ResponseTemplate](#responsetemplate) -- [RESTResolver](#restresolver) -- [GrpcRequestTemplate](#grpcrequesttemplate) -- [GrpcDescriptorRegistry](#grpcdescriptorregistry) -- [GrpcResolver](#grpcresolver) -- [StaticResolver](#staticresolver) -- [AsyncResponse](#asyncresponse) -- [AbstractTypeResolver](#abstracttyperesolver) -- [QueryMatcher](#querymatcher) -- [FieldMatcher](#fieldmatcher) -- [Resolution](#resolution) -- [CacheControl](#cachecontrol) -- [CacheControlScope](#cachecontrolscope) -- [GraphQLConfig](#graphqlconfig) -- [GraphQLRouteConfig](#graphqlrouteconfig) -- [PersistedQueryCacheConfig](#persistedquerycacheconfig) -- [ExecutableSchema](#executableschema) -- [Executor](#executor) -- [Local](#local) -- [Remote](#remote) -- [Extraction](#extraction) -- [DynamicMetadataExtraction](#dynamicmetadataextraction) -- [RemoteSchemaRequest](#remoteschemarequest) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto) - - - - - ---- -### PathSegment - - -used to reference into json structures by key(s) - -```yaml -"key": string -"index": int -"all": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | This will extract a key from a Map value. Only one of `key`, `index`, or `all` can be set. | -| `index` | `int` | Extract element at list. Only one of `index`, `key`, or `all` can be set. | -| `all` | `bool` | Extracts all elements from a map or a list. Only one of `all`, `key`, or `index` can be set. | - - - - ---- -### Path - - - -```yaml -"segments": []envoy.config.filter.http.graphql.v2.PathSegment - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `segments` | [[]envoy.config.filter.http.graphql.v2.PathSegment](../graphql.proto.sk/#pathsegment) | | - - - - ---- -### TemplatedPath - - - -```yaml -"pathTemplate": string -"namedPaths": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `pathTemplate` | `string` | If non-empty, Inserts named paths into a template string. For example, if the template is '/api/{apiVersionPath}/pet/{petIdPath}' and we have two named paths defined in `named_paths`, apiVersionPath and petIdPath, with extracted values 'v2' and '123' respectively, the final resulting value will be '/api/v2/pet/123' Use {PATH_NAME} as the interpolation notation (even repeated) regardless of the type of the provided value. If an undefined PATH_NAME is used in the template, this will nack during configuration. If this is empty, only the value of the first provider will be used as the resulting value. | -| `namedPaths` | `map` | | - - - - ---- -### ValueProvider - - -In the future we may add support for regex and subgroups - -```yaml -"providers": map -"providerTemplate": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `providers` | `map` | Map of provider name to provider definition. The name will be used to insert the provider value in the provider_template. | -| `providerTemplate` | `string` | If non-empty, Inserts named providers into a template string. For example, if the provider_template is '/api/{apiVersionProvider}/pet/{petIdProvider}' and we have two named providers defined in `providers`, apiVersionProvider and petIdProvider, with extracted values 'v2' and '123' respectively, the final resulting value will be '/api/v2/pet/123' Use {PROVIDER_NAME} as the interpolation notation (even repeated) regardless of the type of the provided value. If an undefined PROVIDER_NAME is used in the provider_template, this will nack during configuration. If this is empty, only the value of the first provider will be used as the resulting value. | - - - - ---- -### GraphQLArgExtraction - - - -```yaml -"argName": string -"path": []envoy.config.filter.http.graphql.v2.PathSegment - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `argName` | `string` | The argument name to fetch. The argument value fetched will have a type from the schema that we validate in envoy. If the name is invalid, returns the zero-value primitive or null. | -| `path` | [[]envoy.config.filter.http.graphql.v2.PathSegment](../graphql.proto.sk/#pathsegment) | Optional: fetches the value in the argument selected at this key. If the key is invalid, returns the zero-value primitive or null. | - - - - ---- -### GraphQLParentExtraction - - -Does not do type coercion, but instead if the type does not match the -expected primitive type we throw an error. -In the future we may add support for type coercion. - -```yaml -"path": []envoy.config.filter.http.graphql.v2.PathSegment - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `path` | [[]envoy.config.filter.http.graphql.v2.PathSegment](../graphql.proto.sk/#pathsegment) | Fetches the value in the graphql parent at this key. The value will always be accepted since the parent object is not strongly-typed. If the key is invalid, returns null. | - - - - ---- -### TypedValueProvider - - - -```yaml -"type": .envoy.config.filter.http.graphql.v2.ValueProvider.TypedValueProvider.Type -"header": string -"value": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `type` | [.envoy.config.filter.http.graphql.v2.ValueProvider.TypedValueProvider.Type](../graphql.proto.sk/#type) | Type that the value will be coerced into. For example if the extracted value is "9", and type is INT, this value will be cast to an int type. | -| `header` | `string` | Fetches the request/response header's value. If not found, uses empty string. Only one of `header` or `value` can be set. | -| `value` | `string` | inline value, use as provided rather than extracting from another source. Only one of `value` or `header` can be set. | - - - - ---- -### Type - - -if empty, defaults to string. similar to typeUrl in other envoy config - -| Name | Description | -| ----- | ----------- | -| `STRING` | | -| `INT` | | -| `FLOAT` | | -| `BOOLEAN` | | - - - - ---- -### Provider - - - -```yaml -"graphqlArg": .envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLArgExtraction -"typedProvider": .envoy.config.filter.http.graphql.v2.ValueProvider.TypedValueProvider -"graphqlParent": .envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLParentExtraction - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `graphqlArg` | [.envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLArgExtraction](../graphql.proto.sk/#graphqlargextraction) | type inferred from schema, no need to provide it. Only one of `graphqlArg`, `typedProvider`, or `graphqlParent` can be set. | -| `typedProvider` | [.envoy.config.filter.http.graphql.v2.ValueProvider.TypedValueProvider](../graphql.proto.sk/#typedvalueprovider) | Only one of `typedProvider`, `graphqlArg`, or `graphqlParent` can be set. | -| `graphqlParent` | [.envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLParentExtraction](../graphql.proto.sk/#graphqlparentextraction) | Fetch value from the graphql_parent of the current field. Only one of `graphqlParent`, `graphqlArg`, or `typedProvider` can be set. | - - - - ---- -### JsonValueList - - - -```yaml -"values": []envoy.config.filter.http.graphql.v2.JsonValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `values` | [[]envoy.config.filter.http.graphql.v2.JsonValue](../graphql.proto.sk/#jsonvalue) | | - - - - ---- -### JsonValue - - - -```yaml -"node": .envoy.config.filter.http.graphql.v2.JsonNode -"valueProvider": .envoy.config.filter.http.graphql.v2.ValueProvider -"list": .envoy.config.filter.http.graphql.v2.JsonValueList - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `node` | [.envoy.config.filter.http.graphql.v2.JsonNode](../graphql.proto.sk/#jsonnode) | Only one of `node`, `valueProvider`, or `list` can be set. | -| `valueProvider` | [.envoy.config.filter.http.graphql.v2.ValueProvider](../graphql.proto.sk/#valueprovider) | Only one of `valueProvider`, `node`, or `list` can be set. | -| `list` | [.envoy.config.filter.http.graphql.v2.JsonValueList](../graphql.proto.sk/#jsonvaluelist) | Only one of `list`, `node`, or `valueProvider` can be set. | - - - - ---- -### JsonKeyValue - - - -```yaml -"key": string -"value": .envoy.config.filter.http.graphql.v2.JsonValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | PARTIALLY IMPLEMENTED if empty, the value will be parsed as json and replace the entire previously-parsed json value --> this part is only needed for gRPC and thus not implemented yet. | -| `value` | [.envoy.config.filter.http.graphql.v2.JsonValue](../graphql.proto.sk/#jsonvalue) | | - - - - ---- -### JsonNode - - -Represents a typed JSON structure - -```yaml -"keyValues": []envoy.config.filter.http.graphql.v2.JsonKeyValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `keyValues` | [[]envoy.config.filter.http.graphql.v2.JsonKeyValue](../graphql.proto.sk/#jsonkeyvalue) | if keys repeat, the latest one replaces any earlier values associated with that key. repeated list, rather than a map, to have ordering to allow for merge semantics within the data plane, for example: - gRPC input uses special empty string for input key to set entire body - gRPC wants to replace a certain field in parsed body from GraphQL arg. | - - - - ---- -### RequestTemplate - - -Defines a configuration for generating outgoing requests for a resolver. - -```yaml -"headers": map -"queryParams": map -"outgoingBody": .envoy.config.filter.http.graphql.v2.JsonValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headers` | `map` | Use this attribute to set request headers to your REST service. It consists of a map of strings to value providers. The string key determines the name of the resulting header, the value provided will be the value. at least need ":method" and ":path". | -| `queryParams` | `map` | Use this attribute to set query parameters to your REST service. It consists of a map of strings to value providers. The string key determines the name of the query param, the provided value will be the value. This value is appended to any value set to the :path header in `headers`. Interpolation is done in envoy rather than the control plane to prevent escaped character issues. Additionally, we may be providing values not known until the request is being executed (e.g., graphql parent info). | -| `outgoingBody` | [.envoy.config.filter.http.graphql.v2.JsonValue](../graphql.proto.sk/#jsonvalue) | implementation specific, gRPC will want gRPC message and struct to instantiate. | - - - - ---- -### ResponseTemplate - - -Defines a response transformation template. -modify JSON response from upstream before it is processed by execution engine. - -```yaml -"resultRoot": []envoy.config.filter.http.graphql.v2.PathSegment -"setters": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `resultRoot` | [[]envoy.config.filter.http.graphql.v2.PathSegment](../graphql.proto.sk/#pathsegment) | In cases where the data to populate the graphql type is not in the root object of the result, use result root to specify the path of the response we should use as the root. If {"a": {"b": [1,2,3]}} is the response from the api, setting resultroot as `a.b` will pass on [1,2,3] to the execution engine rather than the whole api response. | -| `setters` | `map` | Example: ``` type Query { getSimple: Simple } type Simple { name String address String }``` if we do `getsimple` and the response we get back from the upstream is ``` {"data": { "people": { "name": "John Doe", "details": { "address": "123 Turnip Rd" } } } } ``` the following response transform would let the graphql execution engine correctly marshal the upstream resposne into the expected graphql response: ` responseTransform: result_root: segments: - key: data - key: people setters: address: segments: - key: details - key: address `yaml. | - - - - ---- -### RESTResolver - - - -```yaml -"serverUri": .solo.io.envoy.config.core.v3.HttpUri -"requestTransform": .envoy.config.filter.http.graphql.v2.RequestTemplate -"preExecutionTransform": .envoy.config.filter.http.graphql.v2.ResponseTemplate -"spanName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `serverUri` | [.solo.io.envoy.config.core.v3.HttpUri](../../../config/core/v3/http_uri.proto.sk/#httpuri) | | -| `requestTransform` | [.envoy.config.filter.http.graphql.v2.RequestTemplate](../graphql.proto.sk/#requesttemplate) | configuration used to compose the outgoing request to a REST API. | -| `preExecutionTransform` | [.envoy.config.filter.http.graphql.v2.ResponseTemplate](../graphql.proto.sk/#responsetemplate) | pre-execution engine transformations Request flow: GraphQL request -> request_transform (instantiate REST request) -> REST API resp -> pre_execution_transform -> execution engine -> complete GraphQL field response. | -| `spanName` | `string` | | - - - - ---- -### GrpcRequestTemplate - - -Defines a configuration for generating outgoing requests for a resolver. - -```yaml -"outgoingMessageJson": .envoy.config.filter.http.graphql.v2.JsonValue -"serviceName": string -"methodName": string -"requestMetadata": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `outgoingMessageJson` | [.envoy.config.filter.http.graphql.v2.JsonValue](../graphql.proto.sk/#jsonvalue) | json representation of outgoing gRPC message to be sent to gRPC service. | -| `serviceName` | `string` | request has shape matching service with name registered in registry is the full_name(), e.g. main.Bookstore. | -| `methodName` | `string` | make request to method with this name on the grpc service defined above is just the name(), e.g. GetBook. | -| `requestMetadata` | `map` | in the future, we may want to make this a map once we know better what the use cases are. | - - - - ---- -### GrpcDescriptorRegistry - - -Defines a configuration for serializing and deserializing requests for a gRPC resolver. -Is a Schema Extension - -```yaml -"protoDescriptors": .solo.io.envoy.config.core.v3.DataSource - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `protoDescriptors` | [.solo.io.envoy.config.core.v3.DataSource](../../../config/core/v3/base.proto.sk/#datasource) | | - - - - ---- -### GrpcResolver - - - -```yaml -"serverUri": .solo.io.envoy.config.core.v3.HttpUri -"requestTransform": .envoy.config.filter.http.graphql.v2.GrpcRequestTemplate -"spanName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `serverUri` | [.solo.io.envoy.config.core.v3.HttpUri](../../../config/core/v3/http_uri.proto.sk/#httpuri) | | -| `requestTransform` | [.envoy.config.filter.http.graphql.v2.GrpcRequestTemplate](../graphql.proto.sk/#grpcrequesttemplate) | configuration used to compose the outgoing request to a gRPC endpoint. | -| `spanName` | `string` | pre-execution engine transformations Request flow: GraphQL request -> request_transform (instantiate gRPC request) -> gRPC API resp -> pre_execution_transform -> execution engine -> complete GraphQL field response ResponseTemplate pre_execution_transform = 3;. | - - - - ---- -### StaticResolver - - -Only meant for integration testing - -```yaml -"syncResponse": string -"asyncResponse": .envoy.config.filter.http.graphql.v2.StaticResolver.AsyncResponse -"errorResponse": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `syncResponse` | `string` | Responds synchronously (on the same dispatch loop as the resolve call). Only one of `syncResponse`, `asyncResponse`, or `errorResponse` can be set. | -| `asyncResponse` | [.envoy.config.filter.http.graphql.v2.StaticResolver.AsyncResponse](../graphql.proto.sk/#asyncresponse) | Responds asynchronously after delay_ms. Only one of `asyncResponse`, `syncResponse`, or `errorResponse` can be set. | -| `errorResponse` | `string` | Only one of `errorResponse`, `syncResponse`, or `asyncResponse` can be set. | - - - - ---- -### AsyncResponse - - - -```yaml -"response": string -"delayMs": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `response` | `string` | | -| `delayMs` | `int` | | - - - - ---- -### AbstractTypeResolver - - -NOT IMPLEMENTED -Resolve an abstract type (union or interface) to a real type. -When implemented, this message will be a field in the Resolution message. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### QueryMatcher - - - -```yaml -"fieldMatcher": .envoy.config.filter.http.graphql.v2.QueryMatcher.FieldMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `fieldMatcher` | [.envoy.config.filter.http.graphql.v2.QueryMatcher.FieldMatcher](../graphql.proto.sk/#fieldmatcher) | | - - - - ---- -### FieldMatcher - - - -```yaml -"type": string -"field": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `type` | `string` | Object type. For example, Query. | -| `field` | `string` | Field within the object. | - - - - ---- -### Resolution - - -This is the resolver map for the schema. -For each Type.Field, we can define a resolver. -if a field does not have resolver, the default resolver will be used. -the default resolver takes the field with the same name from the parent, and -uses that value to resolve the field. if a field with the same name does not -exist in the parent, null will be used. - -```yaml -"matcher": .envoy.config.filter.http.graphql.v2.QueryMatcher -"resolver": .solo.io.envoy.config.core.v3.TypedExtensionConfig -"statPrefix": string -"cacheControl": .envoy.config.filter.http.graphql.v2.CacheControl - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `matcher` | [.envoy.config.filter.http.graphql.v2.QueryMatcher](../graphql.proto.sk/#querymatcher) | Match an object type and field. | -| `resolver` | [.solo.io.envoy.config.core.v3.TypedExtensionConfig](../../../config/core/v3/extension.proto.sk/#typedextensionconfig) | The resolver to use. | -| `statPrefix` | `string` | The stats prefix which will be used for this resolver. | -| `cacheControl` | [.envoy.config.filter.http.graphql.v2.CacheControl](../graphql.proto.sk/#cachecontrol) | caching configuration, defaults to no caching. | - - - - ---- -### CacheControl - - -Resolvers for scalar, non-root fields rarely fetch data and instead usually populate data via the parent argument. -Consequently, these fields inherit their default maxAge from their parent to reduce schema clutter. - -TODO: Talk with product -- apollo does not do this, but we could factor in upstream Cache-Control header -response into our inheritance model. - -```yaml -"maxAge": .google.protobuf.UInt32Value -"scope": .envoy.config.filter.http.graphql.v2.CacheControl.CacheControlScope -"inheritMaxAge": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `maxAge` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | number of seconds to cache result for. the max_age used for a single graphql request is the minimum of all fields requested. default max_age rules work as follows: - root fields (i.e. Query, Mutation, Subscription) default to 0s - non-root, non-scalar fields (i.e. object, interface, or union; or a list of those types) default to 0s - all other fields inherit the max_age from their parent. | -| `scope` | [.envoy.config.filter.http.graphql.v2.CacheControl.CacheControlScope](../graphql.proto.sk/#cachecontrolscope) | provide controls to which users can access cached content. | -| `inheritMaxAge` | `bool` | whether or not to inherit the caching configuration of any parent fields. | - - - - ---- -### CacheControlScope - - - -| Name | Description | -| ----- | ----------- | -| `UNSET` | | -| `PUBLIC` | Responses for requests with Authorization header fields must not be stored in a shared cache. But the public directive will cause such responses to be stored in a shared cache. In general, when pages are under Basic Auth or Digest Auth, the browser sends requests with the Authorization header. That means the response is access-controlled for restricted users (who have accounts), and it's fundamentally not shared-cacheable, even if it has max-age. You can use the public directive to unlock that restriction. | -| `PRIVATE` | You should add the private directive for user-personalized content — in particular, responses received after login, and sessions managed via cookies. If you forget to add private to a response with personalized content, then that response can be stored in a shared cache and end up being reused for multiple users, which can cause personal information to leak. | - - - - ---- -### GraphQLConfig - - -Filter Listener config. Empty as the filter must be configured on the route -level. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### GraphQLRouteConfig - - -Filter Route config. Routes that have this config will execute graphql -queries, and will not make it to the router filter. i.e. this filter will -terminate the request for these routes. - -```yaml -"executableSchema": .envoy.config.filter.http.graphql.v2.ExecutableSchema -"statPrefix": string -"persistedQueryCacheConfig": .envoy.config.filter.http.graphql.v2.PersistedQueryCacheConfig -"allowedQueryHashes": []string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `executableSchema` | [.envoy.config.filter.http.graphql.v2.ExecutableSchema](../graphql.proto.sk/#executableschema) | | -| `statPrefix` | `string` | The stats prefix which will be used for this route config. | -| `persistedQueryCacheConfig` | [.envoy.config.filter.http.graphql.v2.PersistedQueryCacheConfig](../graphql.proto.sk/#persistedquerycacheconfig) | Configuration settings for persisted query cache. | -| `allowedQueryHashes` | `[]string` | Safelist: only allow queries to be executed that match these sha256 hashes. The hash can be computed from the query string or provided (i.e. persisted queries). | - - - - ---- -### PersistedQueryCacheConfig - - -This message specifies Persisted Query Cache configuration. - -```yaml -"cacheSize": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `cacheSize` | `int` | The unit is number of queries to store, default to 1000. | - - - - ---- -### ExecutableSchema - - - -```yaml -"schemaDefinition": .solo.io.envoy.config.core.v3.DataSource -"executor": .envoy.config.filter.http.graphql.v2.Executor -"extensions": map -"logRequestResponseInfo": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `schemaDefinition` | [.solo.io.envoy.config.core.v3.DataSource](../../../config/core/v3/base.proto.sk/#datasource) | Schema to use in string format. | -| `executor` | [.envoy.config.filter.http.graphql.v2.Executor](../graphql.proto.sk/#executor) | how to execute the schema. | -| `extensions` | `map` | Schema extensions. | -| `logRequestResponseInfo` | `bool` | Logs request / response sensitive information By default, this is false so no request or response sensitive information is logged. | - - - - ---- -### Executor - - - -```yaml -"local": .envoy.config.filter.http.graphql.v2.Executor.Local -"remote": .envoy.config.filter.http.graphql.v2.Executor.Remote - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `local` | [.envoy.config.filter.http.graphql.v2.Executor.Local](../graphql.proto.sk/#local) | Only one of `local` or `remote` can be set. | -| `remote` | [.envoy.config.filter.http.graphql.v2.Executor.Remote](../graphql.proto.sk/#remote) | Only one of `remote` or `local` can be set. | - - - - ---- -### Local - - -Execute schema using resolvers. - -```yaml -"resolutions": []envoy.config.filter.http.graphql.v2.Resolution -"enableIntrospection": bool -"maxDepth": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `resolutions` | [[]envoy.config.filter.http.graphql.v2.Resolution](../graphql.proto.sk/#resolution) | The resolver map to use to resolve the schema. | -| `enableIntrospection` | `bool` | Do we enable introspection for the schema? general recommendation is to disable this for production and hence it defaults to false. | -| `maxDepth` | `int` | The max amount of nesting a query can be executed against this schema. e.g. the following query has these depths: query { # Depth: 0 me { # Depth: 1 friends { # Depth: 2 friends # Depth: 3 } } } If the max_depth is set to 2, then the query at depth 3 will receive an error as a response. The max_depth value of 0 (set by default) will allow an unbounded query depth. | - - - - ---- -### Remote - - -Execute schema by querying a graphql upstream. - -```yaml -"serverUri": .solo.io.envoy.config.core.v3.HttpUri -"request": .envoy.config.filter.http.graphql.v2.Executor.Remote.RemoteSchemaRequest -"spanName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `serverUri` | [.solo.io.envoy.config.core.v3.HttpUri](../../../config/core/v3/http_uri.proto.sk/#httpuri) | Server URI of the remote graphql cluster. | -| `request` | [.envoy.config.filter.http.graphql.v2.Executor.Remote.RemoteSchemaRequest](../graphql.proto.sk/#remoteschemarequest) | | -| `spanName` | `string` | | - - - - ---- -### Extraction - - - -```yaml -"value": string -"header": string -"dynamicMetadata": .envoy.config.filter.http.graphql.v2.Executor.Remote.Extraction.DynamicMetadataExtraction - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `value` | `string` | Set the extraction type to use a static value. Only one of `value`, `header`, or `dynamicMetadata` can be set. | -| `header` | `string` | Set the extraction type to use a header value. Specify the name of the header to extract the value from on the original request. Only one of `header`, `value`, or `dynamicMetadata` can be set. | -| `dynamicMetadata` | [.envoy.config.filter.http.graphql.v2.Executor.Remote.Extraction.DynamicMetadataExtraction](../graphql.proto.sk/#dynamicmetadataextraction) | Set the extraction type to use a dynamic metadata value. Only one of `dynamicMetadata`, `value`, or `header` can be set. | - - - - ---- -### DynamicMetadataExtraction - - - -```yaml -"metadataNamespace": string -"key": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `metadataNamespace` | `string` | The namespace that the dynamic metadata is stored in. | -| `key` | `string` | The key in the namespace that the dynamic metadata is stored under. | - - - - ---- -### RemoteSchemaRequest - - - -```yaml -"headers": map -"queryParams": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headers` | `map` | Map of headers to header value which will be included in the request to the remote graphql server. | -| `queryParams` | `map` | Query params to set on the request to the remote graphql server. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto.sk.md deleted file mode 100644 index 3583f6de550..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto.sk.md +++ /dev/null @@ -1,249 +0,0 @@ - ---- -title: "stitching.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.resolver.stitching.v2` -#### Types: - - -- [FieldNode](#fieldnode) -- [FieldNodeMap](#fieldnodemap) -- [FieldNodes](#fieldnodes) -- [ResolverConfig](#resolverconfig) -- [Schemas](#schemas) -- [ArgPath](#argpath) -- [ResolverInfo](#resolverinfo) -- [MergedTypeConfig](#mergedtypeconfig) -- [StitchingInfo](#stitchinginfo) -- [SubschemaConfig](#subschemaconfig) -- [StitchingResolver](#stitchingresolver) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto) - - - - - ---- -### FieldNode - - - -```yaml -"name": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | | - - - - ---- -### FieldNodeMap - - - -```yaml -"nodes": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `nodes` | `map` | | - - - - ---- -### FieldNodes - - - -```yaml -"fieldNodes": []envoy.config.resolver.stitching.v2.FieldNode - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `fieldNodes` | [[]envoy.config.resolver.stitching.v2.FieldNode](../stitching.proto.sk/#fieldnode) | | - - - - ---- -### ResolverConfig - - - -```yaml -"selectionSet": string -"fieldName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `selectionSet` | `string` | | -| `fieldName` | `string` | | - - - - ---- -### Schemas - - - -```yaml -"schemas": []string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `schemas` | `[]string` | | - - - - ---- -### ArgPath - - - -```yaml -"setterPath": []string -"extractionPath": []string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `setterPath` | `[]string` | Setter Path. | -| `extractionPath` | `[]string` | Extraction path. | - - - - ---- -### ResolverInfo - - - -```yaml -"fieldName": string -"args": []envoy.config.resolver.stitching.v2.ArgPath - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `fieldName` | `string` | | -| `args` | [[]envoy.config.resolver.stitching.v2.ArgPath](../stitching.proto.sk/#argpath) | | - - - - ---- -### MergedTypeConfig - - - -```yaml -"typeName": string -"selectionSets": map -"uniqueFieldsToSubschemaName": map -"nonUniqueFieldsToSubschemaNames": map -"declarativeTargetSubschemas": map -"subschemaNameToResolverInfo": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `typeName` | `string` | | -| `selectionSets` | `map` | map of subschema name to selection set string e.g. name_subschema: '{ id }'. | -| `uniqueFieldsToSubschemaName` | `map` | field name -> scema name. | -| `nonUniqueFieldsToSubschemaNames` | `map` | | -| `declarativeTargetSubschemas` | `map` | schema -> subschemas. | -| `subschemaNameToResolverInfo` | `map` | | - - - - ---- -### StitchingInfo - - -Data plane stitching info extension message - -```yaml -"fieldNodesByType": map -"fieldNodesByField": map -"mergedTypes": map -"subschemaNameToSubschemaConfig": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `fieldNodesByType` | `map` | | -| `fieldNodesByField` | `map` | | -| `mergedTypes` | `map` | | -| `subschemaNameToSubschemaConfig` | `map` | | - - - - ---- -### SubschemaConfig - - - -```yaml -"executableSchema": .envoy.config.filter.http.graphql.v2.ExecutableSchema - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `executableSchema` | [.envoy.config.filter.http.graphql.v2.ExecutableSchema](../graphql.proto.sk/#executableschema) | | - - - - ---- -### StitchingResolver - - -Config for the stitching resolver - -```yaml -"subschemaName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `subschemaName` | `string` | Each query field comes from a specific subschema, this is the name of the subschema that the query field comes from. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto.sk.md deleted file mode 100644 index 3609817cc99..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto.sk.md +++ /dev/null @@ -1,48 +0,0 @@ - ---- -title: "http_path.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.health_checker.http_path.v2` -#### Types: - - -- [HttpPath](#httppath) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto) - - - - - ---- -### HttpPath - - -Same as HTTP health checker, but allows a custom path per endpoint -The http path to use can be overriden using endpoint metadata. The endpoint specific path should -be in the "io.solo.health_checkers.http_path" namespace, under a string value named "path". - -```yaml -"httpHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `httpHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck](../../../config/core/v3/health_check.proto.sk/#httphealthcheck) | Http health check. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto.sk.md deleted file mode 100644 index 6137ebc9601..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto.sk.md +++ /dev/null @@ -1,131 +0,0 @@ - ---- -title: "solo_jwt_authn.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.solo_jwt_authn.v2` -#### Types: - - -- [JwtWithStage](#jwtwithstage) -- [SoloJwtAuthnPerRoute](#solojwtauthnperroute) -- [ClaimToHeader](#claimtoheader) -- [ClaimToHeaders](#claimtoheaders) -- [StagedJwtAuthnPerRoute](#stagedjwtauthnperroute) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto) - - - - - ---- -### JwtWithStage - - - -```yaml -"jwtAuthn": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication -"stage": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `jwtAuthn` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication](../../filters/http/jwt_authn/v3/config.proto.sk/#jwtauthentication) | The JwtAuthentication config for this filter. | -| `stage` | `int` | Only SoloJwtAuthnPerRoute.JwtAuthnPerRoute with matching stage will be used with this filter. | - - - - ---- -### SoloJwtAuthnPerRoute - - - -```yaml -"requirement": string -"claimsToHeaders": map -"clearRouteCache": bool -"payloadInMetadata": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requirement` | `string` | | -| `claimsToHeaders` | `map` | Copy the claims from the payload field is the key. non-existant fields are ignored. | -| `clearRouteCache` | `bool` | clear the route cache if claims were added to the header. | -| `payloadInMetadata` | `string` | To easly integrate with other filters, this will copy the payload to this name in the dynamic metadata. The payload will only be copied if one payload is present (i.e. or match). | - - - - ---- -### ClaimToHeader - - -If this is specified, one of the claims will be copied to a header -and the route cache will be cleared. - -```yaml -"claim": string -"header": string -"append": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `claim` | `string` | | -| `header` | `string` | | -| `append` | `bool` | | - - - - ---- -### ClaimToHeaders - - - -```yaml -"claims": []envoy.config.filter.http.solo_jwt_authn.v2.SoloJwtAuthnPerRoute.ClaimToHeader - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `claims` | [[]envoy.config.filter.http.solo_jwt_authn.v2.SoloJwtAuthnPerRoute.ClaimToHeader](../solo_jwt_authn.proto.sk/#claimtoheader) | | - - - - ---- -### StagedJwtAuthnPerRoute - - - -```yaml -"jwtConfigs": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `jwtConfigs` | `map` | Map from stage number to jwt config This jwt config will only be processed by filters with the same stage number. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/network/dns_resolver/apple/v3/apple_dns_resolver.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/network/dns_resolver/apple/v3/apple_dns_resolver.proto.sk.md deleted file mode 100644 index d425f4a0bd8..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/network/dns_resolver/apple/v3/apple_dns_resolver.proto.sk.md +++ /dev/null @@ -1,44 +0,0 @@ - ---- -title: "apple_dns_resolver.proto" -weight: 5 ---- - - - - -### Package: `solo.io.extensions.network.dns_resolver.apple.v3` -#### Types: - - -- [AppleDnsResolverConfig](#applednsresolverconfig) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/network/dns_resolver/apple/v3/apple_dns_resolver.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/network/dns_resolver/apple/v3/apple_dns_resolver.proto) - - - - - ---- -### AppleDnsResolverConfig - - -Configuration for apple DNS resolver. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/network/dns_resolver/cares/v3/cares_dns_resolver.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/network/dns_resolver/cares/v3/cares_dns_resolver.proto.sk.md deleted file mode 100644 index c5a1b2a20ca..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/network/dns_resolver/cares/v3/cares_dns_resolver.proto.sk.md +++ /dev/null @@ -1,48 +0,0 @@ - ---- -title: "cares_dns_resolver.proto" -weight: 5 ---- - - - - -### Package: `solo.io.extensions.network.dns_resolver.cares.v3` -#### Types: - - -- [CaresDnsResolverConfig](#caresdnsresolverconfig) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/network/dns_resolver/cares/v3/cares_dns_resolver.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/network/dns_resolver/cares/v3/cares_dns_resolver.proto) - - - - - ---- -### CaresDnsResolverConfig - - -Configuration for c-ares DNS resolver. - -```yaml -"resolvers": []solo.io.envoy.config.core.v3.Address -"dnsResolverOptions": .solo.io.config.core.v3.DnsResolverOptions - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `resolvers` | [[]solo.io.envoy.config.core.v3.Address](../../../../../../config/core/v3/address.proto.sk/#address) | A list of dns resolver addresses. :ref:`use_resolvers_as_fallback` below dictates if the DNS client should override system defaults or only use the provided resolvers if the system defaults are not available, i.e., as a fallback. | -| `dnsResolverOptions` | [.solo.io.config.core.v3.DnsResolverOptions](../../../../../../config/core/v3/resolver.proto.sk/#dnsresolveroptions) | Configuration of DNS resolver option flags which control the behavior of the DNS resolver. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto.sk.md deleted file mode 100644 index 9a433b33418..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto.sk.md +++ /dev/null @@ -1,83 +0,0 @@ - ---- -title: "proxylatency.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.proxylatency.v2` -#### Types: - - -- [ProxyLatency](#proxylatency) -- [Measurement](#measurement) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto) - - - - - ---- -### ProxyLatency - - -Configure the proxy latency filter. This filter measures the latency -incurred by the filter chain in a histogram. -The filter fields are similar to the settings for [`COMMON_DURATION`](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage.html), -introduced in Envoy 1.31. -The filter also emits the following additional dynamic metadata fields, -which you can use to augment the existing upstream options for access logging: -- request_out_internal: first_byte_processed_millis -- request_out: firstUpstreamTxByteSent -- response_out: firstDownstreamTxByteSent - -```yaml -"request": .envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement -"measureRequestInternally": bool -"response": .envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement -"chargeClusterStat": .google.protobuf.BoolValue -"chargeListenerStat": .google.protobuf.BoolValue -"emitDynamicMetadata": .google.protobuf.BoolValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `request` | [.envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement](../proxylatency.proto.sk/#measurement) | How to measure the request. Affects the output stats. Does not affect metadata. | -| `measureRequestInternally` | `bool` | When FIRST_OUTGOING (i.e. LAST_INCOMING_FIRST_OUTGOING or FIRST_INCOMING_FIRST_OUTGOING) is instead of when the first byte is sent upstream. This has the advantage of not measuring the time selected for request measurment, finish measuring proxy latency when decodeHeader for this it takes a connection to form, which may skew the P99. filter is hit instead of when the first byte is sent upstream. This has the advantage of not for this to work the filter should be inserted last, just before the router filter. measuring the time it takes a connection to form, which may skew the P99. For this to work this filter should be inserted last, just before the router filter. This has no effect if other measurement type is selected, and has no effect on how response is measured. | -| `response` | [.envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement](../proxylatency.proto.sk/#measurement) | How measure the response. | -| `chargeClusterStat` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Charge a stat per upstream cluster. If not specified, defaults to true. | -| `chargeListenerStat` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Charge a stat per listener. If not specified, defaults to true. | -| `emitDynamicMetadata` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Whether request timing is emitted to dynamic metadata. If enabled, defaults to true. | - - - - ---- -### Measurement - - -How to perform the latency measurement. Given an incoming request from downstream and -outging request to upstream; or incoming response from upstream and outgoing repsonse to -downstream, This outlines how to measure the latency used by the proxy. - -| Name | Description | -| ----- | ----------- | -| `LAST_INCOMING_FIRST_OUTGOING` | Count from the last byte of the incoming request\response to the first byte of the outgoing request\response. | -| `FIRST_INCOMING_FIRST_OUTGOING` | Count from the first byte of the incoming request\response to the first byte of the outgoing request\response. | -| `LAST_INCOMING_LAST_OUTGOING` | Count from the last byte of the incoming request\response to the last byte of the outgoing request\response. | -| `FIRST_INCOMING_LAST_OUTGOING` | Count from the first byte of the incoming request\response to the last byte of the outgoing request\response. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxyprotocol/proxyprotocol.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxyprotocol/proxyprotocol.proto.sk.md deleted file mode 100644 index f16712df010..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxyprotocol/proxyprotocol.proto.sk.md +++ /dev/null @@ -1,90 +0,0 @@ - ---- -title: "proxyprotocol.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.listener.proxy_protocol.v3` -#### Types: - - -- [CustomProxyProtocol](#customproxyprotocol) -- [KeyValuePair](#keyvaluepair) -- [Rule](#rule) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxyprotocol/proxyprotocol.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/proxyprotocol/proxyprotocol.proto) - - - - - ---- -### CustomProxyProtocol - - - -```yaml -"rules": []envoy.config.listener.proxy_protocol.v3.CustomProxyProtocol.Rule -"allowRequestsWithoutProxyProtocol": bool -"passThroughTlvs": .solo.io.envoy.config.core.v3.ProxyProtocolPassThroughTLVs - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `rules` | [[]envoy.config.listener.proxy_protocol.v3.CustomProxyProtocol.Rule](../proxyprotocol.proto.sk/#rule) | The list of rules to apply to requests. | -| `allowRequestsWithoutProxyProtocol` | `bool` | Allow requests through that don't use proxy protocol. Defaults to false. .. attention:: This breaks conformance with the specification. Only enable if ALL traffic to the listener comes from a trusted source. For more information on the security implications of this feature, see https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt. | -| `passThroughTlvs` | [.solo.io.envoy.config.core.v3.ProxyProtocolPassThroughTLVs](../../../../../../../../../../../envoy/config/core/v3/proxy_protocol.proto.sk/#proxyprotocolpassthroughtlvs) | This config controls which TLVs can be passed to filter state if it is Proxy Protocol V2 header. If there is no setting for this field, no TLVs will be passed through. .. note:: If this is configured, you likely also want to set :ref:`core.v3.ProxyProtocolConfig.pass_through_tlvs `, which controls pass-through for the upstream. | - - - - ---- -### KeyValuePair - - - -```yaml -"metadataNamespace": string -"key": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `metadataNamespace` | `string` | The namespace — if this is empty, the filter's namespace will be used. | -| `key` | `string` | The key to use within the namespace. | - - - - ---- -### Rule - - -A Rule defines what metadata to apply when a header is present or missing. - -```yaml -"tlvType": int -"onTlvPresent": .envoy.config.listener.proxy_protocol.v3.CustomProxyProtocol.KeyValuePair - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `tlvType` | `int` | The type that triggers the rule - required TLV type is defined as uint8_t in proxy protocol. See `the spec `_ for details. | -| `onTlvPresent` | [.envoy.config.listener.proxy_protocol.v3.CustomProxyProtocol.KeyValuePair](../proxyprotocol.proto.sk/#keyvaluepair) | If the TLV type is present, apply this metadata KeyValuePair. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/span_decorators/span_decorators.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/span_decorators/span_decorators.proto.sk.md deleted file mode 100644 index e5e78cf4395..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/span_decorators/span_decorators.proto.sk.md +++ /dev/null @@ -1,44 +0,0 @@ - ---- -title: "span_decorators.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.span_decorators.v3` -#### Types: - - -- [SpanDecorators](#spandecorators) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/span_decorators/span_decorators.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/span_decorators/span_decorators.proto) - - - - - ---- -### SpanDecorators - - -Envoy filter configuration for the SpanDecorator plugin - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md deleted file mode 100644 index 2803f9270be..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md +++ /dev/null @@ -1,547 +0,0 @@ - ---- -title: "transformation.proto" -weight: 5 ---- - - - - -### Package: `envoy.api.v2.filter.http` -#### Types: - - -- [FilterTransformations](#filtertransformations) -- [TransformationRule](#transformationrule) -- [Transformations](#transformations) -- [RouteTransformations](#routetransformations) -- [RouteTransformation](#routetransformation) -- [RequestMatch](#requestmatch) -- [ResponseMatch](#responsematch) -- [ResponseMatcher](#responsematcher) -- [ResponseTransformationRule](#responsetransformationrule) -- [Transformation](#transformation) -- [Extraction](#extraction) -- [Mode](#mode) -- [TransformationTemplate](#transformationtemplate) -- [HeaderToAppend](#headertoappend) -- [DynamicMetadataValue](#dynamicmetadatavalue) -- [SpanTransformer](#spantransformer) -- [RequestBodyParse](#requestbodyparse) -- [InjaTemplate](#injatemplate) -- [Passthrough](#passthrough) -- [MergeExtractorsToBody](#mergeextractorstobody) -- [MergeJsonKeys](#mergejsonkeys) -- [OverridableTemplate](#overridabletemplate) -- [HeaderBodyTransform](#headerbodytransform) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto) - - - - - ---- -### FilterTransformations - - - -```yaml -"transformations": []envoy.api.v2.filter.http.TransformationRule -"stage": int -"logRequestResponseInfo": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `transformations` | [[]envoy.api.v2.filter.http.TransformationRule](../transformation.proto.sk/#transformationrule) | Specifies transformations based on the route matches. The first matched transformation will be applied. If there are overlapped match conditions, please put the most specific match first. | -| `stage` | `int` | Only RouteTransformations.RouteTransformation with matching stage will be used with this filter. | -| `logRequestResponseInfo` | `bool` | Logs request/response sensitive information By default, this is false so no request or response sensitive information is logged. If set to true, the filter will log the request/response body and headers before and after any transformation is applied. | - - - - ---- -### TransformationRule - - - -```yaml -"match": .solo.io.envoy.config.route.v3.RouteMatch -"routeTransformations": .envoy.api.v2.filter.http.TransformationRule.Transformations - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `match` | [.solo.io.envoy.config.route.v3.RouteMatch](../../../config/route/v3/route_components.proto.sk/#routematch) | The route matching parameter. Only when the match is satisfied, the "requires" field will apply. For example: following match will match all requests. .. code-block:: yaml match: prefix: /. | -| `routeTransformations` | [.envoy.api.v2.filter.http.TransformationRule.Transformations](../transformation.proto.sk/#transformations) | transformation to perform. | - - - - ---- -### Transformations - - - -```yaml -"requestTransformation": .envoy.api.v2.filter.http.Transformation -"clearRouteCache": bool -"responseTransformation": .envoy.api.v2.filter.http.Transformation -"onStreamCompletionTransformation": .envoy.api.v2.filter.http.Transformation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requestTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | Apply a transformation to requests. | -| `clearRouteCache` | `bool` | Clear the route cache if the request transformation was applied. | -| `responseTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | Apply a transformation to responses. | -| `onStreamCompletionTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | Apply a transformation in the onStreamComplete callback (for modifying headers and dynamic metadata for access logs). | - - - - ---- -### RouteTransformations - - - -```yaml -"requestTransformation": .envoy.api.v2.filter.http.Transformation -"responseTransformation": .envoy.api.v2.filter.http.Transformation -"clearRouteCache": bool -"transformations": []envoy.api.v2.filter.http.RouteTransformations.RouteTransformation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requestTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | deprecated. Use transformations[].request_match.request_transformation instead. | -| `responseTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | deprecated. Use transformations[].request_match.response_transformation instead. | -| `clearRouteCache` | `bool` | deprecated. Use transformations[].request_match.clear_route_cache instead. | -| `transformations` | [[]envoy.api.v2.filter.http.RouteTransformations.RouteTransformation](../transformation.proto.sk/#routetransformation) | | - - - - ---- -### RouteTransformation - - - -```yaml -"stage": int -"requestMatch": .envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.RequestMatch -"responseMatch": .envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.ResponseMatch - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `stage` | `int` | Stage number. This transformation will only be processed by filters with the same stage number. | -| `requestMatch` | [.envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.RequestMatch](../transformation.proto.sk/#requestmatch) | Only one of `requestMatch` or `responseMatch` can be set. | -| `responseMatch` | [.envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.ResponseMatch](../transformation.proto.sk/#responsematch) | Only one of `responseMatch` or `requestMatch` can be set. | - - - - ---- -### RequestMatch - - - -```yaml -"match": .solo.io.envoy.config.route.v3.RouteMatch -"requestTransformation": .envoy.api.v2.filter.http.Transformation -"responseTransformation": .envoy.api.v2.filter.http.Transformation -"clearRouteCache": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `match` | [.solo.io.envoy.config.route.v3.RouteMatch](../../../config/route/v3/route_components.proto.sk/#routematch) | if no match is specified, will match all. | -| `requestTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | transformation to perform. | -| `responseTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | | -| `clearRouteCache` | `bool` | clear the route cache if the request transformation was applied. | - - - - ---- -### ResponseMatch - - - -```yaml -"match": .envoy.api.v2.filter.http.ResponseMatcher -"responseTransformation": .envoy.api.v2.filter.http.Transformation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `match` | [.envoy.api.v2.filter.http.ResponseMatcher](../transformation.proto.sk/#responsematcher) | | -| `responseTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | transformation to perform. | - - - - ---- -### ResponseMatcher - - - -```yaml -"headers": []solo.io.envoy.config.route.v3.HeaderMatcher -"responseCodeDetails": .solo.io.envoy.type.matcher.v3.StringMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headers` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../../../config/route/v3/route_components.proto.sk/#headermatcher) | Specifies a set of headers that the route should match on. The router will check the response headers against all the specified headers in the route config. A match will happen if all the headers in the route are present in the request with the same values (or based on presence if the value field is not in the config). | -| `responseCodeDetails` | [.solo.io.envoy.type.matcher.v3.StringMatcher](../../../type/matcher/v3/string.proto.sk/#stringmatcher) | Only match responses with non empty response code details (this usually implies a local reply). | - - - - ---- -### ResponseTransformationRule - - - -```yaml -"match": .envoy.api.v2.filter.http.ResponseMatcher -"responseTransformation": .envoy.api.v2.filter.http.Transformation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `match` | [.envoy.api.v2.filter.http.ResponseMatcher](../transformation.proto.sk/#responsematcher) | | -| `responseTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | transformation to perform. | - - - - ---- -### Transformation - - -This message defines a transformation. -This proto is for envoy filter config, not user-facing API. - -```yaml -"transformationTemplate": .envoy.api.v2.filter.http.TransformationTemplate -"headerBodyTransform": .envoy.api.v2.filter.http.HeaderBodyTransform -"transformerConfig": .solo.io.envoy.config.core.v3.TypedExtensionConfig -"logRequestResponseInfo": .google.protobuf.BoolValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `transformationTemplate` | [.envoy.api.v2.filter.http.TransformationTemplate](../transformation.proto.sk/#transformationtemplate) | Apply transformation templates. Only one of `transformationTemplate`, `headerBodyTransform`, or `transformerConfig` can be set. | -| `headerBodyTransform` | [.envoy.api.v2.filter.http.HeaderBodyTransform](../transformation.proto.sk/#headerbodytransform) | This type of transformation will make all the headers available in the response body. The resulting JSON body will consist of two attributes: 'headers', containing the headers, and 'body', containing the original body. Only one of `headerBodyTransform`, `transformationTemplate`, or `transformerConfig` can be set. | -| `transformerConfig` | [.solo.io.envoy.config.core.v3.TypedExtensionConfig](../../../config/core/v3/extension.proto.sk/#typedextensionconfig) | Configuration for an externally implemented transformer, used by envoy transformation filter. Only one of `transformerConfig`, `transformationTemplate`, or `headerBodyTransform` can be set. | -| `logRequestResponseInfo` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Logs request/response sensitive information By default, this is false so no request or response sensitive information is logged. If set to true, the filter will log the request/response body and headers before and after this transformation is applied. | - - - - ---- -### Extraction - - -Extractions can be used to extract information from the request/response. -The extracted information can then be referenced in template fields. - -```yaml -"header": string -"body": .google.protobuf.Empty -"regex": string -"subgroup": int -"replacementText": .google.protobuf.StringValue -"mode": .envoy.api.v2.filter.http.Extraction.Mode - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `header` | `string` | Extract information from headers. Only one of `header` or `body` can be set. | -| `body` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | Extract information from the request/response body. Only one of `body` or `header` can be set. | -| `regex` | `string` | The regex field specifies the regular expression used for matching against the source content. - In EXTRACT mode, the entire source must match the regex. `subgroup` selects the n-th capturing group, which determines the part of the match that you want to extract. If the regex does not match the source, the result of the extraction will be an empty value. - In SINGLE_REPLACE mode, the regex also needs to match the entire source. `subgroup` selects the n-th capturing group that is replaced with the content of `replacement_text`. If the regex does not match the source, the result of the replacement will be the source itself. - In REPLACE_ALL mode, the regex is applied repeatedly to find all occurrences within the source that match. Each matching occurrence is replaced with the value in `replacement_text`. In this mode, the configuration is rejected if `subgroup` is set. If the regex does not match the source, the result of the replacement will be the source itself. | -| `subgroup` | `int` | If your regex contains capturing groups, use this field to determine the group that you want to select. Defaults to 0. If set in `EXTRACT` and `SINGLE_REPLACE` modes, the subgroup represents the capturing group that you want to extract or replace in the source. The configuration is rejected if you set subgroup to a non-zero value when using thev `REPLACE_ALL` mode. | -| `replacementText` | [.google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/string-value) | The value `replacement_text` is used to format the substitution for matched sequences in in an input string. This value is only legal in `SINGLE_REPLACE` and `REPLACE_ALL` modes. - In `SINGLE_REPLACE` mode, the `subgroup` selects the n-th capturing group, which represents the value that you want to replace with the string provided in `replacement_text`. - In `REPLACE_ALL` mode, each sequence that matches the specified regex in the input is replaced with the value in`replacement_text`. The `replacement_text` can include special syntax, such as $1, $2, etc., to refer to capturing groups within the regular expression. The value that is specified in `replacement_text` is treated as a string, and is passed to `std::regex_replace` as the replacement string. For more informatino, see https://en.cppreference.com/w/cpp/regex/regex_replace. | -| `mode` | [.envoy.api.v2.filter.http.Extraction.Mode](../transformation.proto.sk/#mode) | The mode of operation for the extraction. Defaults to EXTRACT. | - - - - ---- -### Mode - - -The mode of operation for the extraction. - -| Name | Description | -| ----- | ----------- | -| `EXTRACT` | Default mode. Extract the content of a specified capturing group. In this mode, `subgroup` selects the n-th capturing group, which represents the value that you want to extract. | -| `SINGLE_REPLACE` | Replace the content of a specified capturing group. In this mode, `subgroup` selects the n-th capturing group, which represents the value that you want to replace with the string provided in `replacement_text`. Note: `replacement_text` must be set for this mode. | -| `REPLACE_ALL` | Replace all regex matches with the value provided in `replacement_text`. Note: `replacement_text` must be set for this mode. Note: The configuration fails if `subgroup` is set to a non-zero value. Note: restrictions on the regex are different for this mode. See the regex field for more details. | - - - - ---- -### TransformationTemplate - - -Defines a transformation template. - -```yaml -"advancedTemplates": bool -"extractors": map -"headers": map -"headersToAppend": []envoy.api.v2.filter.http.TransformationTemplate.HeaderToAppend -"headersToRemove": []string -"body": .envoy.api.v2.filter.http.InjaTemplate -"passthrough": .envoy.api.v2.filter.http.Passthrough -"mergeExtractorsToBody": .envoy.api.v2.filter.http.MergeExtractorsToBody -"mergeJsonKeys": .envoy.api.v2.filter.http.MergeJsonKeys -"parseBodyBehavior": .envoy.api.v2.filter.http.TransformationTemplate.RequestBodyParse -"ignoreErrorOnParse": bool -"dynamicMetadataValues": []envoy.api.v2.filter.http.TransformationTemplate.DynamicMetadataValue -"escapeCharacters": bool -"spanTransformer": .envoy.api.v2.filter.http.TransformationTemplate.SpanTransformer - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `advancedTemplates` | `bool` | If set to true, use JSON pointer notation (e.g. "time/start") instead of dot notation (e.g. "time.start") to access JSON elements. Defaults to false. Please note that, if set to 'true', you will need to use the `extraction` function to access extractors in the template (e.g. '{{ extraction("my_extractor") }}'); if the default value of 'false' is used, extractors will simply be available by their name (e.g. '{{ my_extractor }}'). | -| `extractors` | `map` | Use this attribute to extract information from the request. It consists of a map of strings to extractors. The extractor will defines which information will be extracted, while the string key will provide the extractor with a name. You can reference extractors by their name in templates, e.g. "{{ my-extractor }}" will render to the value of the "my-extractor" extractor. | -| `headers` | `map` | Use this attribute to transform request/response headers. It consists of a map of strings to templates. The string key determines the name of the resulting header, the rendered template will determine the value. Any existing headers with the same header name will be replaced by the transformed header. If a header name is included in `headers` and `headers_to_append`, it will first be replaced the template in `headers`, then additional header values will be appended by the templates defined in `headers_to_append`. For example, the following header transformation configuration: ```yaml headers: x-header-one: {"text": "first {{inja}} template"} x-header-one: {"text": "second {{inja}} template"} headersToAppend: - key: x-header-one value: {"text": "first appended {{inja}} template"} - key: x-header-one value: {"text": "second appended {{inja}} template"} ``` will result in the following headers on the HTTP message: ``` x-header-one: first inja template x-header-one: first appended inja template x-header-one: second appended inja template ```. | -| `headersToAppend` | [[]envoy.api.v2.filter.http.TransformationTemplate.HeaderToAppend](../transformation.proto.sk/#headertoappend) | Use this attribute to transform request/response headers. It consists of an array of string/template objects. Use this attribute to define multiple templates for a single header. Header template(s) defined here will be appended to any existing headers with the same header name, not replace existing ones. See `headers` documentation to see an example of usage. | -| `headersToRemove` | `[]string` | Attribute to remove headers from requests. If a header is present multiple times, all instances of the header will be removed. | -| `body` | [.envoy.api.v2.filter.http.InjaTemplate](../transformation.proto.sk/#injatemplate) | Apply a template to the body. Only one of `body`, `passthrough`, `mergeExtractorsToBody`, or `mergeJsonKeys` can be set. | -| `passthrough` | [.envoy.api.v2.filter.http.Passthrough](../transformation.proto.sk/#passthrough) | This will cause the transformation filter not to buffer the body. Use this setting if the response body is large and you don't need to transform nor extract information from it. Only one of `passthrough`, `body`, `mergeExtractorsToBody`, or `mergeJsonKeys` can be set. | -| `mergeExtractorsToBody` | [.envoy.api.v2.filter.http.MergeExtractorsToBody](../transformation.proto.sk/#mergeextractorstobody) | Merge all defined extractors to the request/response body. If you want to nest elements inside the body, use dot separator in the extractor name. Only one of `mergeExtractorsToBody`, `body`, `passthrough`, or `mergeJsonKeys` can be set. | -| `mergeJsonKeys` | [.envoy.api.v2.filter.http.MergeJsonKeys](../transformation.proto.sk/#mergejsonkeys) | A set of key-value pairs to merge into the JSON body. Each value will be rendered separately, and then placed into the JSON body at the specified key. There are a number of important caveats to using this feature: * This can only be used when the body is parsed as JSON. * This option does NOT work with advanced templates currently. Only one of `mergeJsonKeys`, `body`, `passthrough`, or `mergeExtractorsToBody` can be set. | -| `parseBodyBehavior` | [.envoy.api.v2.filter.http.TransformationTemplate.RequestBodyParse](../transformation.proto.sk/#requestbodyparse) | Determines how the body will be parsed. Defaults to ParseAsJson. | -| `ignoreErrorOnParse` | `bool` | If set to true, Envoy will not throw an exception in case the body parsing fails. | -| `dynamicMetadataValues` | [[]envoy.api.v2.filter.http.TransformationTemplate.DynamicMetadataValue](../transformation.proto.sk/#dynamicmetadatavalue) | Use this field to set Dynamic Metadata. | -| `escapeCharacters` | `bool` | Use this field to set Inja behavior when rendering strings which contain characters that would need to be escaped to be valid JSON. Note that this sets the behavior for the entire transformation. Use raw_strings function for fine-grained control within a template. | -| `spanTransformer` | [.envoy.api.v2.filter.http.TransformationTemplate.SpanTransformer](../transformation.proto.sk/#spantransformer) | Use this field to modify the span of the trace. | - - - - ---- -### HeaderToAppend - - -Defines a header-template pair to be used in `headers_to_append` - -```yaml -"key": string -"value": .envoy.api.v2.filter.http.InjaTemplate - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | Header name. | -| `value` | [.envoy.api.v2.filter.http.InjaTemplate](../transformation.proto.sk/#injatemplate) | Apply a template to the header value. | - - - - ---- -### DynamicMetadataValue - - -Defines an [Envoy Dynamic -Metadata](https://www.envoyproxy.io/docs/envoy/latest/configuration/advanced/well_known_dynamic_metadata) -entry. - -```yaml -"metadataNamespace": string -"key": string -"value": .envoy.api.v2.filter.http.InjaTemplate -"jsonToProto": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `metadataNamespace` | `string` | The metadata namespace. Defaults to the filter namespace. | -| `key` | `string` | The metadata key. | -| `value` | [.envoy.api.v2.filter.http.InjaTemplate](../transformation.proto.sk/#injatemplate) | A template that determines the metadata value. | -| `jsonToProto` | `bool` | Instruct the filter to parse the rendered value as a proto Struct message before setting it as the metadata value. | - - - - ---- -### SpanTransformer - - - -```yaml -"name": .envoy.api.v2.filter.http.InjaTemplate - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | [.envoy.api.v2.filter.http.InjaTemplate](../transformation.proto.sk/#injatemplate) | A template that sets the span name. | - - - - ---- -### RequestBodyParse - - -Determines how the body will be parsed. - -| Name | Description | -| ----- | ----------- | -| `ParseAsJson` | Will attempt to parse the request/response body as JSON | -| `DontParse` | The request/response body will be treated as plain text | - - - - ---- -### InjaTemplate - - -Defines an [Inja template](https://github.com/pantor/inja) that will be -rendered by Gloo. In addition to the core template functions, the Gloo -transformation filter defines the following custom functions: -- header(header_name): returns the value of the header with the given name. -- extraction(extractor_name): returns the value of the extractor with the -given name. -- env(env_var_name): returns the value of the environment variable with the -given name. -- body(): returns the request/response body. -- context(): returns the base JSON context (allowing for example to range on -a JSON body that is an array). -- request_header(header_name): returns the value of the request header with -the given name. Use this option when you want to include request header values in response -transformations. -- base64_encode(string): encodes the input string to base64. -- base64_decode(string): decodes the input string from base64. -- substring(string, start_pos, substring_len): returns a substring of the -input string, starting at `start_pos` and extending for `substring_len` -characters. If no `substring_len` is provided or `substring_len` is <= 0, the -substring extends to the end of the input string. - -```yaml -"text": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `text` | `string` | | - - - - ---- -### Passthrough - - - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### MergeExtractorsToBody - - - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### MergeJsonKeys - - - -```yaml -"jsonKeys": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `jsonKeys` | `map` | Map of key name -> template to render into the JSON body. Specified keys which don't exist in the JSON body will be set, keys which do exist will be overriden. For example, given the following JSON body: { "key1": "value1" } and the following MergeJsonKeys: { "key1": "{{ header("header1") }}", "key2": "{{ header("header2") }}" } The resulting JSON body will be: { "key1": "header1_value", "key2": "header2_value" }. | - - - - ---- -### OverridableTemplate - - - -```yaml -"tmpl": .envoy.api.v2.filter.http.InjaTemplate -"overrideEmpty": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `tmpl` | [.envoy.api.v2.filter.http.InjaTemplate](../transformation.proto.sk/#injatemplate) | Template to render. | -| `overrideEmpty` | `bool` | If set to true, the template will be set even if the rendered value is empty. | - - - - ---- -### HeaderBodyTransform - - - -```yaml -"addRequestMetadata": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `addRequestMetadata` | `bool` | When transforming a request, setting this to true will additionally add "queryString", "queryStringParameters", "multiValueQueryStringParameters", "httpMethod", "path", and "multiValueHeaders" to the body. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto.sk.md deleted file mode 100644 index 23762b3de53..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto.sk.md +++ /dev/null @@ -1,244 +0,0 @@ - ---- -title: "transformation.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.transformation_ee.v2` -#### Types: - - -- [FilterTransformations](#filtertransformations) -- [TransformationRule](#transformationrule) -- [RouteTransformations](#routetransformations) -- [Transformation](#transformation) -- [DlpTransformation](#dlptransformation) -- [Action](#action) -- [RegexMatcher](#regexmatcher) -- [KeyValueMatcher](#keyvaluematcher) -- [DlpMatcher](#dlpmatcher) -- [RegexAction](#regexaction) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto) - - - - - ---- -### FilterTransformations - - - -```yaml -"transformations": []envoy.config.filter.http.transformation_ee.v2.TransformationRule - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `transformations` | [[]envoy.config.filter.http.transformation_ee.v2.TransformationRule](../transformation.proto.sk/#transformationrule) | Specifies transformations based on the route matches. The first matched transformation will be applied. If there are overlapped match conditions, please put the most specific match first. | - - - - ---- -### TransformationRule - - - -```yaml -"match": .solo.io.envoy.api.v2.route.RouteMatch -"matchV3": .solo.io.envoy.config.route.v3.RouteMatch -"routeTransformations": .envoy.config.filter.http.transformation_ee.v2.RouteTransformations - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `match` | [.solo.io.envoy.api.v2.route.RouteMatch](../../../../../../../../../../../envoy/api/v2/route/route.proto.sk/#routematch) | The route matching parameter. Only when the match is satisfied, the "requires" field will apply. For example: following match will match all requests. .. code-block:: yaml match: prefix: /. | -| `matchV3` | [.solo.io.envoy.config.route.v3.RouteMatch](../../../config/route/v3/route_components.proto.sk/#routematch) | | -| `routeTransformations` | [.envoy.config.filter.http.transformation_ee.v2.RouteTransformations](../transformation.proto.sk/#routetransformations) | transformation to perform. | - - - - ---- -### RouteTransformations - - - -```yaml -"requestTransformation": .envoy.config.filter.http.transformation_ee.v2.Transformation -"clearRouteCache": bool -"responseTransformation": .envoy.config.filter.http.transformation_ee.v2.Transformation -"onStreamCompletionTransformation": .envoy.config.filter.http.transformation_ee.v2.Transformation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requestTransformation` | [.envoy.config.filter.http.transformation_ee.v2.Transformation](../transformation.proto.sk/#transformation) | | -| `clearRouteCache` | `bool` | clear the route cache if the request transformation was applied. | -| `responseTransformation` | [.envoy.config.filter.http.transformation_ee.v2.Transformation](../transformation.proto.sk/#transformation) | | -| `onStreamCompletionTransformation` | [.envoy.config.filter.http.transformation_ee.v2.Transformation](../transformation.proto.sk/#transformation) | Apply a transformation in the onStreamComplete callback (for modifying headers and dynamic metadata for access logs). | - - - - ---- -### Transformation - - - -```yaml -"dlpTransformation": .envoy.config.filter.http.transformation_ee.v2.DlpTransformation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `dlpTransformation` | [.envoy.config.filter.http.transformation_ee.v2.DlpTransformation](../transformation.proto.sk/#dlptransformation) | | - - - - ---- -### DlpTransformation - - - -```yaml -"actions": []envoy.config.filter.http.transformation_ee.v2.Action -"enableHeaderTransformation": bool -"enableDynamicMetadataTransformation": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `actions` | [[]envoy.config.filter.http.transformation_ee.v2.Action](../transformation.proto.sk/#action) | list of actions to apply. | -| `enableHeaderTransformation` | `bool` | If true, headers will be transformed. Should only be true for the on_stream_complete_transformation route transformation type. | -| `enableDynamicMetadataTransformation` | `bool` | If true, dynamic metadata will be transformed. Should only be used for the on_stream_complete_transformation route transformation type. | - - - - ---- -### Action - - - -```yaml -"name": string -"regex": []string -"regexActions": []envoy.config.filter.http.transformation_ee.v2.RegexAction -"shadow": bool -"percent": .solo.io.envoy.type.Percent -"maskChar": string -"matcher": .envoy.config.filter.http.transformation_ee.v2.Action.DlpMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | Identifier for this action. Used mostly to help ID specific actions in logs. If left null will default to unknown. | -| `regex` | `[]string` | Deprecated in favor of DlpMatcher List of regexes to apply to the response body to match data which should be masked They will be applied iteratively in the order which they are specified. | -| `regexActions` | [[]envoy.config.filter.http.transformation_ee.v2.RegexAction](../transformation.proto.sk/#regexaction) | Deprecated in favor of DlpMatcher List of regexes to apply to the response body to match data which should be masked. They will be applied iteratively in the order which they are specified. If this field and `regex` are both provided, all the regexes will be applied iteratively in the order provided, starting with the ones from `regex`. | -| `shadow` | `bool` | If specified, this rule will not actually be applied, but only logged. | -| `percent` | [.solo.io.envoy.type.Percent](../../../../../../../../../solo-kit/api/external/envoy/type/percent.proto.sk/#percent) | The percent of the string which should be masked. If not set, defaults to 75%. | -| `maskChar` | `string` | The character which should overwrite the masked data If left empty, defaults to "X". | -| `matcher` | [.envoy.config.filter.http.transformation_ee.v2.Action.DlpMatcher](../transformation.proto.sk/#dlpmatcher) | The matcher used to determine which values will be masked by this action. | - - - - ---- -### RegexMatcher - - -List of regexes to apply to the response body to match data which should be -masked. They will be applied iteratively in the order which they are -specified. - -```yaml -"regexActions": []envoy.config.filter.http.transformation_ee.v2.RegexAction - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `regexActions` | [[]envoy.config.filter.http.transformation_ee.v2.RegexAction](../transformation.proto.sk/#regexaction) | | - - - - ---- -### KeyValueMatcher - - -List of headers for which associated values will be masked. -Note that enable_header_transformation must be set for this to take effect. -Note that if enable_dynamic_metadata_transformation is set, proto struct dynamic metadata -(i.e., the values matching any JSON keys specified in `keys`; primarily for json-formatted WAF audit logs) will also be masked accordingly. - -```yaml -"keys": []string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `keys` | `[]string` | | - - - - ---- -### DlpMatcher - - - -```yaml -"regexMatcher": .envoy.config.filter.http.transformation_ee.v2.Action.RegexMatcher -"keyValueMatcher": .envoy.config.filter.http.transformation_ee.v2.Action.KeyValueMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `regexMatcher` | [.envoy.config.filter.http.transformation_ee.v2.Action.RegexMatcher](../transformation.proto.sk/#regexmatcher) | Only one of `regexMatcher` or `keyValueMatcher` can be set. | -| `keyValueMatcher` | [.envoy.config.filter.http.transformation_ee.v2.Action.KeyValueMatcher](../transformation.proto.sk/#keyvaluematcher) | Only one of `keyValueMatcher` or `regexMatcher` can be set. | - - - - ---- -### RegexAction - - - -```yaml -"regex": string -"subgroup": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `regex` | `string` | The regex to match for masking. | -| `subgroup` | `int` | If provided and not 0, only this specific subgroup of the regex will be masked. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto.sk.md deleted file mode 100644 index fadfe6592b4..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto.sk.md +++ /dev/null @@ -1,50 +0,0 @@ - ---- -title: "xslt_transformer.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.transformer.xslt.v2` -#### Types: - - -- [XsltTransformation](#xslttransformation) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto) - - - - - ---- -### XsltTransformation - - -Defines an XSLT Transformation. - -```yaml -"xslt": string -"setContentType": string -"nonXmlTransform": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `xslt` | `string` | XSLT transformation template which you want to transform requests/responses with. Invalid XSLT transformation templates will result will result in a NACK during envoy configuration-time and the configuration will not be loaded. | -| `setContentType` | `string` | Changes the content-type header of the HTTP request/response to what is set here. This is useful in situations where an XSLT transformation is used to transform XML to JSON and the content-type should be changed from `application/xml` to `application/json`. If left empty, the content-type header remains unmodified by default. | -| `nonXmlTransform` | `bool` | This should be set to true if the content being transformed is not XML. For example, if the content being transformed is from JSON to XML, this should be set to true. XSLT transformations can only take valid XML as input to be transformed. If the body is not a valid XML (e.g. using JSON as input in a JSON-to-XML transformation), setting `non_xml_transform` to true will allow the XSLT to accept the non-XML input without throwing an error by passing the input as XML CDATA. defaults to false. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto.sk.md deleted file mode 100644 index 59f368869ac..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto.sk.md +++ /dev/null @@ -1,43 +0,0 @@ - ---- -title: "upstream_wait_filter.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.upstream_wait.v2` -#### Types: - - -- [UpstreamWaitFilterConfig](#upstreamwaitfilterconfig) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto) - - - - - ---- -### UpstreamWaitFilterConfig - - - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto.sk.md deleted file mode 100644 index e056e2ad55a..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto.sk.md +++ /dev/null @@ -1,160 +0,0 @@ - ---- -title: "waf.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.modsecurity.v2` -#### Types: - - -- [AuditLogging](#auditlogging) -- [AuditLogAction](#auditlogaction) -- [AuditLogLocation](#auditloglocation) -- [ModSecurity](#modsecurity) -- [RuleSet](#ruleset) -- [ModSecurityPerRoute](#modsecurityperroute) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/waf/waf.proto) - - - - - ---- -### AuditLogging - - - -```yaml -"action": .envoy.config.filter.http.modsecurity.v2.AuditLogging.AuditLogAction -"location": .envoy.config.filter.http.modsecurity.v2.AuditLogging.AuditLogLocation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `action` | [.envoy.config.filter.http.modsecurity.v2.AuditLogging.AuditLogAction](../waf.proto.sk/#auditlogaction) | | -| `location` | [.envoy.config.filter.http.modsecurity.v2.AuditLogging.AuditLogLocation](../waf.proto.sk/#auditloglocation) | | - - - - ---- -### AuditLogAction - - - -| Name | Description | -| ----- | ----------- | -| `NEVER` | Never generate audit logs. | -| `RELEVANT_ONLY` | When set to RELEVANT_ONLY, this will have similar behavior to `SecAuditEngine RelevantOnly`. | -| `ALWAYS` | Always generate an audit log entry (as long as the filter is not disabled). | - - - - ---- -### AuditLogLocation - - - -| Name | Description | -| ----- | ----------- | -| `FILTER_STATE` | Add the audit log to the filter state. it will be under the key "io.solo.modsecurity.audit_log". You can use this formatter in the access log: %FILTER_STATE(io.solo.modsecurity.audit_log)% | -| `DYNAMIC_METADATA` | Add the audit log to the dynamic metadata. it will be under the filter name "io.solo.filters.http.modsecurity". with "audit_log" as the key. You can use this formatter in the access log: %DYNAMIC_METADATA("io.solo.filters.http.modsecurity:audit_log")% | - - - - ---- -### ModSecurity - - - -```yaml -"disabled": bool -"ruleSets": []envoy.config.filter.http.modsecurity.v2.RuleSet -"customInterventionMessage": string -"auditLogging": .envoy.config.filter.http.modsecurity.v2.AuditLogging -"requestHeadersOnly": bool -"responseHeadersOnly": bool -"regressionLogs": bool -"dlpTransformation": .envoy.config.filter.http.transformation_ee.v2.DlpTransformation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `disabled` | `bool` | Disable all rules on the current route. | -| `ruleSets` | [[]envoy.config.filter.http.modsecurity.v2.RuleSet](../waf.proto.sk/#ruleset) | Global rule sets for the current http connection manager. | -| `customInterventionMessage` | `string` | Custom message to display when an intervention occurs. | -| `auditLogging` | [.envoy.config.filter.http.modsecurity.v2.AuditLogging](../waf.proto.sk/#auditlogging) | This instructs the filter what to do with the transaction's audit log. | -| `requestHeadersOnly` | `bool` | If set, the body will not be buffered and fed to ModSecurity. Only the headers will. This can help improve performance. | -| `responseHeadersOnly` | `bool` | | -| `regressionLogs` | `bool` | log in a format suited for the OWASP regression tests. this format is a multiline log format, so it is disabled for regular use. do not enable this in production!. | -| `dlpTransformation` | [.envoy.config.filter.http.transformation_ee.v2.DlpTransformation](../../transformation_ee/transformation.proto.sk/#dlptransformation) | | - - - - ---- -### RuleSet - - - -```yaml -"ruleStr": string -"files": []string -"directory": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `ruleStr` | `string` | String of rules which are added directly. | -| `files` | `[]string` | Array of files with rules to include. Any subsequent changes to the rules in these files are not automatically updated. To update rules from files, version and update the file name. If you want dynamically updated rules, use the `configMapRuleSets` option instead. | -| `directory` | `string` | A directory to include. all *.conf files in this directory will be included. sub directories will NOT be checked. | - - - - ---- -### ModSecurityPerRoute - - - -```yaml -"disabled": bool -"ruleSets": []envoy.config.filter.http.modsecurity.v2.RuleSet -"customInterventionMessage": string -"auditLogging": .envoy.config.filter.http.modsecurity.v2.AuditLogging -"requestHeadersOnly": bool -"responseHeadersOnly": bool -"dlpTransformation": .envoy.config.filter.http.transformation_ee.v2.DlpTransformation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `disabled` | `bool` | Disable all rules on the current route. | -| `ruleSets` | [[]envoy.config.filter.http.modsecurity.v2.RuleSet](../waf.proto.sk/#ruleset) | Overwrite the global rules on this route. | -| `customInterventionMessage` | `string` | Custom message to display when an intervention occurs. | -| `auditLogging` | [.envoy.config.filter.http.modsecurity.v2.AuditLogging](../waf.proto.sk/#auditlogging) | This instructs the filter what to do with the transaction's audit log. | -| `requestHeadersOnly` | `bool` | If set, the body will not be buffered and fed to ModSecurity. Only the headers will. This can help improve performance. | -| `responseHeadersOnly` | `bool` | | -| `dlpTransformation` | [.envoy.config.filter.http.transformation_ee.v2.DlpTransformation](../../transformation_ee/transformation.proto.sk/#dlptransformation) | | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto.sk.md deleted file mode 100644 index f70df564401..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto.sk.md +++ /dev/null @@ -1,111 +0,0 @@ - ---- -title: "wasm.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.extensions.wasm.v3` -Copied from https://github.com/envoyproxy/envoy/blob/26eaa2e85cee69e5c32ab6bf4c5ae3d338fa462f/api/envoy/extensions/wasm/v3/wasm.proto - - - -#### Types: - - -- [VmConfig](#vmconfig) -- [PluginConfig](#pluginconfig) -- [WasmService](#wasmservice) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto) - - - - - ---- -### VmConfig - - -Configuration for a Wasm VM. -[#next-free-field: 7] - -```yaml -"vmId": string -"runtime": string -"code": .solo.io.envoy.config.core.v3.AsyncDataSource -"configuration": .google.protobuf.Any -"allowPrecompiled": bool -"nackOnCodeCacheMiss": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `vmId` | `string` | An ID which will be used along with a hash of the wasm code (or the name of the registered Null VM plugin) to determine which VM will be used for the plugin. All plugins which use the same *vm_id* and code will use the same VM. May be left blank. Sharing a VM between plugins can reduce memory utilization and make sharing of data easier which may have security implications. See ref: "TODO: add ref" for details. | -| `runtime` | `string` | The Wasm runtime type (either "v8" or "null" for code compiled into Envoy). | -| `code` | [.solo.io.envoy.config.core.v3.AsyncDataSource](../../../../config/core/v3/base.proto.sk/#asyncdatasource) | The Wasm code that Envoy will execute. | -| `configuration` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | The Wasm configuration used in initialization of a new VM (proxy_on_start). `google.protobuf.Struct` is serialized as JSON before passing it to the plugin. `google.protobuf.BytesValue` and `google.protobuf.StringValue` are passed directly without the wrapper. | -| `allowPrecompiled` | `bool` | Allow the wasm file to include pre-compiled code on VMs which support it. Warning: this should only be enable for trusted sources as the precompiled code is not verified. | -| `nackOnCodeCacheMiss` | `bool` | If true and the code needs to be remotely fetched and it is not in the cache then NACK the configuration update and do a background fetch to fill the cache, otherwise fetch the code asynchronously and enter warming state. | - - - - ---- -### PluginConfig - - -Base Configuration for Wasm Plugins e.g. filters and services. -[#next-free-field: 6] - -```yaml -"name": string -"rootId": string -"vmConfig": .solo.io.envoy.extensions.wasm.v3.VmConfig -"configuration": .google.protobuf.Any -"failOpen": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | A unique name for a filters/services in a VM for use in identifying the filter/service if multiple filters/services are handled by the same *vm_id* and *root_id* and for logging/debugging. | -| `rootId` | `string` | A unique ID for a set of filters/services in a VM which will share a RootContext and Contexts if applicable (e.g. an Wasm HttpFilter and an Wasm AccessLog). If left blank, all filters/services with a blank root_id with the same *vm_id* will share Context(s). | -| `vmConfig` | [.solo.io.envoy.extensions.wasm.v3.VmConfig](../wasm.proto.sk/#vmconfig) | | -| `configuration` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | Filter/service configuration used to configure or reconfigure a plugin (proxy_on_configuration). `google.protobuf.Struct` is serialized as JSON before passing it to the plugin. `google.protobuf.BytesValue` and `google.protobuf.StringValue` are passed directly without the wrapper. | -| `failOpen` | `bool` | If there is a fatal error on the VM (e.g. exception, abort(), on_start or on_configure return false), then all plugins associated with the VM will either fail closed (by default), e.g. by returning an HTTP 503 error, or fail open (if 'fail_open' is set to true) by bypassing the filter. Note: when on_start or on_configure return false during xDS updates the xDS configuration will be rejected and when on_start or on_configuration return false on initial startup the proxy will not start. | - - - - ---- -### WasmService - - -WasmService is configured as a built-in *envoy.wasm_service* :ref:`WasmService -` This opaque configuration will be used to create a Wasm Service. - -```yaml -"config": .solo.io.envoy.extensions.wasm.v3.PluginConfig -"singleton": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `config` | [.solo.io.envoy.extensions.wasm.v3.PluginConfig](../wasm.proto.sk/#pluginconfig) | General plugin configuration. | -| `singleton` | `bool` | If true, create a single VM rather than creating one VM per worker. Such a singleton can not be used with filters. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto.sk.md deleted file mode 100644 index 2a1cacb912b..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto.sk.md +++ /dev/null @@ -1,46 +0,0 @@ - ---- -title: "solo_xff_offset_filter.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.solo_xff_offset.v2` -#### Types: - - -- [SoloXffOffset](#soloxffoffset) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto) - - - - - ---- -### SoloXffOffset - - -Envoy filter configuration for the solo_xff_offset filter, not set by the user. - -```yaml -"offset": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `offset` | `int` | The amount of addresses from the left of x-forwarded-for (xff) header which should be skipped to get the client address. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto.sk.md deleted file mode 100644 index 06fa1253038..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto.sk.md +++ /dev/null @@ -1,362 +0,0 @@ - ---- -title: "external_processor.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.service.ext_proc.v3` -#### Types: - - -- [ProcessingRequest](#processingrequest) -- [ProcessingResponse](#processingresponse) -- [HttpHeaders](#httpheaders) -- [HttpBody](#httpbody) -- [HttpTrailers](#httptrailers) -- [HeadersResponse](#headersresponse) -- [TrailersResponse](#trailersresponse) -- [BodyResponse](#bodyresponse) -- [CommonResponse](#commonresponse) -- [ResponseStatus](#responsestatus) -- [ImmediateResponse](#immediateresponse) -- [GrpcStatus](#grpcstatus) -- [HeaderMutation](#headermutation) -- [BodyMutation](#bodymutation) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto) - - - - - ---- -### ProcessingRequest - - -This represents the different types of messages that Envoy can send -to an external processing server. -[#next-free-field: 11] - -```yaml -"requestHeaders": .solo.io.envoy.service.ext_proc.v3.HttpHeaders -"responseHeaders": .solo.io.envoy.service.ext_proc.v3.HttpHeaders -"requestBody": .solo.io.envoy.service.ext_proc.v3.HttpBody -"responseBody": .solo.io.envoy.service.ext_proc.v3.HttpBody -"requestTrailers": .solo.io.envoy.service.ext_proc.v3.HttpTrailers -"responseTrailers": .solo.io.envoy.service.ext_proc.v3.HttpTrailers -"metadataContext": .solo.io.envoy.config.core.v3.Metadata -"attributes": map -"observabilityMode": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requestHeaders` | [.solo.io.envoy.service.ext_proc.v3.HttpHeaders](../external_processor.proto.sk/#httpheaders) | Information about the HTTP request headers, as well as peer info and additional properties. Unless `observability_mode` is `true`, the server must send back a HeaderResponse message, an ImmediateResponse message, or close the stream. Only one of `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, `requestTrailers`, or `responseTrailers` can be set. | -| `responseHeaders` | [.solo.io.envoy.service.ext_proc.v3.HttpHeaders](../external_processor.proto.sk/#httpheaders) | Information about the HTTP response headers, as well as peer info and additional properties. Unless `observability_mode` is `true`, the server must send back a HeaderResponse message or close the stream. Only one of `responseHeaders`, `requestHeaders`, `requestBody`, `responseBody`, `requestTrailers`, or `responseTrailers` can be set. | -| `requestBody` | [.solo.io.envoy.service.ext_proc.v3.HttpBody](../external_processor.proto.sk/#httpbody) | A chunk of the HTTP request body. Unless `observability_mode` is true, the server must send back a BodyResponse message, an ImmediateResponse message, or close the stream. Only one of `requestBody`, `requestHeaders`, `responseHeaders`, `responseBody`, `requestTrailers`, or `responseTrailers` can be set. | -| `responseBody` | [.solo.io.envoy.service.ext_proc.v3.HttpBody](../external_processor.proto.sk/#httpbody) | A chunk of the HTTP response body. Unless `observability_mode` is `true`, the server must send back a BodyResponse message or close the stream. Only one of `responseBody`, `requestHeaders`, `responseHeaders`, `requestBody`, `requestTrailers`, or `responseTrailers` can be set. | -| `requestTrailers` | [.solo.io.envoy.service.ext_proc.v3.HttpTrailers](../external_processor.proto.sk/#httptrailers) | The HTTP trailers for the request path. Unless `observability_mode` is `true`, the server must send back a TrailerResponse message or close the stream. This message is only sent if the trailers processing mode is set to `SEND` and the original downstream request has trailers. Only one of `requestTrailers`, `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, or `responseTrailers` can be set. | -| `responseTrailers` | [.solo.io.envoy.service.ext_proc.v3.HttpTrailers](../external_processor.proto.sk/#httptrailers) | The HTTP trailers for the response path. Unless `observability_mode` is `true`, the server must send back a TrailerResponse message or close the stream. This message is only sent if the trailers processing mode is set to `SEND` and the original upstream response has trailers. Only one of `responseTrailers`, `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, or `requestTrailers` can be set. | -| `metadataContext` | [.solo.io.envoy.config.core.v3.Metadata](../../../../config/core/v3/base.proto.sk/#metadata) | Dynamic metadata associated with the request. | -| `attributes` | `map` | The values of properties selected by the `request_attributes` or `response_attributes` list in the configuration. Each entry in the list is populated from the standard attributes supported across Envoy. | -| `observabilityMode` | `bool` | Specify whether the filter that sent this request is running in :ref:`observability_mode ` and defaults to false. * A value of `false` indicates that the server must respond to this message by either sending back a matching ProcessingResponse message, or by closing the stream. * A value of `true` indicates that the server should not respond to this message, as any responses will be ignored. However, it may still close the stream to indicate that no more messages are needed. | - - - - ---- -### ProcessingResponse - - -For every ProcessingRequest received by the server with the `observability_mode` field -set to false, the server must send back exactly one ProcessingResponse message. -[#next-free-field: 11] - -```yaml -"requestHeaders": .solo.io.envoy.service.ext_proc.v3.HeadersResponse -"responseHeaders": .solo.io.envoy.service.ext_proc.v3.HeadersResponse -"requestBody": .solo.io.envoy.service.ext_proc.v3.BodyResponse -"responseBody": .solo.io.envoy.service.ext_proc.v3.BodyResponse -"requestTrailers": .solo.io.envoy.service.ext_proc.v3.TrailersResponse -"responseTrailers": .solo.io.envoy.service.ext_proc.v3.TrailersResponse -"immediateResponse": .solo.io.envoy.service.ext_proc.v3.ImmediateResponse -"dynamicMetadata": .google.protobuf.Struct -"modeOverride": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode -"overrideMessageTimeout": .google.protobuf.Duration - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requestHeaders` | [.solo.io.envoy.service.ext_proc.v3.HeadersResponse](../external_processor.proto.sk/#headersresponse) | The server must send back this message in response to a message with the `request_headers` field set. Only one of `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, `requestTrailers`, `responseTrailers`, or `immediateResponse` can be set. | -| `responseHeaders` | [.solo.io.envoy.service.ext_proc.v3.HeadersResponse](../external_processor.proto.sk/#headersresponse) | The server must send back this message in response to a message with the `response_headers` field set. Only one of `responseHeaders`, `requestHeaders`, `requestBody`, `responseBody`, `requestTrailers`, `responseTrailers`, or `immediateResponse` can be set. | -| `requestBody` | [.solo.io.envoy.service.ext_proc.v3.BodyResponse](../external_processor.proto.sk/#bodyresponse) | The server must send back this message in response to a message with the `request_body` field set. Only one of `requestBody`, `requestHeaders`, `responseHeaders`, `responseBody`, `requestTrailers`, `responseTrailers`, or `immediateResponse` can be set. | -| `responseBody` | [.solo.io.envoy.service.ext_proc.v3.BodyResponse](../external_processor.proto.sk/#bodyresponse) | The server must send back this message in response to a message with the `response_body` field set. Only one of `responseBody`, `requestHeaders`, `responseHeaders`, `requestBody`, `requestTrailers`, `responseTrailers`, or `immediateResponse` can be set. | -| `requestTrailers` | [.solo.io.envoy.service.ext_proc.v3.TrailersResponse](../external_processor.proto.sk/#trailersresponse) | The server must send back this message in response to a message with the `request_trailers` field set. Only one of `requestTrailers`, `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, `responseTrailers`, or `immediateResponse` can be set. | -| `responseTrailers` | [.solo.io.envoy.service.ext_proc.v3.TrailersResponse](../external_processor.proto.sk/#trailersresponse) | The server must send back this message in response to a message with the `response_trailers` field set. Only one of `responseTrailers`, `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, `requestTrailers`, or `immediateResponse` can be set. | -| `immediateResponse` | [.solo.io.envoy.service.ext_proc.v3.ImmediateResponse](../external_processor.proto.sk/#immediateresponse) | If specified, attempt to create a locally generated response, send it downstream, and stop processing additional filters and ignore any additional messages received from the remote server for this request or response. If a response has already started -- for example, if this message is sent response to a `response_body` message -- then this will either ship the reply directly to the downstream codec, or reset the stream. Only one of `immediateResponse`, `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, `requestTrailers`, or `responseTrailers` can be set. | -| `dynamicMetadata` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Optional metadata that will be emitted as dynamic metadata to be consumed by following filters. This metadata will be placed in the namespace(s) specified by the top-level field name(s) of the struct. | -| `modeOverride` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode](../../../../extensions/filters/http/ext_proc/v3/processing_mode.proto.sk/#processingmode) | Override how parts of the HTTP request and response are processed for the duration of this particular request/response only. Servers may use this to intelligently control how requests are processed based on the headers and other metadata that they see. This field is only applicable when servers responding to the header requests. If it is set in the response to the body or trailer requests, it will be ignored by Envoy. It is also ignored by Envoy when the ext_proc filter config :ref:`allow_mode_override ` is set to false. | -| `overrideMessageTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | When ext_proc server receives a request message, in case it needs more time to process the message, it sends back a ProcessingResponse message with a new timeout value. When Envoy receives this response message, it ignores other fields in the response, just stop the original timer, which has the timeout value specified in :ref:`message_timeout ` and start a new timer with this `override_message_timeout` value and keep the Envoy ext_proc filter state machine intact. Has to be >= 1ms and <= :ref:`max_message_timeout ` Such message can be sent at most once in a particular Envoy ext_proc filter processing state. To enable this API, one has to set `max_message_timeout` to a number >= 1ms. | - - - - ---- -### HttpHeaders - - -This message is sent to the external server when the HTTP request and responses -are first received. - -```yaml -"headers": .solo.io.envoy.config.core.v3.HeaderMap -"attributes": map -"endOfStream": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headers` | [.solo.io.envoy.config.core.v3.HeaderMap](../../../../config/core/v3/base.proto.sk/#headermap) | The HTTP request headers. All header keys will be lower-cased, because HTTP header keys are case-insensitive. The `headers` encoding is based on the runtime guard envoy_reloadable_features_send_header_raw_value setting. When it is true, the header value is encoded in the raw_value field. When it is false, the header value is encoded in the value field. | -| `attributes` | `map` | [#not-implemented-hide:] This field is deprecated and not implemented. Attributes will be sent in the top-level :ref:`attributes ` is set to CONTINUE_AND_REPLACE. | -| `trailers` | [.solo.io.envoy.config.core.v3.HeaderMap](../../../../config/core/v3/base.proto.sk/#headermap) | [#not-implemented-hide:] Add new trailers to the message. This may be used when responding to either a HttpHeaders or HttpBody message, but only if this message is returned along with the CONTINUE_AND_REPLACE status. The `trailers` encoding is based on the runtime guard envoy_reloadable_features_send_header_raw_value setting. When it is true, the header value is encoded in the raw_value field. When it is false, the header value is encoded in the value field. | -| `clearRouteCache` | `bool` | Clear the route cache for the current client request. This is necessary if the remote server modified headers that are used to calculate the route. This field is ignored in the response direction. This field is also ignored if the Envoy ext_proc filter is in the upstream filter chain. | - - - - ---- -### ResponseStatus - - - -| Name | Description | -| ----- | ----------- | -| `CONTINUE` | Apply the mutation instructions in this message to the request or response, and then continue processing the filter stream as normal. This is the default. | -| `CONTINUE_AND_REPLACE` | Apply the specified header mutation, replace the body with the body specified in the body mutation (if present), and do not send any further messages for this request or response even if the processing mode is configured to do so. When used in response to a request_headers or response_headers message, this status makes it possible to either completely replace the body while discarding the original body, or to add a body to a message that formerly did not have one. In other words, this response makes it possible to turn an HTTP GET into a POST, PUT, or PATCH. | - - - - ---- -### ImmediateResponse - - -This message causes the filter to attempt to create a locally -generated response, send it downstream, stop processing -additional filters, and ignore any additional messages received -from the remote server for this request or response. If a response -has already started, then this will either ship the reply directly -to the downstream codec, or reset the stream. -[#next-free-field: 6] - -```yaml -"status": .solo.io.envoy.type.v3.HttpStatus -"headers": .solo.io.envoy.service.ext_proc.v3.HeaderMutation -"body": bytes -"grpcStatus": .solo.io.envoy.service.ext_proc.v3.GrpcStatus -"details": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `status` | [.solo.io.envoy.type.v3.HttpStatus](../../../../type/v3/http_status.proto.sk/#httpstatus) | The response code to return. | -| `headers` | [.solo.io.envoy.service.ext_proc.v3.HeaderMutation](../external_processor.proto.sk/#headermutation) | Apply changes to the default headers, which will include content-type. | -| `body` | `bytes` | The message body to return with the response which is sent using the text/plain content type, or encoded in the grpc-message header. | -| `grpcStatus` | [.solo.io.envoy.service.ext_proc.v3.GrpcStatus](../external_processor.proto.sk/#grpcstatus) | If set, then include a gRPC status trailer. | -| `details` | `string` | A string detailing why this local reply was sent, which may be included in log and debug output (e.g. this populates the %RESPONSE_CODE_DETAILS% command operator field for use in access logging). | - - - - ---- -### GrpcStatus - - -This message specifies a gRPC status for an ImmediateResponse message. - -```yaml -"status": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `status` | `int` | The actual gRPC status. | - - - - ---- -### HeaderMutation - - -Change HTTP headers or trailers by appending, replacing, or removing -headers. - -```yaml -"setHeaders": []solo.io.envoy.config.core.v3.HeaderValueOption -"removeHeaders": []string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `setHeaders` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../../config/core/v3/base.proto.sk/#headervalueoption) | Add or replace HTTP headers. Attempts to set the value of any `x-envoy` header, and attempts to set the `:method`, `:authority`, `:scheme`, or `host` headers will be ignored. The `set_headers` encoding is based on the runtime guard envoy_reloadable_features_send_header_raw_value setting. When it is true, the header value is encoded in the raw_value field. When it is false, the header value is encoded in the value field. | -| `removeHeaders` | `[]string` | Remove these HTTP headers. Attempts to remove system headers -- any header starting with `:`, plus `host` -- will be ignored. | - - - - ---- -### BodyMutation - - -Replace the entire message body chunk received in the corresponding -HttpBody message with this new body, or clear the body. - -```yaml -"body": bytes -"clearBody": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `body` | `bytes` | The entire body to replace. Only one of `body` or `clearBody` can be set. | -| `clearBody` | `bool` | Clear the corresponding body chunk. Only one of `clearBody` or `body` can be set. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto.sk.md deleted file mode 100644 index b21f7570e87..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto.sk.md +++ /dev/null @@ -1,101 +0,0 @@ - ---- -title: "regex.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.matcher.v3` -#### Types: - - -- [RegexMatcher](#regexmatcher) -- [GoogleRE2](#googlere2) -- [RegexMatchAndSubstitute](#regexmatchandsubstitute) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto) - - - - - ---- -### RegexMatcher - - -A regex matcher designed for safety when used with untrusted input. - -```yaml -"googleRe2": .solo.io.envoy.type.matcher.v3.RegexMatcher.GoogleRE2 -"regex": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `googleRe2` | [.solo.io.envoy.type.matcher.v3.RegexMatcher.GoogleRE2](../regex.proto.sk/#googlere2) | Google's RE2 regex engine. | -| `regex` | `string` | The regex match string. The string must be supported by the configured engine. | - - - - ---- -### GoogleRE2 - - -Google's [RE2](https://github.com/google/re2) regex engine. The regex string must adhere to -the documented [syntax](https://github.com/google/re2/wiki/Syntax). The engine is designed -to complete execution in linear time as well as limit the amount of memory used. - -Envoy supports program size checking via runtime. The runtime keys `re2.max_program_size.error_level` -and `re2.max_program_size.warn_level` can be set to integers as the maximum program size or -complexity that a compiled regex can have before an exception is thrown or a warning is -logged, respectively. `re2.max_program_size.error_level` defaults to 100, and -`re2.max_program_size.warn_level` has no default if unset (will not check/log a warning). - -Envoy emits two stats for tracking the program size of regexes: the histogram `re2.program_size`, -which records the program size, and the counter `re2.exceeded_warn_level`, which is incremented -each time the program size exceeds the warn level threshold. - -```yaml -"maxProgramSize": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `maxProgramSize` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | This field controls the RE2 "program size" which is a rough estimate of how complex a compiled regex is to evaluate. A regex that has a program size greater than the configured value will fail to compile. In this case, the configured max program size can be increased or the regex can be simplified. If not specified, the default is 100. This field is deprecated; regexp validation should be performed on the management server instead of being done by each individual client. | - - - - ---- -### RegexMatchAndSubstitute - - -Describes how to match a string and then produce a new string using a regular -expression and a substitution string. - -```yaml -"pattern": .solo.io.envoy.type.matcher.v3.RegexMatcher -"substitution": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `pattern` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../regex.proto.sk/#regexmatcher) | The regular expression used to find portions of a string (hereafter called the "subject string") that should be replaced. When a new string is produced during the substitution operation, the new string is initially the same as the subject string, but then all matches in the subject string are replaced by the substitution string. If replacing all matches isn't desired, regular expression anchors can be used to ensure a single match, so as to replace just one occurrence of a pattern. Capture groups can be used in the pattern to extract portions of the subject string, and then referenced in the substitution string. | -| `substitution` | `string` | The string that should be substituted into matching portions of the subject string during a substitution operation to produce a new string. Capture groups in the pattern can be referenced in the substitution string. Note, however, that the syntax for referring to capture groups is defined by the chosen regular expression engine. Google's [RE2](https://github.com/google/re2) regular expression engine uses a backslash followed by the capture group number to denote a numbered capture group. E.g., `\1` refers to capture group 1, and `\2` refers to capture group 2. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/string.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/string.proto.sk.md deleted file mode 100644 index 080f67510d9..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/string.proto.sk.md +++ /dev/null @@ -1,74 +0,0 @@ - ---- -title: "string.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.matcher.v3` -#### Types: - - -- [StringMatcher](#stringmatcher) -- [ListStringMatcher](#liststringmatcher) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/string.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/matcher/v3/string.proto) - - - - - ---- -### StringMatcher - - -Specifies the way to match a string. -[#next-free-field: 7] - -```yaml -"exact": string -"prefix": string -"suffix": string -"safeRegex": .solo.io.envoy.type.matcher.v3.RegexMatcher -"ignoreCase": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `exact` | `string` | The input string must match exactly the string specified here. Examples: * *abc* only matches the value *abc*. Only one of `exact`, `prefix`, `suffix`, or `safeRegex` can be set. | -| `prefix` | `string` | The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * *abc* matches the value *abc.xyz*. Only one of `prefix`, `exact`, `suffix`, or `safeRegex` can be set. | -| `suffix` | `string` | The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * *abc* matches the value *xyz.abc*. Only one of `suffix`, `exact`, `prefix`, or `safeRegex` can be set. | -| `safeRegex` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../regex.proto.sk/#regexmatcher) | The input string must match the regular expression specified here. Only one of `safeRegex`, `exact`, `prefix`, or `suffix` can be set. | -| `ignoreCase` | `bool` | If true, indicates the exact/prefix/suffix matching should be case insensitive. This has no effect for the safe_regex match. For example, the matcher *data* will match both input string *Data* and *data* if set to true. | - - - - ---- -### ListStringMatcher - - -Specifies a list of ways to match a string. - -```yaml -"patterns": []solo.io.envoy.type.matcher.v3.StringMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `patterns` | [[]solo.io.envoy.type.matcher.v3.StringMatcher](../string.proto.sk/#stringmatcher) | | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto.sk.md deleted file mode 100644 index 7f3d9898d03..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto.sk.md +++ /dev/null @@ -1,183 +0,0 @@ - ---- -title: "metadata.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.metadata.v3` -#### Types: - - -- [MetadataKey](#metadatakey) -- [PathSegment](#pathsegment) -- [MetadataKind](#metadatakind) -- [Request](#request) -- [Route](#route) -- [Cluster](#cluster) -- [Host](#host) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto) - - - - - ---- -### MetadataKey - - -MetadataKey provides a general interface using `key` and `path` to retrieve value from -Metadata. - -For example, for the following Metadata: - -.. code-block:: yaml - - filter_metadata: - envoy.xxx: - prop: - foo: bar - xyz: - hello: envoy - -The following MetadataKey will retrieve a string value "bar" from the Metadata. - -.. code-block:: yaml - - key: envoy.xxx - path: - - key: prop - - key: foo - -```yaml -"key": string -"path": []solo.io.envoy.type.metadata.v3.MetadataKey.PathSegment - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | The key name of Metadata to retrieve the Struct from the metadata. Typically, it represents a builtin subsystem or custom extension. | -| `path` | [[]solo.io.envoy.type.metadata.v3.MetadataKey.PathSegment](../metadata.proto.sk/#pathsegment) | The path to retrieve the Value from the Struct. It can be a prefix or a full path, e.g. `[prop, xyz]` for a struct or `[prop, foo]` for a string in the example, which depends on the particular scenario. Note: Due to that only the key type segment is supported, the path can not specify a list unless the list is the last segment. | - - - - ---- -### PathSegment - - -Specifies the segment in a path to retrieve value from Metadata. -Currently it is only supported to specify the key, i.e. field name, as one segment of a path. - -```yaml -"key": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | If specified, use the key to retrieve the value in a Struct. | - - - - ---- -### MetadataKind - - -Describes what kind of metadata. - -```yaml -"request": .solo.io.envoy.type.metadata.v3.MetadataKind.Request -"route": .solo.io.envoy.type.metadata.v3.MetadataKind.Route -"cluster": .solo.io.envoy.type.metadata.v3.MetadataKind.Cluster -"host": .solo.io.envoy.type.metadata.v3.MetadataKind.Host - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `request` | [.solo.io.envoy.type.metadata.v3.MetadataKind.Request](../metadata.proto.sk/#request) | Request kind of metadata. Only one of `request`, `route`, `cluster`, or `host` can be set. | -| `route` | [.solo.io.envoy.type.metadata.v3.MetadataKind.Route](../metadata.proto.sk/#route) | Route kind of metadata. Only one of `route`, `request`, `cluster`, or `host` can be set. | -| `cluster` | [.solo.io.envoy.type.metadata.v3.MetadataKind.Cluster](../metadata.proto.sk/#cluster) | Cluster kind of metadata. Only one of `cluster`, `request`, `route`, or `host` can be set. | -| `host` | [.solo.io.envoy.type.metadata.v3.MetadataKind.Host](../metadata.proto.sk/#host) | Host kind of metadata. Only one of `host`, `request`, `route`, or `cluster` can be set. | - - - - ---- -### Request - - -Represents dynamic metadata associated with the request. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### Route - - -Represents metadata from :ref:`the route`. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### Cluster - - -Represents metadata from :ref:`the upstream cluster`. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### Host - - -Represents metadata from :ref:`the upstream -host`. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/range.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/range.proto.sk.md deleted file mode 100644 index 7232b0eb14a..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/range.proto.sk.md +++ /dev/null @@ -1,71 +0,0 @@ - ---- -title: "range.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type` -#### Types: - - -- [Int64Range](#int64range) -- [DoubleRange](#doublerange) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/range.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/range.proto) - - - - - ---- -### Int64Range - - -Specifies the int64 start and end of the range using half-open interval semantics [start, -end). - -```yaml -"start": int -"end": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `start` | `int` | start of the range (inclusive). | -| `end` | `int` | end of the range (exclusive). | - - - - ---- -### DoubleRange - - -Specifies the double start and end of the range using half-open interval semantics [start, -end). - -```yaml -"start": float -"end": float - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `start` | `float` | start of the range (inclusive). | -| `end` | `float` | end of the range (exclusive). | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto.sk.md deleted file mode 100644 index f3e866e97d8..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto.sk.md +++ /dev/null @@ -1,143 +0,0 @@ - ---- -title: "custom_tag.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.tracing.v3` -#### Types: - - -- [CustomTag](#customtag) -- [Literal](#literal) -- [Environment](#environment) -- [Header](#header) -- [Metadata](#metadata) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto) - - - - - ---- -### CustomTag - - -Describes custom tags for the active span. -[#next-free-field: 6] - -```yaml -"tag": string -"literal": .solo.io.envoy.type.tracing.v3.CustomTag.Literal -"environment": .solo.io.envoy.type.tracing.v3.CustomTag.Environment -"requestHeader": .solo.io.envoy.type.tracing.v3.CustomTag.Header -"metadata": .solo.io.envoy.type.tracing.v3.CustomTag.Metadata - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `tag` | `string` | Used to populate the tag name. | -| `literal` | [.solo.io.envoy.type.tracing.v3.CustomTag.Literal](../custom_tag.proto.sk/#literal) | A literal custom tag. Only one of `literal`, `environment`, `requestHeader`, or `metadata` can be set. | -| `environment` | [.solo.io.envoy.type.tracing.v3.CustomTag.Environment](../custom_tag.proto.sk/#environment) | An environment custom tag. Only one of `environment`, `literal`, `requestHeader`, or `metadata` can be set. | -| `requestHeader` | [.solo.io.envoy.type.tracing.v3.CustomTag.Header](../custom_tag.proto.sk/#header) | A request header custom tag. Only one of `requestHeader`, `literal`, `environment`, or `metadata` can be set. | -| `metadata` | [.solo.io.envoy.type.tracing.v3.CustomTag.Metadata](../custom_tag.proto.sk/#metadata) | A custom tag to obtain tag value from the metadata. Only one of `metadata`, `literal`, `environment`, or `requestHeader` can be set. | - - - - ---- -### Literal - - -Literal type custom tag with static value for the tag value. - -```yaml -"value": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `value` | `string` | Static literal value to populate the tag value. | - - - - ---- -### Environment - - -Environment type custom tag with environment name and default value. - -```yaml -"name": string -"defaultValue": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | Environment variable name to obtain the value to populate the tag value. | -| `defaultValue` | `string` | When the environment variable is not found, the tag value will be populated with this default value if specified, otherwise no tag will be populated. | - - - - ---- -### Header - - -Header type custom tag with header name and default value. - -```yaml -"name": string -"defaultValue": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | Header name to obtain the value to populate the tag value. | -| `defaultValue` | `string` | When the header does not exist, the tag value will be populated with this default value if specified, otherwise no tag will be populated. | - - - - ---- -### Metadata - - -Metadata type custom tag using -MetadataKey to retrieve the protobuf value -from Metadata, and populate the tag value with -[the canonical JSON](https://developers.google.com/protocol-buffers/docs/proto3#json) -representation of it. - -```yaml -"kind": .solo.io.envoy.type.metadata.v3.MetadataKind -"metadataKey": .solo.io.envoy.type.metadata.v3.MetadataKey -"defaultValue": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `kind` | [.solo.io.envoy.type.metadata.v3.MetadataKind](../../../metadata/v3/metadata.proto.sk/#metadatakind) | Specify what kind of metadata to obtain tag value from. | -| `metadataKey` | [.solo.io.envoy.type.metadata.v3.MetadataKey](../../../metadata/v3/metadata.proto.sk/#metadatakey) | Metadata key to define the path to retrieve the tag value. | -| `defaultValue` | `string` | When no valid metadata is found, the tag value would be populated with this default value if specified, otherwise no tag would be populated. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http.proto.sk.md deleted file mode 100644 index a2a15b80993..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http.proto.sk.md +++ /dev/null @@ -1,38 +0,0 @@ - ---- -title: "http.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.v3` - -##### Enums: - - - - [CodecClientType](#codecclienttype) - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/v3/http.proto) - - - - - -### CodecClientType - -Description: - -| Name | Description | -| ----- | ----------- | -| HTTP1 | | -| HTTP2 | | -| HTTP3 | [#not-implemented-hide:] QUIC implementation is not production ready yet. Use this enum with caution to prevent accidental execution of QUIC code. I.e. `!= HTTP2` is no longer sufficient to distinguish HTTP1 and HTTP2 traffic. | - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http_status.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http_status.proto.sk.md deleted file mode 100644 index 8d817e06fb9..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http_status.proto.sk.md +++ /dev/null @@ -1,118 +0,0 @@ - ---- -title: "http_status.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.v3` -#### Types: - - -- [HttpStatus](#httpstatus) - - - - -##### Enums: - - - - [StatusCode](#statuscode) - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http_status.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/v3/http_status.proto) - - - - - ---- -### HttpStatus - - -HTTP status. - -```yaml -"code": .solo.io.envoy.type.v3.StatusCode - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `code` | [.solo.io.envoy.type.v3.StatusCode](../http_status.proto.sk/#statuscode) | Supplies HTTP response code. | - - - - -### StatusCode - -Description: HTTP response codes supported in Envoy. -For more details: https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml - -| Name | Description | -| ----- | ----------- | -| Empty | Empty - This code not part of the HTTP status code specification, but it is needed for proto `enum` type. | -| Continue | | -| OK | | -| Created | | -| Accepted | | -| NonAuthoritativeInformation | | -| NoContent | | -| ResetContent | | -| PartialContent | | -| MultiStatus | | -| AlreadyReported | | -| IMUsed | | -| MultipleChoices | | -| MovedPermanently | | -| Found | | -| SeeOther | | -| NotModified | | -| UseProxy | | -| TemporaryRedirect | | -| PermanentRedirect | | -| BadRequest | | -| Unauthorized | | -| PaymentRequired | | -| Forbidden | | -| NotFound | | -| MethodNotAllowed | | -| NotAcceptable | | -| ProxyAuthenticationRequired | | -| RequestTimeout | | -| Conflict | | -| Gone | | -| LengthRequired | | -| PreconditionFailed | | -| PayloadTooLarge | | -| URITooLong | | -| UnsupportedMediaType | | -| RangeNotSatisfiable | | -| ExpectationFailed | | -| MisdirectedRequest | | -| UnprocessableEntity | | -| Locked | | -| FailedDependency | | -| UpgradeRequired | | -| PreconditionRequired | | -| TooManyRequests | | -| RequestHeaderFieldsTooLarge | | -| InternalServerError | | -| NotImplemented | | -| BadGateway | | -| ServiceUnavailable | | -| GatewayTimeout | | -| HTTPVersionNotSupported | | -| VariantAlsoNegotiates | | -| InsufficientStorage | | -| LoopDetected | | -| NotExtended | | -| NetworkAuthenticationRequired | | - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/percent.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/percent.proto.sk.md deleted file mode 100644 index 5eb7afb180b..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/percent.proto.sk.md +++ /dev/null @@ -1,88 +0,0 @@ - ---- -title: "percent.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.v3` -#### Types: - - -- [Percent](#percent) -- [FractionalPercent](#fractionalpercent) -- [DenominatorType](#denominatortype) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/percent.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/v3/percent.proto) - - - - - ---- -### Percent - - -Identifies a percentage, in the range [0.0, 100.0]. - -```yaml -"value": float - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `value` | `float` | | - - - - ---- -### FractionalPercent - - -A fractional percentage is used in cases in which for performance reasons performing floating -point to integer conversions during randomness calculations is undesirable. The message includes -both a numerator and denominator that together determine the final fractional value. - -* **Example**: 1/100 = 1%. -* **Example**: 3/10000 = 0.03%. - -```yaml -"numerator": int -"denominator": .solo.io.envoy.type.v3.FractionalPercent.DenominatorType - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `numerator` | `int` | Specifies the numerator. Defaults to 0. | -| `denominator` | [.solo.io.envoy.type.v3.FractionalPercent.DenominatorType](../percent.proto.sk/#denominatortype) | Specifies the denominator. If the denominator specified is less than the numerator, the final fractional percentage is capped at 1 (100%). | - - - - ---- -### DenominatorType - - -Fraction percentages support several fixed denominator values. - -| Name | Description | -| ----- | ----------- | -| `HUNDRED` | 100. **Example**: 1/100 = 1%. | -| `TEN_THOUSAND` | 10,000. **Example**: 1/10000 = 0.01%. | -| `MILLION` | 1,000,000. **Example**: 1/1000000 = 0.0001%. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/range.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/range.proto.sk.md deleted file mode 100644 index 5ed220509f6..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/range.proto.sk.md +++ /dev/null @@ -1,93 +0,0 @@ - ---- -title: "range.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.v3` -#### Types: - - -- [Int64Range](#int64range) -- [Int32Range](#int32range) -- [DoubleRange](#doublerange) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/range.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/v3/range.proto) - - - - - ---- -### Int64Range - - -Specifies the int64 start and end of the range using half-open interval semantics [start, -end). - -```yaml -"start": int -"end": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `start` | `int` | start of the range (inclusive). | -| `end` | `int` | end of the range (exclusive). | - - - - ---- -### Int32Range - - -Specifies the int32 start and end of the range using half-open interval semantics [start, -end). - -```yaml -"start": int -"end": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `start` | `int` | start of the range (inclusive). | -| `end` | `int` | end of the range (exclusive). | - - - - ---- -### DoubleRange - - -Specifies the double start and end of the range using half-open interval semantics [start, -end). - -```yaml -"start": float -"end": float - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `start` | `float` | start of the range (inclusive). | -| `end` | `float` | end of the range (exclusive). | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/semantic_version.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/semantic_version.proto.sk.md deleted file mode 100644 index 47d872d97b6..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/semantic_version.proto.sk.md +++ /dev/null @@ -1,52 +0,0 @@ - ---- -title: "semantic_version.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.v3` -#### Types: - - -- [SemanticVersion](#semanticversion) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/semantic_version.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/v3/semantic_version.proto) - - - - - ---- -### SemanticVersion - - -Envoy uses SemVer (https://semver.org/). Major/minor versions indicate -expected behaviors and APIs, the patch version field is used only -for security fixes and can be generally ignored. - -```yaml -"majorNumber": int -"minorNumber": int -"patch": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `majorNumber` | `int` | | -| `minorNumber` | `int` | | -| `patch` | `int` | | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/migrate.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/migrate.proto.sk.md deleted file mode 100644 index 9b3554d2e66..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/migrate.proto.sk.md +++ /dev/null @@ -1,83 +0,0 @@ - ---- -title: "migrate.proto" -weight: 5 ---- - - - - -### Package: `solo.io.udpa.annotations` -#### Types: - - -- [MigrateAnnotation](#migrateannotation) -- [FieldMigrateAnnotation](#fieldmigrateannotation) -- [FileMigrateAnnotation](#filemigrateannotation) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/migrate.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/udpa/annotations/migrate.proto) - - - - - ---- -### MigrateAnnotation - - - -```yaml -"rename": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `rename` | `string` | Rename the message/enum/enum value in next version. | - - - - ---- -### FieldMigrateAnnotation - - - -```yaml -"rename": string -"oneofPromotion": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `rename` | `string` | Rename the field in next version. | -| `oneofPromotion` | `string` | Add the field to a named oneof in next version. If this already exists, the field will join its siblings under the oneof, otherwise a new oneof will be created with the given name. | - - - - ---- -### FileMigrateAnnotation - - - -```yaml -"moveToPackage": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `moveToPackage` | `string` | Move all types in the file to another package, this implies changing proto file path. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/sensitive.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/sensitive.proto.sk.md deleted file mode 100644 index 5bd370a4afa..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/sensitive.proto.sk.md +++ /dev/null @@ -1,21 +0,0 @@ - ---- -title: "sensitive.proto" -weight: 5 ---- - - - - -### Package: `solo.io.udpa.annotations` - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/sensitive.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/udpa/annotations/sensitive.proto) - - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/status.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/status.proto.sk.md deleted file mode 100644 index 5044bc5ab9f..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/status.proto.sk.md +++ /dev/null @@ -1,65 +0,0 @@ - ---- -title: "status.proto" -weight: 5 ---- - - - - -### Package: `solo.io.udpa.annotations` -#### Types: - - -- [StatusAnnotation](#statusannotation) - - - - -##### Enums: - - - - [PackageVersionStatus](#packageversionstatus) - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/status.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/udpa/annotations/status.proto) - - - - - ---- -### StatusAnnotation - - - -```yaml -"workInProgress": bool -"packageVersionStatus": .solo.io.udpa.annotations.PackageVersionStatus - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `workInProgress` | `bool` | The entity is work-in-progress and subject to breaking changes. | -| `packageVersionStatus` | [.solo.io.udpa.annotations.PackageVersionStatus](../status.proto.sk/#packageversionstatus) | The entity belongs to a package with the given version status. | - - - - -### PackageVersionStatus - -Description: - -| Name | Description | -| ----- | ----------- | -| UNKNOWN | Unknown package version status. | -| FROZEN | This version of the package is frozen. | -| ACTIVE | This version of the package is the active development version. | -| NEXT_MAJOR_VERSION_CANDIDATE | This version of the package is the candidate for the next major version. It is typically machine generated from the active development version. | - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/versioning.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/versioning.proto.sk.md deleted file mode 100644 index 12c8f7ce83b..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/versioning.proto.sk.md +++ /dev/null @@ -1,45 +0,0 @@ - ---- -title: "versioning.proto" -weight: 5 ---- - - - - -### Package: `solo.io.udpa.annotations` -#### Types: - - -- [VersioningAnnotation](#versioningannotation) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/versioning.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/udpa/annotations/versioning.proto) - - - - - ---- -### VersioningAnnotation - - - -```yaml -"previousMessageType": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `previousMessageType` | `string` | Track the previous message type. E.g. this message might be udpa.foo.v3alpha.Foo and it was previously udpa.bar.v2.Bar. This information is consumed by UDPA via proto descriptors. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/migrate.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/migrate.proto.sk.md deleted file mode 100644 index cdec3b72fae..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/migrate.proto.sk.md +++ /dev/null @@ -1,83 +0,0 @@ - ---- -title: "migrate.proto" -weight: 5 ---- - - - - -### Package: `xds.annotations.v3` -#### Types: - - -- [MigrateAnnotation](#migrateannotation) -- [FieldMigrateAnnotation](#fieldmigrateannotation) -- [FileMigrateAnnotation](#filemigrateannotation) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/migrate.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/annotations/v3/migrate.proto) - - - - - ---- -### MigrateAnnotation - - - -```yaml -"rename": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `rename` | `string` | Rename the message/enum/enum value in next version. | - - - - ---- -### FieldMigrateAnnotation - - - -```yaml -"rename": string -"oneofPromotion": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `rename` | `string` | Rename the field in next version. | -| `oneofPromotion` | `string` | Add the field to a named oneof in next version. If this already exists, the field will join its siblings under the oneof, otherwise a new oneof will be created with the given name. | - - - - ---- -### FileMigrateAnnotation - - - -```yaml -"moveToPackage": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `moveToPackage` | `string` | Move all types in the file to another package, this implies changing proto file path. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/security.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/security.proto.sk.md deleted file mode 100644 index 4d996f0e248..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/security.proto.sk.md +++ /dev/null @@ -1,49 +0,0 @@ - ---- -title: "security.proto" -weight: 5 ---- - - - - -### Package: `xds.annotations.v3` -#### Types: - - -- [FieldSecurityAnnotation](#fieldsecurityannotation) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/security.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/annotations/v3/security.proto) - - - - - ---- -### FieldSecurityAnnotation - - -These annotations indicate metadata for the purpose of understanding the -security significance of fields. - -```yaml -"configureForUntrustedDownstream": bool -"configureForUntrustedUpstream": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `configureForUntrustedDownstream` | `bool` | Field should be set in the presence of untrusted downstreams. | -| `configureForUntrustedUpstream` | `bool` | Field should be set in the presence of untrusted upstreams. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/sensitive.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/sensitive.proto.sk.md deleted file mode 100644 index 17cc62546bb..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/sensitive.proto.sk.md +++ /dev/null @@ -1,21 +0,0 @@ - ---- -title: "sensitive.proto" -weight: 5 ---- - - - - -### Package: `xds.annotations.v3` - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/sensitive.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/annotations/v3/sensitive.proto) - - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/status.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/status.proto.sk.md deleted file mode 100644 index b4748f8ee97..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/status.proto.sk.md +++ /dev/null @@ -1,119 +0,0 @@ - ---- -title: "status.proto" -weight: 5 ---- - - - - -### Package: `xds.annotations.v3` -#### Types: - - -- [FileStatusAnnotation](#filestatusannotation) -- [MessageStatusAnnotation](#messagestatusannotation) -- [FieldStatusAnnotation](#fieldstatusannotation) -- [StatusAnnotation](#statusannotation) - - - - -##### Enums: - - - - [PackageVersionStatus](#packageversionstatus) - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/status.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/annotations/v3/status.proto) - - - - - ---- -### FileStatusAnnotation - - - -```yaml -"workInProgress": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `workInProgress` | `bool` | The entity is work-in-progress and subject to breaking changes. | - - - - ---- -### MessageStatusAnnotation - - - -```yaml -"workInProgress": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `workInProgress` | `bool` | The entity is work-in-progress and subject to breaking changes. | - - - - ---- -### FieldStatusAnnotation - - - -```yaml -"workInProgress": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `workInProgress` | `bool` | The entity is work-in-progress and subject to breaking changes. | - - - - ---- -### StatusAnnotation - - - -```yaml -"workInProgress": bool -"packageVersionStatus": .xds.annotations.v3.PackageVersionStatus - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `workInProgress` | `bool` | The entity is work-in-progress and subject to breaking changes. | -| `packageVersionStatus` | [.xds.annotations.v3.PackageVersionStatus](../status.proto.sk/#packageversionstatus) | The entity belongs to a package with the given version status. | - - - - -### PackageVersionStatus - -Description: - -| Name | Description | -| ----- | ----------- | -| UNKNOWN | Unknown package version status. | -| FROZEN | This version of the package is frozen. | -| ACTIVE | This version of the package is the active development version. | -| NEXT_MAJOR_VERSION_CANDIDATE | This version of the package is the candidate for the next major version. It is typically machine generated from the active development version. | - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/versioning.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/versioning.proto.sk.md deleted file mode 100644 index d83e2eeea04..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/versioning.proto.sk.md +++ /dev/null @@ -1,45 +0,0 @@ - ---- -title: "versioning.proto" -weight: 5 ---- - - - - -### Package: `xds.annotations.v3` -#### Types: - - -- [VersioningAnnotation](#versioningannotation) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/annotations/v3/versioning.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/annotations/v3/versioning.proto) - - - - - ---- -### VersioningAnnotation - - - -```yaml -"previousMessageType": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `previousMessageType` | `string` | Track the previous message type. E.g. this message might be xds.foo.v3alpha.Foo and it was previously xds.bar.v2.Bar. This information is consumed by UDPA via proto descriptors. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/authority.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/authority.proto.sk.md deleted file mode 100644 index d3030ed96a6..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/authority.proto.sk.md +++ /dev/null @@ -1,46 +0,0 @@ - ---- -title: "authority.proto" -weight: 5 ---- - - - - -### Package: `xds.core.v3` -#### Types: - - -- [Authority](#authority) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/authority.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/core/v3/authority.proto) - - - - - ---- -### Authority - - -xDS authority information. - -```yaml -"name": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/cidr.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/cidr.proto.sk.md deleted file mode 100644 index efaeda855e2..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/cidr.proto.sk.md +++ /dev/null @@ -1,49 +0,0 @@ - ---- -title: "cidr.proto" -weight: 5 ---- - - - - -### Package: `xds.core.v3` -#### Types: - - -- [CidrRange](#cidrrange) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/cidr.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/core/v3/cidr.proto) - - - - - ---- -### CidrRange - - -CidrRange specifies an IP Address and a prefix length to construct -the subnet mask for a [CIDR](https://datatracker.ietf.org/doc/html/rfc4632) range. - -```yaml -"addressPrefix": string -"prefixLen": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `addressPrefix` | `string` | IPv4 or IPv6 address, e.g. `192.0.0.0` or `2001:db8::`. | -| `prefixLen` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Length of prefix, e.g. 0, 32. Defaults to 0 when unset. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/context_params.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/context_params.proto.sk.md deleted file mode 100644 index 2973b9a7e41..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/context_params.proto.sk.md +++ /dev/null @@ -1,52 +0,0 @@ - ---- -title: "context_params.proto" -weight: 5 ---- - - - - -### Package: `xds.core.v3` -#### Types: - - -- [ContextParams](#contextparams) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/context_params.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/core/v3/context_params.proto) - - - - - ---- -### ContextParams - - -Additional parameters that can be used to select resource variants. These include any -global context parameters, per-resource type client feature capabilities and per-resource -type functional attributes. All per-resource type attributes will be `xds.resource.` -prefixed and some of these are documented below: - -`xds.resource.listening_address`: The value is "IP:port" (e.g. "10.1.1.3:8080") which is - the listening address of a Listener. Used in a Listener resource query. - -```yaml -"params": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `params` | `map` | | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/extension.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/extension.proto.sk.md deleted file mode 100644 index 0b672daf179..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/extension.proto.sk.md +++ /dev/null @@ -1,48 +0,0 @@ - ---- -title: "extension.proto" -weight: 5 ---- - - - - -### Package: `xds.core.v3` -#### Types: - - -- [TypedExtensionConfig](#typedextensionconfig) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/extension.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/core/v3/extension.proto) - - - - - ---- -### TypedExtensionConfig - - -Message type for extension configuration. - -```yaml -"name": string -"typedConfig": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The name of an extension. This is not used to select the extension, instead it serves the role of an opaque identifier. | -| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | The typed config for the extension. The type URL will be used to identify the extension. In the case that the type URL is *xds.type.v3.TypedStruct* (or, for historical reasons, *udpa.type.v1.TypedStruct*), the inner type URL of *TypedStruct* will be utilized. See the :ref:`extension configuration overview ` for further details. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/resource.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/resource.proto.sk.md deleted file mode 100644 index dda96d09aec..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/resource.proto.sk.md +++ /dev/null @@ -1,51 +0,0 @@ - ---- -title: "resource.proto" -weight: 5 ---- - - - - -### Package: `xds.core.v3` -#### Types: - - -- [Resource](#resource) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/resource.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/core/v3/resource.proto) - - - - - ---- -### Resource - - -xDS resource wrapper. This encapsulates a xDS resource when appearing in an -xDS transport discovery response or when accessed as a filesystem object. - -```yaml -"name": .xds.core.v3.ResourceName -"version": string -"resource": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | [.xds.core.v3.ResourceName](../resource_name.proto.sk/#resourcename) | Resource name. This may be omitted for filesystem resources. | -| `version` | `string` | The resource's logical version. It is illegal to have the same named xDS resource name at a given version with different resource payloads. | -| `resource` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | The resource payload, including type URL. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/resource_locator.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/resource_locator.proto.sk.md deleted file mode 100644 index 0000264116f..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/resource_locator.proto.sk.md +++ /dev/null @@ -1,127 +0,0 @@ - ---- -title: "resource_locator.proto" -weight: 5 ---- - - - - -### Package: `xds.core.v3` -#### Types: - - -- [ResourceLocator](#resourcelocator) -- [Directive](#directive) -- [Scheme](#scheme) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/resource_locator.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/core/v3/resource_locator.proto) - - - - - ---- -### ResourceLocator - - -xDS resource locators identify a xDS resource name and instruct the -data-plane load balancer on how the resource may be located. - -Resource locators have a canonical xdstp:// URI representation: - - xdstp://{authority}/{type_url}/{id}?{context_params}{#directive,*} - -where context_params take the form of URI query parameters. - -Resource locators have a similar canonical http:// URI representation: - - http://{authority}/{type_url}/{id}?{context_params}{#directive,*} - -Resource locators also have a simplified file:// URI representation: - - file:///{id}{#directive,*} - -```yaml -"scheme": .xds.core.v3.ResourceLocator.Scheme -"id": string -"authority": string -"resourceType": string -"exactContext": .xds.core.v3.ContextParams -"directives": []xds.core.v3.ResourceLocator.Directive - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `scheme` | [.xds.core.v3.ResourceLocator.Scheme](../resource_locator.proto.sk/#scheme) | URI scheme. | -| `id` | `string` | Opaque identifier for the resource. Any '/' will not be escaped during URI encoding and will form part of the URI path. This may end with ‘*’ for glob collection references. | -| `authority` | `string` | Logical authority for resource (not necessarily transport network address). Authorities are opaque in the xDS API, data-plane load balancers will map them to concrete network transports such as an xDS management server, e.g. via envoy.config.core.v3.ConfigSource. | -| `resourceType` | `string` | Fully qualified resource type (as in type URL without types.googleapis.com/ prefix). | -| `exactContext` | [.xds.core.v3.ContextParams](../context_params.proto.sk/#contextparams) | Additional parameters that can be used to select resource variants. Matches must be exact, i.e. all context parameters must match exactly and there must be no additional context parameters set on the matched resource. | -| `directives` | [[]xds.core.v3.ResourceLocator.Directive](../resource_locator.proto.sk/#directive) | A list of directives that appear in the xDS resource locator #fragment. When encoding to URI form, directives are percent encoded with comma separation. | - - - - ---- -### Directive - - -Directives provide information to data-plane load balancers on how xDS -resource names are to be interpreted and potentially further resolved. For -example, they may provide alternative resource locators for when primary -resolution fails. Directives are not part of resource names and do not -appear in a xDS transport discovery request. - -When encoding to URIs, directives take the form: - -= - -For example, we can have alt=xdstp://foo/bar or entry=some%20thing. Each -directive value type may have its own string encoding, in the case of -ResourceLocator there is a recursive URI encoding. - -Percent encoding applies to the URI encoding of the directive value. -Multiple directives are comma-separated, so the reserved characters that -require percent encoding in a directive value are [',', '#', '[', ']', -'%']. These are the RFC3986 fragment reserved characters with the addition -of the xDS scheme specific ','. See -https://datatracker.ietf.org/doc/html/rfc3986#page-49 for further details on URI ABNF -and reserved characters. - -```yaml -"alt": .xds.core.v3.ResourceLocator -"entry": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `alt` | [.xds.core.v3.ResourceLocator](../resource_locator.proto.sk/#resourcelocator) | An alternative resource locator for fallback if the resource is unavailable. For example, take the resource locator: xdstp://foo/some-type/some-route-table#alt=xdstp://bar/some-type/another-route-table If the data-plane load balancer is unable to reach `foo` to fetch the resource, it will fallback to `bar`. Alternative resources do not need to have equivalent content, but they should be functional substitutes. Only one of `alt` or `entry` can be set. | -| `entry` | `string` | List collections support inlining of resources via the entry field in Resource. These inlined Resource objects may have an optional name field specified. When specified, the entry directive allows ResourceLocator to directly reference these inlined resources, e.g. xdstp://.../foo#entry=bar. Only one of `entry` or `alt` can be set. | - - - - ---- -### Scheme - - - -| Name | Description | -| ----- | ----------- | -| `XDSTP` | | -| `HTTP` | | -| `FILE` | | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/resource_name.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/resource_name.proto.sk.md deleted file mode 100644 index 7f09d65a413..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/resource_name.proto.sk.md +++ /dev/null @@ -1,60 +0,0 @@ - ---- -title: "resource_name.proto" -weight: 5 ---- - - - - -### Package: `xds.core.v3` -#### Types: - - -- [ResourceName](#resourcename) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/core/v3/resource_name.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/core/v3/resource_name.proto) - - - - - ---- -### ResourceName - - -xDS resource name. This has a canonical xdstp:// URI representation: - - xdstp://{authority}/{type_url}/{id}?{context_params} - -where context_params take the form of URI query parameters. - -A xDS resource name fully identifies a network resource for transport -purposes. xDS resource names in this form appear only in discovery -request/response messages used with the xDS transport. - -```yaml -"id": string -"authority": string -"resourceType": string -"context": .xds.core.v3.ContextParams - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `id` | `string` | Opaque identifier for the resource. Any '/' will not be escaped during URI encoding and will form part of the URI path. | -| `authority` | `string` | Logical authority for resource (not necessarily transport network address). Authorities are opaque in the xDS API, data-plane load balancers will map them to concrete network transports such as an xDS management server. | -| `resourceType` | `string` | Fully qualified resource type (as in type URL without types.googleapis.com/ prefix). | -| `context` | [.xds.core.v3.ContextParams](../context_params.proto.sk/#contextparams) | Additional parameters that can be used to select resource variants. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/service/orca/v3/orca.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/service/orca/v3/orca.proto.sk.md deleted file mode 100644 index 8f4034cd809..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/service/orca/v3/orca.proto.sk.md +++ /dev/null @@ -1,47 +0,0 @@ - ---- -title: "orca.proto" -weight: 5 ---- - - - - -### Package: `xds.service.orca.v3` -#### Types: - - -- [OrcaLoadReportRequest](#orcaloadreportrequest) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/service/orca/v3/orca.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/service/orca/v3/orca.proto) - - - - - ---- -### OrcaLoadReportRequest - - - -```yaml -"reportInterval": .google.protobuf.Duration -"requestCostNames": []string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `reportInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Interval for generating Open RCA core metric responses. | -| `requestCostNames` | `[]string` | Request costs to collect. If this is empty, all known requests costs tracked by the load reporting agent will be returned. This provides an opportunity for the client to selectively obtain a subset of tracked costs. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/domain.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/domain.proto.sk.md deleted file mode 100644 index 6e1c551b9ca..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/domain.proto.sk.md +++ /dev/null @@ -1,71 +0,0 @@ - ---- -title: "domain.proto" -weight: 5 ---- - - - - -### Package: `xds.type.matcher.v3` -#### Types: - - -- [ServerNameMatcher](#servernamematcher) -- [DomainMatcher](#domainmatcher) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/domain.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/type/matcher/v3/domain.proto) - - - - - ---- -### ServerNameMatcher - - -Matches a fully qualified server name against a set of domain -names with optional wildcards. - -```yaml -"domainMatchers": []xds.type.matcher.v3.ServerNameMatcher.DomainMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `domainMatchers` | [[]xds.type.matcher.v3.ServerNameMatcher.DomainMatcher](../domain.proto.sk/#domainmatcher) | Match a server name by multiple domain matchers. Each domain, exact or wildcard, must appear at most once across all the domain matchers. The server name will be matched against all wildcard domains starting from the longest suffix, i.e. `www.example.com` input will be first matched against `www.example.com`, then `*.example.com`, then `*.com`, then `*`, until the associated matcher action accepts the input. Note that wildcards must be on a dot border, and values like `*w.example.com` are invalid. | - - - - ---- -### DomainMatcher - - -Specifies a set of exact and wildcard domains and a match action. The -wildcard symbol `*` must appear at most once as the left-most part of -the domain on a dot border. The wildcard matches one or more non-empty -domain parts. - -```yaml -"domains": []string -"onMatch": .xds.type.matcher.v3.Matcher.OnMatch - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `domains` | `[]string` | A non-empty set of domain names with optional wildcards, e.g. `www.example.com`, `*.com`, or `*`. | -| `onMatch` | [.xds.type.matcher.v3.Matcher.OnMatch](../matcher.proto.sk/#onmatch) | Match action to apply when the server name matches any of the domain names in the matcher. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/http_inputs.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/http_inputs.proto.sk.md deleted file mode 100644 index 553f471dad2..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/http_inputs.proto.sk.md +++ /dev/null @@ -1,52 +0,0 @@ - ---- -title: "http_inputs.proto" -weight: 5 ---- - - - - -### Package: `xds.type.matcher.v3` -#### Types: - - -- [HttpAttributesCelMatchInput](#httpattributescelmatchinput) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/http_inputs.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/type/matcher/v3/http_inputs.proto) - - - - - ---- -### HttpAttributesCelMatchInput - - -Specifies that matching should be performed on the set of :ref:`HTTP attributes -`. - -The attributes will be exposed via [Common Expression Language](https://github.com/google/cel-spec) runtime to associated CEL matcher. - -Refer to Unified Matcher API documentation -for usage details. - -[#comment:TODO(sergiitk): When implemented, add the extension tag.] - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/ip.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/ip.proto.sk.md deleted file mode 100644 index 63551d485b7..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/ip.proto.sk.md +++ /dev/null @@ -1,69 +0,0 @@ - ---- -title: "ip.proto" -weight: 5 ---- - - - - -### Package: `xds.type.matcher.v3` -#### Types: - - -- [IPMatcher](#ipmatcher) -- [IPRangeMatcher](#iprangematcher) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/ip.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/type/matcher/v3/ip.proto) - - - - - ---- -### IPMatcher - - -Matches a specific IP address against a set of possibly overlapping subnets using a trie. - -```yaml -"rangeMatchers": []xds.type.matcher.v3.IPMatcher.IPRangeMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `rangeMatchers` | [[]xds.type.matcher.v3.IPMatcher.IPRangeMatcher](../ip.proto.sk/#iprangematcher) | Match IP address by CIDR ranges. | - - - - ---- -### IPRangeMatcher - - -Specifies a list of IP address ranges and a match action. - -```yaml -"ranges": []xds.core.v3.CidrRange -"onMatch": .xds.type.matcher.v3.Matcher.OnMatch -"exclusive": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `ranges` | [[]xds.core.v3.CidrRange](../../../../core/v3/cidr.proto.sk/#cidrrange) | A non-empty set of CIDR ranges. | -| `onMatch` | [.xds.type.matcher.v3.Matcher.OnMatch](../matcher.proto.sk/#onmatch) | Match action to apply when the IP address is within one of the CIDR ranges. | -| `exclusive` | `bool` | Indicates whether this match option should be considered if there is a more specific matcher. Exclusive matchers are not selected whenever a more specific matcher exists (e.g. matcher with a longer prefix) even when the more specific matcher fails its nested match condition. Non-exclusive matchers are considered if the more specific matcher exists but its nested match condition does not entirely match. Non-exclusive matchers are selected in the order of their specificity first (longest prefix first), then the order of declaration next. For example, consider two range matchers: an exclusive matcher *X* on `0.0.0.0/0` and a matcher *Y* on `192.0.0.0/2` with a nested match condition *Z*. For the input IP `192.168.0.1` matcher *Y* is the most specific. If its nested match condition *Z* does not accept the input, then the less specific matcher *X* does not apply either despite the input being within the range, because matcher *X* is exclusive. The opposite is true if matcher *X* is not marked as exclusive. In that case matcher *X* always matches whenever matcher "*Y* rejects the input. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/matcher.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/matcher.proto.sk.md deleted file mode 100644 index 4c8da525437..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/matcher.proto.sk.md +++ /dev/null @@ -1,227 +0,0 @@ - ---- -title: "matcher.proto" -weight: 5 ---- - - - - -### Package: `xds.type.matcher.v3` -#### Types: - - -- [Matcher](#matcher) -- [OnMatch](#onmatch) -- [MatcherList](#matcherlist) -- [Predicate](#predicate) -- [SinglePredicate](#singlepredicate) -- [PredicateList](#predicatelist) -- [FieldMatcher](#fieldmatcher) -- [MatcherTree](#matchertree) -- [MatchMap](#matchmap) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/matcher.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/type/matcher/v3/matcher.proto) - - - - - ---- -### Matcher - - -A matcher, which may traverse a matching tree in order to result in a match action. -During matching, the tree will be traversed until a match is found, or if no match -is found the action specified by the most specific on_no_match will be evaluated. -As an on_no_match might result in another matching tree being evaluated, this process -might repeat several times until the final OnMatch (or no match) is decided. - -```yaml -"matcherList": .xds.type.matcher.v3.Matcher.MatcherList -"matcherTree": .xds.type.matcher.v3.Matcher.MatcherTree -"onNoMatch": .xds.type.matcher.v3.Matcher.OnMatch - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `matcherList` | [.xds.type.matcher.v3.Matcher.MatcherList](../matcher.proto.sk/#matcherlist) | A linear list of matchers to evaluate. Only one of `matcherList` or `matcherTree` can be set. | -| `matcherTree` | [.xds.type.matcher.v3.Matcher.MatcherTree](../matcher.proto.sk/#matchertree) | A match tree to evaluate. Only one of `matcherTree` or `matcherList` can be set. | -| `onNoMatch` | [.xds.type.matcher.v3.Matcher.OnMatch](../matcher.proto.sk/#onmatch) | Optional OnMatch to use if no matcher above matched (e.g., if there are no matchers specified above, or if none of the matches specified above succeeded). If no matcher above matched and this field is not populated, the match will be considered unsuccessful. | - - - - ---- -### OnMatch - - -What to do if a match is successful. - -```yaml -"matcher": .xds.type.matcher.v3.Matcher -"action": .xds.core.v3.TypedExtensionConfig - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `matcher` | [.xds.type.matcher.v3.Matcher](../matcher.proto.sk/#matcher) | Nested matcher to evaluate. If the nested matcher does not match and does not specify on_no_match, then this matcher is considered not to have matched, even if a predicate at this level or above returned true. Only one of `matcher` or `action` can be set. | -| `action` | [.xds.core.v3.TypedExtensionConfig](../../../../core/v3/extension.proto.sk/#typedextensionconfig) | Protocol-specific action to take. Only one of `action` or `matcher` can be set. | - - - - ---- -### MatcherList - - -A linear list of field matchers. -The field matchers are evaluated in order, and the first match -wins. - -```yaml -"matchers": []xds.type.matcher.v3.Matcher.MatcherList.FieldMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `matchers` | [[]xds.type.matcher.v3.Matcher.MatcherList.FieldMatcher](../matcher.proto.sk/#fieldmatcher) | A list of matchers. First match wins. | - - - - ---- -### Predicate - - -Predicate to determine if a match is successful. - -```yaml -"singlePredicate": .xds.type.matcher.v3.Matcher.MatcherList.Predicate.SinglePredicate -"orMatcher": .xds.type.matcher.v3.Matcher.MatcherList.Predicate.PredicateList -"andMatcher": .xds.type.matcher.v3.Matcher.MatcherList.Predicate.PredicateList -"notMatcher": .xds.type.matcher.v3.Matcher.MatcherList.Predicate - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `singlePredicate` | [.xds.type.matcher.v3.Matcher.MatcherList.Predicate.SinglePredicate](../matcher.proto.sk/#singlepredicate) | A single predicate to evaluate. Only one of `singlePredicate`, `orMatcher`, `andMatcher`, or `notMatcher` can be set. | -| `orMatcher` | [.xds.type.matcher.v3.Matcher.MatcherList.Predicate.PredicateList](../matcher.proto.sk/#predicatelist) | A list of predicates to be OR-ed together. Only one of `orMatcher`, `singlePredicate`, `andMatcher`, or `notMatcher` can be set. | -| `andMatcher` | [.xds.type.matcher.v3.Matcher.MatcherList.Predicate.PredicateList](../matcher.proto.sk/#predicatelist) | A list of predicates to be AND-ed together. Only one of `andMatcher`, `singlePredicate`, `orMatcher`, or `notMatcher` can be set. | -| `notMatcher` | [.xds.type.matcher.v3.Matcher.MatcherList.Predicate](../matcher.proto.sk/#predicate) | The invert of a predicate. Only one of `notMatcher`, `singlePredicate`, `orMatcher`, or `andMatcher` can be set. | - - - - ---- -### SinglePredicate - - -Predicate for a single input field. - -```yaml -"input": .xds.core.v3.TypedExtensionConfig -"valueMatch": .xds.type.matcher.v3.StringMatcher -"customMatch": .xds.core.v3.TypedExtensionConfig - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `input` | [.xds.core.v3.TypedExtensionConfig](../../../../core/v3/extension.proto.sk/#typedextensionconfig) | Protocol-specific specification of input field to match on. [#extension-category: envoy.matching.common_inputs]. | -| `valueMatch` | [.xds.type.matcher.v3.StringMatcher](../string.proto.sk/#stringmatcher) | Built-in string matcher. Only one of `valueMatch` or `customMatch` can be set. | -| `customMatch` | [.xds.core.v3.TypedExtensionConfig](../../../../core/v3/extension.proto.sk/#typedextensionconfig) | Extension for custom matching logic. [#extension-category: envoy.matching.input_matchers]. Only one of `customMatch` or `valueMatch` can be set. | - - - - ---- -### PredicateList - - -A list of two or more matchers. Used to allow using a list within a oneof. - -```yaml -"predicate": []xds.type.matcher.v3.Matcher.MatcherList.Predicate - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `predicate` | [[]xds.type.matcher.v3.Matcher.MatcherList.Predicate](../matcher.proto.sk/#predicate) | | - - - - ---- -### FieldMatcher - - -An individual matcher. - -```yaml -"predicate": .xds.type.matcher.v3.Matcher.MatcherList.Predicate -"onMatch": .xds.type.matcher.v3.Matcher.OnMatch - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `predicate` | [.xds.type.matcher.v3.Matcher.MatcherList.Predicate](../matcher.proto.sk/#predicate) | Determines if the match succeeds. | -| `onMatch` | [.xds.type.matcher.v3.Matcher.OnMatch](../matcher.proto.sk/#onmatch) | What to do if the match succeeds. | - - - - ---- -### MatcherTree - - - -```yaml -"input": .xds.core.v3.TypedExtensionConfig -"exactMatchMap": .xds.type.matcher.v3.Matcher.MatcherTree.MatchMap -"prefixMatchMap": .xds.type.matcher.v3.Matcher.MatcherTree.MatchMap -"customMatch": .xds.core.v3.TypedExtensionConfig - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `input` | [.xds.core.v3.TypedExtensionConfig](../../../../core/v3/extension.proto.sk/#typedextensionconfig) | Protocol-specific specification of input field to match on. | -| `exactMatchMap` | [.xds.type.matcher.v3.Matcher.MatcherTree.MatchMap](../matcher.proto.sk/#matchmap) | Only one of `exactMatchMap`, `prefixMatchMap`, or `customMatch` can be set. | -| `prefixMatchMap` | [.xds.type.matcher.v3.Matcher.MatcherTree.MatchMap](../matcher.proto.sk/#matchmap) | Longest matching prefix wins. Only one of `prefixMatchMap`, `exactMatchMap`, or `customMatch` can be set. | -| `customMatch` | [.xds.core.v3.TypedExtensionConfig](../../../../core/v3/extension.proto.sk/#typedextensionconfig) | Extension for custom matching logic. Only one of `customMatch`, `exactMatchMap`, or `prefixMatchMap` can be set. | - - - - ---- -### MatchMap - - -A map of configured matchers. Used to allow using a map within a oneof. - -```yaml -"map": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `map` | `map` | | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/range.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/range.proto.sk.md deleted file mode 100644 index ca45ae9f4dc..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/range.proto.sk.md +++ /dev/null @@ -1,150 +0,0 @@ - ---- -title: "range.proto" -weight: 5 ---- - - - - -### Package: `xds.type.matcher.v3` -#### Types: - - -- [Int64RangeMatcher](#int64rangematcher) -- [RangeMatcher](#rangematcher) -- [Int32RangeMatcher](#int32rangematcher) -- [RangeMatcher](#rangematcher) -- [DoubleRangeMatcher](#doublerangematcher) -- [RangeMatcher](#rangematcher) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/range.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/type/matcher/v3/range.proto) - - - - - ---- -### Int64RangeMatcher - - -Specifies a set of ranges for matching an int64 number and the associated -match actions. - -```yaml -"rangeMatchers": []xds.type.matcher.v3.Int64RangeMatcher.RangeMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `rangeMatchers` | [[]xds.type.matcher.v3.Int64RangeMatcher.RangeMatcher](../range.proto.sk/#rangematcher) | Match a number by a list of number ranges. If multiple ranges contain the input number, then the first action in this list is taken. | - - - - ---- -### RangeMatcher - - -Specifies a list of number ranges and a match action. - -```yaml -"ranges": []xds.type.v3.Int64Range -"onMatch": .xds.type.matcher.v3.Matcher.OnMatch - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `ranges` | [[]xds.type.v3.Int64Range](../../../v3/range.proto.sk/#int64range) | A non-empty set of int64 ranges. | -| `onMatch` | [.xds.type.matcher.v3.Matcher.OnMatch](../matcher.proto.sk/#onmatch) | Match action to apply when the input number is within one of the ranges. | - - - - ---- -### Int32RangeMatcher - - -Specifies a set of ranges for matching an int32 number and the associated -match actions. - -```yaml -"rangeMatchers": []xds.type.matcher.v3.Int32RangeMatcher.RangeMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `rangeMatchers` | [[]xds.type.matcher.v3.Int32RangeMatcher.RangeMatcher](../range.proto.sk/#rangematcher) | Match a number by a list of number ranges. If multiple ranges contain the input number, then the first action in this list is taken. | - - - - ---- -### RangeMatcher - - -Specifies a list of number ranges and a match action. - -```yaml -"ranges": []xds.type.v3.Int32Range -"onMatch": .xds.type.matcher.v3.Matcher.OnMatch - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `ranges` | [[]xds.type.v3.Int32Range](../../../v3/range.proto.sk/#int32range) | A non-empty set of int32 ranges. | -| `onMatch` | [.xds.type.matcher.v3.Matcher.OnMatch](../matcher.proto.sk/#onmatch) | Match action to apply when the input number is within one of the ranges. | - - - - ---- -### DoubleRangeMatcher - - -Specifies a set of ranges for matching a double number and the associated -match actions. - -```yaml -"rangeMatchers": []xds.type.matcher.v3.DoubleRangeMatcher.RangeMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `rangeMatchers` | [[]xds.type.matcher.v3.DoubleRangeMatcher.RangeMatcher](../range.proto.sk/#rangematcher) | Match a number by a list of number ranges. If multiple ranges contain the input number, then the first action in this list is taken. | - - - - ---- -### RangeMatcher - - -Specifies a list of number ranges and a match action. - -```yaml -"ranges": []xds.type.v3.DoubleRange -"onMatch": .xds.type.matcher.v3.Matcher.OnMatch - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `ranges` | [[]xds.type.v3.DoubleRange](../../../v3/range.proto.sk/#doublerange) | A non-empty set of double ranges. | -| `onMatch` | [.xds.type.matcher.v3.Matcher.OnMatch](../matcher.proto.sk/#onmatch) | Match action to apply when the input number is within one of the ranges. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/regex.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/regex.proto.sk.md deleted file mode 100644 index ee3d486fd02..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/regex.proto.sk.md +++ /dev/null @@ -1,81 +0,0 @@ - ---- -title: "regex.proto" -weight: 5 ---- - - - - -### Package: `xds.type.matcher.v3` -#### Types: - - -- [RegexMatcher](#regexmatcher) -- [GoogleRE2](#googlere2) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/regex.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/type/matcher/v3/regex.proto) - - - - - ---- -### RegexMatcher - - -A regex matcher designed for safety when used with untrusted input. - -```yaml -"googleRe2": .xds.type.matcher.v3.RegexMatcher.GoogleRE2 -"regex": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `googleRe2` | [.xds.type.matcher.v3.RegexMatcher.GoogleRE2](../regex.proto.sk/#googlere2) | Google's RE2 regex engine. | -| `regex` | `string` | The regex match string. The string must be supported by the configured engine. | - - - - ---- -### GoogleRE2 - - -Google's [RE2](https://github.com/google/re2) regex engine. The regex -string must adhere to the documented [syntax](https://github.com/google/re2/wiki/Syntax). The engine is designed to -complete execution in linear time as well as limit the amount of memory -used. - -Envoy supports program size checking via runtime. The runtime keys -`re2.max_program_size.error_level` and `re2.max_program_size.warn_level` -can be set to integers as the maximum program size or complexity that a -compiled regex can have before an exception is thrown or a warning is -logged, respectively. `re2.max_program_size.error_level` defaults to 100, -and `re2.max_program_size.warn_level` has no default if unset (will not -check/log a warning). - -Envoy emits two stats for tracking the program size of regexes: the -histogram `re2.program_size`, which records the program size, and the -counter `re2.exceeded_warn_level`, which is incremented each time the -program size exceeds the warn level threshold. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/string.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/string.proto.sk.md deleted file mode 100644 index d934292e7b9..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/string.proto.sk.md +++ /dev/null @@ -1,76 +0,0 @@ - ---- -title: "string.proto" -weight: 5 ---- - - - - -### Package: `xds.type.matcher.v3` -#### Types: - - -- [StringMatcher](#stringmatcher) -- [ListStringMatcher](#liststringmatcher) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/string.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/type/matcher/v3/string.proto) - - - - - ---- -### StringMatcher - - -Specifies the way to match a string. -[#next-free-field: 8] - -```yaml -"exact": string -"prefix": string -"suffix": string -"safeRegex": .xds.type.matcher.v3.RegexMatcher -"contains": string -"ignoreCase": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `exact` | `string` | The input string must match exactly the string specified here. Examples: * *abc* only matches the value *abc*. Only one of `exact`, `prefix`, `suffix`, `safeRegex`, or `contains` can be set. | -| `prefix` | `string` | The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * *abc* matches the value *abc.xyz*. Only one of `prefix`, `exact`, `suffix`, `safeRegex`, or `contains` can be set. | -| `suffix` | `string` | The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * *abc* matches the value *xyz.abc*. Only one of `suffix`, `exact`, `prefix`, `safeRegex`, or `contains` can be set. | -| `safeRegex` | [.xds.type.matcher.v3.RegexMatcher](../regex.proto.sk/#regexmatcher) | The input string must match the regular expression specified here. Only one of `safeRegex`, `exact`, `prefix`, `suffix`, or `contains` can be set. | -| `contains` | `string` | The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * *abc* matches the value *xyz.abc.def*. Only one of `contains`, `exact`, `prefix`, `suffix`, or `safeRegex` can be set. | -| `ignoreCase` | `bool` | If true, indicates the exact/prefix/suffix matching should be case insensitive. This has no effect for the safe_regex match. For example, the matcher *data* will match both input string *Data* and *data* if set to true. | - - - - ---- -### ListStringMatcher - - -Specifies a list of ways to match a string. - -```yaml -"patterns": []xds.type.matcher.v3.StringMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `patterns` | [[]xds.type.matcher.v3.StringMatcher](../string.proto.sk/#stringmatcher) | | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/v3/range.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/v3/range.proto.sk.md deleted file mode 100644 index afcc44cb939..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/v3/range.proto.sk.md +++ /dev/null @@ -1,93 +0,0 @@ - ---- -title: "range.proto" -weight: 5 ---- - - - - -### Package: `xds.type.v3` -#### Types: - - -- [Int64Range](#int64range) -- [Int32Range](#int32range) -- [DoubleRange](#doublerange) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/type/v3/range.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/type/v3/range.proto) - - - - - ---- -### Int64Range - - -Specifies the int64 start and end of the range using half-open interval -semantics [start, end). - -```yaml -"start": int -"end": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `start` | `int` | start of the range (inclusive). | -| `end` | `int` | end of the range (exclusive). | - - - - ---- -### Int32Range - - -Specifies the int32 start and end of the range using half-open interval -semantics [start, end). - -```yaml -"start": int -"end": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `start` | `int` | start of the range (inclusive). | -| `end` | `int` | end of the range (exclusive). | - - - - ---- -### DoubleRange - - -Specifies the double start and end of the range using half-open interval -semantics [start, end). - -```yaml -"start": float -"end": float - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `start` | `float` | start of the range (inclusive). | -| `end` | `float` | end of the range (exclusive). | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/v3/typed_struct.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/v3/typed_struct.proto.sk.md deleted file mode 100644 index 8479726b061..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds/type/v3/typed_struct.proto.sk.md +++ /dev/null @@ -1,71 +0,0 @@ - ---- -title: "typed_struct.proto" -weight: 5 ---- - - - - -### Package: `xds.type.v3` -#### Types: - - -- [TypedStruct](#typedstruct) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/xds/type/v3/typed_struct.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/xds/type/v3/typed_struct.proto) - - - - - ---- -### TypedStruct - - -A TypedStruct contains an arbitrary JSON serialized protocol buffer message with a URL that -describes the type of the serialized message. This is very similar to google.protobuf.Any, -instead of having protocol buffer binary, this employs google.protobuf.Struct as value. - -This message is intended to be embedded inside Any, so it shouldn't be directly referred -from other UDPA messages. - -When packing an opaque extension config, packing the expected type into Any is preferred -wherever possible for its efficiency. TypedStruct should be used only if a proto descriptor -is not available, for example if: - -- A control plane sends opaque message that is originally from external source in human readable - format such as JSON or YAML. -- The control plane doesn't have the knowledge of the protocol buffer schema hence it cannot - serialize the message in protocol buffer binary format. -- The DPLB doesn't have have the knowledge of the protocol buffer schema its plugin or extension - uses. This has to be indicated in the DPLB capability negotiation. - -When a DPLB receives a TypedStruct in Any, it should: -- Check if the type_url of the TypedStruct matches the type the extension expects. -- Convert value to the type described in type_url and perform validation. - -TODO(lizan): Figure out how TypeStruct should be used with DPLB extensions that doesn't link -protobuf descriptor with DPLB itself, (e.g. gRPC LB Plugin, Envoy WASM extensions). - -```yaml -"typeUrl": string -"value": .google.protobuf.Struct - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `typeUrl` | `string` | A URL that uniquely identifies the type of the serialize protocol buffer message. This has same semantics and format described in google.protobuf.Any: https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/any.proto. | -| `value` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | A JSON representation of the above specified type. | - - - - - - - - diff --git a/generate.go b/generate.go index 2aa1ab0092f..e0bdfa302b5 100644 --- a/generate.go +++ b/generate.go @@ -1,6 +1,8 @@ package main import ( + "os" + "github.com/solo-io/go-utils/log" "github.com/solo-io/solo-kit/pkg/code-generator/cmd" "github.com/solo-io/solo-kit/pkg/code-generator/docgen/options" @@ -81,5 +83,12 @@ func main() { if err := cmd.Generate(generateOptions); err != nil { log.Fatalf("generate failed!: %v", err) } + + removeExternalDocs() log.Printf("finished generating code for gloo") } + +func removeExternalDocs() { + // as requested here: https://github.com/solo-io/solo-projects/issues/6768 + os.RemoveAll("docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/") +} diff --git a/go.sum b/go.sum index c6d19ef7b1f..767cb2014db 100644 --- a/go.sum +++ b/go.sum @@ -49,6 +49,7 @@ cloud.google.com/go v0.110.9/go.mod h1:rpxevX/0Lqvlbc88b7Sc1SPNdyK1riNBTUU6JXhYN cloud.google.com/go v0.110.10/go.mod h1:v1OoFqYxiBkUrruItNM3eT4lLByNjxmJSV/xDKJNnic= cloud.google.com/go v0.111.0/go.mod h1:0mibmpKP1TyOOFYQY5izo0LnT+ecvOQ0Sg3OdmMiNRU= cloud.google.com/go v0.112.0/go.mod h1:3jEEVwZ/MHU4djK5t5RHuKOA/GbLddgTdVubX1qnPD4= +cloud.google.com/go v0.112.1 h1:uJSeirPke5UNZHIb4SxfZklVSiWWVqW4oXlETwZziwM= cloud.google.com/go v0.112.1/go.mod h1:+Vbu+Y1UU+I1rjmzeMOb/8RfkKJK2Gyxi1X6jJCZLo4= cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= @@ -57,6 +58,7 @@ cloud.google.com/go/accessapproval v1.7.1/go.mod h1:JYczztsHRMK7NTXb6Xw+dwbs/WnO cloud.google.com/go/accessapproval v1.7.2/go.mod h1:/gShiq9/kK/h8T/eEn1BTzalDvk0mZxJlhfw0p+Xuc0= cloud.google.com/go/accessapproval v1.7.3/go.mod h1:4l8+pwIxGTNqSf4T3ds8nLO94NQf0W/KnMNuQ9PbnP8= cloud.google.com/go/accessapproval v1.7.4/go.mod h1:/aTEh45LzplQgFYdQdwPMR9YdX0UlhBmvB84uAmQKUc= +cloud.google.com/go/accessapproval v1.7.5 h1:uzmAMSgYcnlHa9X9YSQZ4Q1wlfl4NNkZyQgho1Z6p04= cloud.google.com/go/accessapproval v1.7.5/go.mod h1:g88i1ok5dvQ9XJsxpUInWWvUBrIZhyPDPbk4T01OoJ0= cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= @@ -67,6 +69,7 @@ cloud.google.com/go/accesscontextmanager v1.8.1/go.mod h1:JFJHfvuaTC+++1iL1coPiG cloud.google.com/go/accesscontextmanager v1.8.2/go.mod h1:E6/SCRM30elQJ2PKtFMs2YhfJpZSNcJyejhuzoId4Zk= cloud.google.com/go/accesscontextmanager v1.8.3/go.mod h1:4i/JkF2JiFbhLnnpnfoTX5vRXfhf9ukhU1ANOTALTOQ= cloud.google.com/go/accesscontextmanager v1.8.4/go.mod h1:ParU+WbMpD34s5JFEnGAnPBYAgUHozaTmDJU7aCU9+M= +cloud.google.com/go/accesscontextmanager v1.8.5 h1:2GLNaNu9KRJhJBFTIVRoPwk6xE5mUDgD47abBq4Zp/I= cloud.google.com/go/accesscontextmanager v1.8.5/go.mod h1:TInEhcZ7V9jptGNqN3EzZ5XMhT6ijWxTGjzyETwmL0Q= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= @@ -85,6 +88,7 @@ cloud.google.com/go/aiplatform v1.54.0/go.mod h1:pwZMGvqe0JRkI1GWSZCtnAfrR4K1bv6 cloud.google.com/go/aiplatform v1.57.0/go.mod h1:pwZMGvqe0JRkI1GWSZCtnAfrR4K1bv65IHILGA//VEU= cloud.google.com/go/aiplatform v1.58.0/go.mod h1:pwZMGvqe0JRkI1GWSZCtnAfrR4K1bv65IHILGA//VEU= cloud.google.com/go/aiplatform v1.58.2/go.mod h1:c3kCiVmb6UC1dHAjZjcpDj6ZS0bHQ2slL88ZjC2LtlA= +cloud.google.com/go/aiplatform v1.60.0 h1:0cSrii1ZeLr16MbBoocyy5KVnrSdiQ3KN/vtrTe7RqE= cloud.google.com/go/aiplatform v1.60.0/go.mod h1:eTlGuHOahHprZw3Hio5VKmtThIOak5/qy6pzdsqcQnM= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= @@ -97,6 +101,7 @@ cloud.google.com/go/analytics v0.21.4/go.mod h1:zZgNCxLCy8b2rKKVfC1YkC2vTrpfZmeR cloud.google.com/go/analytics v0.21.5/go.mod h1:BQtOBHWTlJ96axpPPnw5CvGJ6i3Ve/qX2fTxR8qWyr8= cloud.google.com/go/analytics v0.21.6/go.mod h1:eiROFQKosh4hMaNhF85Oc9WO97Cpa7RggD40e/RBy8w= cloud.google.com/go/analytics v0.22.0/go.mod h1:eiROFQKosh4hMaNhF85Oc9WO97Cpa7RggD40e/RBy8w= +cloud.google.com/go/analytics v0.23.0 h1:Q+y94XH84jM8SK8O7qiY/PJRexb6n7dRbQ6PiUa4YGM= cloud.google.com/go/analytics v0.23.0/go.mod h1:YPd7Bvik3WS95KBok2gPXDqQPHy08TsCQG6CdUCb+u0= cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= @@ -105,6 +110,7 @@ cloud.google.com/go/apigateway v1.6.1/go.mod h1:ufAS3wpbRjqfZrzpvLC2oh0MFlpRJm2E cloud.google.com/go/apigateway v1.6.2/go.mod h1:CwMC90nnZElorCW63P2pAYm25AtQrHfuOkbRSHj0bT8= cloud.google.com/go/apigateway v1.6.3/go.mod h1:k68PXWpEs6BVDTtnLQAyG606Q3mz8pshItwPXjgv44Y= cloud.google.com/go/apigateway v1.6.4/go.mod h1:0EpJlVGH5HwAN4VF4Iec8TAzGN1aQgbxAWGJsnPCGGY= +cloud.google.com/go/apigateway v1.6.5 h1:sPXnpk+6TneKIrjCjcpX5YGsAKy3PTdpIchoj8/74OE= cloud.google.com/go/apigateway v1.6.5/go.mod h1:6wCwvYRckRQogyDDltpANi3zsCDl6kWi0b4Je+w2UiI= cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= @@ -113,6 +119,7 @@ cloud.google.com/go/apigeeconnect v1.6.1/go.mod h1:C4awq7x0JpLtrlQCr8AzVIzAaYgng cloud.google.com/go/apigeeconnect v1.6.2/go.mod h1:s6O0CgXT9RgAxlq3DLXvG8riw8PYYbU/v25jqP3Dy18= cloud.google.com/go/apigeeconnect v1.6.3/go.mod h1:peG0HFQ0si2bN15M6QSjEW/W7Gy3NYkWGz7pFz13cbo= cloud.google.com/go/apigeeconnect v1.6.4/go.mod h1:CapQCWZ8TCjnU0d7PobxhpOdVz/OVJ2Hr/Zcuu1xFx0= +cloud.google.com/go/apigeeconnect v1.6.5 h1:CrfIKv9Go3fh/QfQgisU3MeP90Ww7l/sVGmr3TpECo8= cloud.google.com/go/apigeeconnect v1.6.5/go.mod h1:MEKm3AiT7s11PqTfKE3KZluZA9O91FNysvd3E6SJ6Ow= cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= @@ -121,9 +128,11 @@ cloud.google.com/go/apigeeregistry v0.7.1/go.mod h1:1XgyjZye4Mqtw7T9TsY4NW10U7Bo cloud.google.com/go/apigeeregistry v0.7.2/go.mod h1:9CA2B2+TGsPKtfi3F7/1ncCCsL62NXBRfM6iPoGSM+8= cloud.google.com/go/apigeeregistry v0.8.1/go.mod h1:MW4ig1N4JZQsXmBSwH4rwpgDonocz7FPBSw6XPGHmYw= cloud.google.com/go/apigeeregistry v0.8.2/go.mod h1:h4v11TDGdeXJDJvImtgK2AFVvMIgGWjSb0HRnBSjcX8= +cloud.google.com/go/apigeeregistry v0.8.3 h1:C+QU2K+DzDjk4g074ouwHQGkoff1h5OMQp6sblCVreQ= cloud.google.com/go/apigeeregistry v0.8.3/go.mod h1:aInOWnqF4yMQx8kTjDqHNXjZGh/mxeNlAf52YqtASUs= cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= +cloud.google.com/go/apikeys v0.6.0 h1:B9CdHFZTFjVti89tmyXXrO+7vSNo2jvZuHG8zD5trdQ= cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= @@ -134,6 +143,7 @@ cloud.google.com/go/appengine v1.8.1/go.mod h1:6NJXGLVhZCN9aQ/AEDvmfzKEfoYBlfB80 cloud.google.com/go/appengine v1.8.2/go.mod h1:WMeJV9oZ51pvclqFN2PqHoGnys7rK0rz6s3Mp6yMvDo= cloud.google.com/go/appengine v1.8.3/go.mod h1:2oUPZ1LVZ5EXi+AF1ihNAF+S8JrzQ3till5m9VQkrsk= cloud.google.com/go/appengine v1.8.4/go.mod h1:TZ24v+wXBujtkK77CXCpjZbnuTvsFNT41MUaZ28D6vg= +cloud.google.com/go/appengine v1.8.5 h1:l2SviT44zWQiOv8bPoMBzW0vOcMO22iO0s+nVtVhdts= cloud.google.com/go/appengine v1.8.5/go.mod h1:uHBgNoGLTS5di7BvU25NFDuKa82v0qQLjyMJLuPQrVo= cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= @@ -143,6 +153,7 @@ cloud.google.com/go/area120 v0.8.1/go.mod h1:BVfZpGpB7KFVNxPiQBuHkX6Ed0rS51xIgmG cloud.google.com/go/area120 v0.8.2/go.mod h1:a5qfo+x77SRLXnCynFWPUZhnZGeSgvQ+Y0v1kSItkh4= cloud.google.com/go/area120 v0.8.3/go.mod h1:5zj6pMzVTH+SVHljdSKC35sriR/CVvQZzG/Icdyriw0= cloud.google.com/go/area120 v0.8.4/go.mod h1:jfawXjxf29wyBXr48+W+GyX/f8fflxp642D/bb9v68M= +cloud.google.com/go/area120 v0.8.5 h1:vTs08KPLN/iMzTbxpu5ciL06KcsrVPMjz4IwcQyZ4uY= cloud.google.com/go/area120 v0.8.5/go.mod h1:BcoFCbDLZjsfe4EkCnEq1LKvHSK0Ew/zk5UFu6GMyA0= cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= @@ -157,6 +168,7 @@ cloud.google.com/go/artifactregistry v1.14.2/go.mod h1:Xk+QbsKEb0ElmyeMfdHAey41B cloud.google.com/go/artifactregistry v1.14.3/go.mod h1:A2/E9GXnsyXl7GUvQ/2CjHA+mVRoWAXC0brg2os+kNI= cloud.google.com/go/artifactregistry v1.14.4/go.mod h1:SJJcZTMv6ce0LDMUnihCN7WSrI+kBSFV0KIKo8S8aYU= cloud.google.com/go/artifactregistry v1.14.6/go.mod h1:np9LSFotNWHcjnOgh8UVK0RFPCTUGbO0ve3384xyHfE= +cloud.google.com/go/artifactregistry v1.14.7 h1:W9sVlyb1VRcUf83w7aM3yMsnp4HS4PoyGqYQNG0O5lI= cloud.google.com/go/artifactregistry v1.14.7/go.mod h1:0AUKhzWQzfmeTvT4SjfI4zjot72EMfrkvL9g9aRjnnM= cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= @@ -174,6 +186,7 @@ cloud.google.com/go/asset v1.15.3/go.mod h1:yYLfUD4wL4X589A9tYrv4rFrba0QlDeag0CM cloud.google.com/go/asset v1.16.0/go.mod h1:yYLfUD4wL4X589A9tYrv4rFrba0QlDeag0CMcM5ggXU= cloud.google.com/go/asset v1.17.0/go.mod h1:yYLfUD4wL4X589A9tYrv4rFrba0QlDeag0CMcM5ggXU= cloud.google.com/go/asset v1.17.1/go.mod h1:byvDw36UME5AzGNK7o4JnOnINkwOZ1yRrGrKIahHrng= +cloud.google.com/go/asset v1.17.2 h1:xgFnBP3luSbUcC9RWJvb3Zkt+y/wW6PKwPHr3ssnIP8= cloud.google.com/go/asset v1.17.2/go.mod h1:SVbzde67ehddSoKf5uebOD1sYw8Ab/jD/9EIeWg99q4= cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= @@ -185,6 +198,7 @@ cloud.google.com/go/assuredworkloads v1.11.1/go.mod h1:+F04I52Pgn5nmPG36CWFtxmav cloud.google.com/go/assuredworkloads v1.11.2/go.mod h1:O1dfr+oZJMlE6mw0Bp0P1KZSlj5SghMBvTpZqIcUAW4= cloud.google.com/go/assuredworkloads v1.11.3/go.mod h1:vEjfTKYyRUaIeA0bsGJceFV2JKpVRgyG2op3jfa59Zs= cloud.google.com/go/assuredworkloads v1.11.4/go.mod h1:4pwwGNwy1RP0m+y12ef3Q/8PaiWrIDQ6nD2E8kvWI9U= +cloud.google.com/go/assuredworkloads v1.11.5 h1:gCrN3IyvqY3cP0wh2h43d99CgH3G+WYs9CeuFVKChR8= cloud.google.com/go/assuredworkloads v1.11.5/go.mod h1:FKJ3g3ZvkL2D7qtqIGnDufFkHxwIpNM9vtmhvt+6wqk= cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= @@ -195,6 +209,7 @@ cloud.google.com/go/automl v1.13.1/go.mod h1:1aowgAHWYZU27MybSCFiukPO7xnyawv7pt3 cloud.google.com/go/automl v1.13.2/go.mod h1:gNY/fUmDEN40sP8amAX3MaXkxcqPIn7F1UIIPZpy4Mg= cloud.google.com/go/automl v1.13.3/go.mod h1:Y8KwvyAZFOsMAPqUCfNu1AyclbC6ivCUF/MTwORymyY= cloud.google.com/go/automl v1.13.4/go.mod h1:ULqwX/OLZ4hBVfKQaMtxMSTlPx0GqGbWN8uA/1EqCP8= +cloud.google.com/go/automl v1.13.5 h1:ijiJy9sYWh75WrqImXsfWc1e3HR3iO+ef9fvW03Ig/4= cloud.google.com/go/automl v1.13.5/go.mod h1:MDw3vLem3yh+SvmSgeYUmUKqyls6NzSumDm9OJ3xJ1Y= cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= @@ -204,6 +219,7 @@ cloud.google.com/go/baremetalsolution v1.2.0/go.mod h1:68wi9AwPYkEWIUT4SvSGS9UJw cloud.google.com/go/baremetalsolution v1.2.1/go.mod h1:3qKpKIw12RPXStwQXcbhfxVj1dqQGEvcmA+SX/mUR88= cloud.google.com/go/baremetalsolution v1.2.2/go.mod h1:O5V6Uu1vzVelYahKfwEWRMaS3AbCkeYHy3145s1FkhM= cloud.google.com/go/baremetalsolution v1.2.3/go.mod h1:/UAQ5xG3faDdy180rCUv47e0jvpp3BFxT+Cl0PFjw5g= +cloud.google.com/go/baremetalsolution v1.2.4 h1:LFydisRmS7hQk9P/YhekwuZGqb45TW4QavcrMToWo5A= cloud.google.com/go/baremetalsolution v1.2.4/go.mod h1:BHCmxgpevw9IEryE99HbYEfxXkAEA3hkMJbYYsHtIuY= cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= @@ -215,6 +231,7 @@ cloud.google.com/go/batch v1.5.1/go.mod h1:RpBuIYLkQu8+CWDk3dFD/t/jOCGuUpkpX+Y0n cloud.google.com/go/batch v1.6.1/go.mod h1:urdpD13zPe6YOK+6iZs/8/x2VBRofvblLpx0t57vM98= cloud.google.com/go/batch v1.6.3/go.mod h1:J64gD4vsNSA2O5TtDB5AAux3nJ9iV8U3ilg3JDBYejU= cloud.google.com/go/batch v1.7.0/go.mod h1:J64gD4vsNSA2O5TtDB5AAux3nJ9iV8U3ilg3JDBYejU= +cloud.google.com/go/batch v1.8.0 h1:2HK4JerwVaIcCh/lJiHwh6+uswPthiMMWhiSWLELayk= cloud.google.com/go/batch v1.8.0/go.mod h1:k8V7f6VE2Suc0zUM4WtoibNrA6D3dqBpB+++e3vSGYc= cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= @@ -225,6 +242,7 @@ cloud.google.com/go/beyondcorp v1.0.0/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/V cloud.google.com/go/beyondcorp v1.0.1/go.mod h1:zl/rWWAFVeV+kx+X2Javly7o1EIQThU4WlkynffL/lk= cloud.google.com/go/beyondcorp v1.0.2/go.mod h1:m8cpG7caD+5su+1eZr+TSvF6r21NdLJk4f9u4SP2Ntc= cloud.google.com/go/beyondcorp v1.0.3/go.mod h1:HcBvnEd7eYr+HGDd5ZbuVmBYX019C6CEXBonXbCVwJo= +cloud.google.com/go/beyondcorp v1.0.4 h1:qs0J0O9Ol2h1yA0AU+r7l3hOCPzs2MjE1d6d/kaHIKo= cloud.google.com/go/beyondcorp v1.0.4/go.mod h1:Gx8/Rk2MxrvWfn4WIhHIG1NV7IBfg14pTKv1+EArVcc= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= @@ -245,6 +263,7 @@ cloud.google.com/go/bigquery v1.55.0/go.mod h1:9Y5I3PN9kQWuid6183JFhOGOW3GcirA5L cloud.google.com/go/bigquery v1.56.0/go.mod h1:KDcsploXTEY7XT3fDQzMUZlpQLHzE4itubHrnmhUrZA= cloud.google.com/go/bigquery v1.57.1/go.mod h1:iYzC0tGVWt1jqSzBHqCr3lrRn0u13E8e+AqowBsDgug= cloud.google.com/go/bigquery v1.58.0/go.mod h1:0eh4mWNY0KrBTjUzLjoYImapGORq9gEPT7MWjCy9lik= +cloud.google.com/go/bigquery v1.59.1 h1:CpT+/njKuKT3CEmswm6IbhNu9u35zt5dO4yPDLW+nG4= cloud.google.com/go/bigquery v1.59.1/go.mod h1:VP1UJYgevyTwsV7desjzNzDND5p6hZB+Z8gZJN1GQUc= cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= @@ -259,6 +278,7 @@ cloud.google.com/go/billing v1.17.2/go.mod h1:u/AdV/3wr3xoRBk5xvUzYMS1IawOAPwQMu cloud.google.com/go/billing v1.17.3/go.mod h1:z83AkoZ7mZwBGT3yTnt6rSGI1OOsHSIi6a5M3mJ8NaU= cloud.google.com/go/billing v1.17.4/go.mod h1:5DOYQStCxquGprqfuid/7haD7th74kyMBHkjO/OvDtk= cloud.google.com/go/billing v1.18.0/go.mod h1:5DOYQStCxquGprqfuid/7haD7th74kyMBHkjO/OvDtk= +cloud.google.com/go/billing v1.18.2 h1:oWUEQvuC4JvtnqLZ35zgzdbuHt4Itbftvzbe6aEyFdE= cloud.google.com/go/billing v1.18.2/go.mod h1:PPIwVsOOQ7xzbADCwNe8nvK776QpfrOAUkvKjCUcpSE= cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= @@ -271,6 +291,7 @@ cloud.google.com/go/binaryauthorization v1.7.1/go.mod h1:GTAyfRWYgcbsP3NJogpV3ye cloud.google.com/go/binaryauthorization v1.7.2/go.mod h1:kFK5fQtxEp97m92ziy+hbu+uKocka1qRRL8MVJIgjv0= cloud.google.com/go/binaryauthorization v1.7.3/go.mod h1:VQ/nUGRKhrStlGr+8GMS8f6/vznYLkdK5vaKfdCIpvU= cloud.google.com/go/binaryauthorization v1.8.0/go.mod h1:VQ/nUGRKhrStlGr+8GMS8f6/vznYLkdK5vaKfdCIpvU= +cloud.google.com/go/binaryauthorization v1.8.1 h1:1jcyh2uIUwSZkJ/JmL8kd5SUkL/Krbv8zmYLEbAz6kY= cloud.google.com/go/binaryauthorization v1.8.1/go.mod h1:1HVRyBerREA/nhI7yLang4Zn7vfNVA3okoAR9qYQJAQ= cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= @@ -279,6 +300,7 @@ cloud.google.com/go/certificatemanager v1.7.1/go.mod h1:iW8J3nG6SaRYImIa+wXQ0g8I cloud.google.com/go/certificatemanager v1.7.2/go.mod h1:15SYTDQMd00kdoW0+XY5d9e+JbOPjp24AvF48D8BbcQ= cloud.google.com/go/certificatemanager v1.7.3/go.mod h1:T/sZYuC30PTag0TLo28VedIRIj1KPGcOQzjWAptHa00= cloud.google.com/go/certificatemanager v1.7.4/go.mod h1:FHAylPe/6IIKuaRmHbjbdLhGhVQ+CWHSD5Jq0k4+cCE= +cloud.google.com/go/certificatemanager v1.7.5 h1:UMBr/twXvH3jcT5J5/YjRxf2tvwTYIfrpemTebe0txc= cloud.google.com/go/certificatemanager v1.7.5/go.mod h1:uX+v7kWqy0Y3NG/ZhNvffh0kuqkKZIXdvlZRO7z0VtM= cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= @@ -290,6 +312,7 @@ cloud.google.com/go/channel v1.17.1/go.mod h1:xqfzcOZAcP4b/hUDH0GkGg1Sd5to6di1HO cloud.google.com/go/channel v1.17.2/go.mod h1:aT2LhnftnyfQceFql5I/mP8mIbiiJS4lWqgXA815zMk= cloud.google.com/go/channel v1.17.3/go.mod h1:QcEBuZLGGrUMm7kNj9IbU1ZfmJq2apotsV83hbxX7eE= cloud.google.com/go/channel v1.17.4/go.mod h1:QcEBuZLGGrUMm7kNj9IbU1ZfmJq2apotsV83hbxX7eE= +cloud.google.com/go/channel v1.17.5 h1:/omiBnyFjm4S1ETHoOmJbL7LH7Ljcei4rYG6Sj3hc80= cloud.google.com/go/channel v1.17.5/go.mod h1:FlpaOSINDAXgEext0KMaBq/vwpLMkkPAw9b2mApQeHc= cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= @@ -303,6 +326,7 @@ cloud.google.com/go/cloudbuild v1.14.1/go.mod h1:K7wGc/3zfvmYWOWwYTgF/d/UVJhS4pu cloud.google.com/go/cloudbuild v1.14.2/go.mod h1:Bn6RO0mBYk8Vlrt+8NLrru7WXlQ9/RDWz2uo5KG1/sg= cloud.google.com/go/cloudbuild v1.14.3/go.mod h1:eIXYWmRt3UtggLnFGx4JvXcMj4kShhVzGndL1LwleEM= cloud.google.com/go/cloudbuild v1.15.0/go.mod h1:eIXYWmRt3UtggLnFGx4JvXcMj4kShhVzGndL1LwleEM= +cloud.google.com/go/cloudbuild v1.15.1 h1:ZB6oOmJo+MTov9n629fiCrO9YZPOg25FZvQ7gIHu5ng= cloud.google.com/go/cloudbuild v1.15.1/go.mod h1:gIofXZSu+XD2Uy+qkOrGKEx45zd7s28u/k8f99qKals= cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= @@ -312,6 +336,7 @@ cloud.google.com/go/clouddms v1.7.0/go.mod h1:MW1dC6SOtI/tPNCciTsXtsGNEM0i0Occyk cloud.google.com/go/clouddms v1.7.1/go.mod h1:o4SR8U95+P7gZ/TX+YbJxehOCsM+fe6/brlrFquiszk= cloud.google.com/go/clouddms v1.7.2/go.mod h1:Rk32TmWmHo64XqDvW7jgkFQet1tUKNVzs7oajtJT3jU= cloud.google.com/go/clouddms v1.7.3/go.mod h1:fkN2HQQNUYInAU3NQ3vRLkV2iWs8lIdmBKOx4nrL6Hc= +cloud.google.com/go/clouddms v1.7.4 h1:Sr0Zo5EAcPQiCBgHWICg3VGkcdS/LLP1d9SR7qQBM/s= cloud.google.com/go/clouddms v1.7.4/go.mod h1:RdrVqoFG9RWI5AvZ81SxJ/xvxPdtcRhFotwdE79DieY= cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= @@ -324,6 +349,7 @@ cloud.google.com/go/cloudtasks v1.12.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8o cloud.google.com/go/cloudtasks v1.12.2/go.mod h1:A7nYkjNlW2gUoROg1kvJrQGhJP/38UaWwsnuBDOBVUk= cloud.google.com/go/cloudtasks v1.12.3/go.mod h1:GPVXhIOSGEaR+3xT4Fp72ScI+HjHffSS4B8+BaBB5Ys= cloud.google.com/go/cloudtasks v1.12.4/go.mod h1:BEPu0Gtt2dU6FxZHNqqNdGqIG86qyWKBPGnsb7udGY0= +cloud.google.com/go/cloudtasks v1.12.6 h1:EUt1hIZ9bLv8Iz9yWaCrqgMnIU+Tdh0yXM1MMVGhjfE= cloud.google.com/go/cloudtasks v1.12.6/go.mod h1:b7c7fe4+TJsFZfDyzO51F7cjq7HLUlRi/KZQLQjDsaY= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= @@ -349,12 +375,15 @@ cloud.google.com/go/compute v1.23.2/go.mod h1:JJ0atRC0J/oWYiiVBmsSsrRnh92DhZPG4h cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= cloud.google.com/go/compute v1.23.4/go.mod h1:/EJMj55asU6kAFnuZET8zqgwgJ9FvXWXOkkfQZa4ioI= cloud.google.com/go/compute v1.24.0/go.mod h1:kw1/T+h/+tK2LJK0wiPPx1intgdAM3j/g3hFDlscY40= +cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/compute/metadata v0.5.2 h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo= +cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k= cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= @@ -366,6 +395,7 @@ cloud.google.com/go/contactcenterinsights v1.11.2/go.mod h1:A9PIR5ov5cRcd28KlDbm cloud.google.com/go/contactcenterinsights v1.11.3/go.mod h1:HHX5wrz5LHVAwfI2smIotQG9x8Qd6gYilaHcLLLmNis= cloud.google.com/go/contactcenterinsights v1.12.0/go.mod h1:HHX5wrz5LHVAwfI2smIotQG9x8Qd6gYilaHcLLLmNis= cloud.google.com/go/contactcenterinsights v1.12.1/go.mod h1:HHX5wrz5LHVAwfI2smIotQG9x8Qd6gYilaHcLLLmNis= +cloud.google.com/go/contactcenterinsights v1.13.0 h1:6Vs/YnDG5STGjlWMEjN/xtmft7MrOTOnOZYUZtGTx0w= cloud.google.com/go/contactcenterinsights v1.13.0/go.mod h1:ieq5d5EtHsu8vhe2y3amtZ+BE+AQwX5qAy7cpo0POsI= cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= @@ -381,6 +411,7 @@ cloud.google.com/go/container v1.27.1/go.mod h1:b1A1gJeTBXVLQ6GGw9/9M4FG94BEGsqJ cloud.google.com/go/container v1.28.0/go.mod h1:b1A1gJeTBXVLQ6GGw9/9M4FG94BEGsqJ5+t4d/3N7O4= cloud.google.com/go/container v1.29.0/go.mod h1:b1A1gJeTBXVLQ6GGw9/9M4FG94BEGsqJ5+t4d/3N7O4= cloud.google.com/go/container v1.30.1/go.mod h1:vkbfX0EnAKL/vgVECs5BZn24e1cJROzgszJirRKQ4Bg= +cloud.google.com/go/container v1.31.0 h1:MAaNH7VRNPWEhvqOypq2j+7ONJKrKzon4v9nS3nLZe0= cloud.google.com/go/container v1.31.0/go.mod h1:7yABn5s3Iv3lmw7oMmyGbeV6tQj86njcTijkkGuvdZA= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= @@ -391,6 +422,7 @@ cloud.google.com/go/containeranalysis v0.11.0/go.mod h1:4n2e99ZwpGxpNcz+YsFT1dfO cloud.google.com/go/containeranalysis v0.11.1/go.mod h1:rYlUOM7nem1OJMKwE1SadufX0JP3wnXj844EtZAwWLY= cloud.google.com/go/containeranalysis v0.11.2/go.mod h1:xibioGBC1MD2j4reTyV1xY1/MvKaz+fyM9ENWhmIeP8= cloud.google.com/go/containeranalysis v0.11.3/go.mod h1:kMeST7yWFQMGjiG9K7Eov+fPNQcGhb8mXj/UcTiWw9U= +cloud.google.com/go/containeranalysis v0.11.4 h1:doJ0M1ljS4hS0D2UbHywlHGwB7sQLNrt9vFk9Zyi7vY= cloud.google.com/go/containeranalysis v0.11.4/go.mod h1:cVZT7rXYBS9NG1rhQbWL9pWbXCKHWJPYraE8/FTSYPE= cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= @@ -410,6 +442,7 @@ cloud.google.com/go/datacatalog v1.18.2/go.mod h1:SPVgWW2WEMuWHA+fHodYjmxPiMqcOi cloud.google.com/go/datacatalog v1.18.3/go.mod h1:5FR6ZIF8RZrtml0VUao22FxhdjkoG+a0866rEnObryM= cloud.google.com/go/datacatalog v1.19.0/go.mod h1:5FR6ZIF8RZrtml0VUao22FxhdjkoG+a0866rEnObryM= cloud.google.com/go/datacatalog v1.19.2/go.mod h1:2YbODwmhpLM4lOFe3PuEhHK9EyTzQJ5AXgIy7EDKTEE= +cloud.google.com/go/datacatalog v1.19.3 h1:A0vKYCQdxQuV4Pi0LL9p39Vwvg4jH5yYveMv50gU5Tw= cloud.google.com/go/datacatalog v1.19.3/go.mod h1:ra8V3UAsciBpJKQ+z9Whkxzxv7jmQg1hfODr3N3YPJ4= cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= @@ -418,6 +451,7 @@ cloud.google.com/go/dataflow v0.9.1/go.mod h1:Wp7s32QjYuQDWqJPFFlnBKhkAtiFpMTdg0 cloud.google.com/go/dataflow v0.9.2/go.mod h1:vBfdBZ/ejlTaYIGB3zB4T08UshH70vbtZeMD+urnUSo= cloud.google.com/go/dataflow v0.9.3/go.mod h1:HI4kMVjcHGTs3jTHW/kv3501YW+eloiJSLxkJa/vqFE= cloud.google.com/go/dataflow v0.9.4/go.mod h1:4G8vAkHYCSzU8b/kmsoR2lWyHJD85oMJPHMtan40K8w= +cloud.google.com/go/dataflow v0.9.5 h1:RYHtcPhmE664+F0Je46p+NvFbG8z//KCXp+uEqB4jZU= cloud.google.com/go/dataflow v0.9.5/go.mod h1:udl6oi8pfUHnL0z6UN9Lf9chGqzDMVqcYTcZ1aPnCZQ= cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= @@ -428,6 +462,7 @@ cloud.google.com/go/dataform v0.8.1/go.mod h1:3BhPSiw8xmppbgzeBbmDvmSWlwouuJkXsX cloud.google.com/go/dataform v0.8.2/go.mod h1:X9RIqDs6NbGPLR80tnYoPNiO1w0wenKTb8PxxlhTMKM= cloud.google.com/go/dataform v0.8.3/go.mod h1:8nI/tvv5Fso0drO3pEjtowz58lodx8MVkdV2q0aPlqg= cloud.google.com/go/dataform v0.9.1/go.mod h1:pWTg+zGQ7i16pyn0bS1ruqIE91SdL2FDMvEYu/8oQxs= +cloud.google.com/go/dataform v0.9.2 h1:5e4eqGrd0iDTCg4Q+VlAao5j2naKAA7xRurNtwmUknU= cloud.google.com/go/dataform v0.9.2/go.mod h1:S8cQUwPNWXo7m/g3DhWHsLBoufRNn9EgFrMgne2j7cI= cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= @@ -436,6 +471,7 @@ cloud.google.com/go/datafusion v1.7.1/go.mod h1:KpoTBbFmoToDExJUso/fcCiguGDk7MEz cloud.google.com/go/datafusion v1.7.2/go.mod h1:62K2NEC6DRlpNmI43WHMWf9Vg/YvN6QVi8EVwifElI0= cloud.google.com/go/datafusion v1.7.3/go.mod h1:eoLt1uFXKGBq48jy9LZ+Is8EAVLnmn50lNncLzwYokE= cloud.google.com/go/datafusion v1.7.4/go.mod h1:BBs78WTOLYkT4GVZIXQCZT3GFpkpDN4aBY4NDX/jVlM= +cloud.google.com/go/datafusion v1.7.5 h1:HQ/BUOP8OIGJxuztpYvNvlb+/U+/Bfs9SO8tQbh61fk= cloud.google.com/go/datafusion v1.7.5/go.mod h1:bYH53Oa5UiqahfbNK9YuYKteeD4RbQSNMx7JF7peGHc= cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= @@ -444,6 +480,7 @@ cloud.google.com/go/datalabeling v0.8.1/go.mod h1:XS62LBSVPbYR54GfYQsPXZjTW8UxCK cloud.google.com/go/datalabeling v0.8.2/go.mod h1:cyDvGHuJWu9U/cLDA7d8sb9a0tWLEletStu2sTmg3BE= cloud.google.com/go/datalabeling v0.8.3/go.mod h1:tvPhpGyS/V7lqjmb3V0TaDdGvhzgR1JoW7G2bpi2UTI= cloud.google.com/go/datalabeling v0.8.4/go.mod h1:Z1z3E6LHtffBGrNUkKwbwbDxTiXEApLzIgmymj8A3S8= +cloud.google.com/go/datalabeling v0.8.5 h1:GpIFRdm0qIZNsxqURFJwHt0ZBJZ0nF/mUVEigR7PH/8= cloud.google.com/go/datalabeling v0.8.5/go.mod h1:IABB2lxQnkdUbMnQaOl2prCOfms20mcPxDBm36lps+s= cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= @@ -459,9 +496,11 @@ cloud.google.com/go/dataplex v1.11.2/go.mod h1:mHJYQQ2VEJHsyoC0OdNyy988DvEbPhqFs cloud.google.com/go/dataplex v1.13.0/go.mod h1:mHJYQQ2VEJHsyoC0OdNyy988DvEbPhqFs5OOLffLX0c= cloud.google.com/go/dataplex v1.14.0/go.mod h1:mHJYQQ2VEJHsyoC0OdNyy988DvEbPhqFs5OOLffLX0c= cloud.google.com/go/dataplex v1.14.1/go.mod h1:bWxQAbg6Smg+sca2+Ex7s8D9a5qU6xfXtwmq4BVReps= +cloud.google.com/go/dataplex v1.14.2 h1:fxIfdU8fxzR3clhOoNI7XFppvAmndxDu1AMH+qX9WKQ= cloud.google.com/go/dataplex v1.14.2/go.mod h1:0oGOSFlEKef1cQeAHXy4GZPB/Ife0fz/PxBf+ZymA2U= cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= +cloud.google.com/go/dataproc v1.12.0 h1:W47qHL3W4BPkAIbk4SWmIERwsWBaNnWm0P2sdx3YgGU= cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= cloud.google.com/go/dataproc/v2 v2.0.1/go.mod h1:7Ez3KRHdFGcfY7GcevBbvozX+zyWGcwLJvvAMwCaoZ4= cloud.google.com/go/dataproc/v2 v2.2.0/go.mod h1:lZR7AQtwZPvmINx5J87DSOOpTfof9LVZju6/Qo4lmcY= @@ -469,6 +508,7 @@ cloud.google.com/go/dataproc/v2 v2.2.1/go.mod h1:QdAJLaBjh+l4PVlVZcmrmhGccosY/om cloud.google.com/go/dataproc/v2 v2.2.2/go.mod h1:aocQywVmQVF4i8CL740rNI/ZRpsaaC1Wh2++BJ7HEJ4= cloud.google.com/go/dataproc/v2 v2.2.3/go.mod h1:G5R6GBc9r36SXv/RtZIVfB8SipI+xVn0bX5SxUzVYbY= cloud.google.com/go/dataproc/v2 v2.3.0/go.mod h1:G5R6GBc9r36SXv/RtZIVfB8SipI+xVn0bX5SxUzVYbY= +cloud.google.com/go/dataproc/v2 v2.4.0 h1:/u81Fd+BvCLp+xjctI1DiWVJn6cn9/s3Akc8xPH02yk= cloud.google.com/go/dataproc/v2 v2.4.0/go.mod h1:3B1Ht2aRB8VZIteGxQS/iNSJGzt9+CA0WGnDVMEm7Z4= cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= @@ -477,6 +517,7 @@ cloud.google.com/go/dataqna v0.8.1/go.mod h1:zxZM0Bl6liMePWsHA8RMGAfmTG34vJMapbH cloud.google.com/go/dataqna v0.8.2/go.mod h1:KNEqgx8TTmUipnQsScOoDpq/VlXVptUqVMZnt30WAPs= cloud.google.com/go/dataqna v0.8.3/go.mod h1:wXNBW2uvc9e7Gl5k8adyAMnLush1KVV6lZUhB+rqNu4= cloud.google.com/go/dataqna v0.8.4/go.mod h1:mySRKjKg5Lz784P6sCov3p1QD+RZQONRMRjzGNcFd0c= +cloud.google.com/go/dataqna v0.8.5 h1:9ybXs3nr9BzxSGC04SsvtuXaHY0qmJSLIpIAbZo9GqQ= cloud.google.com/go/dataqna v0.8.5/go.mod h1:vgihg1mz6n7pb5q2YJF7KlXve6tCglInd6XO0JGOlWM= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= @@ -486,6 +527,7 @@ cloud.google.com/go/datastore v1.12.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1 cloud.google.com/go/datastore v1.12.1/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= cloud.google.com/go/datastore v1.13.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= cloud.google.com/go/datastore v1.14.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8= +cloud.google.com/go/datastore v1.15.0 h1:0P9WcsQeTWjuD1H14JIY7XQscIPQ4Laje8ti96IC5vg= cloud.google.com/go/datastore v1.15.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8= cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= @@ -498,6 +540,7 @@ cloud.google.com/go/datastream v1.10.0/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpd cloud.google.com/go/datastream v1.10.1/go.mod h1:7ngSYwnw95YFyTd5tOGBxHlOZiL+OtpjheqU7t2/s/c= cloud.google.com/go/datastream v1.10.2/go.mod h1:W42TFgKAs/om6x/CdXX5E4oiAsKlH+e8MTGy81zdYt0= cloud.google.com/go/datastream v1.10.3/go.mod h1:YR0USzgjhqA/Id0Ycu1VvZe8hEWwrkjuXrGbzeDOSEA= +cloud.google.com/go/datastream v1.10.4 h1:o1QDKMo/hk0FN7vhoUQURREuA0rgKmnYapB+1M+7Qz4= cloud.google.com/go/datastream v1.10.4/go.mod h1:7kRxPdxZxhPg3MFeCSulmAJnil8NJGGvSNdn4p1sRZo= cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= @@ -511,6 +554,7 @@ cloud.google.com/go/deploy v1.14.2/go.mod h1:e5XOUI5D+YGldyLNZ21wbp9S8otJbBE4i88 cloud.google.com/go/deploy v1.15.0/go.mod h1:e5XOUI5D+YGldyLNZ21wbp9S8otJbBE4i88PtO9x/2g= cloud.google.com/go/deploy v1.16.0/go.mod h1:e5XOUI5D+YGldyLNZ21wbp9S8otJbBE4i88PtO9x/2g= cloud.google.com/go/deploy v1.17.0/go.mod h1:XBr42U5jIr64t92gcpOXxNrqL2PStQCXHuKK5GRUuYo= +cloud.google.com/go/deploy v1.17.1 h1:m27Ojwj03gvpJqCbodLYiVmE9x4/LrHGGMjzc0LBfM4= cloud.google.com/go/deploy v1.17.1/go.mod h1:SXQyfsXrk0fBmgBHRzBjQbZhMfKZ3hMQBw5ym7MN/50= cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= @@ -531,6 +575,7 @@ cloud.google.com/go/dialogflow v1.47.0/go.mod h1:mHly4vU7cPXVweuB5R0zsYKPMzy240a cloud.google.com/go/dialogflow v1.48.0/go.mod h1:mHly4vU7cPXVweuB5R0zsYKPMzy240aQdAu06SqBbAQ= cloud.google.com/go/dialogflow v1.48.1/go.mod h1:C1sjs2/g9cEwjCltkKeYp3FFpz8BOzNondEaAlCpt+A= cloud.google.com/go/dialogflow v1.48.2/go.mod h1:7A2oDf6JJ1/+hdpnFRfb/RjJUOh2X3rhIa5P8wQSEX4= +cloud.google.com/go/dialogflow v1.49.0 h1:KqG0oxGE71qo0lRVyAoeBozefCvsMfcDzDjoLYSY0F4= cloud.google.com/go/dialogflow v1.49.0/go.mod h1:dhVrXKETtdPlpPhE7+2/k4Z8FRNUp6kMV3EW3oz/fe0= cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= @@ -539,6 +584,7 @@ cloud.google.com/go/dlp v1.10.1/go.mod h1:IM8BWz1iJd8njcNcG0+Kyd9OPnqnRNkDV8j42V cloud.google.com/go/dlp v1.10.2/go.mod h1:ZbdKIhcnyhILgccwVDzkwqybthh7+MplGC3kZVZsIOQ= cloud.google.com/go/dlp v1.10.3/go.mod h1:iUaTc/ln8I+QT6Ai5vmuwfw8fqTk2kaz0FvCwhLCom0= cloud.google.com/go/dlp v1.11.1/go.mod h1:/PA2EnioBeXTL/0hInwgj0rfsQb3lpE3R8XUJxqUNKI= +cloud.google.com/go/dlp v1.11.2 h1:lTipOuJaSjlYnnotPMbEhKURLC6GzCMDDzVbJAEbmYM= cloud.google.com/go/dlp v1.11.2/go.mod h1:9Czi+8Y/FegpWzgSfkRlyz+jwW6Te9Rv26P3UfU/h/w= cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= @@ -556,6 +602,7 @@ cloud.google.com/go/documentai v1.23.5/go.mod h1:ghzBsyVTiVdkfKaUCum/9bGBEyBjDO4 cloud.google.com/go/documentai v1.23.6/go.mod h1:ghzBsyVTiVdkfKaUCum/9bGBEyBjDO4GfooEcYKhN+g= cloud.google.com/go/documentai v1.23.7/go.mod h1:ghzBsyVTiVdkfKaUCum/9bGBEyBjDO4GfooEcYKhN+g= cloud.google.com/go/documentai v1.23.8/go.mod h1:Vd/y5PosxCpUHmwC+v9arZyeMfTqBR9VIwOwIqQYYfA= +cloud.google.com/go/documentai v1.25.0 h1:lI62GMEEPO6vXJI9hj+G9WjOvnR0hEjvjokrnex4cxA= cloud.google.com/go/documentai v1.25.0/go.mod h1:ftLnzw5VcXkLItp6pw1mFic91tMRyfv6hHEY5br4KzY= cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= @@ -564,6 +611,7 @@ cloud.google.com/go/domains v0.9.1/go.mod h1:aOp1c0MbejQQ2Pjf1iJvnVyT+z6R6s8pX66 cloud.google.com/go/domains v0.9.2/go.mod h1:3YvXGYzZG1Temjbk7EyGCuGGiXHJwVNmwIf+E/cUp5I= cloud.google.com/go/domains v0.9.3/go.mod h1:29k66YNDLDY9LCFKpGFeh6Nj9r62ZKm5EsUJxAl84KU= cloud.google.com/go/domains v0.9.4/go.mod h1:27jmJGShuXYdUNjyDG0SodTfT5RwLi7xmH334Gvi3fY= +cloud.google.com/go/domains v0.9.5 h1:Mml/R6s3vQQvFPpi/9oX3O5dRirgjyJ8cksK8N19Y7g= cloud.google.com/go/domains v0.9.5/go.mod h1:dBzlxgepazdFhvG7u23XMhmMKBjrkoUNaw0A8AQB55Y= cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= @@ -573,7 +621,9 @@ cloud.google.com/go/edgecontainer v1.1.1/go.mod h1:O5bYcS//7MELQZs3+7mabRqoWQhXC cloud.google.com/go/edgecontainer v1.1.2/go.mod h1:wQRjIzqxEs9e9wrtle4hQPSR1Y51kqN75dgF7UllZZ4= cloud.google.com/go/edgecontainer v1.1.3/go.mod h1:Ll2DtIABzEfaxaVSbwj3QHFaOOovlDFiWVDu349jSsA= cloud.google.com/go/edgecontainer v1.1.4/go.mod h1:AvFdVuZuVGdgaE5YvlL1faAoa1ndRR/5XhXZvPBHbsE= +cloud.google.com/go/edgecontainer v1.1.5 h1:tBY32km78ScpK2aOP84JoW/+wtpx5WluyPUSEE3270U= cloud.google.com/go/edgecontainer v1.1.5/go.mod h1:rgcjrba3DEDEQAidT4yuzaKWTbkTI5zAMu3yy6ZWS0M= +cloud.google.com/go/errorreporting v0.3.0 h1:kj1XEWMu8P0qlLhm3FwcaFsUvXChV/OraZwA70trRR0= cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= @@ -582,6 +632,7 @@ cloud.google.com/go/essentialcontacts v1.6.2/go.mod h1:T2tB6tX+TRak7i88Fb2N9Ok3P cloud.google.com/go/essentialcontacts v1.6.3/go.mod h1:yiPCD7f2TkP82oJEFXFTou8Jl8L6LBRPeBEkTaO0Ggo= cloud.google.com/go/essentialcontacts v1.6.4/go.mod h1:iju5Vy3d9tJUg0PYMd1nHhjV7xoCXaOAVabrwLaPBEM= cloud.google.com/go/essentialcontacts v1.6.5/go.mod h1:jjYbPzw0x+yglXC890l6ECJWdYeZ5dlYACTFL0U/VuM= +cloud.google.com/go/essentialcontacts v1.6.6 h1:13eHn5qBnsawxI7mIrv4jRIEmQ1xg0Ztqw5ZGqtUNfA= cloud.google.com/go/essentialcontacts v1.6.6/go.mod h1:XbqHJGaiH0v2UvtuucfOzFXN+rpL/aU5BCZLn4DYl1Q= cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= @@ -592,6 +643,7 @@ cloud.google.com/go/eventarc v1.13.0/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8 cloud.google.com/go/eventarc v1.13.1/go.mod h1:EqBxmGHFrruIara4FUQ3RHlgfCn7yo1HYsu2Hpt/C3Y= cloud.google.com/go/eventarc v1.13.2/go.mod h1:X9A80ShVu19fb4e5sc/OLV7mpFUKZMwfJFeeWhcIObM= cloud.google.com/go/eventarc v1.13.3/go.mod h1:RWH10IAZIRcj1s/vClXkBgMHwh59ts7hSWcqD3kaclg= +cloud.google.com/go/eventarc v1.13.4 h1:ORkd6/UV5FIdA8KZQDLNZYKS7BBOrj0p01DXPmT4tE4= cloud.google.com/go/eventarc v1.13.4/go.mod h1:zV5sFVoAa9orc/52Q+OuYUG9xL2IIZTbbuTHC6JSY8s= cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= @@ -602,6 +654,7 @@ cloud.google.com/go/filestore v1.7.2/go.mod h1:TYOlyJs25f/omgj+vY7/tIG/E7BX369tr cloud.google.com/go/filestore v1.7.3/go.mod h1:Qp8WaEERR3cSkxToxFPHh/b8AACkSut+4qlCjAmKTV0= cloud.google.com/go/filestore v1.7.4/go.mod h1:S5JCxIbFjeBhWMTfIYH2Jx24J6BqjwpkkPl+nBA5DlI= cloud.google.com/go/filestore v1.8.0/go.mod h1:S5JCxIbFjeBhWMTfIYH2Jx24J6BqjwpkkPl+nBA5DlI= +cloud.google.com/go/filestore v1.8.1 h1:X5G4y/vrUo1B8Nsz93qSWTMAcM8LXbGUldq33OdcdCw= cloud.google.com/go/filestore v1.8.1/go.mod h1:MbN9KcaM47DRTIuLfQhJEsjaocVebNtNQhSLhKCF5GM= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= @@ -609,6 +662,8 @@ cloud.google.com/go/firestore v1.11.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay cloud.google.com/go/firestore v1.12.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4= cloud.google.com/go/firestore v1.13.0/go.mod h1:QojqqOh8IntInDUSTAh0c8ZsPYAr68Ma8c5DWOy8xb8= cloud.google.com/go/firestore v1.14.0/go.mod h1:96MVaHLsEhbvkBEdZgfN+AS/GIkco1LRpH9Xp9YZfzQ= +cloud.google.com/go/firestore v1.15.0 h1:/k8ppuWOtNuDHt2tsRV42yI21uaGnKDEQnRFeBpbFF8= +cloud.google.com/go/firestore v1.15.0/go.mod h1:GWOxFXcv8GZUtYpWHw/w6IuYNux/BtmeVTMmjrm4yhk= cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= @@ -620,12 +675,14 @@ cloud.google.com/go/functions v1.15.1/go.mod h1:P5yNWUTkyU+LvW/S9O6V+V423VZooALQ cloud.google.com/go/functions v1.15.2/go.mod h1:CHAjtcR6OU4XF2HuiVeriEdELNcnvRZSk1Q8RMqy4lE= cloud.google.com/go/functions v1.15.3/go.mod h1:r/AMHwBheapkkySEhiZYLDBwVJCdlRwsm4ieJu35/Ug= cloud.google.com/go/functions v1.15.4/go.mod h1:CAsTc3VlRMVvx+XqXxKqVevguqJpnVip4DdonFsX28I= +cloud.google.com/go/functions v1.16.0 h1:IWVylmK5F6hJ3R5zaRW7jI5PrWhCvtBVU4axQLmXSo4= cloud.google.com/go/functions v1.16.0/go.mod h1:nbNpfAG7SG7Duw/o1iZ6ohvL7mc6MapWQVpqtM29n8k= cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= +cloud.google.com/go/gaming v1.10.1 h1:5qZmZEWzMf8GEFgm9NeC3bjFRpt7x4S6U7oLbxaf7N8= cloud.google.com/go/gaming v1.10.1/go.mod h1:XQQvtfP8Rb9Rxnxm5wFVpAp9zCQkJi2bLIb7iHGwB3s= cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= @@ -635,6 +692,7 @@ cloud.google.com/go/gkebackup v1.3.1/go.mod h1:vUDOu++N0U5qs4IhG1pcOnD1Mac79xWy6 cloud.google.com/go/gkebackup v1.3.2/go.mod h1:OMZbXzEJloyXMC7gqdSB+EOEQ1AKcpGYvO3s1ec5ixk= cloud.google.com/go/gkebackup v1.3.3/go.mod h1:eMk7/wVV5P22KBakhQnJxWSVftL1p4VBFLpv0kIft7I= cloud.google.com/go/gkebackup v1.3.4/go.mod h1:gLVlbM8h/nHIs09ns1qx3q3eaXcGSELgNu1DWXYz1HI= +cloud.google.com/go/gkebackup v1.3.5 h1:iuE8KNtTsPOc79qeWoNS8zOWoXPD9SAdOmwgxtlCmh8= cloud.google.com/go/gkebackup v1.3.5/go.mod h1:KJ77KkNN7Wm1LdMopOelV6OodM01pMuK2/5Zt1t4Tvc= cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= @@ -643,6 +701,7 @@ cloud.google.com/go/gkeconnect v0.8.1/go.mod h1:KWiK1g9sDLZqhxB2xEuPV8V9NYzrqTUm cloud.google.com/go/gkeconnect v0.8.2/go.mod h1:6nAVhwchBJYgQCXD2pHBFQNiJNyAd/wyxljpaa6ZPrY= cloud.google.com/go/gkeconnect v0.8.3/go.mod h1:i9GDTrfzBSUZGCe98qSu1B8YB8qfapT57PenIb820Jo= cloud.google.com/go/gkeconnect v0.8.4/go.mod h1:84hZz4UMlDCKl8ifVW8layK4WHlMAFeq8vbzjU0yJkw= +cloud.google.com/go/gkeconnect v0.8.5 h1:17d+ZSSXKqG/RwZCq3oFMIWLPI8Zw3b8+a9/BEVlwH0= cloud.google.com/go/gkeconnect v0.8.5/go.mod h1:LC/rS7+CuJ5fgIbXv8tCD/mdfnlAadTaUufgOkmijuk= cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= @@ -652,6 +711,7 @@ cloud.google.com/go/gkehub v0.14.1/go.mod h1:VEXKIJZ2avzrbd7u+zeMtW00Y8ddk/4V951 cloud.google.com/go/gkehub v0.14.2/go.mod h1:iyjYH23XzAxSdhrbmfoQdePnlMj2EWcvnR+tHdBQsCY= cloud.google.com/go/gkehub v0.14.3/go.mod h1:jAl6WafkHHW18qgq7kqcrXYzN08hXeK/Va3utN8VKg8= cloud.google.com/go/gkehub v0.14.4/go.mod h1:Xispfu2MqnnFt8rV/2/3o73SK1snL8s9dYJ9G2oQMfc= +cloud.google.com/go/gkehub v0.14.5 h1:RboLNFzf9wEMSo7DrKVBlf+YhK/A/jrLN454L5Tz99Q= cloud.google.com/go/gkehub v0.14.5/go.mod h1:6bzqxM+a+vEH/h8W8ec4OJl4r36laxTs3A/fMNHJ0wA= cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= @@ -662,9 +722,11 @@ cloud.google.com/go/gkemulticloud v1.0.1/go.mod h1:AcrGoin6VLKT/fwZEYuqvVominLri cloud.google.com/go/gkemulticloud v1.0.2/go.mod h1:+ee5VXxKb3H1l4LZAcgWB/rvI16VTNTrInWxDjAGsGo= cloud.google.com/go/gkemulticloud v1.0.3/go.mod h1:7NpJBN94U6DY1xHIbsDqB2+TFZUfjLUKLjUX8NGLor0= cloud.google.com/go/gkemulticloud v1.1.0/go.mod h1:7NpJBN94U6DY1xHIbsDqB2+TFZUfjLUKLjUX8NGLor0= +cloud.google.com/go/gkemulticloud v1.1.1 h1:rsSZAGLhyjyE/bE2ToT5fqo1qSW7S+Ubsc9jFOcbhSI= cloud.google.com/go/gkemulticloud v1.1.1/go.mod h1:C+a4vcHlWeEIf45IB5FFR5XGjTeYhF83+AYIpTy4i2Q= cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/grafeas v0.3.0/go.mod h1:P7hgN24EyONOTMyeJH6DxG4zD7fwiYa5Q6GUgyFSOU8= +cloud.google.com/go/grafeas v0.3.4 h1:D4x32R/cHX3MTofKwirz015uEdVk4uAxvZkZCZkOrF4= cloud.google.com/go/grafeas v0.3.4/go.mod h1:A5m316hcG+AulafjAbPKXBO/+I5itU4LOdKO2R/uDIc= cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= @@ -673,6 +735,7 @@ cloud.google.com/go/gsuiteaddons v1.6.1/go.mod h1:CodrdOqRZcLp5WOwejHWYBjZvfY0kO cloud.google.com/go/gsuiteaddons v1.6.2/go.mod h1:K65m9XSgs8hTF3X9nNTPi8IQueljSdYo9F+Mi+s4MyU= cloud.google.com/go/gsuiteaddons v1.6.3/go.mod h1:sCFJkZoMrLZT3JTb8uJqgKPNshH2tfXeCwTFRebTq48= cloud.google.com/go/gsuiteaddons v1.6.4/go.mod h1:rxtstw7Fx22uLOXBpsvb9DUbC+fiXs7rF4U29KHM/pE= +cloud.google.com/go/gsuiteaddons v1.6.5 h1:CZEbaBwmbYdhFw21Fwbo+C35HMe36fTE0FBSR4KSfWg= cloud.google.com/go/gsuiteaddons v1.6.5/go.mod h1:Lo4P2IvO8uZ9W+RaC6s1JVxo42vgy+TX5a6hfBZ0ubs= cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= @@ -690,6 +753,7 @@ cloud.google.com/go/iam v1.1.2/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+K cloud.google.com/go/iam v1.1.3/go.mod h1:3khUlaBXfPKKe7huYgEpDn6FtgRyMEqbkvBxrQyY5SE= cloud.google.com/go/iam v1.1.4/go.mod h1:l/rg8l1AaA+VFMho/HYx2Vv6xinPSLMF8qfhRPIZ0L8= cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= +cloud.google.com/go/iam v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= @@ -701,6 +765,7 @@ cloud.google.com/go/iap v1.9.0/go.mod h1:01OFxd1R+NFrg78S+hoPV5PxEzv22HXaNqUUlmN cloud.google.com/go/iap v1.9.1/go.mod h1:SIAkY7cGMLohLSdBR25BuIxO+I4fXJiL06IBL7cy/5Q= cloud.google.com/go/iap v1.9.2/go.mod h1:GwDTOs047PPSnwRD0Us5FKf4WDRcVvHg1q9WVkKBhdI= cloud.google.com/go/iap v1.9.3/go.mod h1:DTdutSZBqkkOm2HEOTBzhZxh2mwwxshfD/h3yofAiCw= +cloud.google.com/go/iap v1.9.4 h1:94zirc2r4t6KzhAMW0R6Dme005eTP6yf7g6vN4IhRrA= cloud.google.com/go/iap v1.9.4/go.mod h1:vO4mSq0xNf/Pu6E5paORLASBwEmphXEjgCFg7aeNu1w= cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= @@ -709,6 +774,7 @@ cloud.google.com/go/ids v1.4.1/go.mod h1:np41ed8YMU8zOgv53MMMoCntLTn2lF+SUzlM+O3 cloud.google.com/go/ids v1.4.2/go.mod h1:3vw8DX6YddRu9BncxuzMyWn0g8+ooUjI2gslJ7FH3vk= cloud.google.com/go/ids v1.4.3/go.mod h1:9CXPqI3GedjmkjbMWCUhMZ2P2N7TUMzAkVXYEH2orYU= cloud.google.com/go/ids v1.4.4/go.mod h1:z+WUc2eEl6S/1aZWzwtVNWoSZslgzPxAboS0lZX0HjI= +cloud.google.com/go/ids v1.4.5 h1:xd4U7pgl3GHV+MABnv1BF4/Vy/zBF7CYC8XngkOLzag= cloud.google.com/go/ids v1.4.5/go.mod h1:p0ZnyzjMWxww6d2DvMGnFwCsSxDJM666Iir1bK1UuBo= cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= @@ -718,6 +784,7 @@ cloud.google.com/go/iot v1.7.1/go.mod h1:46Mgw7ev1k9KqK1ao0ayW9h0lI+3hxeanz+L1zm cloud.google.com/go/iot v1.7.2/go.mod h1:q+0P5zr1wRFpw7/MOgDXrG/HVA+l+cSwdObffkrpnSg= cloud.google.com/go/iot v1.7.3/go.mod h1:t8itFchkol4VgNbHnIq9lXoOOtHNR3uAACQMYbN9N4I= cloud.google.com/go/iot v1.7.4/go.mod h1:3TWqDVvsddYBG++nHSZmluoCAVGr1hAcabbWZNKEZLk= +cloud.google.com/go/iot v1.7.5 h1:munTeBlbqI33iuTYgXy7S8lW2TCgi5l1hA4roSIY+EE= cloud.google.com/go/iot v1.7.5/go.mod h1:nq3/sqTz3HGaWJi1xNiX7F41ThOzpud67vwk0YsSsqs= cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= @@ -734,6 +801,7 @@ cloud.google.com/go/kms v1.15.3/go.mod h1:AJdXqHxS2GlPyduM99s9iGqi2nwbviBbhV/hdm cloud.google.com/go/kms v1.15.4/go.mod h1:L3Sdj6QTHK8dfwK5D1JLsAyELsNMnd3tAIwGS4ltKpc= cloud.google.com/go/kms v1.15.5/go.mod h1:cU2H5jnp6G2TDpUGZyqTCoy1n16fbubHZjmVXSMtwDI= cloud.google.com/go/kms v1.15.6/go.mod h1:yF75jttnIdHfGBoE51AKsD/Yqf+/jICzB9v1s1acsms= +cloud.google.com/go/kms v1.15.7 h1:7caV9K3yIxvlQPAcaFffhlT7d1qpxjB1wHBtjWa13SM= cloud.google.com/go/kms v1.15.7/go.mod h1:ub54lbsa6tDkUwnu4W7Yt1aAIFLnspgh0kPGToDukeI= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= @@ -745,6 +813,7 @@ cloud.google.com/go/language v1.11.0/go.mod h1:uDx+pFDdAKTY8ehpWbiXyQdz8tDSYLJbQ cloud.google.com/go/language v1.11.1/go.mod h1:Xyid9MG9WOX3utvDbpX7j3tXDmmDooMyMDqgUVpH17U= cloud.google.com/go/language v1.12.1/go.mod h1:zQhalE2QlQIxbKIZt54IASBzmZpN/aDASea5zl1l+J4= cloud.google.com/go/language v1.12.2/go.mod h1:9idWapzr/JKXBBQ4lWqVX/hcadxB194ry20m/bTrhWc= +cloud.google.com/go/language v1.12.3 h1:iaJZg6K4j/2PvZZVcjeO/btcWWIllVRBhuTFjGO4LXs= cloud.google.com/go/language v1.12.3/go.mod h1:evFX9wECX6mksEva8RbRnr/4wi/vKGYnAJrTRXU8+f8= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= @@ -753,10 +822,12 @@ cloud.google.com/go/lifesciences v0.9.1/go.mod h1:hACAOd1fFbCGLr/+weUKRAJas82Y4v cloud.google.com/go/lifesciences v0.9.2/go.mod h1:QHEOO4tDzcSAzeJg7s2qwnLM2ji8IRpQl4p6m5Z9yTA= cloud.google.com/go/lifesciences v0.9.3/go.mod h1:gNGBOJV80IWZdkd+xz4GQj4mbqaz737SCLHn2aRhQKM= cloud.google.com/go/lifesciences v0.9.4/go.mod h1:bhm64duKhMi7s9jR9WYJYvjAFJwRqNj+Nia7hF0Z7JA= +cloud.google.com/go/lifesciences v0.9.5 h1:gXvN70m2p+4zgJFzaz6gMKaxTuF9WJ0USYoMLWAOm8g= cloud.google.com/go/lifesciences v0.9.5/go.mod h1:OdBm0n7C0Osh5yZB7j9BXyrMnTRGBJIZonUMxo5CzPw= cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= cloud.google.com/go/logging v1.8.1/go.mod h1:TJjR+SimHwuC8MZ9cjByQulAMgni+RkXeI3wwctHJEI= +cloud.google.com/go/logging v1.9.0 h1:iEIOXFO9EmSiTjDmfpbRjOxECO7R8C7b8IXUGOj7xZw= cloud.google.com/go/logging v1.9.0/go.mod h1:1Io0vnZv4onoUnsVUQY3HZ3Igb1nBchky0A0y7BBBhE= cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= @@ -767,6 +838,7 @@ cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHS cloud.google.com/go/longrunning v0.5.2/go.mod h1:nqo6DQbNV2pXhGDbDMoN2bWz68MjZUzqv2YttZiveCs= cloud.google.com/go/longrunning v0.5.3/go.mod h1:y/0ga59EYu58J6SHmmQOvekvND2qODbu8ywBBW7EK7Y= cloud.google.com/go/longrunning v0.5.4/go.mod h1:zqNVncI0BOP8ST6XQD1+VcvuShMmq7+xFSzOL++V0dI= +cloud.google.com/go/longrunning v0.5.5 h1:GOE6pZFdSrTb4KAiKnXsJBtlE6mEyaW44oKyMILWnOg= cloud.google.com/go/longrunning v0.5.5/go.mod h1:WV2LAxD8/rg5Z1cNW6FJ/ZpX4E4VnDnoTk0yawPBB7s= cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= @@ -775,6 +847,7 @@ cloud.google.com/go/managedidentities v1.6.1/go.mod h1:h/irGhTN2SkZ64F43tfGPMbHn cloud.google.com/go/managedidentities v1.6.2/go.mod h1:5c2VG66eCa0WIq6IylRk3TBW83l161zkFvCj28X7jn8= cloud.google.com/go/managedidentities v1.6.3/go.mod h1:tewiat9WLyFN0Fi7q1fDD5+0N4VUoL0SCX0OTCthZq4= cloud.google.com/go/managedidentities v1.6.4/go.mod h1:WgyaECfHmF00t/1Uk8Oun3CQ2PGUtjc3e9Alh79wyiM= +cloud.google.com/go/managedidentities v1.6.5 h1:+bpih1piZVLxla/XBqeSUzJBp8gv9plGHIMAI7DLpDM= cloud.google.com/go/managedidentities v1.6.5/go.mod h1:fkFI2PwwyRQbjLxlm5bQ8SjtObFMW3ChBGNqaMcgZjI= cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= @@ -786,6 +859,7 @@ cloud.google.com/go/maps v1.5.1/go.mod h1:NPMZw1LJwQZYCfz4y+EIw+SI+24A4bpdFJqdKV cloud.google.com/go/maps v1.6.1/go.mod h1:4+buOHhYXFBp58Zj/K+Lc1rCmJssxxF4pJ5CJnhdz18= cloud.google.com/go/maps v1.6.2/go.mod h1:4+buOHhYXFBp58Zj/K+Lc1rCmJssxxF4pJ5CJnhdz18= cloud.google.com/go/maps v1.6.3/go.mod h1:VGAn809ADswi1ASofL5lveOHPnE6Rk/SFTTBx1yuOLw= +cloud.google.com/go/maps v1.6.4 h1:EVCZAiDvog9So46460BGbCasPhi613exoaQbpilMVlk= cloud.google.com/go/maps v1.6.4/go.mod h1:rhjqRy8NWmDJ53saCfsXQ0LKwBHfi6OSh5wkq6BaMhI= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= @@ -794,6 +868,7 @@ cloud.google.com/go/mediatranslation v0.8.1/go.mod h1:L/7hBdEYbYHQJhX2sldtTO5SZZ cloud.google.com/go/mediatranslation v0.8.2/go.mod h1:c9pUaDRLkgHRx3irYE5ZC8tfXGrMYwNZdmDqKMSfFp8= cloud.google.com/go/mediatranslation v0.8.3/go.mod h1:F9OnXTy336rteOEywtY7FOqCk+J43o2RF638hkOQl4Y= cloud.google.com/go/mediatranslation v0.8.4/go.mod h1:9WstgtNVAdN53m6TQa5GjIjLqKQPXe74hwSCxUP6nj4= +cloud.google.com/go/mediatranslation v0.8.5 h1:c76KdIXljQHSCb/Cy47S8H4s05A4zbK3pAFGzwcczZo= cloud.google.com/go/mediatranslation v0.8.5/go.mod h1:y7kTHYIPCIfgyLbKncgqouXJtLsU+26hZhHEEy80fSs= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= @@ -804,6 +879,7 @@ cloud.google.com/go/memcache v1.10.1/go.mod h1:47YRQIarv4I3QS5+hoETgKO40InqzLP6k cloud.google.com/go/memcache v1.10.2/go.mod h1:f9ZzJHLBrmd4BkguIAa/l/Vle6uTHzHokdnzSWOdQ6A= cloud.google.com/go/memcache v1.10.3/go.mod h1:6z89A41MT2DVAW0P4iIRdu5cmRTsbsFn4cyiIx8gbwo= cloud.google.com/go/memcache v1.10.4/go.mod h1:v/d8PuC8d1gD6Yn5+I3INzLR01IDn0N4Ym56RgikSI0= +cloud.google.com/go/memcache v1.10.5 h1:yeDv5qxRedFosvpMSEswrqUsJM5OdWvssPHFliNFTc4= cloud.google.com/go/memcache v1.10.5/go.mod h1:/FcblbNd0FdMsx4natdj+2GWzTq+cjZvMa1I+9QsuMA= cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= @@ -816,6 +892,7 @@ cloud.google.com/go/metastore v1.13.0/go.mod h1:URDhpG6XLeh5K+Glq0NOt74OfrPKTwS6 cloud.google.com/go/metastore v1.13.1/go.mod h1:IbF62JLxuZmhItCppcIfzBBfUFq0DIB9HPDoLgWrVOU= cloud.google.com/go/metastore v1.13.2/go.mod h1:KS59dD+unBji/kFebVp8XU/quNSyo8b6N6tPGspKszA= cloud.google.com/go/metastore v1.13.3/go.mod h1:K+wdjXdtkdk7AQg4+sXS8bRrQa9gcOr+foOMF2tqINE= +cloud.google.com/go/metastore v1.13.4 h1:dR7vqWXlK6IYR8Wbu9mdFfwlVjodIBhd1JRrpZftTEg= cloud.google.com/go/metastore v1.13.4/go.mod h1:FMv9bvPInEfX9Ac1cVcRXp8EBBQnBcqH6gz3KvJ9BAE= cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= @@ -828,6 +905,7 @@ cloud.google.com/go/monitoring v1.16.2/go.mod h1:B44KGwi4ZCF8Rk/5n+FWeispDXoKSk9 cloud.google.com/go/monitoring v1.16.3/go.mod h1:KwSsX5+8PnXv5NJnICZzW2R8pWTis8ypC4zmdRD63Tw= cloud.google.com/go/monitoring v1.17.0/go.mod h1:KwSsX5+8PnXv5NJnICZzW2R8pWTis8ypC4zmdRD63Tw= cloud.google.com/go/monitoring v1.17.1/go.mod h1:SJzPMakCF0GHOuKEH/r4hxVKF04zl+cRPQyc3d/fqII= +cloud.google.com/go/monitoring v1.18.0 h1:NfkDLQDG2UR3WYZVQE8kwSbUIEyIqJUPl+aOQdFH1T4= cloud.google.com/go/monitoring v1.18.0/go.mod h1:c92vVBCeq/OB4Ioyo+NbN2U7tlg5ZH41PZcdvfc+Lcg= cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= @@ -841,6 +919,7 @@ cloud.google.com/go/networkconnectivity v1.14.0/go.mod h1:SAnGPes88pl7QRLUen2Hmc cloud.google.com/go/networkconnectivity v1.14.1/go.mod h1:LyGPXR742uQcDxZ/wv4EI0Vu5N6NKJ77ZYVnDe69Zug= cloud.google.com/go/networkconnectivity v1.14.2/go.mod h1:5UFlwIisZylSkGG1AdwK/WZUaoz12PKu6wODwIbFzJo= cloud.google.com/go/networkconnectivity v1.14.3/go.mod h1:4aoeFdrJpYEXNvrnfyD5kIzs8YtHg945Og4koAjHQek= +cloud.google.com/go/networkconnectivity v1.14.4 h1:GBfXFhLyPspnaBE3nI/BRjdhW8vcbpT9QjE/4kDCDdc= cloud.google.com/go/networkconnectivity v1.14.4/go.mod h1:PU12q++/IMnDJAB+3r+tJtuCXCfwfN+C6Niyj6ji1Po= cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= @@ -850,6 +929,7 @@ cloud.google.com/go/networkmanagement v1.9.0/go.mod h1:UTUaEU9YwbCAhhz3jEOHr+2/K cloud.google.com/go/networkmanagement v1.9.1/go.mod h1:CCSYgrQQvW73EJawO2QamemYcOb57LvrDdDU51F0mcI= cloud.google.com/go/networkmanagement v1.9.2/go.mod h1:iDGvGzAoYRghhp4j2Cji7sF899GnfGQcQRQwgVOWnDw= cloud.google.com/go/networkmanagement v1.9.3/go.mod h1:y7WMO1bRLaP5h3Obm4tey+NquUvB93Co1oh4wpL+XcU= +cloud.google.com/go/networkmanagement v1.9.4 h1:aLV5GcosBNmd6M8+a0ekB0XlLRexv4fvnJJrYnqeBcg= cloud.google.com/go/networkmanagement v1.9.4/go.mod h1:daWJAl0KTFytFL7ar33I6R/oNBH8eEOX/rBNHrC/8TA= cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= @@ -859,6 +939,7 @@ cloud.google.com/go/networksecurity v0.9.1/go.mod h1:MCMdxOKQ30wsBI1eI659f9kEp4w cloud.google.com/go/networksecurity v0.9.2/go.mod h1:jG0SeAttWzPMUILEHDUvFYdQTl8L/E/KC8iZDj85lEI= cloud.google.com/go/networksecurity v0.9.3/go.mod h1:l+C0ynM6P+KV9YjOnx+kk5IZqMSLccdBqW6GUoF4p/0= cloud.google.com/go/networksecurity v0.9.4/go.mod h1:E9CeMZ2zDsNBkr8axKSYm8XyTqNhiCHf1JO/Vb8mD1w= +cloud.google.com/go/networksecurity v0.9.5 h1:+caSxBTj0E8OYVh/5wElFdjEMO1S/rZtE1152Cepchc= cloud.google.com/go/networksecurity v0.9.5/go.mod h1:KNkjH/RsylSGyyZ8wXpue8xpCEK+bTtvof8SBfIhMG8= cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= @@ -871,6 +952,7 @@ cloud.google.com/go/notebooks v1.10.0/go.mod h1:SOPYMZnttHxqot0SGSFSkRrwE29eqnKP cloud.google.com/go/notebooks v1.10.1/go.mod h1:5PdJc2SgAybE76kFQCWrTfJolCOUQXF97e+gteUUA6A= cloud.google.com/go/notebooks v1.11.1/go.mod h1:V2Zkv8wX9kDCGRJqYoI+bQAaoVeE5kSiz4yYHd2yJwQ= cloud.google.com/go/notebooks v1.11.2/go.mod h1:z0tlHI/lREXC8BS2mIsUeR3agM1AkgLiS+Isov3SS70= +cloud.google.com/go/notebooks v1.11.3 h1:FH48boYmrWVQ6k0Mx/WrnNafXncT5iSYxA8CNyWTgy0= cloud.google.com/go/notebooks v1.11.3/go.mod h1:0wQyI2dQC3AZyQqWnRsp+yA+kY4gC7ZIVP4Qg3AQcgo= cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= @@ -880,6 +962,7 @@ cloud.google.com/go/optimization v1.5.0/go.mod h1:evo1OvTxeBRBu6ydPlrIRizKY/LJKo cloud.google.com/go/optimization v1.5.1/go.mod h1:NC0gnUD5MWVAF7XLdoYVPmYYVth93Q6BUzqAq3ZwtV8= cloud.google.com/go/optimization v1.6.1/go.mod h1:hH2RYPTTM9e9zOiTaYPTiGPcGdNZVnBSBxjIAJzUkqo= cloud.google.com/go/optimization v1.6.2/go.mod h1:mWNZ7B9/EyMCcwNl1frUGEuY6CPijSkz88Fz2vwKPOY= +cloud.google.com/go/optimization v1.6.3 h1:63NZaWyN+5rZEKHPX4ACpw3BjgyeuY8+rCehiCMaGPY= cloud.google.com/go/optimization v1.6.3/go.mod h1:8ve3svp3W6NFcAEFr4SfJxrldzhUl4VMUJmhrqVKtYA= cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= @@ -888,6 +971,7 @@ cloud.google.com/go/orchestration v1.8.1/go.mod h1:4sluRF3wgbYVRqz7zJ1/EUNc90TTp cloud.google.com/go/orchestration v1.8.2/go.mod h1:T1cP+6WyTmh6LSZzeUhvGf0uZVmJyTx7t8z7Vg87+A0= cloud.google.com/go/orchestration v1.8.3/go.mod h1:xhgWAYqlbYjlz2ftbFghdyqENYW+JXuhBx9KsjMoGHs= cloud.google.com/go/orchestration v1.8.4/go.mod h1:d0lywZSVYtIoSZXb0iFjv9SaL13PGyVOKDxqGxEf/qI= +cloud.google.com/go/orchestration v1.8.5 h1:YHgWMlrPttIVGItgGfuvO2KM7x+y9ivN/Yk92pMm1a4= cloud.google.com/go/orchestration v1.8.5/go.mod h1:C1J7HesE96Ba8/hZ71ISTV2UAat0bwN+pi85ky38Yq8= cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= @@ -898,6 +982,7 @@ cloud.google.com/go/orgpolicy v1.11.2/go.mod h1:biRDpNwfyytYnmCRWZWxrKF22Nkz9eNV cloud.google.com/go/orgpolicy v1.11.3/go.mod h1:oKAtJ/gkMjum5icv2aujkP4CxROxPXsBbYGCDbPO8MM= cloud.google.com/go/orgpolicy v1.11.4/go.mod h1:0+aNV/nrfoTQ4Mytv+Aw+stBDBjNf4d8fYRA9herfJI= cloud.google.com/go/orgpolicy v1.12.0/go.mod h1:0+aNV/nrfoTQ4Mytv+Aw+stBDBjNf4d8fYRA9herfJI= +cloud.google.com/go/orgpolicy v1.12.1 h1:2JbXigqBJVp8Dx5dONUttFqewu4fP0p3pgOdIZAhpYU= cloud.google.com/go/orgpolicy v1.12.1/go.mod h1:aibX78RDl5pcK3jA8ysDQCFkVxLj3aOQqrbBaUL2V5I= cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= @@ -909,6 +994,7 @@ cloud.google.com/go/osconfig v1.12.1/go.mod h1:4CjBxND0gswz2gfYRCUoUzCm9zCABp91E cloud.google.com/go/osconfig v1.12.2/go.mod h1:eh9GPaMZpI6mEJEuhEjUJmaxvQ3gav+fFEJon1Y8Iw0= cloud.google.com/go/osconfig v1.12.3/go.mod h1:L/fPS8LL6bEYUi1au832WtMnPeQNT94Zo3FwwV1/xGM= cloud.google.com/go/osconfig v1.12.4/go.mod h1:B1qEwJ/jzqSRslvdOCI8Kdnp0gSng0xW4LOnIebQomA= +cloud.google.com/go/osconfig v1.12.5 h1:Mo5jGAxOMKH/PmDY7fgY19yFcVbvwREb5D5zMPQjFfo= cloud.google.com/go/osconfig v1.12.5/go.mod h1:D9QFdxzfjgw3h/+ZaAb5NypM8bhOMqBzgmbhzWViiW8= cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= @@ -921,6 +1007,7 @@ cloud.google.com/go/oslogin v1.11.1/go.mod h1:OhD2icArCVNUxKqtK0mcSmKL7lgr0LVlQz cloud.google.com/go/oslogin v1.12.1/go.mod h1:VfwTeFJGbnakxAY236eN8fsnglLiVXndlbcNomY4iZU= cloud.google.com/go/oslogin v1.12.2/go.mod h1:CQ3V8Jvw4Qo4WRhNPF0o+HAM4DiLuE27Ul9CX9g2QdY= cloud.google.com/go/oslogin v1.13.0/go.mod h1:xPJqLwpTZ90LSE5IL1/svko+6c5avZLluiyylMb/sRA= +cloud.google.com/go/oslogin v1.13.1 h1:1K4nOT5VEZNt7XkhaTXupBYos5HjzvJMfhvyD2wWdFs= cloud.google.com/go/oslogin v1.13.1/go.mod h1:vS8Sr/jR7QvPWpCjNqy6LYZr5Zs1e8ZGW/KPn9gmhws= cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= @@ -929,6 +1016,7 @@ cloud.google.com/go/phishingprotection v0.8.1/go.mod h1:AxonW7GovcA8qdEk13NfHq9h cloud.google.com/go/phishingprotection v0.8.2/go.mod h1:LhJ91uyVHEYKSKcMGhOa14zMMWfbEdxG032oT6ECbC8= cloud.google.com/go/phishingprotection v0.8.3/go.mod h1:3B01yO7T2Ra/TMojifn8EoGd4G9jts/6cIO0DgDY9J8= cloud.google.com/go/phishingprotection v0.8.4/go.mod h1:6b3kNPAc2AQ6jZfFHioZKg9MQNybDg4ixFd4RPZZ2nE= +cloud.google.com/go/phishingprotection v0.8.5 h1:DH3WFLzEoJdW/6xgsmoDqOwT1xddFi7gKu0QGZQhpGU= cloud.google.com/go/phishingprotection v0.8.5/go.mod h1:g1smd68F7mF1hgQPuYn3z8HDbNre8L6Z0b7XMYFmX7I= cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= @@ -940,6 +1028,7 @@ cloud.google.com/go/policytroubleshooter v1.9.0/go.mod h1:+E2Lga7TycpeSTj2FsH4oX cloud.google.com/go/policytroubleshooter v1.9.1/go.mod h1:MYI8i0bCrL8cW+VHN1PoiBTyNZTstCg2WUw2eVC4c4U= cloud.google.com/go/policytroubleshooter v1.10.1/go.mod h1:5C0rhT3TDZVxAu8813bwmTvd57Phbl8mr9F4ipOsxEs= cloud.google.com/go/policytroubleshooter v1.10.2/go.mod h1:m4uF3f6LseVEnMV6nknlN2vYGRb+75ylQwJdnOXfnv0= +cloud.google.com/go/policytroubleshooter v1.10.3 h1:c0WOzC6hz964QWNBkyKfna8A2jOIx1zzZa43Gx/P09o= cloud.google.com/go/policytroubleshooter v1.10.3/go.mod h1:+ZqG3agHT7WPb4EBIRqUv4OyIwRTZvsVDHZ8GlZaoxk= cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= @@ -949,6 +1038,7 @@ cloud.google.com/go/privatecatalog v0.9.1/go.mod h1:0XlDXW2unJXdf9zFz968Hp35gl/b cloud.google.com/go/privatecatalog v0.9.2/go.mod h1:RMA4ATa8IXfzvjrhhK8J6H4wwcztab+oZph3c6WmtFc= cloud.google.com/go/privatecatalog v0.9.3/go.mod h1:K5pn2GrVmOPjXz3T26mzwXLcKivfIJ9R5N79AFCF9UE= cloud.google.com/go/privatecatalog v0.9.4/go.mod h1:SOjm93f+5hp/U3PqMZAHTtBtluqLygrDrVO8X8tYtG0= +cloud.google.com/go/privatecatalog v0.9.5 h1:UZ0assTnATXSggoxUIh61RjTQ4P9zCMk/kEMbn0nMYA= cloud.google.com/go/privatecatalog v0.9.5/go.mod h1:fVWeBOVe7uj2n3kWRGlUQqR/pOd450J9yZoOECcQqJk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= @@ -961,11 +1051,14 @@ cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7 cloud.google.com/go/pubsub v1.32.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= cloud.google.com/go/pubsub v1.34.0/go.mod h1:alj4l4rBg+N3YTFDDC+/YyFTs6JAjam2QfYsddcAW4c= +cloud.google.com/go/pubsub v1.36.1 h1:dfEPuGCHGbWUhaMCTHUFjfroILEkx55iUmKBZTP5f+Y= cloud.google.com/go/pubsub v1.36.1/go.mod h1:iYjCa9EzWOoBiTdd4ps7QoMtMln5NwaZQpK1hbRfBDE= cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= +cloud.google.com/go/pubsublite v1.8.1 h1:pX+idpWMIH30/K7c0epN6V703xpIcMXWRjKJsz0tYGY= cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= +cloud.google.com/go/recaptchaenterprise v1.3.1 h1:u6EznTGzIdsyOsvm+Xkw0aSuKFXQlyjGE9a4exk6iNQ= cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= @@ -981,6 +1074,7 @@ cloud.google.com/go/recaptchaenterprise/v2 v2.8.2/go.mod h1:kpaDBOpkwD4G0GVMzG1W cloud.google.com/go/recaptchaenterprise/v2 v2.8.3/go.mod h1:Dak54rw6lC2gBY8FBznpOCAR58wKf+R+ZSJRoeJok4w= cloud.google.com/go/recaptchaenterprise/v2 v2.8.4/go.mod h1:Dak54rw6lC2gBY8FBznpOCAR58wKf+R+ZSJRoeJok4w= cloud.google.com/go/recaptchaenterprise/v2 v2.9.0/go.mod h1:Dak54rw6lC2gBY8FBznpOCAR58wKf+R+ZSJRoeJok4w= +cloud.google.com/go/recaptchaenterprise/v2 v2.9.2 h1:U3Wfq12X9cVMuTpsWDSURnXF0Z9hSPTHj+xsnXDRLsw= cloud.google.com/go/recaptchaenterprise/v2 v2.9.2/go.mod h1:trwwGkfhCmp05Ll5MSJPXY7yvnO0p4v3orGANAFHAuU= cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= @@ -989,6 +1083,7 @@ cloud.google.com/go/recommendationengine v0.8.1/go.mod h1:MrZihWwtFYWDzE6Hz5nKcN cloud.google.com/go/recommendationengine v0.8.2/go.mod h1:QIybYHPK58qir9CV2ix/re/M//Ty10OxjnnhWdaKS1Y= cloud.google.com/go/recommendationengine v0.8.3/go.mod h1:m3b0RZV02BnODE9FeSvGv1qibFo8g0OnmB/RMwYy4V8= cloud.google.com/go/recommendationengine v0.8.4/go.mod h1:GEteCf1PATl5v5ZsQ60sTClUE0phbWmo3rQ1Js8louU= +cloud.google.com/go/recommendationengine v0.8.5 h1:ineqLswaCSBY0csYv5/wuXJMBlxATK6Xc5jJkpiTEdM= cloud.google.com/go/recommendationengine v0.8.5/go.mod h1:A38rIXHGFvoPvmy6pZLozr0g59NRNREz4cx7F58HAsQ= cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= @@ -1001,6 +1096,7 @@ cloud.google.com/go/recommender v1.11.1/go.mod h1:sGwFFAyI57v2Hc5LbIj+lTwXipGu9N cloud.google.com/go/recommender v1.11.2/go.mod h1:AeoJuzOvFR/emIcXdVFkspVXVTYpliRCmKNYDnyBv6Y= cloud.google.com/go/recommender v1.11.3/go.mod h1:+FJosKKJSId1MBFeJ/TTyoGQZiEelQQIZMKYYD8ruK4= cloud.google.com/go/recommender v1.12.0/go.mod h1:+FJosKKJSId1MBFeJ/TTyoGQZiEelQQIZMKYYD8ruK4= +cloud.google.com/go/recommender v1.12.1 h1:LVLYS3r3u0MSCxQSDUtLSkporEGi9OAE6hGvayrZNPs= cloud.google.com/go/recommender v1.12.1/go.mod h1:gf95SInWNND5aPas3yjwl0I572dtudMhMIG4ni8nr+0= cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= @@ -1011,6 +1107,7 @@ cloud.google.com/go/redis v1.13.1/go.mod h1:VP7DGLpE91M6bcsDdMuyCm2hIpB6Vp2hI090 cloud.google.com/go/redis v1.13.2/go.mod h1:0Hg7pCMXS9uz02q+LoEVl5dNHUkIQv+C/3L76fandSA= cloud.google.com/go/redis v1.13.3/go.mod h1:vbUpCKUAZSYzFcWKmICnYgRAhTFg9r+djWqFxDYXi4U= cloud.google.com/go/redis v1.14.1/go.mod h1:MbmBxN8bEnQI4doZPC1BzADU4HGocHBk2de3SbgOkqs= +cloud.google.com/go/redis v1.14.2 h1:QF0maEdVv0Fj/2roU8sX3NpiDBzP9ICYTO+5F32gQNo= cloud.google.com/go/redis v1.14.2/go.mod h1:g0Lu7RRRz46ENdFKQ2EcQZBAJ2PtJHJLuiiRuEXwyQw= cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= @@ -1021,6 +1118,7 @@ cloud.google.com/go/resourcemanager v1.9.1/go.mod h1:dVCuosgrh1tINZ/RwBufr8lULmW cloud.google.com/go/resourcemanager v1.9.2/go.mod h1:OujkBg1UZg5lX2yIyMo5Vz9O5hf7XQOSV7WxqxxMtQE= cloud.google.com/go/resourcemanager v1.9.3/go.mod h1:IqrY+g0ZgLsihcfcmqSe+RKp1hzjXwG904B92AwBz6U= cloud.google.com/go/resourcemanager v1.9.4/go.mod h1:N1dhP9RFvo3lUfwtfLWVxfUWq8+KUQ+XLlHLH3BoFJ0= +cloud.google.com/go/resourcemanager v1.9.5 h1:AZWr1vWVDKGwfLsVhcN+vcwOz3xqqYxtmMa0aABCMms= cloud.google.com/go/resourcemanager v1.9.5/go.mod h1:hep6KjelHA+ToEjOfO3garMKi/CLYwTqeAw7YiEI9x8= cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= @@ -1029,6 +1127,7 @@ cloud.google.com/go/resourcesettings v1.6.1/go.mod h1:M7mk9PIZrC5Fgsu1kZJci6mpgN cloud.google.com/go/resourcesettings v1.6.2/go.mod h1:mJIEDd9MobzunWMeniaMp6tzg4I2GvD3TTmPkc8vBXk= cloud.google.com/go/resourcesettings v1.6.3/go.mod h1:pno5D+7oDYkMWZ5BpPsb4SO0ewg3IXcmmrUZaMJrFic= cloud.google.com/go/resourcesettings v1.6.4/go.mod h1:pYTTkWdv2lmQcjsthbZLNBP4QW140cs7wqA3DuqErVI= +cloud.google.com/go/resourcesettings v1.6.5 h1:BTr5MVykJwClASci/7Og4Qfx70aQ4n3epsNLj94ZYgw= cloud.google.com/go/resourcesettings v1.6.5/go.mod h1:WBOIWZraXZOGAgoR4ukNj0o0HiSMO62H9RpFi9WjP9I= cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= @@ -1040,6 +1139,7 @@ cloud.google.com/go/retail v1.14.2/go.mod h1:W7rrNRChAEChX336QF7bnMxbsjugcOCPU44 cloud.google.com/go/retail v1.14.3/go.mod h1:Omz2akDHeSlfCq8ArPKiBxlnRpKEBjUH386JYFLUvXo= cloud.google.com/go/retail v1.14.4/go.mod h1:l/N7cMtY78yRnJqp5JW8emy7MB1nz8E4t2yfOmklYfg= cloud.google.com/go/retail v1.15.1/go.mod h1:In9nSBOYhLbDGa87QvWlnE1XA14xBN2FpQRiRsUs9wU= +cloud.google.com/go/retail v1.16.0 h1:Fn1GuAua1c6crCGqfJ1qMxG1Xh10Tg/x5EUODEHMqkw= cloud.google.com/go/retail v1.16.0/go.mod h1:LW7tllVveZo4ReWt68VnldZFWJRzsh9np+01J9dYWzE= cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= @@ -1050,6 +1150,7 @@ cloud.google.com/go/run v1.3.0/go.mod h1:S/osX/4jIPZGg+ssuqh6GNgg7syixKe3Ynprweh cloud.google.com/go/run v1.3.1/go.mod h1:cymddtZOzdwLIAsmS6s+Asl4JoXIDm/K1cpZTxV4Q5s= cloud.google.com/go/run v1.3.2/go.mod h1:SIhmqArbjdU/D9M6JoHaAqnAMKLFtXaVdNeq04NjnVE= cloud.google.com/go/run v1.3.3/go.mod h1:WSM5pGyJ7cfYyYbONVQBN4buz42zFqwG67Q3ch07iK4= +cloud.google.com/go/run v1.3.4 h1:m9WDA7DzTpczhZggwYlZcBWgCRb+kgSIisWn1sbw2rQ= cloud.google.com/go/run v1.3.4/go.mod h1:FGieuZvQ3tj1e9GnzXqrMABSuir38AJg5xhiYq+SF3o= cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= @@ -1062,6 +1163,7 @@ cloud.google.com/go/scheduler v1.10.2/go.mod h1:O3jX6HRH5eKCA3FutMw375XHZJudNIKV cloud.google.com/go/scheduler v1.10.3/go.mod h1:8ANskEM33+sIbpJ+R4xRfw/jzOG+ZFE8WVLy7/yGvbc= cloud.google.com/go/scheduler v1.10.4/go.mod h1:MTuXcrJC9tqOHhixdbHDFSIuh7xZF2IysiINDuiq6NI= cloud.google.com/go/scheduler v1.10.5/go.mod h1:MTuXcrJC9tqOHhixdbHDFSIuh7xZF2IysiINDuiq6NI= +cloud.google.com/go/scheduler v1.10.6 h1:5U8iXLoQ03qOB+ZXlAecU7fiE33+u3QiM9nh4cd0eTE= cloud.google.com/go/scheduler v1.10.6/go.mod h1:pe2pNCtJ+R01E06XCDOJs1XvAMbv28ZsQEbqknxGOuE= cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= @@ -1071,6 +1173,7 @@ cloud.google.com/go/secretmanager v1.11.1/go.mod h1:znq9JlXgTNdBeQk9TBW/FnR/W4uC cloud.google.com/go/secretmanager v1.11.2/go.mod h1:MQm4t3deoSub7+WNwiC4/tRYgDBHJgJPvswqQVB1Vss= cloud.google.com/go/secretmanager v1.11.3/go.mod h1:0bA2o6FabmShrEy328i67aV+65XoUFFSmVeLBn/51jI= cloud.google.com/go/secretmanager v1.11.4/go.mod h1:wreJlbS9Zdq21lMzWmJ0XhWW2ZxgPeahsqeV/vZoJ3w= +cloud.google.com/go/secretmanager v1.11.5 h1:82fpF5vBBvu9XW4qj0FU2C6qVMtj1RM/XHwKXUEAfYY= cloud.google.com/go/secretmanager v1.11.5/go.mod h1:eAGv+DaCHkeVyQi0BeXgAHOU0RdrMeZIASKc+S7VqH4= cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= @@ -1083,6 +1186,7 @@ cloud.google.com/go/security v1.15.1/go.mod h1:MvTnnbsWnehoizHi09zoiZob0iCHVcL4A cloud.google.com/go/security v1.15.2/go.mod h1:2GVE/v1oixIRHDaClVbHuPcZwAqFM28mXuAKCfMgYIg= cloud.google.com/go/security v1.15.3/go.mod h1:gQ/7Q2JYUZZgOzqKtw9McShH+MjNvtDpL40J1cT+vBs= cloud.google.com/go/security v1.15.4/go.mod h1:oN7C2uIZKhxCLiAAijKUCuHLZbIt/ghYEo8MqwD/Ty4= +cloud.google.com/go/security v1.15.5 h1:wTKJQ10j8EYgvE8Y+KhovxDRVDk2iv/OsxZ6GrLP3kE= cloud.google.com/go/security v1.15.5/go.mod h1:KS6X2eG3ynWjqcIX976fuToN5juVkF6Ra6c7MPnldtc= cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= @@ -1095,11 +1199,13 @@ cloud.google.com/go/securitycenter v1.23.1/go.mod h1:w2HV3Mv/yKhbXKwOCu2i8bCuLtN cloud.google.com/go/securitycenter v1.24.1/go.mod h1:3h9IdjjHhVMXdQnmqzVnM7b0wMn/1O/U20eWVpMpZjI= cloud.google.com/go/securitycenter v1.24.2/go.mod h1:l1XejOngggzqwr4Fa2Cn+iWZGf+aBLTXtB/vXjy5vXM= cloud.google.com/go/securitycenter v1.24.3/go.mod h1:l1XejOngggzqwr4Fa2Cn+iWZGf+aBLTXtB/vXjy5vXM= +cloud.google.com/go/securitycenter v1.24.4 h1:/5jjkZ+uGe8hZ7pvd7pO30VW/a+pT2MrrdgOqjyucKQ= cloud.google.com/go/securitycenter v1.24.4/go.mod h1:PSccin+o1EMYKcFQzz9HMMnZ2r9+7jbc+LvPjXhpwcU= cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA= cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= +cloud.google.com/go/servicecontrol v1.11.1 h1:d0uV7Qegtfaa7Z2ClDzr9HJmnbJW7jn0WhZ7wOX6hLE= cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= @@ -1112,14 +1218,17 @@ cloud.google.com/go/servicedirectory v1.11.0/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6 cloud.google.com/go/servicedirectory v1.11.1/go.mod h1:tJywXimEWzNzw9FvtNjsQxxJ3/41jseeILgwU/QLrGI= cloud.google.com/go/servicedirectory v1.11.2/go.mod h1:KD9hCLhncWRV5jJphwIpugKwM5bn1x0GyVVD4NO8mGg= cloud.google.com/go/servicedirectory v1.11.3/go.mod h1:LV+cHkomRLr67YoQy3Xq2tUXBGOs5z5bPofdq7qtiAw= +cloud.google.com/go/servicedirectory v1.11.4 h1:da7HFI1229kyzIyuVEzHXip0cw0d+E0s8mjQby0WN+k= cloud.google.com/go/servicedirectory v1.11.4/go.mod h1:Bz2T9t+/Ehg6x+Y7Ycq5xiShYLD96NfEsWNHyitj1qM= cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= +cloud.google.com/go/servicemanagement v1.8.0 h1:fopAQI/IAzlxnVeiKn/8WiV6zKndjFkvi+gzu+NjywY= cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= +cloud.google.com/go/serviceusage v1.6.0 h1:rXyq+0+RSIm3HFypctp7WoXxIA563rn206CfMWdqXX4= cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= @@ -1128,6 +1237,7 @@ cloud.google.com/go/shell v1.7.1/go.mod h1:u1RaM+huXFaTojTbW4g9P5emOrrmLE69KrxqQ cloud.google.com/go/shell v1.7.2/go.mod h1:KqRPKwBV0UyLickMn0+BY1qIyE98kKyI216sH/TuHmc= cloud.google.com/go/shell v1.7.3/go.mod h1:cTTEz/JdaBsQAeTQ3B6HHldZudFoYBOqjteev07FbIc= cloud.google.com/go/shell v1.7.4/go.mod h1:yLeXB8eKLxw0dpEmXQ/FjriYrBijNsONpwnWsdPqlKM= +cloud.google.com/go/shell v1.7.5 h1:3Fq2hzO0ZSyaqBboJrFkwwf/qMufDtqwwA6ep8EZxEI= cloud.google.com/go/shell v1.7.5/go.mod h1:hL2++7F47/IfpfTO53KYf1EC+F56k3ThfNEXd4zcuiE= cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= @@ -1141,6 +1251,7 @@ cloud.google.com/go/spanner v1.53.1/go.mod h1:liG4iCeLqm5L3fFLU5whFITqP0e0orsAW1 cloud.google.com/go/spanner v1.54.0/go.mod h1:wZvSQVBgngF0Gq86fKup6KIYmN2be7uOKjtK97X+bQU= cloud.google.com/go/spanner v1.55.0/go.mod h1:HXEznMUVhC+PC+HDyo9YFG2Ajj5BQDkcbqB9Z2Ffxi0= cloud.google.com/go/spanner v1.56.0/go.mod h1:DndqtUKQAt3VLuV2Le+9Y3WTnq5cNKrnLb/Piqcj+h0= +cloud.google.com/go/spanner v1.57.0 h1:fJq+ZfQUDHE+cy1li0bJA8+sy2oiSGhuGqN5nqVaZdU= cloud.google.com/go/spanner v1.57.0/go.mod h1:aXQ5QDdhPRIqVhYmnkAdwPYvj/DRN0FguclhEWw+jOo= cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= @@ -1154,6 +1265,7 @@ cloud.google.com/go/speech v1.19.1/go.mod h1:WcuaWz/3hOlzPFOVo9DUsblMIHwxP589y6Z cloud.google.com/go/speech v1.19.2/go.mod h1:2OYFfj+Ch5LWjsaSINuCZsre/789zlcCI3SY4oAi2oI= cloud.google.com/go/speech v1.20.1/go.mod h1:wwolycgONvfz2EDU8rKuHRW3+wc9ILPsAWoikBEWavY= cloud.google.com/go/speech v1.21.0/go.mod h1:wwolycgONvfz2EDU8rKuHRW3+wc9ILPsAWoikBEWavY= +cloud.google.com/go/speech v1.21.1 h1:nuFc+Kj5B8de75nN4FdPyUbI2SiBoHZG6BLurXL56Q0= cloud.google.com/go/speech v1.21.1/go.mod h1:E5GHZXYQlkqWQwY5xRSLHw2ci5NMQNG52FfMU1aZrIA= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= @@ -1170,6 +1282,7 @@ cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjp cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= cloud.google.com/go/storage v1.37.0/go.mod h1:i34TiT2IhiNDmcj65PqwCjcoUX7Z5pLzS8DEmoiFq1k= +cloud.google.com/go/storage v1.38.0 h1:Az68ZRGlnNTpIBbLjSMIV2BDcwwXYlRlQzis0llkpJg= cloud.google.com/go/storage v1.38.0/go.mod h1:tlUADB0mAb9BgYls9lq+8MGkfzOXuLrnHXlpHmvFJoY= cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= @@ -1179,6 +1292,7 @@ cloud.google.com/go/storagetransfer v1.10.0/go.mod h1:DM4sTlSmGiNczmV6iZyceIh2db cloud.google.com/go/storagetransfer v1.10.1/go.mod h1:rS7Sy0BtPviWYTTJVWCSV4QrbBitgPeuK4/FKa4IdLs= cloud.google.com/go/storagetransfer v1.10.2/go.mod h1:meIhYQup5rg9juQJdyppnA/WLQCOguxtk1pr3/vBWzA= cloud.google.com/go/storagetransfer v1.10.3/go.mod h1:Up8LY2p6X68SZ+WToswpQbQHnJpOty/ACcMafuey8gc= +cloud.google.com/go/storagetransfer v1.10.4 h1:dy4fL3wO0VABvzM05ycMUPFHxTPbJz9Em8ikAJVqSbI= cloud.google.com/go/storagetransfer v1.10.4/go.mod h1:vef30rZKu5HSEf/x1tK3WfWrL0XVoUQN/EPDRGPzjZs= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= @@ -1189,6 +1303,7 @@ cloud.google.com/go/talent v1.6.2/go.mod h1:CbGvmKCG61mkdjcqTcLOkb2ZN1SrQI8MDyma cloud.google.com/go/talent v1.6.3/go.mod h1:xoDO97Qd4AK43rGjJvyBHMskiEf3KulgYzcH6YWOVoo= cloud.google.com/go/talent v1.6.4/go.mod h1:QsWvi5eKeh6gG2DlBkpMaFYZYrYUnIpo34f6/V5QykY= cloud.google.com/go/talent v1.6.5/go.mod h1:Mf5cma696HmE+P2BWJ/ZwYqeJXEeU0UqjHFXVLadEDI= +cloud.google.com/go/talent v1.6.6 h1:JssV0CE3FNujuSWn7SkosOzg7qrMxVnt6txOfGcMSa4= cloud.google.com/go/talent v1.6.6/go.mod h1:y/WQDKrhVz12WagoarpAIyKKMeKGKHWPoReZ0g8tseQ= cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= @@ -1197,6 +1312,7 @@ cloud.google.com/go/texttospeech v1.7.1/go.mod h1:m7QfG5IXxeneGqTapXNxv2ItxP/FS0 cloud.google.com/go/texttospeech v1.7.2/go.mod h1:VYPT6aTOEl3herQjFHYErTlSZJ4vB00Q2ZTmuVgluD4= cloud.google.com/go/texttospeech v1.7.3/go.mod h1:Av/zpkcgWfXlDLRYob17lqMstGZ3GqlvJXqKMp2u8so= cloud.google.com/go/texttospeech v1.7.4/go.mod h1:vgv0002WvR4liGuSd5BJbWy4nDn5Ozco0uJymY5+U74= +cloud.google.com/go/texttospeech v1.7.5 h1:dxY2Q5mHCbrGa3oPR2O3PCicdnvKa1JmwGQK36EFLOw= cloud.google.com/go/texttospeech v1.7.5/go.mod h1:tzpCuNWPwrNJnEa4Pu5taALuZL4QRRLcb+K9pbhXT6M= cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= @@ -1205,6 +1321,7 @@ cloud.google.com/go/tpu v1.6.1/go.mod h1:sOdcHVIgDEEOKuqUoi6Fq53MKHJAtOwtz0GuKsW cloud.google.com/go/tpu v1.6.2/go.mod h1:NXh3NDwt71TsPZdtGWgAG5ThDfGd32X1mJ2cMaRlVgU= cloud.google.com/go/tpu v1.6.3/go.mod h1:lxiueqfVMlSToZY1151IaZqp89ELPSrk+3HIQ5HRkbY= cloud.google.com/go/tpu v1.6.4/go.mod h1:NAm9q3Rq2wIlGnOhpYICNI7+bpBebMJbh0yyp3aNw1Y= +cloud.google.com/go/tpu v1.6.5 h1:C8YyYda8WtNdBoCgFwwBzZd+S6+EScHOxM/z1h0NNp8= cloud.google.com/go/tpu v1.6.5/go.mod h1:P9DFOEBIBhuEcZhXi+wPoVy/cji+0ICFi4TtTkMHSSs= cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= @@ -1214,6 +1331,7 @@ cloud.google.com/go/trace v1.10.1/go.mod h1:gbtL94KE5AJLH3y+WVpfWILmqgc6dXcqgNXd cloud.google.com/go/trace v1.10.2/go.mod h1:NPXemMi6MToRFcSxRl2uDnu/qAlAQ3oULUphcHGh1vA= cloud.google.com/go/trace v1.10.3/go.mod h1:Ke1bgfc73RV3wUFml+uQp7EsDw4dGaETLxB7Iq/r4CY= cloud.google.com/go/trace v1.10.4/go.mod h1:Nso99EDIK8Mj5/zmB+iGr9dosS/bzWCJ8wGmE6TXNWY= +cloud.google.com/go/trace v1.10.5 h1:0pr4lIKJ5XZFYD9GtxXEWr0KkVeigc3wlGpZco0X1oA= cloud.google.com/go/trace v1.10.5/go.mod h1:9hjCV1nGBCtXbAE4YK7OqJ8pmPYSxPA0I67JwRd5s3M= cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= @@ -1227,6 +1345,7 @@ cloud.google.com/go/translate v1.9.1/go.mod h1:TWIgDZknq2+JD4iRcojgeDtqGEp154HN/ cloud.google.com/go/translate v1.9.2/go.mod h1:E3Tc6rUTsQkVrXW6avbUhKJSr7ZE3j7zNmqzXKHqRrY= cloud.google.com/go/translate v1.9.3/go.mod h1:Kbq9RggWsbqZ9W5YpM94Q1Xv4dshw/gr/SHfsl5yCZ0= cloud.google.com/go/translate v1.10.0/go.mod h1:Kbq9RggWsbqZ9W5YpM94Q1Xv4dshw/gr/SHfsl5yCZ0= +cloud.google.com/go/translate v1.10.1 h1:upovZ0wRMdzZvXnu+RPam41B0mRJ+coRXFP2cYFJ7ew= cloud.google.com/go/translate v1.10.1/go.mod h1:adGZcQNom/3ogU65N9UXHOnnSvjPwA/jKQUMnsYXOyk= cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= @@ -1240,6 +1359,7 @@ cloud.google.com/go/video v1.20.0/go.mod h1:U3G3FTnsvAGqglq9LxgqzOiBc/Nt8zis8S+8 cloud.google.com/go/video v1.20.1/go.mod h1:3gJS+iDprnj8SY6pe0SwLeC5BUW80NjhwX7INWEuWGU= cloud.google.com/go/video v1.20.2/go.mod h1:lrixr5JeKNThsgfM9gqtwb6Okuqzfo4VrY2xynaViTA= cloud.google.com/go/video v1.20.3/go.mod h1:TnH/mNZKVHeNtpamsSPygSR0iHtvrR/cW1/GDjN5+GU= +cloud.google.com/go/video v1.20.4 h1:TXwotxkShP1OqgKsbd+b8N5hrIHavSyLGvYnLGCZ7xc= cloud.google.com/go/video v1.20.4/go.mod h1:LyUVjyW+Bwj7dh3UJnUGZfyqjEto9DnrvTe1f/+QrW0= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= @@ -1250,7 +1370,9 @@ cloud.google.com/go/videointelligence v1.11.1/go.mod h1:76xn/8InyQHarjTWsBR058Sm cloud.google.com/go/videointelligence v1.11.2/go.mod h1:ocfIGYtIVmIcWk1DsSGOoDiXca4vaZQII1C85qtoplc= cloud.google.com/go/videointelligence v1.11.3/go.mod h1:tf0NUaGTjU1iS2KEkGWvO5hRHeCkFK3nPo0/cOZhZAo= cloud.google.com/go/videointelligence v1.11.4/go.mod h1:kPBMAYsTPFiQxMLmmjpcZUMklJp3nC9+ipJJtprccD8= +cloud.google.com/go/videointelligence v1.11.5 h1:mYaWH8uhUCXLJCN3gdXswKzRa2+lK0zN6/KsIubm6pE= cloud.google.com/go/videointelligence v1.11.5/go.mod h1:/PkeQjpRponmOerPeJxNPuxvi12HlW7Em0lJO14FC3I= +cloud.google.com/go/vision v1.2.0 h1:/CsSTkbmO9HC8iQpxbK8ATms3OQaX3YQUeTMGCxlaK4= cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= @@ -1263,6 +1385,7 @@ cloud.google.com/go/vision/v2 v2.7.3/go.mod h1:V0IcLCY7W+hpMKXK1JYE0LV5llEqVmj+U cloud.google.com/go/vision/v2 v2.7.4/go.mod h1:ynDKnsDN/0RtqkKxQZ2iatv3Dm9O+HfRb5djl7l4Vvw= cloud.google.com/go/vision/v2 v2.7.5/go.mod h1:GcviprJLFfK9OLf0z8Gm6lQb6ZFUulvpZws+mm6yPLM= cloud.google.com/go/vision/v2 v2.7.6/go.mod h1:ZkvWTVNPBU3YZYzgF9Y1jwEbD1NBOCyJn0KFdQfE6Bw= +cloud.google.com/go/vision/v2 v2.8.0 h1:W52z1b6LdGI66MVhE70g/NFty9zCYYcjdKuycqmlhtg= cloud.google.com/go/vision/v2 v2.8.0/go.mod h1:ocqDiA2j97pvgogdyhoxiQp2ZkDCyr0HWpicywGGRhU= cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= @@ -1272,6 +1395,7 @@ cloud.google.com/go/vmmigration v1.7.1/go.mod h1:WD+5z7a/IpZ5bKK//YmT9E047AD+rjy cloud.google.com/go/vmmigration v1.7.2/go.mod h1:iA2hVj22sm2LLYXGPT1pB63mXHhrH1m/ruux9TwWLd8= cloud.google.com/go/vmmigration v1.7.3/go.mod h1:ZCQC7cENwmSWlwyTrZcWivchn78YnFniEQYRWQ65tBo= cloud.google.com/go/vmmigration v1.7.4/go.mod h1:yBXCmiLaB99hEl/G9ZooNx2GyzgsjKnw5fWcINRgD70= +cloud.google.com/go/vmmigration v1.7.5 h1:5v9RT2vWyuw3pK2ox0HQpkoftO7Q7/8591dTxxQc79g= cloud.google.com/go/vmmigration v1.7.5/go.mod h1:pkvO6huVnVWzkFioxSghZxIGcsstDvYiVCxQ9ZH3eYI= cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= @@ -1281,6 +1405,7 @@ cloud.google.com/go/vmwareengine v1.0.0/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkG cloud.google.com/go/vmwareengine v1.0.1/go.mod h1:aT3Xsm5sNx0QShk1Jc1B8OddrxAScYLwzVoaiXfdzzk= cloud.google.com/go/vmwareengine v1.0.2/go.mod h1:xMSNjIk8/itYrz1JA8nV3Ajg4L4n3N+ugP8JKzk3OaA= cloud.google.com/go/vmwareengine v1.0.3/go.mod h1:QSpdZ1stlbfKtyt6Iu19M6XRxjmXO+vb5a/R6Fvy2y4= +cloud.google.com/go/vmwareengine v1.1.1 h1:EGdDi9QbqThfZq3ILcDK5g+m9jTevc34AY5tACx5v7k= cloud.google.com/go/vmwareengine v1.1.1/go.mod h1:nMpdsIVkUrSaX8UvmnBhzVzG7PPvNYc5BszcvIVudYs= cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= @@ -1289,6 +1414,7 @@ cloud.google.com/go/vpcaccess v1.7.1/go.mod h1:FogoD46/ZU+JUBX9D606X21EnxiszYi2t cloud.google.com/go/vpcaccess v1.7.2/go.mod h1:mmg/MnRHv+3e8FJUjeSibVFvQF1cCy2MsFaFqxeY1HU= cloud.google.com/go/vpcaccess v1.7.3/go.mod h1:YX4skyfW3NC8vI3Fk+EegJnlYFatA+dXK4o236EUCUc= cloud.google.com/go/vpcaccess v1.7.4/go.mod h1:lA0KTvhtEOb/VOdnH/gwPuOzGgM+CWsmGu6bb4IoMKk= +cloud.google.com/go/vpcaccess v1.7.5 h1:XyL6hTLtEM/eE4F1GEge8xUN9ZCkiVWn44K/YA7z1rQ= cloud.google.com/go/vpcaccess v1.7.5/go.mod h1:slc5ZRvvjP78c2dnL7m4l4R9GwL3wDLcpIWz6P/ziig= cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= @@ -1299,6 +1425,7 @@ cloud.google.com/go/webrisk v1.9.1/go.mod h1:4GCmXKcOa2BZcZPn6DCEvE7HypmEJcJkr4m cloud.google.com/go/webrisk v1.9.2/go.mod h1:pY9kfDgAqxUpDBOrG4w8deLfhvJmejKB0qd/5uQIPBc= cloud.google.com/go/webrisk v1.9.3/go.mod h1:RUYXe9X/wBDXhVilss7EDLW9ZNa06aowPuinUOPCXH8= cloud.google.com/go/webrisk v1.9.4/go.mod h1:w7m4Ib4C+OseSr2GL66m0zMBywdrVNTDKsdEsfMl7X0= +cloud.google.com/go/webrisk v1.9.5 h1:251MvGuC8wisNN7+jqu9DDDZAi38KiMXxOpA/EWy4dE= cloud.google.com/go/webrisk v1.9.5/go.mod h1:aako0Fzep1Q714cPEM5E+mtYX8/jsfegAuS8aivxy3U= cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= @@ -1307,6 +1434,7 @@ cloud.google.com/go/websecurityscanner v1.6.1/go.mod h1:Njgaw3rttgRHXzwCB8kgCYqv cloud.google.com/go/websecurityscanner v1.6.2/go.mod h1:7YgjuU5tun7Eg2kpKgGnDuEOXWIrh8x8lWrJT4zfmas= cloud.google.com/go/websecurityscanner v1.6.3/go.mod h1:x9XANObUFR+83Cya3g/B9M/yoHVqzxPnFtgF8yYGAXw= cloud.google.com/go/websecurityscanner v1.6.4/go.mod h1:mUiyMQ+dGpPPRkHgknIZeCzSHJ45+fY4F52nZFDHm2o= +cloud.google.com/go/websecurityscanner v1.6.5 h1:YqWZrZYabG88TZt7364XWRJGhxmxhony2ZUyZEYMF2k= cloud.google.com/go/websecurityscanner v1.6.5/go.mod h1:QR+DWaxAz2pWooylsBF854/Ijvuoa3FCyS1zBa1rAVQ= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= @@ -1318,11 +1446,14 @@ cloud.google.com/go/workflows v1.12.0/go.mod h1:PYhSk2b6DhZ508tj8HXKaBh+OFe+xdl0 cloud.google.com/go/workflows v1.12.1/go.mod h1:5A95OhD/edtOhQd/O741NSfIMezNTbCwLM1P1tBRGHM= cloud.google.com/go/workflows v1.12.2/go.mod h1:+OmBIgNqYJPVggnMo9nqmizW0qEXHhmnAzK/CnBqsHc= cloud.google.com/go/workflows v1.12.3/go.mod h1:fmOUeeqEwPzIU81foMjTRQIdwQHADi/vEr1cx9R1m5g= +cloud.google.com/go/workflows v1.12.4 h1:uHNmUiatTbPQ4H1pabwfzpfEYD4BBnqDHqMm2IesOh4= cloud.google.com/go/workflows v1.12.4/go.mod h1:yQ7HUqOkdJK4duVtMeBCAOPiN1ZF1E9pAMX51vpwB/w= +contrib.go.opencensus.io/exporter/ocagent v0.7.1-0.20200907061046-05415f1de66d h1:LblfooH1lKOpp1hIhukktmSAxFkqMPFk9KR6iZ0MJNI= contrib.go.opencensus.io/exporter/ocagent v0.7.1-0.20200907061046-05415f1de66d/go.mod h1:IshRmMJBhDfFj5Y67nVhMYTTIze91RUeT73ipWKs/GY= contrib.go.opencensus.io/exporter/prometheus v0.1.0/go.mod h1:cGFniUXGZlKRjzOyuZJ6mgB+PgBcCIa79kEKR8YCW+A= contrib.go.opencensus.io/exporter/prometheus v0.4.0 h1:0QfIkj9z/iVZgK31D9H9ohjjIDApI2GOPScCKwxedbs= contrib.go.opencensus.io/exporter/prometheus v0.4.0/go.mod h1:o7cosnyfuPVK0tB8q0QmaQNhGnptITnPQB+z1+qeFB0= +contrib.go.opencensus.io/exporter/zipkin v0.1.2 h1:YqE293IZrKtqPnpwDPH/lOqTWD/s3Iwabycam74JV3g= contrib.go.opencensus.io/exporter/zipkin v0.1.2/go.mod h1:mP5xM3rrgOjpn79MM8fZbj3gsxcuytSqtH0dxSWW1RE= cuelabs.dev/go/oci/ociregistry v0.0.0-20240807094312-a32ad29eed79 h1:EceZITBGET3qHneD5xowSTY/YHbNybvMWGh62K2fG/M= cuelabs.dev/go/oci/ociregistry v0.0.0-20240807094312-a32ad29eed79/go.mod h1:5A4xfTzHTXfeVJBU6RAUf+QrlfTCW+017q/QiW+sMLg= @@ -1330,10 +1461,13 @@ cuelang.org/go v0.10.0 h1:Y1Pu4wwga5HkXfLFK1sWAYaSWIBdcsr5Cb5AWj2pOuE= cuelang.org/go v0.10.0/go.mod h1:HzlaqqqInHNiqE6slTP6+UtxT9hN6DAzgJgdbNxXvX8= dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= +gioui.org v0.0.0-20210308172011-57750fc8a0a6 h1:K72hopUosKG3ntOPNG4OzzbuhxGuVf06fa2la1/H/Ho= gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= +git.sr.ht/~sbinet/gg v0.3.1 h1:LNhjNn8DerC8f9DHLz6lS0YYul/b602DUxDgGkd/Aik= git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 h1:He8afgbRMd7mFxO99hRNu+6tazq8nFF9lIwo9JFroBk= github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= @@ -1343,11 +1477,14 @@ github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg6 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU= github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU= github.com/DataDog/datadog-go v0.0.0-20180330214955-e67964b4021a/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dXCilEuNEeAn20fdD4= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c h1:RGWPOewvKIROun94nF7v2cua9qP+thov/7M50KEoeSU= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ= github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE= @@ -1363,70 +1500,114 @@ github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0= github.com/Masterminds/squirrel v1.5.4 h1:uUcX/aBc8O7Fg9kaISIUsHXdKuqehiXAMQTYX8afzqM= github.com/Masterminds/squirrel v1.5.4/go.mod h1:NNaOrjSoIDfDA40n7sr2tPNZRfjzjA400rg+riTZj10= +github.com/Masterminds/vcs v1.13.3 h1:IIA2aBdXvfbIM+yl/eTnL4hb1XwdpvuQLglAix1gweE= +github.com/Masterminds/vcs v1.13.3/go.mod h1:TiE7xuEjl1N4j016moRd6vezp6e6Lz23gypeXfzXeW8= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/Microsoft/hcsshim v0.11.4 h1:68vKo2VN8DE9AdN4tnkWnmdhqdbpUFM8OF3Airm7fz8= github.com/Microsoft/hcsshim v0.11.4/go.mod h1:smjE4dvqPX9Zldna+t5FG3rnoHhaB7QYxPRqGcpAD9w= +github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc= github.com/Netflix/go-expect v0.0.0-20180928190340-9d1f4485533b h1:sSQK05nvxs4UkgCJaxihteu+r+6ela3dNMm7NVmsS3c= github.com/Netflix/go-expect v0.0.0-20180928190340-9d1f4485533b/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8= +github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 h1:YoJbenK9C67SkzkDfmQuVln04ygHj3vjZfd9FL+GmQQ= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d h1:UrqY+r/OJnIp5u0s1SbQ8dVfLCZJsnvazdBP5hS4iRs= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= +github.com/Shopify/sarama v1.30.0 h1:TOZL6r37xJBDEMLx4yjB77jxbZYXPaDow08TSK6vIL0= github.com/Shopify/sarama v1.30.0/go.mod h1:zujlQQx1kzHsh4jfV1USnptCQrHAEZ2Hk8fTKCulPVs= +github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= +github.com/Shopify/toxiproxy/v2 v2.1.6-0.20210914104332-15ea381dcdae h1:ePgznFqEG1v3AjMklnK8H7BSc++FDSo7xfK9K7Af+0Y= github.com/Shopify/toxiproxy/v2 v2.1.6-0.20210914104332-15ea381dcdae/go.mod h1:/cvHQkZ1fst0EmZnA5dFtiQdWCNCFYzb+uE2vqVgvx0= +github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow= +github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4= github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= +github.com/agnivade/levenshtein v1.0.1 h1:3oJU7J3FGFmyhn8KHjmVaZCN5hxTr7GxgRue+sxIXdQ= github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= github.com/ahmetb/gen-crd-api-reference-docs v0.3.1-0.20240214155107-6cf1ede4da61 h1:jkkjcj/7W0plknZNcgFBOUpGvzUY7bHVUgBBbLuFhwE= github.com/ahmetb/gen-crd-api-reference-docs v0.3.1-0.20240214155107-6cf1ede4da61/go.mod h1:7tZt0e57D01h4l1ub4dcgcUVWlYk/wYBRQUMsR6cW7Y= +github.com/airbrake/gobrake v3.6.1+incompatible h1:uTMNQO1LrLNL97C1wh6ZtCZjaWWTkSeOeXyrB0iMQ1s= github.com/airbrake/gobrake v3.6.1+incompatible/go.mod h1:wM4gu3Cn0W0K7GUuVWnlXZU11AGBXMILnrdOU8Kn00o= +github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9 h1:7kQgkwGRoLzC9K0oyXdJo7nve/bynv/KwUsxbiTlzAM= github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= +github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19 h1:iXUgAaqDcIUGbRoy2TdeofRG/j1zpGRSEmNK05T+bi8= github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b h1:slYM766cy2nI3BwyRiyQj/Ud48djTMtMebDqepE95rw= github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= +github.com/akavel/rsrc v0.10.2 h1:Zxm8V5eI1hW4gGaYsJQUhxpjkENuG91ki8B4zCrvEsw= +github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= +github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs= github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= +github.com/alecholmes/xfccparser v0.4.0 h1:IFB4bP34oorjcV3n8utZtBhEwlAw9rZ43pb4LgT23Vo= +github.com/alecholmes/xfccparser v0.4.0/go.mod h1:J9fzzUOtjw74IwNdGVbjnOVj1UDlwGQj1zZzgQRlRDY= github.com/alecthomas/assert/v2 v2.2.2/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ= +github.com/alecthomas/assert/v2 v2.3.0 h1:mAsH2wmvjsuvyBvAmCtm7zFsBlb8mIHx5ySLVdDZXL0= github.com/alecthomas/assert/v2 v2.3.0/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ= +github.com/alecthomas/jsonschema v0.0.0-20180308105923-f2c93856175a h1:FTykHiUVgZkL0cdTplzjoDZnizgAqEo6riN3R2VYwg0= github.com/alecthomas/jsonschema v0.0.0-20180308105923-f2c93856175a/go.mod h1:qpebaTNSsyUn5rPSJMsfqEtDw71TTggXM6stUDI16HA= github.com/alecthomas/kingpin/v2 v2.3.1/go.mod h1:oYL5vtsvEHZGHxU7DMp32Dvx+qL+ptGn6lWaot2vCNE= github.com/alecthomas/kingpin/v2 v2.3.2/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= +github.com/alecthomas/kingpin/v2 v2.4.0 h1:f48lwail6p8zpO1bC4TxtqACaGqHYA22qkHjHpqDjYY= github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= github.com/alecthomas/participle/v2 v2.0.0/go.mod h1:rAKZdJldHu8084ojcWevWAL8KmEU+AT+Olodb+WoN2Y= +github.com/alecthomas/participle/v2 v2.1.0 h1:z7dElHRrOEEq45F2TG5cbQihMtNTv8vwldytDj7Wrz4= github.com/alecthomas/participle/v2 v2.1.0/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= +github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= +github.com/alessio/shellescape v1.4.1 h1:V7yhSDDn8LP4lc4jS8pFkt0zCnzVJlG5JXy9BVKJUX0= +github.com/alessio/shellescape v1.4.1/go.mod h1:PZAiSCk0LJaZkiCSkPv8qIobYglO3FPpyFjDCtHLS30= +github.com/alexedwards/scs v1.4.1 h1:/5L5a07IlqApODcEfZyMsu8Smd1S7Q4nBjEyKxIRTp0= github.com/alexedwards/scs v1.4.1/go.mod h1:JRIFiXthhMSivuGbxpzUa0/hT5rz2hpyw61Bmd+S1bg= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/andybalholm/brotli v1.0.5 h1:8uQZIdzKmjc/iuPu7O2ioW48L81FgatrcpfFmiq/cCs= github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI= github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g= +github.com/aokoli/goutils v1.0.1 h1:7fpzNGoJ3VA8qcrm++XEE1QUe0mIwNeLa02Nwq7RDkg= +github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= +github.com/apache/arrow/go/v10 v10.0.1 h1:n9dERvixoC/1JjDmBcs9FPaEryoANa2sCgVFo6ez9cI= github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= +github.com/apache/arrow/go/v11 v11.0.0 h1:hqauxvFQxww+0mEU/2XHG6LT7eZternCZq+A5Yly2uM= github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI= github.com/apache/arrow/go/v12 v12.0.0/go.mod h1:d+tV/eHZZ7Dz7RPrFKtPK02tpr+c9/PEd/zm8mDS9Vg= +github.com/apache/arrow/go/v12 v12.0.1 h1:JsR2+hzYYjgSUkBSaahpqCetqZMr76djX80fF/DiJbg= github.com/apache/arrow/go/v12 v12.0.1/go.mod h1:weuTY7JvTG/HDPtMQxEUp7pU73vkLWMLpY67QwZ/WWw= +github.com/apache/arrow/go/v14 v14.0.2 h1:N8OkaJEOfI3mEZt07BIkvo4sC6XDbL+48MBPWO5IONw= github.com/apache/arrow/go/v14 v14.0.2/go.mod h1:u3fgh3EdgN/YQ8cVQRguVW3R+seMybFg8QBQ5LU+eBY= +github.com/apache/thrift v0.14.0 h1:vqZ2DP42i8th2OsgCcYZkirtbzvpZEFx53LiWDJXIAs= github.com/apache/thrift v0.14.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e h1:QEF07wC0T1rKkctt1RINW/+RMTVmiwxETico2l3gxJA= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6 h1:G1bPvciwNyF7IUmKXNt9Ak3m6u9DE1rF+RmtIkBpVdA= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= @@ -1449,23 +1630,35 @@ github.com/avast/retry-go/v4 v4.3.3/go.mod h1:rg6XFaiuFYII0Xu3RDbZQkxCofFwruZKW8 github.com/aws/aws-sdk-go v1.30.27/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.34.9 h1:cUGBW9CVdi0mS7K1hDzxIqTpfeWhpoQiguq81M1tjK0= github.com/aws/aws-sdk-go v1.34.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= +github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bitly/go-simplejson v0.5.0 h1:6IH+V8/tVMab511d5bn4M7EwGXZf9Hj6i2xSwkNEM+Y= github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c h1:+0HFd5KSZ/mm3JmhmrDukiId5iR6w4+BdFtfSy4yWIc= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= +github.com/blendle/zapdriver v1.3.1 h1:C3dydBOWYRiOk+B8X9IVZ5IOe+7cl+tGOexN4QqHfpE= github.com/blendle/zapdriver v1.3.1/go.mod h1:mdXfREi6u5MArG4j9fewC+FGnXaBR+T4Ox4J2u4eHCc= github.com/bluekeyes/hatpear v0.0.0-20180714193905-ffb42d5bb417/go.mod h1:D+WOahrNtu6OK0KiVoXY9h5j7IcEs5LYke+zJkMBsKg= +github.com/bluekeyes/hatpear v0.1.1 h1:FA5diKynoYJi6YVTJPEDbe4MG6eA8h+7LYHUlm8bppc= +github.com/bluekeyes/hatpear v0.1.1/go.mod h1:2bh+rl4wLhqzzL0hT7Q4SVGXIivrE8oKgH2WYM3ubt0= +github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= +github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b h1:AP/Y7sqYicnjGDfD5VcY4CIfh1hRXBUavxrvELjTiOE= github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b/go.mod h1:ac9efd0D1fsDb3EJvhqgXRbFx7bs2wqZ10HQPeU8U/Q= github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyXcs= github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/bradleyfalzon/ghinstallation v1.1.1 h1:pmBXkxgM1WeF8QYvDLT5kuQiHMcmf+X015GI0KM/E3I= github.com/bradleyfalzon/ghinstallation v1.1.1/go.mod h1:vyCmHTciHx/uuyN82Zc3rXN3X2KTK8nUTCrTMwAhcug= github.com/bshuster-repo/logrus-logstash-hook v1.0.0 h1:e+C0SB5R1pu//O4MQ3f9cFuPGoOVeF2fE4Og9otCc70= github.com/bshuster-repo/logrus-logstash-hook v1.0.0/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= @@ -1474,8 +1667,11 @@ github.com/bufbuild/protocompile v0.6.0/go.mod h1:YNP35qEYoYGme7QMtz5SBCoN4kL4g1 github.com/bugsnag/bugsnag-go v1.4.0/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= github.com/bugsnag/bugsnag-go v1.5.0 h1:tP8hiPv1pGGW3LA6LKy5lW6WG+y9J2xWUdPd3WC452k= github.com/bugsnag/bugsnag-go v1.5.0/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= +github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b h1:otBG+dV+YK+Soembjv71DPz3uX/V/6MMlSyD9JBQ6kQ= +github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= github.com/bugsnag/panicwrap v1.2.0 h1:OzrKrRvXis8qEvOkfcxNcYbOd2O7xXS2nnKMEMABFQA= github.com/bugsnag/panicwrap v1.2.0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= +github.com/c2h5oh/datasize v0.0.0-20171227191756-4eba002a5eae h1:2Zmk+8cNvAGuY8AyvZuWpUdpQUAXwfom4ReVMe/CTIo= github.com/c2h5oh/datasize v0.0.0-20171227191756-4eba002a5eae/go.mod h1:S/7n9copUssQ56c7aAgHqftWO4LTf4xY6CGWt8Bc+3M= github.com/cenkalti/backoff/v3 v3.0.0 h1:ske+9nBpD9qZsTBoF41nW5L+AIuFBKMeze18XQ3eG1c= github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= @@ -1484,7 +1680,9 @@ github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK3 github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.0 h1:LzQXZOgg4CQfE6bFvXGM30YZL1WW/M337pXml+GrcZ4= github.com/census-instrumentation/opencensus-proto v0.2.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/certifi/gocertifi v0.0.0-20190105021004-abcd57078448 h1:8tNk6SPXzLDnATTrWoI5Bgw9s/x4uf0kmBpk21NZgI4= github.com/certifi/gocertifi v0.0.0-20190105021004-abcd57078448/go.mod h1:GJKEexRPVJrBSOjoqN5VNOIKJ5Q3RViH6eu3puDRwx4= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.0/go.mod h1:dgIUBU3pDso/gPgZ1osOZ0iQf77oPR28Tjxl5dIMyVM= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -1494,25 +1692,39 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chai2010/gettext-go v1.0.2 h1:1Lwwip6Q2QGsAdl/ZKPCwTe9fe0CjlUbqj5bFNSjIRk= github.com/chai2010/gettext-go v1.0.2/go.mod h1:y+wnP2cHYaVj19NZhYKAwEMH2CI1gNHeQQ+5AjwawxA= +github.com/cheggaaa/pb/v3 v3.1.5 h1:QuuUzeM2WsAqG2gMqtzaWithDJv0i+i6UlnwSCI4QLk= +github.com/cheggaaa/pb/v3 v3.1.5/go.mod h1:CrxkeghYTXi1lQBEI7jSn+3svI3cuc19haAj6jM60XI= +github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89 h1:aPflPkRFkVwbW6dmcVqfgwp1i+UWGFH6VgR1Jim5Ygc= github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs= +github.com/chromedp/chromedp v0.9.2 h1:dKtNz4kApb06KuSXoTQIyUC2TrA0fhGDwNZf3bcgfKw= github.com/chromedp/chromedp v0.9.2/go.mod h1:LkSXJKONWTCHAfQasKFUZI+mxqS4tZqhmtGzzhLsnLs= +github.com/chromedp/sysutil v1.0.0 h1:+ZxhTpfpZlmchB58ih/LBHX52ky7w2VhQVKQMucy3Ic= github.com/chromedp/sysutil v1.0.0/go.mod h1:kgWmDdq8fTzXYcKIBqIYvRRTnYb9aNS9moAV0xufSww= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/logex v1.2.0/go.mod h1:9+9sk7u7pGNWYMkh0hdiL++6OeibzJccyQU4p4MedaY= +github.com/chzyer/logex v1.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM= github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/readline v1.5.0/go.mod h1:x22KAscuvRqlLoK9CsoYsmxoXZMMFVyOl86cAH8qUic= +github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI= github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/chzyer/test v0.0.0-20210722231415-061457976a23/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04= github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= +github.com/cilium/ebpf v0.9.1 h1:64sn2K3UKw8NbP/blsixRpF3nXuyhz/VjRlRzvlBRu4= +github.com/cilium/ebpf v0.9.1/go.mod h1:+OhNOIXx/Fnu1IE8bJz2dzOA+VSfyTfdNUVdlQnxUFY= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible h1:C29Ae4G5GtYyYMm1aztcyj/J5ckgJm2zwdDajFbx1NY= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3 h1:TJH+oke8D16535+jHExHj4nQvzlZrj7ug5D7I/orNUA= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe h1:QQ3GSy+MqSHxm/d8nCtnAiZdYFd45cYZPs8vOOIYKfk= github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= @@ -1530,27 +1742,60 @@ github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50/go.mod h1:5e1+Vvlzido6 github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 h1:QVw89YDxXxEe+l8gU8ETbOasdwEV+avkR75ZzsVV9WI= github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= +github.com/cockroachdb/apd/v2 v2.0.1 h1:y1Rh3tEU89D+7Tgbw+lp52T6p/GJLpDmNvr10UWqLTE= +github.com/cockroachdb/apd/v2 v2.0.1/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg= github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc= +github.com/cockroachdb/datadriven v1.0.2 h1:H9MtNqVoVhvd9nCBwOyDjUEdZCREqbIdCJD93PBm/jA= github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM= github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw= +github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw= +github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= github.com/containerd/containerd v1.4.13 h1:Z0CbagVdn9VN4K6htOCY/jApSw8YKP+RdLZ5dkXF8PM= github.com/containerd/containerd v1.4.13/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/continuity v0.4.3 h1:6HVkalIp+2u1ZLH1J/pYX2oBVXlJZvh1X1A7bEZ9Su8= github.com/containerd/continuity v0.4.3/go.mod h1:F6PTNCKepoxEaXLQp3wDAjygEnImnZ/7o4JzpodfroQ= +github.com/containerd/fifo v1.0.0 h1:6PirWBr9/L7GDamKr+XM0IeUFXu5mf3M/BPpH9gaLBU= +github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= +github.com/containerd/go-runc v1.0.0 h1:oU+lLv1ULm5taqgV/CJivypVODI4SUz1znWjv3nNYS0= +github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= +github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= +github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= +github.com/containerd/stargz-snapshotter/estargz v0.15.1 h1:eXJjw9RbkLFgioVaTG+G/ZW/0kEe2oEKCdS/ZxIyoCU= +github.com/containerd/stargz-snapshotter/estargz v0.15.1/go.mod h1:gr2RNwukQ/S9Nv33Lt6UC7xEx58C+LHRdoqbEKjz1Kk= +github.com/containerd/ttrpc v1.1.2 h1:4jH6OQDQqjfVD2b5TJS5TxmGuLGmp5WW7KtW2TWOP7c= +github.com/containerd/ttrpc v1.1.2/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= +github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= +github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= +github.com/containerd/typeurl/v2 v2.2.0 h1:6NBDbQzr7I5LHgp34xAXYF5DOTQDn05X58lsPEmzLso= +github.com/containerd/typeurl/v2 v2.2.0/go.mod h1:8XOOxnyatxSWuG8OfsZXVnAF4iZfedjS/8UHSPJnX4g= +github.com/containernetworking/cni v1.2.3 h1:hhOcjNVUQTnzdRJ6alC5XF+wd9mfGIUaj8FuJbEslXM= +github.com/containernetworking/cni v1.2.3/go.mod h1:DuLgF+aPd3DzcTQTtp/Nvl1Kim23oFKdm2okJzBQA5M= +github.com/containernetworking/plugins v1.6.0 h1:lrsUrLF7QODLx6gncHOqk/pnCiC7c6bvDAskV4KUifQ= +github.com/containernetworking/plugins v1.6.0/go.mod h1:rYLQWMJz/dYuW1XhHdc9xuzdkgbkWEEjwOhUm84+288= +github.com/corbym/gocrest v1.0.3 h1:gwEdq6RkTmq+09CTuM29DfKOCtZ7G7bcyxs3IZ6EVdU= github.com/corbym/gocrest v1.0.3/go.mod h1:maVFL5lbdS2PgfOQgGRWDYTeunSWQeiEgoNdTABShCs= +github.com/coreos/bbolt v1.3.2 h1:wZwiHHUieZCquLkDL0B8UhzreNWsPHooDAG3q34zk0s= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/etcd v3.3.13+incompatible h1:8F3hqu9fGYLBifCmRCJsicFqDx/D68Rt3q1JMazcgBQ= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-oidc v2.2.1+incompatible h1:mh48q/BqXqgjVHpy2ZY7WnWAbenxRjsz9N1i1YxjHAk= github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-oidc/v3 v3.11.0 h1:Ia3MxdwpSw702YW0xgfmP1GVCMA9aEFWu12XUZ3/OtI= +github.com/coreos/go-oidc/v3 v3.11.0/go.mod h1:gE3LgjOgFoHi9a4ce4/tJczr0Ai2/BoDhf0r5lltWI0= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f h1:lBNOc5arjvs8E5mO2tbpBpLoyyu8B6e44T7hJy6potg= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= @@ -1563,21 +1808,33 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3 github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= +github.com/crewjam/httperr v0.0.0-20190612203328-a946449404da h1:WXnT88cFG2davqSFqvaFfzkSMC0lqh/8/rKZ+z7tYvI= github.com/crewjam/httperr v0.0.0-20190612203328-a946449404da/go.mod h1:+rmNIXRvYMqLQeR4DHyTvs6y0MEMymTz4vyFpFkKTPs= +github.com/crewjam/saml v0.3.2-0.20191206212704-861266e3a689 h1:5/ntjhi4v0rV8c220jMR90268i6QkAWvg7QP6TT6HVs= github.com/crewjam/saml v0.3.2-0.20191206212704-861266e3a689/go.mod h1:fxbjgoFRea91JEzfcATb14uB+XPW1H88n0feRzehDeg= github.com/cyphar/filepath-securejoin v0.3.1 h1:1V7cHiaW+C+39wEfpH6XlLBQo3j/PciWFrgfCLS8XrE= github.com/cyphar/filepath-securejoin v0.3.1/go.mod h1:F7i41x/9cBF7lzCrVsYs9fuzwRZm4NQsGTBdpp6mETc= +github.com/danieljoos/wincred v1.2.1 h1:dl9cBrupW8+r5250DYkYxocLeZ1Y4vB1kxgtjxw8GQs= +github.com/danieljoos/wincred v1.2.1/go.mod h1:uGaFL9fDn3OLTvzCGulzE+SzjEe5NGlh5FdCcyfPwps= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/daviddengcn/go-colortext v1.0.0 h1:ANqDyC0ys6qCSvuEK7l3g5RaehL/Xck9EX8ATG8oKsE= github.com/daviddengcn/go-colortext v1.0.0/go.mod h1:zDqEI5NVUop5QPpVJUxE9UO10hRnmkD5G4Pmri9+m4c= +github.com/dchest/uniuri v0.0.0-20160212164326-8902c56451e9 h1:74lLNRzvsdIlkTgfDSMuaPjBr4cf6k7pwQQANm/yLKU= github.com/dchest/uniuri v0.0.0-20160212164326-8902c56451e9/go.mod h1:GgB8SF9nRG+GqaDtLcwJZsQFhcogVCJ79j4EdT0c2V4= +github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= +github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 h1:rpfIENRNNilwHwZeG5+P150SMrnNEcHYvcCuK6dPZSg= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= +github.com/denisenkom/go-mssqldb v0.9.0 h1:RSohk2RsiZqLZ0zCjtfn3S4Gp4exhpBWHyQ7D0yGjAk= +github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/dgryski/go-gk v0.0.0-20140819190930-201884a44051 h1:ByJUvQYyTtNNCVfYNM48q6uYUT4fAlN0wNmd3th4BSo= github.com/dgryski/go-gk v0.0.0-20140819190930-201884a44051/go.mod h1:qm+vckxRlDt0aOla0RYJJVeqHZlWfOm2UIxHaqPB46E= +github.com/dgryski/go-lttb v0.0.0-20180810165845-318fcdf10a77 h1:iRnqZBF0a1hoOOjOdPKf+IxqlJZOas7A48j77RAc7Yg= github.com/dgryski/go-lttb v0.0.0-20180810165845-318fcdf10a77/go.mod h1:Va5MyIzkU0rAM92tn3hb3Anb7oz7KcnixF49+2wOMe4= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954 h1:RMLoZVzv4GliuWafOuPuQDKSm1SJph7uCRnnS61JAn4= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/distribution/distribution/v3 v3.0.0-20221208165359-362910506bc2 h1:aBfCb7iqHmDEIp6fBvC/hQUddQfg+3qdYjwzaiP9Hnc= github.com/distribution/distribution/v3 v3.0.0-20221208165359-362910506bc2/go.mod h1:WHNsWjnIn2V1LYOrME7e8KxSeKunYHsxEm4am0BUtcI= @@ -1601,12 +1858,17 @@ github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4 github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 h1:UhxFibDNY/bfvqU5CAUmr9zpesgbU6SWc8/B4mflAE4= github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-resiliency v1.2.0 h1:v7g92e/KSN71Rq7vSThKaWIq68fL4YHvWyiUKorFR1Q= github.com/eapache/go-resiliency v1.2.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/emicklei/go-restful/v3 v3.12.0 h1:y2DdzBAURM29NFF94q6RaY4vjIH1rtwDapwQtU84iWk= @@ -1663,16 +1925,24 @@ github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/felixge/fgprof v0.9.5 h1:8+vR6yu2vvSKn08urWyEuxx75NWPEvybbkBirEpsbVY= +github.com/felixge/fgprof v0.9.5/go.mod h1:yKl+ERSa++RYOs32d8K6WEXCB4uXdLls4ZaZPpayhMM= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fgrosse/zaptest v1.1.0 h1:sK9hP0/xBoNX5qfFo3KWFluDXfc809APomI1QXuYELA= github.com/fgrosse/zaptest v1.1.0/go.mod h1:vMnRSul6kW7kIUXZgnZZcDwyTn8k49ODfAULL8nmL5w= +github.com/florianl/go-nflog/v2 v2.1.0 h1:yXvA/ZWMS2dXBBM364xOEaW4WX14RjvsGCVt+y9O0ZM= +github.com/florianl/go-nflog/v2 v2.1.0/go.mod h1:U8o3DfjAAIMuW3/IHS3KmTccSMLyRbr09dImALuwEI8= +github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 h1:BHsljHzVlRcyQhjrss6TZTdY2VfCqZPbv5k3iBFa2ZQ= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fogleman/gg v1.3.0 h1:/7zJX8F6AaYQc57WQCyN9cAIz+4bCJGO9B+dyW29am8= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/form3tech-oss/jwt-go v0.0.0-20210511163231-5b2d2b5f6c34 h1:NJDbNhOc8XhoxuWr2pdLJN/BYLf677jKtF+6BQBkAhc= github.com/form3tech-oss/jwt-go v0.0.0-20210511163231-5b2d2b5f6c34/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.5+incompatible h1:/l4kBbb4/vGSsdtB5nUe8L7B9mImVMaBPw9L/0TBHU8= github.com/form3tech-oss/jwt-go v3.2.5+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/foxcpp/go-mockdns v1.1.0 h1:jI0rD8M0wuYAxL7r/ynTrCQQq0BVqfB99Vgk7DlmewI= github.com/foxcpp/go-mockdns v1.1.0/go.mod h1:IhLeSFGed3mJIAXPH2aiRQB+kqz7oqu8ld2qVbOu7Wk= @@ -1691,6 +1961,7 @@ github.com/gertd/go-pluralize v0.1.1 h1:fQhql/WRRwr4TVp+TCw12s2esCacvEVBdkTUUwNq github.com/gertd/go-pluralize v0.1.1/go.mod h1:t5DfHcumb6m0RqyVJDrDLEzL2AGeaiqUXIcDNwLaeAs= github.com/getkin/kin-openapi v0.107.0 h1:bxhL6QArW7BXQj8NjXfIJQy680NsMKd25nwhvpCXchg= github.com/getkin/kin-openapi v0.107.0/go.mod h1:9Dhr+FasATJZjS4iOLvB0hkaxgYdulrNYm2e9epLWOo= +github.com/getsentry/raven-go v0.2.0 h1:no+xWJRb5ZI7eE8TWgIq1jLulQiIoLG0IfYxv5JYMGs= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32 h1:Mn26/9ZMNWSw9C9ERFA1PUxfmGpolnw2v0bKOREu5ew= @@ -1699,14 +1970,20 @@ github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aev github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0= github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= +github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8 h1:DujepqpGd1hyOd7aW59XpK7Qymp8iy83xq74fLr21is= github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= +github.com/go-asn1-ber/asn1-ber v1.3.1 h1:gvPdv/Hr++TRFCl0UbPFHC54P9N9jgsRPnmnr419Uck= github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-errors/errors v1.5.1 h1:ZwEMSLRCapFLflTpT7NKaAc7ukJ8ZPEjzlxt8rPN8bk= github.com/go-errors/errors v1.5.1/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= +github.com/go-fonts/dejavu v0.1.0 h1:JSajPXURYqpr+Cu8U9bt8K+XcACIHWqWrvWCKyeFmVQ= github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= +github.com/go-fonts/latin-modern v0.2.0 h1:5/Tv1Ek/QCr20C6ZOz15vw3g7GELYL98KWr8Hgo+3vk= github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/liberation v0.2.0 h1:jAkAWJP4S+OsrPLZM4/eC9iW7CtHy+HBXrEwZXWo5VM= github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/stix v0.1.0 h1:UlZlgrvvmT/58o573ot7NFw0vZasZ5I6bcIft/oMdgg= github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= @@ -1717,21 +1994,28 @@ github.com/go-git/go-git-fixtures/v4 v4.2.1 h1:n9gGL1Ct/yIw+nfsfr8s4+sbhT+Ncu2Su github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= github.com/go-git/go-git/v5 v5.4.1 h1:2RJXJuTMac944e419pJJJ3mOJBcr3A3M6SN6wQKZ/Gs= github.com/go-git/go-git/v5 v5.4.1/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1 h1:QbL/5oDUmRBzO9/Z7Seo6zf912W/a6Sr4Eu0G/3Jho0= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe6ZudgnXrq0barxBImvnnJoMEhXAzcbM0I= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gorp/gorp/v3 v3.1.0 h1:ItKF/Vbuj31dmV4jxA1qblpSwkl9g1typ24xoe70IGs= github.com/go-gorp/gorp/v3 v3.1.0/go.mod h1:dLEjIyyRNiXvNZ8PSmzpt1GsWAUK8kjVhEpjH8TixEw= github.com/go-jose/go-jose/v3 v3.0.3 h1:fFKWeig/irsp7XD2zBxvnmA/XaRWp5V3CBsZXJF7G7k= github.com/go-jose/go-jose/v3 v3.0.3/go.mod h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ= +github.com/go-jose/go-jose/v4 v4.0.2 h1:R3l3kkBds16bO7ZFAEEcofK0MkrAJt3jlJznWZG0nvk= +github.com/go-jose/go-jose/v4 v4.0.2/go.mod h1:WVf9LFMHh/QVrmqrOfqun0C45tMe3RoiKJMPvgWwLfY= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0 h1:wDJmvq38kDhkVxi50ni9ykkdUr1PKgqKOoi01fa0Mdk= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= +github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81 h1:6zl3BbBhdnMkpSj2YY30qV3gDcVBGtFgVsV3+/i+mKQ= github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= +github.com/go-ldap/ldap/v3 v3.1.10 h1:7WsKqasmPThNvdl0Q5GPpbTDD/ZD98CfuawrMIuh7qQ= github.com/go-ldap/ldap/v3 v3.1.10/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= @@ -1764,6 +2048,7 @@ github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQH github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4CsY= github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= +github.com/go-openapi/inflect v0.19.0 h1:9jCH9scKIbHeV9m12SmPilScz6krDxKRasNNSNPXu/4= github.com/go-openapi/inflect v0.19.0/go.mod h1:lHpZVlpIQqLyKwJ4N+YSc9hchQy/i12fJykb83CRBH4= github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= @@ -1820,10 +2105,15 @@ github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7 github.com/go-openapi/validate v0.19.8 h1:YFzsdWIDfVuLvIOF+ZmKjVg1MbPJ1QgY9PihMwei1ys= github.com/go-openapi/validate v0.19.8/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4= github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-pdf/fpdf v0.6.0 h1:MlgtGIfsdMEEQJr2le6b/HNr1ZlQwxyWr77r2aj2U/8= github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= +github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI= github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow= @@ -1834,29 +2124,49 @@ github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-swagger/go-swagger v0.21.0 h1:AX9mdfzp6eJtUe92nFrWmbK7ocRgkCDPJs0FsSSTDlA= github.com/go-swagger/go-swagger v0.21.0/go.mod h1:tDb8PdDVFcaE8EPXkMOsuxpL3UEPiwu1UDZar9Z/1RY= +github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013 h1:l9rI6sNaZgNC0LnF3MiE+qTmyBA/tZAg1rtyrGbUMK0= github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013/go.mod h1:b65mBPzqzZWxOZGxSWrqs4GInLIn+u99Q9q7p+GKni0= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/go-test/deep v1.0.2/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM= github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= +github.com/gobuffalo/envy v1.8.1 h1:RUr68liRvs0TS1D5qdW3mQv2SjAsu1QWMCx1tG4kDjs= +github.com/gobuffalo/envy v1.8.1/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= github.com/gobuffalo/flect v0.2.4/go.mod h1:1ZyCLIbg0YD7sDkzvFdPoOydPtD8y9JQnrOROolUcM8= github.com/gobuffalo/flect v1.0.2 h1:eqjPGSo2WmjgY2XlpGwo2NXgL3RucAKo4k4qQMNA5sA= github.com/gobuffalo/flect v1.0.2/go.mod h1:A5msMlrHtLqh9umBSnvabjsMrCcCpAyzglnDvkbYKHs= +github.com/gobuffalo/packd v0.3.0 h1:eMwymTkA1uXsqxS0Tpoop3Lc0u3kTfiMBE6nKtQU4g4= +github.com/gobuffalo/packd v0.3.0/go.mod h1:zC7QkmNkYVGKPw4tHpBQ+ml7W/3tIebgeo1b36chA3Q= +github.com/gobuffalo/packr v1.30.1 h1:hu1fuVR3fXEZR7rXNW3h8rqSML8EVAf6KNm0NKO/wKg= +github.com/gobuffalo/packr v1.30.1/go.mod h1:ljMyFO2EcrnzsHsN99cvbq055Y9OhRrIaviy289eRuk= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= +github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= +github.com/gobwas/ws v1.2.1 h1:F2aeBZrm2NDsc7vbovKrWSogd4wvfAxg0FQ89/iqOTk= github.com/gobwas/ws v1.2.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY= github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/goccy/go-yaml v1.9.8/go.mod h1:JubOolP3gh0HpiBc4BLRD4YmjEjHAmIIB2aaXKkTfoE= +github.com/goccy/go-yaml v1.11.0 h1:n7Z+zx8S9f9KgzG6KtQKf+kwqXZlLNR2F6018Dgau54= github.com/goccy/go-yaml v1.11.0/go.mod h1:H+mJrWtjPTJAHvRbV09MCK9xYwODM+wRTVFFTWckfng= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godbus/dbus/v5 v5.0.6 h1:mkgN1ofwASrYnJ5W6U/BxG15eXXXjirgZc7CLqkcaro= +github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/godror/godror v0.40.4 h1:X1e7hUd02GDaLWKZj40Z7L0CP0W9TrGgmPQZw6+anBg= +github.com/godror/godror v0.40.4/go.mod h1:i8YtVTHUJKfFT3wTat4A9UoqScUtZXiYB9Rf3SVARgc= +github.com/godror/knownpb v0.1.1 h1:A4J7jdx7jWBhJm18NntafzSC//iZDHkDi1+juwQ5pTI= +github.com/godror/knownpb v0.1.1/go.mod h1:4nRFbQo1dDuwKnblRXDxrfCFYeT4hjg3GjMqef58eRE= +github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= +github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE= github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= @@ -1871,6 +2181,9 @@ github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69 github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= @@ -1878,6 +2191,8 @@ github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/glog v1.2.1/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= +github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -1919,20 +2234,31 @@ github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golangplus/bytes v0.0.0-20160111154220-45c989fe5450/go.mod h1:Bk6SMAONeMXrxql8uvOKuAZSu8aM5RUGv+1C6IJaEho= +github.com/golangplus/bytes v1.0.0 h1:YQKBijBVMsBxIiXT4IEhlKR2zHohjEqPole4umyDX+c= github.com/golangplus/bytes v1.0.0/go.mod h1:AdRaCFwmc/00ZzELMWb01soso6W1R/++O1XL80yAn+A= +github.com/golangplus/fmt v1.0.0 h1:FnUKtw86lXIPfBMc3FimNF3+ABcV+aH5F17OOitTN+E= github.com/golangplus/fmt v1.0.0/go.mod h1:zpM0OfbMCjPtd2qkTD/jX2MgiFCqklhSUFyDW44gVQE= github.com/golangplus/testing v1.0.0 h1:+ZeeiKZENNOMkTTELoSySazi+XaEhVO0mb+eanrSEUQ= github.com/golangplus/testing v1.0.0/go.mod h1:ZDreixUV3YzhoVraIDyOzHrr76p6NUh6k/pPg/Q3gYA= github.com/gomodule/redigo v1.8.2 h1:H5XSIre1MB5NbPYFp+i1NBbb5qN1W8Y8YAQoAYbkm8k= github.com/gomodule/redigo v1.8.2/go.mod h1:P9dn9mFrCBvWhGE1wpxx6fgq7BAeLBk+UUUzlpkBYO0= +github.com/gonum/blas v0.0.0-20181208220705-f22b278b28ac h1:Q0Jsdxl5jbxouNs1TQYt0gxesYMU4VXRbsTlgDloZ50= github.com/gonum/blas v0.0.0-20181208220705-f22b278b28ac/go.mod h1:P32wAyui1PQ58Oce/KYkOqQv8cVw1zAapXOl+dRFGbc= +github.com/gonum/diff v0.0.0-20181124234638-500114f11e71 h1:BE6g8oinc3Ek2elIHq+uDOiZgX3/ODi+EerJ48yrrKc= github.com/gonum/diff v0.0.0-20181124234638-500114f11e71/go.mod h1:22dM4PLscQl+Nzf64qNBurVJvfyvZELT0iRW2l/NN70= +github.com/gonum/floats v0.0.0-20181209220543-c233463c7e82 h1:EvokxLQsaaQjcWVWSV38221VAK7qc2zhaO17bKys/18= github.com/gonum/floats v0.0.0-20181209220543-c233463c7e82/go.mod h1:PxC8OnwL11+aosOB5+iEPoV3picfs8tUpkVd0pDo+Kg= +github.com/gonum/integrate v0.0.0-20181209220457-a422b5c0fdf2 h1:GUSkTcIe1SlregbHNUKbYDhBsS8lNgYfIp4S4cToUyU= github.com/gonum/integrate v0.0.0-20181209220457-a422b5c0fdf2/go.mod h1:pDgmNM6seYpwvPos3q+zxlXMsbve6mOIPucUnUOrI7Y= +github.com/gonum/internal v0.0.0-20181124074243-f884aa714029 h1:8jtTdc+Nfj9AR+0soOeia9UZSvYBvETVHZrugUowJ7M= github.com/gonum/internal v0.0.0-20181124074243-f884aa714029/go.mod h1:Pu4dmpkhSyOzRwuXkOgAvijx4o+4YMUJJo9OvPYMkks= +github.com/gonum/lapack v0.0.0-20181123203213-e4cdc5a0bff9 h1:7qnwS9+oeSiOIsiUMajT+0R7HR6hw5NegnKPmn/94oI= github.com/gonum/lapack v0.0.0-20181123203213-e4cdc5a0bff9/go.mod h1:XA3DeT6rxh2EAE789SSiSJNqxPaC0aE9J8NTOI0Jo/A= +github.com/gonum/mathext v0.0.0-20181121095525-8a4bf007ea55 h1:Ajwn2ENgC/pKtVat0LEHEWNa4a4VGyYJ1feGSccOzFU= github.com/gonum/mathext v0.0.0-20181121095525-8a4bf007ea55/go.mod h1:fmo8aiSEWkJeiGXUJf+sPvuDgEFgqIoZSs843ePKrGg= +github.com/gonum/matrix v0.0.0-20181209220409-c518dec07be9 h1:V2IgdyerlBa/MxaEFRbV5juy/C3MGdj4ePi+g6ePIp4= github.com/gonum/matrix v0.0.0-20181209220409-c518dec07be9/go.mod h1:0EXg4mc1CNP0HCqCz+K4ts155PXIlUywf0wqN+GfPZw= +github.com/gonum/stat v0.0.0-20181125101827-41a0da705a5b h1:fbskpz/cPqWH8VqkQ7LJghFkl2KPAiIFUHrTJ2O3RGk= github.com/gonum/stat v0.0.0-20181125101827-41a0da705a5b/go.mod h1:Z4GIJBJO3Wa4gD4vbwQxXXZ+WHmW6E9ixmNrwvs0iZs= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -1943,6 +2269,7 @@ github.com/google/cel-go v0.20.1/go.mod h1:kWcIzTsPX0zmQ+H3TirHstLLf9ep5QTsZBN9u github.com/google/cel-go v0.21.0 h1:cl6uW/gxN+Hy50tNYvI691+sXxioCnstFzLp2WO4GCI= github.com/google/cel-go v0.21.0/go.mod h1:rHUlWCcBKgyEk+eV03RPdZUekPp6YcJwV0FxuUksYxc= github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +github.com/google/flatbuffers v23.5.26+incompatible h1:M9dgRyhJemaM4Sw8+66GHBu8ioaQmyPLg1b8VwK5WJg= github.com/google/flatbuffers v23.5.26+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= @@ -1963,14 +2290,19 @@ github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-containerregistry v0.20.2 h1:B1wPJ1SN/S7pB+ZAimcciVD+r+yV/l/DSArMxlbwseo= +github.com/google/go-containerregistry v0.20.2/go.mod h1:z38EKdKh4h7IP2gSfUUqEvalZBqs6AoLeWfUy34nQC8= github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY= github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= +github.com/google/go-github/v27 v27.0.6 h1:oiOZuBmGHvrGM1X9uNUAUlLgp5r1UUO/M/KnbHnLRlQ= github.com/google/go-github/v27 v27.0.6/go.mod h1:/0Gr8pJ55COkmv+S/yPKCczSkUPIM/LnFyubufRNIS0= github.com/google/go-github/v29 v29.0.2/go.mod h1:CHKiKKPHJ0REzfwc14QMklvtHwCveD0PxlMjLlzAM5E= +github.com/google/go-github/v29 v29.0.3 h1:IktKCTwU//aFHnpA+2SLIi7Oo9uhAzgsdZNbcAqhgdc= github.com/google/go-github/v29 v29.0.3/go.mod h1:CHKiKKPHJ0REzfwc14QMklvtHwCveD0PxlMjLlzAM5E= github.com/google/go-github/v32 v32.0.0 h1:q74KVb22spUq0U5HqZ9VCYqQz8YRuOtL/39ZnfwO+NM= github.com/google/go-github/v32 v32.0.0/go.mod h1:rIEpZD9CTDQwDK9GDrtMTycQNA4JU3qBsCizh3q2WCI= github.com/google/go-pkcs11 v0.2.0/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= +github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9 h1:OF1IPgv+F4NmqmJ98KTjdN97Vs1JxDPB3vbmYzV2dpk= github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= @@ -1978,11 +2310,14 @@ github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/ github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/mako v0.0.0-20190821191249-122f8dcef9e3 h1:/o5e44nTD/QEEiWPGSFT3bSqcq3Qg7q27N9bv4gKh5M= github.com/google/mako v0.0.0-20190821191249-122f8dcef9e3/go.mod h1:YzLcVlL+NqWnmUEPuhS1LxDDwGO9WNbVlEXaF4IH35g= +github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -2006,11 +2341,15 @@ github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af/go.mod h1:K1liHPHnj73 github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5 h1:5iH8iuqE5apketRbSFBy+X1V0o+l+8NF1avt4HWl7cA= github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= +github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.0/go.mod h1:OJpEgntRZo8ugHpF9hkoLJbS5dSI20XZeXJ9JVywLlM= github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= +github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= +github.com/google/safetext v0.0.0-20220905092116-b49f7bc46da2 h1:SJ+NtwL6QaZ21U+IrK7d0gGgpjGGvd2kz+FzTHVzdqI= +github.com/google/safetext v0.0.0-20220905092116-b49f7bc46da2/go.mod h1:Tv1PlzqC9t8wNnpPdctvtSUOPUUg4SHeE6vR1Ir2hmg= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -2029,6 +2368,7 @@ github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5 github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/enterprise-certificate-proxy v0.2.4/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/enterprise-certificate-proxy v0.2.5/go.mod h1:RxW0N9901Cko1VOCW3SXCpWP+mlIEkk2tP7jnHy9a3w= +github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= @@ -2047,11 +2387,18 @@ github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5i github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= github.com/googleapis/gax-go/v2 v2.12.1/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= github.com/googleapis/gax-go/v2 v2.12.2/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= +github.com/googleapis/gax-go/v2 v2.12.3 h1:5/zPPDvw8Q1SuXjrqrZslrqT7dL/uJT2CQii/cLCKqA= +github.com/googleapis/gax-go/v2 v2.12.3/go.mod h1:AKloxT6GtNbaLm8QTNSidHUVsHYcBHwWRvkNFJUQcS4= +github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= +github.com/googleapis/google-cloud-go-testing v0.0.0-20210719221736-1c9a4c676720 h1:zC34cGQu69FG7qzJ3WiKW244WfhDC3xxYMeNOX2gtUQ= +github.com/googleapis/google-cloud-go-testing v0.0.0-20210719221736-1c9a4c676720/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/goph/emperror v0.17.1 h1:6lOybhIvG/BB6VGoWfdv30FVZeZFBBZ9VvgzGXLVkyY= github.com/goph/emperror v0.17.1/go.mod h1:+ZbQ+fUNO/6FNiUo0ujtMjhgad9Xa6fQL9KhH4LNHic= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= @@ -2060,7 +2407,9 @@ github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2z github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= +github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= +github.com/gorilla/sessions v1.2.1 h1:DHd3rPN5lE3Ts3D8rKkQ8x/0kqfeNmBAaiSi+o7FsgI= github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= @@ -2069,6 +2418,10 @@ github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aN github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gosuri/uitable v0.0.4 h1:IG2xLKRvErL3uhY6e1BylFzG+aJiwQviDDTfOKeKTpY= github.com/gosuri/uitable v0.0.4/go.mod h1:tKR86bXuXPZazfOTG1FIzvjIdXzd0mo4Vtn16vt0PJo= +github.com/grafana/pyroscope-go/godeltaprof v0.1.8 h1:iwOtYXeeVSAeYefJNaxDytgjKtUuKQbJqgAIjlnicKg= +github.com/grafana/pyroscope-go/godeltaprof v0.1.8/go.mod h1:2+l7K7twW49Ct4wFluZD3tZ6e0SjanjcUUBPVD/UuGU= +github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc h1:GN2Lv3MGO7AS6PrRoT6yV5+wkrOpcszoIsO4+4ds248= +github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc/go.mod h1:+JKpmjMGhpgPL+rXZ5nsZieVzvarn86asRlBg4uNGnk= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 h1:+ngKgrYPPJrOjhax5N+uePQ0Fh1Z7PheYoUI/0nzkPA= github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= @@ -2076,6 +2429,7 @@ github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmg github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI= github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.14.6/go.mod h1:zdiPV4Yse/1gnckTHtghG4GkDEdKCRJduHpTxT3/jcw= @@ -2108,6 +2462,7 @@ github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVH github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-kms-wrapping/entropy/v2 v2.0.0 h1:pSjQfW3vPtrOTcasTUKgCTQT7OGPPTTMVRrOfU6FJD8= github.com/hashicorp/go-kms-wrapping/entropy/v2 v2.0.0/go.mod h1:xvb32K2keAc+R8DSFG2IwDcydK9DBQE+fGA5fsw6hSk= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9aZTuI= @@ -2127,20 +2482,24 @@ github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5O github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-secure-stdlib/awsutil v0.1.6 h1:W9WN8p6moV1fjKLkeqEgkAMu5rauy9QeYDAmIaPuuiA= github.com/hashicorp/go-secure-stdlib/awsutil v0.1.6/go.mod h1:MpCPSPGLDILGb4JMm94/mMi3YysIqsXzGCzkEZjcjXg= +github.com/hashicorp/go-secure-stdlib/base62 v0.1.1 h1:6KMBnfEv0/kLAz0O76sliN5mXbCDcLfs2kP7ssP7+DQ= github.com/hashicorp/go-secure-stdlib/base62 v0.1.1/go.mod h1:EdWO6czbmthiwZ3/PUsDV+UD1D5IRU4ActiaWGwt0Yw= github.com/hashicorp/go-secure-stdlib/mlock v0.1.1 h1:cCRo8gK7oq6A2L6LICkUZ+/a5rLiRXFMf1Qd4xSwxTc= github.com/hashicorp/go-secure-stdlib/mlock v0.1.1/go.mod h1:zq93CJChV6L9QTfGKtfBxKqD7BqqXx5O04A/ns2p5+I= github.com/hashicorp/go-secure-stdlib/parseutil v0.1.1/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6 h1:om4Al8Oy7kCm/B86rLCLah4Dt5Aa0Fr5rYBG60OzwHQ= github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= +github.com/hashicorp/go-secure-stdlib/password v0.1.1 h1:6JzmBqXprakgFEHwBgdchsjaA9x3GyjdI568bXKxa60= github.com/hashicorp/go-secure-stdlib/password v0.1.1/go.mod h1:9hH302QllNwu1o2TGYtSk8I8kTAN0ca1EHpwhm5Mmzo= github.com/hashicorp/go-secure-stdlib/strutil v0.1.1/go.mod h1:gKOamz3EwoIoJq7mlMIRBpVTAUn8qPCrEclOKKWhD3U= github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 h1:kes8mmyCpxJsI7FTwtzRqEy9CdjCtrXrXGuOpxEA7Ts= github.com/hashicorp/go-secure-stdlib/strutil v0.1.2/go.mod h1:Gou2R9+il93BqX25LAKCLuM+y9U2T4hlwvT1yprcna4= +github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.1 h1:Yc026VyMyIpq1UWRnakHRG01U8fJm+nEfEmjoAb00n8= github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.1/go.mod h1:l8slYwnJA26yBz+ErHpp2IRCLr0vuOMGBORIz4rRiAs= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= +github.com/hashicorp/go-syslog v1.0.0 h1:KaodqZuhUoZereWVIYmpUgZysurB1kBLX2j0MwMrUAE= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= @@ -2150,6 +2509,7 @@ github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/b github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go.net v0.0.1 h1:sNCoNyDEvN1xa+X0baata4RdcpKwcMS6DH+xwfqPgjw= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -2159,8 +2519,10 @@ github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/mdns v1.0.4 h1:sY0CMhFmjIPDMlTB+HfymFHCaYLhgifZ0QhjaYKD/UQ= github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/memberlist v0.5.0 h1:EtYPN8DpAURiapus508I4n9CzHs2W+8NZGbmmR/prTM= @@ -2178,40 +2540,63 @@ github.com/hashicorp/vault/sdk v0.6.0/go.mod h1:+DRpzoXIdMvKc88R4qxr+edwy/RvH5QK github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d h1:kJCB4vdITiW1eC1vq2e6IsrXKrZit1bv/TDYFGMp4BQ= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= github.com/hinshun/vt10x v0.0.0-20180809195222-d55458df857c h1:kp3AxgXgDOmIJFR7bIwqFhwJ2qWar8tEQSE5XXhCfVk= github.com/hinshun/vt10x v0.0.0-20180809195222-d55458df857c/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= +github.com/howardjohn/unshare-go v0.5.0 h1:pHDqBG4bWRjs18IC+axJb3Tmcuau5sx9j1ODaSHUlyI= +github.com/howardjohn/unshare-go v0.5.0/go.mod h1:cJjyFAN6qTA70ovC2VR23iAZuJ8X3J/ibAbT693pJ8g= +github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI= github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= +github.com/iancoleman/orderedmap v0.0.0-20190318233801-ac98e3ecb4b0 h1:i462o439ZjprVSFSZLZxcsoAe592sZB1rci2Z8j4wdk= +github.com/iancoleman/orderedmap v0.0.0-20190318233801-ac98e3ecb4b0/go.mod h1:N0Wam8K1arqPXNWjMo21EXnBPOPp36vB07FNRdD2geA= github.com/iancoleman/strcase v0.1.3 h1:dJBk1m2/qjL1twPLf68JND55vvivMupZ4wIzE8CTdBw= github.com/iancoleman/strcase v0.1.3/go.mod h1:SK73tn/9oHe+/Y0h39VT4UCxmurVJkR5NA7kMEAOgSE= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20220319035150-800ac71e25c2/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= +github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465 h1:KwWnWVWCNtNq/ewIX7HIKnELmEx2nDP42yskD/pi7QE= github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= +github.com/imroc/req v0.3.0 h1:3EioagmlSG+z+KySToa+Ylo3pTFZs+jh3Brl7ngU12U= +github.com/imroc/req v0.3.0/go.mod h1:F+NZ+2EFSo6EFXdeIbpfE9hcC233id70kf0byW97Caw= github.com/inconshreveable/go-update v0.0.0-20160112193335-8152e7eb6ccf h1:WfD7VjIE6z8dIvMsI4/s+1qr5EL+zoIGev1BQj1eoJ8= github.com/inconshreveable/go-update v0.0.0-20160112193335-8152e7eb6ccf/go.mod h1:hyb9oH7vZsitZCiBt0ZvifOrB+qc8PS5IiilCIb87rg= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/influxdata/tdigest v0.0.0-20180711151920-a7d76c6f093a h1:vMqgISSVkIqWxCIZs8m1L4096temR7IbYyNdMiBxSPA= github.com/influxdata/tdigest v0.0.0-20180711151920-a7d76c6f093a/go.mod h1:9GkyshztGufsdPQWjH+ifgnIr3xNUL5syI70g2dzU1o= +github.com/invopop/jsonschema v0.7.0 h1:2vgQcBz1n256N+FpX3Jq7Y17AjYt46Ig3zIWyy770So= +github.com/invopop/jsonschema v0.7.0/go.mod h1:O9uiLokuu0+MGFlyiaqtWxwqJm41/+8Nj0lD7A36YH0= github.com/invopop/yaml v0.1.0/go.mod h1:2XuRLgs/ouIrW3XNzuNj7J3Nvu/Dig5MXvbCEdiBN3Q= github.com/invopop/yaml v0.3.1 h1:f0+ZpmhfBSS4MhG+4HYseMdJhoeeopbSKbq5Rpeelso= github.com/invopop/yaml v0.3.1/go.mod h1:PMOp3nn4/12yEZUFfmOuNHJsZToEEOwoWsT+D81KkeA= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= +github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8= github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs= +github.com/jcmturner/dnsutils/v2 v2.0.0 h1:lltnkeZGL0wILNvrNiVCR6Ro5PGU/SeBvVO/8c/iPbo= github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM= +github.com/jcmturner/gofork v1.0.0 h1:J7uCkflzTEhUZ64xqKnkDxq3kzc96ajM1Gli5ktUem8= github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o= +github.com/jcmturner/goidentity/v6 v6.0.1 h1:VKnZd2oEIMorCTsFBnJWbExfNN7yZr3EhJAxwOkZg6o= github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg= +github.com/jcmturner/gokrb5/v8 v8.4.2 h1:6ZIM6b/JJN0X8UM43ZOM6Z4SJzla+a/u7scXFJzodkA= github.com/jcmturner/gokrb5/v8 v8.4.2/go.mod h1:sb+Xq/fTY5yktf/VxLsE3wlfPqQjp0aWNYyvBVK62bc= +github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY= github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/jhump/gopoet v0.1.0 h1:gYjOPnzHd2nzB37xYQZxj4EIQNpBrBskRqQQ3q4ZgSg= +github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= +github.com/jhump/goprotoc v0.5.0 h1:Y1UgUX+txUznfqcGdDef8ZOVlyQvnV0pKWZH08RmZuo= +github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7UvLHRQ= github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= github.com/jhump/protoreflect v1.15.3 h1:6SFRuqU45u9hIZPJAoZ8c28T3nK64BNdp9w6jFonzls= github.com/jhump/protoreflect v1.15.3/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4Elxc8qKP+p1k= @@ -2219,11 +2604,18 @@ github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2 github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o= github.com/jmoiron/sqlx v1.4.0/go.mod h1:ZrZ7UsYB/weZdl2Bxg6jCRO9c3YHl8r3ahlKmRT4JLY= +github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josephspurrier/goversioninfo v1.4.0 h1:Puhl12NSHUSALHSuzYwPYQkqa2E1+7SrtAPJorKK0C8= +github.com/josephspurrier/goversioninfo v1.4.0/go.mod h1:JWzv5rKQr+MmW+LvM412ToT/IkYDZjaclF2pKDss8IY= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/josharian/native v1.1.0 h1:uuaP0hAbW7Y4l0ZRQ6C9zfb7Mg1mbFKry/xzDAfmtLA= +github.com/josharian/native v1.1.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w= +github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= @@ -2233,11 +2625,15 @@ github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5 h1:PJr+ZMXIecYc1Ey2zucXdR73SMBtgjPgwa31099IMv0= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM= github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= @@ -2255,8 +2651,11 @@ github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgy github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= +github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4= github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= @@ -2265,10 +2664,14 @@ github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2 github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.2.3/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= +github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg= github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= @@ -2289,7 +2692,9 @@ github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 h1:SOEGU9fKiNWd/HOJuq github.com/lann/builder v0.0.0-20180802200727-47ae307949d0/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o= github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 h1:P6pPBnrTSX3DEVR4fDembhRWSsG5rVo6hYhAB/ADZrk= github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw= +github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80 h1:6Yzfa6GP0rIo/kULo2bwGEkFvCePZ3qHDDTC3/J9Swo= github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs= +github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/lestrrat-go/backoff/v2 v2.0.8 h1:oNb5E5isby2kiro9AgdHLv5N5tint1AnDVVf2E2un5A= github.com/lestrrat-go/backoff/v2 v2.0.8/go.mod h1:rHP/q/r9aT27n24JQLa7JhSQZCKBBOiM/uP402WwN8Y= @@ -2308,6 +2713,8 @@ github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE= +github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3 h1:jUp75lepDg0phMUJBCmvaeFDldD2N3S1lBuPwUTszio= +github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= github.com/lithammer/dedent v1.1.0 h1:VNzHMVCBNG1j0fh3OrsFRkVUwStdDArbgBWoPAffktY= github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc= github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= @@ -2317,6 +2724,7 @@ github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WV github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= github.com/lyft/protoc-gen-star/v2 v2.0.4-0.20230330145011-496ad1ac90a4 h1:sIXJOMrYnQZJu7OB7ANSF4MYri2fTEGIsRLz6LwI4xE= github.com/lyft/protoc-gen-star/v2 v2.0.4-0.20230330145011-496ad1ac90a4/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= +github.com/lyft/protoc-gen-validate v0.0.13 h1:KNt/RhmQTOLr7Aj8PsJ7mTronaFyx80mRTT9qF261dA= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= @@ -2351,9 +2759,13 @@ github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/ github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-oci8 v0.1.1 h1:aEUDxNAyDG0tv8CA3TArnDQNyc4EhnWlsfxRgDHABHM= +github.com/mattn/go-oci8 v0.1.1/go.mod h1:wjDx6Xm9q7dFtHJvIlrI99JytznLw5wQ4R+9mNXJwGI= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= +github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= @@ -2362,10 +2774,16 @@ github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxU github.com/mattn/go-zglob v0.0.6 h1:mP8RnmCgho4oaUYDIDn6GNxYk+qJGUs8fJLn+twYj2A= github.com/mattn/go-zglob v0.0.6/go.mod h1:MxxjyoXXnMxfIpxTK2GAkw1w8glPsQILx3N5wrKakiY= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= github.com/mccutchen/go-httpbin/v2 v2.15.0 h1:3b2s8LMRR2aFd+8U+1Bx2kdgHNQ5ZQkQOiW8e52Jj9A= github.com/mccutchen/go-httpbin/v2 v2.15.0/go.mod h1:GBy5I7XwZ4ZLhT3hcq39I4ikwN9x4QUt6EAxNiR8Jus= +github.com/mdlayher/netlink v1.7.2 h1:/UtM3ofJap7Vl4QWCPDGXY8d3GIY2UGSDbK+QWmY8/g= +github.com/mdlayher/netlink v1.7.2/go.mod h1:xraEF7uJbxLhc5fpHL4cPe221LI2bdttWlU+ZGLfQSw= +github.com/mdlayher/socket v0.5.1 h1:VZaqt6RkGkt2OE9l3GcC6nZkqD3xKeQLyfleW/uBcos= +github.com/mdlayher/socket v0.5.1/go.mod h1:TjPLHI1UgwEv5J1B5q0zTZq12A/6H7nKmtTanQE37IQ= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= @@ -2374,10 +2792,14 @@ github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKju github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= github.com/miekg/dns v1.1.62 h1:cN8OuEF1/x5Rq6Np+h1epln8OiyPWV+lROx9LxcGgIQ= github.com/miekg/dns v1.1.62/go.mod h1:mvDlcItzm+br7MToIKqkglaGhlFMHJ9DTNNWONWXbNQ= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpspGNG7Z948v4n35fFGB3RR3G/ry4FWs= github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 h1:+n/aFZefKZp7spd8DFdX7uMikMLXX4oubIzJF4kv/wI= github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/cli v1.1.5 h1:OxRIeJXpAMztws/XHlN2vu6imG5Dpq+j61AzAX5fLng= +github.com/mitchellh/cli v1.1.5/go.mod h1:v8+iFts2sPIKUV1ltktPXMCC8fumSKFItNcD2cLtRR4= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= @@ -2390,9 +2812,11 @@ github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eI github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= +github.com/mitchellh/gox v0.4.0 h1:lfGJxY7ToLJQjHHwi0EX6uYBdK78egf954SQl13PQJc= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/hashstructure v1.0.0 h1:ZkRJX1CyOoTkar7p/mLS5TZU4nJ1Rn/F8u9dGS02Q3Y= github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ= +github.com/mitchellh/iochan v1.0.0 h1:C+X3KsSTLFVBr/tK1eYN/vs4rJcvsiLU338UhYPJWeY= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= @@ -2402,10 +2826,16 @@ github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= +github.com/moby/buildkit v0.16.0 h1:wOVBj1o5YNVad/txPQNXUXdelm7Hs/i0PUFjzbK0VKE= +github.com/moby/buildkit v0.16.0/go.mod h1:Xqx/5GlrqE1yIRORk0NSCVDFpQAU1WjlT6KHYZdisIQ= +github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= +github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/moby v24.0.7+incompatible h1:RrVT5IXBn85mRtFKP+gFwVLCcnNPZIgN3NVRJG9Le+4= github.com/moby/moby v24.0.7+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= github.com/moby/spdystream v0.4.0 h1:Vy79D6mHeJJjiPdFEL2yku1kl0chZpJfZcPpb16BRl8= github.com/moby/spdystream v0.4.0/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI= +github.com/moby/sys/mountinfo v0.6.2 h1:BzJjoreD5BMFNmD9Rus6gdd1pLuecOFPt8wC+Vygl78= +github.com/moby/sys/mountinfo v0.6.2/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -2421,12 +2851,26 @@ github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/ github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/mpvl/unique v0.0.0-20150818121801-cbe035fff7de h1:D5x39vF5KCwKQaw+OC9ZPiLVHXz3UFw2+psEX+gYcto= +github.com/mpvl/unique v0.0.0-20150818121801-cbe035fff7de/go.mod h1:kJun4WP5gFuHZgRjZUWWuH1DTxCtxbHDOIJsudS8jzY= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007 h1:28i1IjGcx8AofiB4N3q5Yls55VEaitzuEPkFJEVgGkA= +github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007/go.mod h1:m2XC9Qq0AlmmVksL6FktJCdTYyLk7V3fKyp0sl1yWQo= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/nats-io/nats.go v1.34.0 h1:fnxnPCNiwIG5w08rlMcEKTUw4AV/nKyGCOJE8TdhSPk= +github.com/nats-io/nats.go v1.34.0/go.mod h1:Ubdu4Nh9exXdSz0RVWRFBbRfrbSxOYd26oF0wkWclB8= +github.com/nats-io/nkeys v0.4.7 h1:RwNJbbIdYCoClSDNY7QVKZlyb/wfT6ugvFCiKy6vDvI= +github.com/nats-io/nkeys v0.4.7/go.mod h1:kqXRgRDPlGy7nGaEDMuYzmiJCIAAWDK0IMBtDmGD0nc= +github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= +github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/nelsam/hel/v2 v2.3.3 h1:Z3TAKd9JS3BoKi6fW+d1bKD2Mf0FzTqDUEAwLWzYPRQ= +github.com/nelsam/hel/v2 v2.3.3/go.mod h1:1ZTGfU2PFTOd5mx22i5O0Lc2GY933lQ2wb/ggy+rL3w= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= @@ -2434,6 +2878,7 @@ github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= +github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= @@ -2489,20 +2934,36 @@ github.com/onsi/gomega v1.33.0/go.mod h1:+925n5YtiFsLzzafLUHzVMBpvvRAzrydIBiSIxj github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0= github.com/onsi/gomega v1.35.0 h1:xuM1M/UvMp9BCdS4hojhS9/4jEuVqS9Er3bqupeaoPM= github.com/onsi/gomega v1.35.0/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog= +github.com/open-policy-agent/opa v0.42.2 h1:qocVAKyjrqMjCqsU02S/gHyLr4AQQ9xMtuV1kKnnyhM= +github.com/open-policy-agent/opa v0.42.2/go.mod h1:MrmoTi/BsKWT58kXlVayBb+rYVeaMwuBm3nYAN3923s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= +github.com/opencontainers/runc v1.1.5 h1:L44KXEpKmfWDcS02aeGm8QNTFXTo2D+8MYGDIJ/GDEs= +github.com/opencontainers/runc v1.1.5/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= +github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 h1:3snG66yBm59tKhhSPQrQ/0bCrv1LQbKt40LnUPiUxdc= +github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/openshift/api v0.0.0-20241024191314-684b2b1679ba h1:jyeZlKhyeR9mdbQKbTl5oP5nz0vAoy1Q+xn+1PwgODE= +github.com/openshift/api v0.0.0-20241024191314-684b2b1679ba/go.mod h1:Shkl4HanLwDiiBzakv+con/aMGnVE2MAGvoKp5oyYUo= +github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/openzipkin/zipkin-go v0.3.0 h1:XtuXmOLIXLjiU2XduuWREDT0LOKtSgos/g7i7RYyoZQ= github.com/openzipkin/zipkin-go v0.3.0/go.mod h1:4c3sLeE8xjNqehmF5RpAFLPLJxXscc0R4l6Zg0P1tTQ= +github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde h1:x0TT0RDC7UhAVbbWWBzr41ElhJx5tXPWkIHA2HWPRuw= github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0= github.com/palantir/go-baseapp v0.2.0/go.mod h1:7rEjgYzWbHLLuY+mV2iJthxTddEc6aO+kFYsjDKNmEs= +github.com/palantir/go-baseapp v0.2.3 h1:Wi24/LST/cD8qWXtTTgBbeQP4n1kP3164yWoHHeQxYY= +github.com/palantir/go-baseapp v0.2.3/go.mod h1:TSsvmXBDAAu2wZJgWi1/nG+YM5xIOEsXFmLsNoGP5O4= +github.com/palantir/go-githubapp v0.5.0 h1:mAdLgaaNV0zrqSv1q0zpJbKq65H92uIrAlSwRIRsGEE= github.com/palantir/go-githubapp v0.5.0/go.mod h1:/Xm5h66uEBX24An2Ln8H6Rk44z8uwk4E6m4gNrPadjQ= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= +github.com/pelletier/go-buffruneio v0.2.0 h1:U4t4R6YkofJ5xHm3dJzuRpPZ0mr5MMCoAWooScCR7aA= github.com/pelletier/go-buffruneio v0.2.0/go.mod h1:JkE26KsDizTr40EUHkXVtNPvgGtbSNq5BcowyYOWdKo= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo= @@ -2510,39 +2971,52 @@ github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3v github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= +github.com/perimeterx/marshmallow v1.1.5 h1:a2LALqQ1BlHM8PZblsDdidgv1mWi1DgC2UmX50IvK2s= +github.com/perimeterx/marshmallow v1.1.5/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw= github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5 h1:Ii+DKncOVM8Cu1Hc+ETb5K+23HdAMvESYE3ZJ5b5cMI= github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= +github.com/phpdave11/gofpdf v1.4.2 h1:KPKiIbfwbvC/wOncwhrpRdXVj2CZTCFlw4wnoyjtHfQ= github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/phpdave11/gofpdi v1.0.13 h1:o61duiW8M9sMlkVXWlvP92sZJtGKENvW3VExs6dZukQ= github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pierrec/lz4/v4 v4.1.18 h1:xaKrnTkyoqfh1YItXl56+6KJNVYWlEEPuAQW9xsplYQ= github.com/pierrec/lz4/v4 v4.1.18/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pires/go-proxyproto v0.8.0 h1:5unRmEAPbHXHuLjDg01CxJWf91cw3lKHc/0xzKpXEe0= +github.com/pires/go-proxyproto v0.8.0/go.mod h1:iknsfgnH8EkjrMeMyvfKByp9TiBZCKZM0jx2xmKqnVY= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4 h1:49lOXmGaUpV9Fz3gd7TFZY106KVlPVa5jcYD1gaQf98= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.2.1 h1:F++O52m40owAmADcojzM+9gyjmMOY/T4oYJkgFDH8RE= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= +github.com/pkg/sftp v1.13.6 h1:JFZT4XbOU7l77xGSpOdW+pwIMqP044IyjXX6FGyEKFo= +github.com/pkg/sftp v1.13.6/go.mod h1:tz1ryNURKu77RL+GuCzmoJYxQczL3wLNNpPWagdg4Qk= github.com/planetscale/vtprotobuf v0.6.1-0.20240409071808-615f978279ca h1:ujRGEVWJEoaxQ+8+HMl8YEpGaDAgohgZxJ5S+d2TTFQ= github.com/planetscale/vtprotobuf v0.6.1-0.20240409071808-615f978279ca/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/poy/onpar v1.1.2 h1:QaNrNiZx0+Nar5dLgTVp5mXkyoVFIbepjyEoGSnhbAY= github.com/poy/onpar v1.1.2/go.mod h1:6X8FLNoxyr9kkmnlqpK6LSoiOtrO6MICtWwEuWkLjzg= github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/pquerna/cachecontrol v0.1.0 h1:yJMy84ti9h/+OEWa752kBTKv4XC30OtVVHYv/8cTqKc= github.com/pquerna/cachecontrol v0.1.0/go.mod h1:NrUG3Z7Rdu85UNR3vm7SOsl1nFIeSiQnrHV5K9mBcUI= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM= @@ -2608,8 +3082,11 @@ github.com/prometheus/procfs v0.11.1/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/ github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= +github.com/prometheus/prometheus v0.55.0 h1:ITinOi1zr3HemoVWHf679PfRRmpxZOcR4nEvsze6eB0= +github.com/prometheus/prometheus v0.55.0/go.mod h1:GGS7QlWKCqCbcEzWsVahYIfQwiGhcExkarHyLJTsv6I= github.com/prometheus/statsd_exporter v0.21.0 h1:hA05Q5RFeIjgwKIYEdFd59xu5Wwaznf33yKI+pyX6T8= github.com/prometheus/statsd_exporter v0.21.0/go.mod h1:rbT83sZq2V+p73lHhPZfMc3MLCHmSHelCh9hSGYNLTQ= +github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/protocolbuffers/txtpbfmt v0.0.0-20230328191034-3462fbc510c0 h1:sadMIsgmHpEOGbUs6VtHBXRR1OHevnj7hLx9ZcdNGW4= github.com/protocolbuffers/txtpbfmt v0.0.0-20230328191034-3462fbc510c0/go.mod h1:jgxiZysxFPM+iWKwQwPR+y+Jvo54ARd4EisXxKYpB5c= @@ -2619,19 +3096,27 @@ github.com/pseudomuto/protokit v0.2.1 h1:kCYpE3thoR6Esm0CUvd5xbrDTOZPvQPTDeyXpZf github.com/pseudomuto/protokit v0.2.1/go.mod h1:gt7N5Rz2flBzYafvaxyIxMZC0TTF5jDZfRnw25hAAyo= github.com/quasilyte/go-ruleguard/dsl v0.3.22 h1:wd8zkOhSNr+I+8Qeciml08ivDt1pSXe60+5DqOpCjPE= github.com/quasilyte/go-ruleguard/dsl v0.3.22/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= +github.com/quic-go/qpack v0.5.1 h1:giqksBPnT/HDtZ6VhtFKgoLOWmlyo9Ei6u9PqzIMbhI= +github.com/quic-go/qpack v0.5.1/go.mod h1:+PC4XFrEskIVkcLzpEkbLqq1uCoxPhQuvK5rH1ZgaEg= +github.com/quic-go/quic-go v0.48.1 h1:y/8xmfWI9qmGTc+lBr4jKRUWLGSlSigv847ULJ4hYXA= +github.com/quic-go/quic-go v0.48.1/go.mod h1:yBgs3rWBOADpga7F+jJsb6Ybg1LSYiQvwWlLX+/6HMs= +github.com/rabbitmq/amqp091-go v1.1.0 h1:qx8cGMJha71/5t31Z+LdPLdPrkj/BvD38cqC3Bi1pNI= github.com/rabbitmq/amqp091-go v1.1.0/go.mod h1:ogQDLSOACsLPsIq0NpbtiifNZi2YOz0VTJ0kHRghqbM= github.com/radovskyb/watcher v1.0.2 h1:9L5TsZUbo1nKhQEQPtICVc+x9UZQ6VPdBepLHyGw/bQ= github.com/radovskyb/watcher v1.0.2/go.mod h1:78okwvY5wPdzcb1UYnip1pvrZNIVEIh/Cm+ZuvsUYIg= github.com/rcrowley/go-metrics v0.0.0-20180503174638-e2704e165165/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.6 h1:Sovz9sDSwbOz9tgUy8JpT+KgCkPYJEN/oYzlJiYTNLg= github.com/rivo/uniseg v0.4.6/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= @@ -2640,26 +3125,37 @@ github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncj github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rogpeppe/go-internal v1.12.1-0.20240709150035-ccf4b4329d21 h1:igWZJluD8KtEtAgRyF4x6lqcxDry1ULztksMJh2mnQE= github.com/rogpeppe/go-internal v1.12.1-0.20240709150035-ccf4b4329d21/go.mod h1:RMRJLmBOqWacUkmJHRMiPKh1S1m3PA7Zh4W80/kWPpg= +github.com/rollbar/rollbar-go v1.0.2 h1:uA3+z0jq6ka9WUUt9VX/xuiQZXZyWRoeKvkhVvLO9Jc= github.com/rollbar/rollbar-go v1.0.2/go.mod h1:AcFs5f0I+c71bpHlXNNDbOWJiKwjFDtISeXco0L5PKQ= github.com/rotisserie/eris v0.1.1/go.mod h1:2ik3CyJrzlOjGyDGrKfqZivSfmkhCS3ktE+T1mNzzLk= github.com/rotisserie/eris v0.5.4 h1:Il6IvLdAapsMhvuOahHWiBnl1G++Q0/L5UIkI5mARSk= github.com/rotisserie/eris v0.5.4/go.mod h1:Z/kgYTJiJtocxCbFfvRmO+QejApzG6zpyky9G1A4g9s= +github.com/rs/dnscache v0.0.0-20211102005908-e0241e321417 h1:Lt9DzQALzHoDwMBGJ6v8ObDPR0dzr2a6sXTB1Fq7IHs= github.com/rs/dnscache v0.0.0-20211102005908-e0241e321417/go.mod h1:qe5TWALJ8/a1Lqznoc5BDHpYX/8HU60Hm2AwRmqzxqA= +github.com/rs/xid v1.2.1 h1:mhH9Nq+C1fY2l1XIpgxIiUOfNpRBYH1kKcr+qfKgjRc= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.9.1/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= +github.com/rs/zerolog v1.18.0 h1:CbAm3kP2Tptby1i9sYy2MGRg0uxIN9cyDb59Ys7W8z8= github.com/rs/zerolog v1.18.0/go.mod h1:9nvC1axdVrAHcu/s9taAVfBuIdTZLVQmKQyvrUjF5+I= github.com/rubenv/sql-migrate v1.7.0 h1:HtQq1xyTN2ISmQDggnh0c9U3JlP8apWh8YO2jzlXpTI= github.com/rubenv/sql-migrate v1.7.0/go.mod h1:S4wtDEG1CKn+0ShpTtzWhFpHHI5PvCUtiGI+C+Z2THE= +github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7 h1:J4AOUcOh/t1XbQcJfkEqhzgvMJ2tDxdCVvmHxW5QXao= github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7/go.mod h1:Oz4y6ImuOQZxynhbSXk7btjEfNBtGlj2dcaOvXl2FSM= +github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= +github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= +github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245 h1:K1Xf3bKttbF+koVGaX5xngRIZ5bVjbmPnaxE/dR08uY= github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/ryanuber/columnize v2.1.0+incompatible h1:j1Wcmh8OrK4Q7GXY+V7SVSY8nUWQxHW5TkBe7YUl+2s= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= +github.com/sagikazarmark/crypt v0.19.0 h1:WMyLTjHBo64UvNcWqpzY3pbZTYgnemZU8FBZigKc42E= +github.com/sagikazarmark/crypt v0.19.0/go.mod h1:c6vimRziqqERhtSe0MhIvzE1w54FrCHtrXb5NH/ja78= github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= @@ -2674,8 +3170,11 @@ github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k= github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME= +github.com/shurcooL/githubv4 v0.0.0-20191127044304-8f68eb5628d0 h1:T9uus1QvcPgeLShS30YOnnzk3r9Vvygp45muhlrufgY= github.com/shurcooL/githubv4 v0.0.0-20191127044304-8f68eb5628d0/go.mod h1:hAF0iLZy4td2EX+/8Tw+4nodhlMrwN3HupfaXj3zkGo= +github.com/shurcooL/graphql v0.0.0-20181231061246-d48a9a75455f h1:tygelZueB1EtXkPI6mQ4o9DQ0+FKW41hTbunoXZCTqk= github.com/shurcooL/graphql v0.0.0-20181231061246-d48a9a75455f/go.mod h1:AuYgA5Kyo4c7HfUmvRGs/6rGlMMV/6B1bVnB9JxJEEg= +github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= @@ -2684,9 +3183,12 @@ github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrf github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/solo-io/anyvendor v0.1.0 h1:pzqilD2dxOJnosCe01gl7bU91EHrYjBnfB6W3lQmFx4= github.com/solo-io/anyvendor v0.1.0/go.mod h1:pm4oeT20nrF6moqurCc7U4fEC1oi1RzkqoD/Lp/z/4Y= @@ -2711,6 +3213,7 @@ github.com/solo-io/solo-kit v0.36.1 h1:jiO2HVsbUKuFwF9q3t20LujANouvAFlRzPMrK5goD github.com/solo-io/solo-kit v0.36.1/go.mod h1:tLK3BllHZZUZsvgG3paVzux8ccmItKadqLSg7nOltDw= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= @@ -2729,6 +3232,7 @@ github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSW github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= @@ -2737,11 +3241,14 @@ github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/y github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= +github.com/src-d/gcfg v1.4.0 h1:xXbNR5AlLSA315x2UO+fTSSAXCDf+Ar38/6oyGbDKQ4= github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= +github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94 h1:0ngsPmuP6XIjiFRNFYlvKwSr5zff2v+uPHaffZ6/M4k= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= +github.com/streadway/quantile v0.0.0-20150917103942-b0c588724d25 h1:7z3LSn867ex6VSaahyKadf4WtSsJIgne6A1WLOAGM8A= github.com/streadway/quantile v0.0.0-20150917103942-b0c588724d25/go.mod h1:lbP8tGiBjZ5YWIc2fzuRpTaz0b/53vT6PEs3QuAWzuU= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -2769,26 +3276,54 @@ github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8 github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= +github.com/substrait-io/substrait-go v0.4.2 h1:buDnjsb3qAqTaNbOR7VKmNgXf4lYQxWEcnSGUWBtmN8= github.com/substrait-io/substrait-go v0.4.2/go.mod h1:qhpnLmrcvAnlZsUyPXZRqldiHapPTXC3t7xFgDi3aQg= +github.com/tetratelabs/wazero v1.6.0 h1:z0H1iikCdP8t+q341xqepY4EWvHEw8Es7tlqiVzlP3g= +github.com/tetratelabs/wazero v1.6.0/go.mod h1:0U0G41+ochRKoPKCJlh0jMg1CHkyfK8kDqiirMmKY8A= github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75 h1:6fotK7otjonDflCTK0BCfls4SPy3NcCVb5dqqmbRknE= github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75/go.mod h1:KO6IkyS8Y3j8OdNO85qEYBsRPuteD+YciPomcXdrMnk= +github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ= github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM= +github.com/tsenart/go-tsz v0.0.0-20180814232043-cdeb9e1e981e h1:bB5SXzQmSUsJCmjPDN9fKYx3SSDER5diSjlN6TefTCc= github.com/tsenart/go-tsz v0.0.0-20180814232043-cdeb9e1e981e/go.mod h1:SWZznP1z5Ki7hDT2ioqiFKEse8K9tU2OUvaRI0NeGQo= +github.com/tsenart/vegeta/v12 v12.8.4 h1:UQ7tG7WkDorKj0wjx78Z4/vsMBP8RJQMGJqRVrkvngg= github.com/tsenart/vegeta/v12 v12.8.4/go.mod h1:ZiJtwLn/9M4fTPdMY7bdbIeyNeFVE8/AHbWFqCsUuho= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926 h1:G3dpKMzFDjgEh2q1Z7zUUtKa8ViPtH+ocF0bE0g00O8= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/ugorji/go v1.1.4 h1:j4s+tAvLfL3bZyefP2SEWmhBzmuIlH/eqNuPdFPgngw= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= +github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= +github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/urfave/cli v1.22.4 h1:u7tSpNPPswAFymm8IehJhy4uJMlUuU/GmqSkvJ1InXA= +github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli/v2 v2.3.0 h1:qph92Y649prgesehzOrQjdWyxFOp/QVM+6imKHad91M= github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= +github.com/vbatts/tar-split v0.11.5 h1:3bHCTIheBm1qFTcgh9oPu+nNBtX+XJIupG/vacinCts= +github.com/vbatts/tar-split v0.11.5/go.mod h1:yZbwRsSeGjusneWgA781EKej9HF8vme8okylkAeNKLk= +github.com/vektah/gqlparser v1.1.2 h1:ZsyLGn7/7jDNI+y4SEhI4yAxRChlv15pUHMjijT+e68= github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= +github.com/vektah/gqlparser/v2 v2.4.5 h1:C02NsyEsL4TXJB7ndonqTfuQOL4XPIu0aAWugdmTgmc= +github.com/vektah/gqlparser/v2 v2.4.5/go.mod h1:flJWIR04IMQPGz+BXLrORkrARBxv/rtyIAFvd/MceW0= +github.com/veraison/go-cose v1.0.0-rc.1 h1:4qA7dbFJGvt7gcqv5MCIyCQvN+NpHFPkW7do3EeDLb8= +github.com/veraison/go-cose v1.0.0-rc.1/go.mod h1:7ziE85vSq4ScFTg6wyoMXjucIGOf4JkFEZi/an96Ct4= +github.com/vishvananda/netlink v1.3.0 h1:X7l42GfcV4S6E4vHTsw48qbrV+9PVojNfIhZcwQdrZk= +github.com/vishvananda/netlink v1.3.0/go.mod h1:i6NetklAujEcC6fK0JPjT8qSwWyO0HLn4UKG+hGqeJs= +github.com/vishvananda/netns v0.0.4 h1:Oeaw1EM2JMxD51g9uhtC0D7erkIjgmj8+JZc26m1YX8= +github.com/vishvananda/netns v0.0.4/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/xanzy/ssh-agent v0.2.0/go.mod h1:0NyE30eGUDliuLEHJgYte/zncp2zdTStcOnWhgSqHD8= github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI= github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= +github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.0.2 h1:akYIkZ28e6A96dkWNJQu3nmCzH3YfwMPQExUYDaRv7w= github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= +github.com/xdg-go/stringprep v1.0.2 h1:6iq84/ryjjeRmMJwxutI51F2GIPlP5BfTvXHeYjyhBc= github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= @@ -2797,12 +3332,20 @@ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHo github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/xhit/go-str2duration v1.2.0 h1:BcV5u025cITWxEQKGWr1URRzrcXtu7uk8+luz3Yuhwc= github.com/xhit/go-str2duration v1.2.0/go.mod h1:3cPSlfZlUHVlneIVfePFWcJZsuwf+P1v2SRTV4cUmp4= +github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc= github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ= github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 h1:ESFSdwYZvkeru3RtdrYueztKhOBCSAAzS4Gf+k0tEow= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yashtewari/glob-intersection v0.1.0 h1:6gJvMYQlTDOL3dMsPF6J0+26vwX9MB8/1q3uAdhmTrg= +github.com/yashtewari/glob-intersection v0.1.0/go.mod h1:LK7pIC3piUjovexikBbJ26Yml7g8xa5bsjfx2v1fwok= +github.com/yl2chen/cidranger v1.0.2 h1:lbOWZVCG1tCRX4u24kuM1Tb4nHqWkDxwLdoS+SevawU= +github.com/yl2chen/cidranger v1.0.2/go.mod h1:9U1yz7WPYDwf0vpNWFaeRh0bjwz5RVgRy/9UEQfHl0g= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -2818,23 +3361,36 @@ github.com/yvasiyarov/gorelic v0.0.6 h1:qMJQYPNdtJ7UNYHjX38KXZtltKTqimMuoQjNnSVI github.com/yvasiyarov/gorelic v0.0.6/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f h1:ERexzlUfuTvpE74urLSbIQW0Z/6hF9t8U4NsJLaioAY= github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= +github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= +github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= +github.com/zenazn/goji v0.9.1-0.20160507202103-64eb34159fe5 h1:mXV20Aj/BdWrlVzIn1kXFa+Tq62INlUi0cFFlztTaK0= github.com/zenazn/goji v0.9.1-0.20160507202103-64eb34159fe5/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= +go.einride.tech/aip v0.66.0 h1:XfV+NQX6L7EOYK11yoHHFtndeaWh3KbD9/cN/6iWEt8= go.einride.tech/aip v0.66.0/go.mod h1:qAhMsfT7plxBX+Oy7Huol6YUvZ0ZzdUz26yZsQwfl1M= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.9 h1:8x7aARPEXiXbHmtUwAIv7eV2fQFHrLLavdiJ3uzJXoI= go.etcd.io/bbolt v1.3.9/go.mod h1:zaO32+Ti0PK1ivdPtgMESzuzL2VPoIG1PCQNvOdo/dE= go.etcd.io/etcd/api/v3 v3.5.13/go.mod h1:gBqlqkcMMZMVTMm4NDZloEVJzxQOQIls8splbqBDa0c= +go.etcd.io/etcd/api/v3 v3.5.14 h1:vHObSCxyB9zlF60w7qzAdTcGaglbJOpSj1Xj9+WGxq0= go.etcd.io/etcd/api/v3 v3.5.14/go.mod h1:BmtWcRlQvwa1h3G2jvKYwIQy4PkHlDej5t7uLMUdJUU= go.etcd.io/etcd/client/pkg/v3 v3.5.13/go.mod h1:XxHT4u1qU12E2+po+UVPrEeL94Um6zL58ppuJWXSAB8= +go.etcd.io/etcd/client/pkg/v3 v3.5.14 h1:SaNH6Y+rVEdxfpA2Jr5wkEvN6Zykme5+YnbCkxvuWxQ= go.etcd.io/etcd/client/pkg/v3 v3.5.14/go.mod h1:8uMgAokyG1czCtIdsq+AGyYQMvpIKnSvPjFMunkgeZI= +go.etcd.io/etcd/client/v2 v2.305.13 h1:RWfV1SX5jTU0lbCvpVQe3iPQeAHETWdOTb6pxhd77C8= go.etcd.io/etcd/client/v2 v2.305.13/go.mod h1:iQnL7fepbiomdXMb3om1rHq96htNNGv2sJkEcZGDRRg= go.etcd.io/etcd/client/v3 v3.5.13/go.mod h1:cqiAeY8b5DEEcpxvgWKsbLIWNM/8Wy2xJSDMtioMcoI= +go.etcd.io/etcd/client/v3 v3.5.14 h1:CWfRs4FDaDoSz81giL7zPpZH2Z35tbOrAJkkjMqOupg= go.etcd.io/etcd/client/v3 v3.5.14/go.mod h1:k3XfdV/VIHy/97rqWjoUzrj9tk7GgJGH9J8L4dNXmAk= +go.etcd.io/etcd/pkg/v3 v3.5.13 h1:st9bDWNsKkBNpP4PR1MvM/9NqUPfvYZx/YXegsYEH8M= go.etcd.io/etcd/pkg/v3 v3.5.13/go.mod h1:N+4PLrp7agI/Viy+dUYpX7iRtSPvKq+w8Y14d1vX+m0= +go.etcd.io/etcd/raft/v3 v3.5.13 h1:7r/NKAOups1YnKcfro2RvGGo2PTuizF/xh26Z2CTAzA= go.etcd.io/etcd/raft/v3 v3.5.13/go.mod h1:uUFibGLn2Ksm2URMxN1fICGhk8Wu96EfDQyuLhAcAmw= +go.etcd.io/etcd/server/v3 v3.5.13 h1:V6KG+yMfMSqWt+lGnhFpP5z5dRUj1BDRJ5k1fQ9DFok= go.etcd.io/etcd/server/v3 v3.5.13/go.mod h1:K/8nbsGupHqmr5MkgaZpLlH1QdX1pcNQLAkODy44XcQ= +go.etcd.io/gofail v0.1.0 h1:XItAMIhOojXFQMgrxjnd2EIIHun/d5qL0Pf7FzVTkFg= go.etcd.io/gofail v0.1.0/go.mod h1:VZBCXYGZhHAinaBiiqYvuDynvahNsAyLFwB3kEHKz1M= go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= @@ -2854,6 +3410,7 @@ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.4 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0/go.mod h1:r9vWsPS/3AQItv3OSlEJ/E4mbrhUbbw18meOjArPtKQ= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.48.0/go.mod h1:tIKj3DbO8N9Y2xo52og3irLsPI4GW02DSMtrVgNMgxg= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0 h1:9G6E0TXzGFVfTnawRzrPl83iHOAV7L8NJiR8RSGYV1g= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0/go.mod h1:azvtTADFQJA8mX80jIH/akaE7h+dbm/sVuaHqN13w74= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1/go.mod h1:sEGXWArGqc3tVa+ekntsN65DmVbVeW+7lTKTjZF3/Fo= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0/go.mod h1:SK2UL73Zy1quvRPonmOmRDiWk1KBV3LyIeeIxcEApWw= @@ -2880,6 +3437,8 @@ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.20.0/go.mod h go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0/go.mod h1:MOiCmryaYtc+V0Ei+Tx9o5S1ZjA7kzLucuVuyzBZloQ= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 h1:lUsI2TYsQw2r1IASwoROaCnjdj2cvC2+Jbxvk6nHnWU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0/go.mod h1:2HpZxxQurfGxJlJDblybejHB6RX6pmExPNe517hREw4= go.opentelemetry.io/otel/exporters/prometheus v0.53.0 h1:QXobPHrwiGLM4ufrY3EOmDPJpo2P90UuFau4CDPJA/I= go.opentelemetry.io/otel/exporters/prometheus v0.53.0/go.mod h1:WOAXGr3D00CfzmFxtTV1eR0GpoHuPEu+HJT8UWW2SIU= go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8= @@ -2927,12 +3486,15 @@ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +go.uber.org/automaxprocs v1.4.0 h1:CpDZl6aOlLhReez+8S3eEotD7Jx0Os++lemPlMULQP0= go.uber.org/automaxprocs v1.4.0/go.mod h1:/mTEdr7LvHhs0v7mjdxDreTz1OG5zdZGqgOnhWiR/+Q= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU= +go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= @@ -2947,6 +3509,7 @@ go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= goji.io v2.0.0+incompatible/go.mod h1:sbqFwrtqZACxLBTQcdgVjFh54yGVCvwq8+w49MVMMIk= +goji.io v2.0.2+incompatible h1:uIssv/elbKRLznFUy3Xj4+2Mz/qKhek/9aZQDUMae7c= goji.io v2.0.2+incompatible/go.mod h1:sbqFwrtqZACxLBTQcdgVjFh54yGVCvwq8+w49MVMMIk= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -3027,6 +3590,7 @@ golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+o golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20220302094943-723b81ca9867 h1:TcHcE0vrmgzNH1v3ppjcMGbhG5+9fMuvOmUYwNEF4q4= golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -3039,8 +3603,10 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= @@ -3378,6 +3944,7 @@ golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= +golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457 h1:zf5N6UOrA487eEFacMePxjXAJctxKmyjKUsjA11Uzuk= golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -3544,6 +4111,7 @@ golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= @@ -3552,10 +4120,13 @@ gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJ gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= +gonum.org/v1/gonum v0.12.0 h1:xKuo6hzt+gMav00meVPUlXwSdoEJP46BR+wdxQEFK2o= gonum.org/v1/gonum v0.12.0/go.mod h1:73TDxJfAAHeA8Mk9mf8NlIppyhQNo5GLTcYeqgo2lvY= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0 h1:OE9mWmgKkjJyEmDAAtGMPjXu+YNeGvK9VTSHY6+Qihc= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= +gonum.org/v1/plot v0.10.1 h1:dnifSs43YJuNMDzB7v8wV64O4ABBHReuAVAoBxqBqS4= gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -3632,6 +4203,8 @@ google.golang.org/api v0.162.0/go.mod h1:6SulDkfoBIg4NFmCuZ39XeeAgSHCPecfSUuDyYl google.golang.org/api v0.164.0/go.mod h1:2OatzO7ZDQsoS7IFf3rvsE17/TldiU3F/zxFHeqUB5o= google.golang.org/api v0.166.0/go.mod h1:4FcBc686KFi7QI/U51/2GKKevfZMpM17sCdibqe/bSA= google.golang.org/api v0.169.0/go.mod h1:gpNOiMA2tZ4mf5R9Iwf4rK/Dcz0fbdIgWYWVoxmsyLg= +google.golang.org/api v0.171.0 h1:w174hnBPqut76FzW5Qaupt7zY8Kql6fiVjgys4f58sU= +google.golang.org/api v0.171.0/go.mod h1:Hnq5AHm4OTMt2BUVjael2CWZFD6vksJdWCWiUAmjC9o= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -3640,6 +4213,7 @@ google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -3807,6 +4381,7 @@ google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqt google.golang.org/genproto v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= google.golang.org/genproto v0.0.0-20240205150955-31a09d347014/go.mod h1:xEgQu1e4stdSSsxPDK8Azkrk/ECl5HvdPf6nbZrTS5M= google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s= +google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY= google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo= google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= @@ -3852,6 +4427,7 @@ google.golang.org/genproto/googleapis/bytestream v0.0.0-20240116215550-a9fa1716b google.golang.org/genproto/googleapis/bytestream v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:SCz6T5xjNXM4QFPRwxHcfChp7V+9DcXR3ay2TkHR8Tg= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240205150955-31a09d347014/go.mod h1:EhZbXt+eY4Yr3YVaEGLdNZF5viWowOJZ8KTPqjYMKzg= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:om8Bj876Z0v9ei+RD1LnEWig7vpHQ371PUqsgjmLQEA= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20240304161311-37d4d3c04a78 h1:YqFWYZXim8bG9v68xU8WjTZmYKb5M5dMeSOWIp6jogI= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240304161311-37d4d3c04a78/go.mod h1:vh/N7795ftP0AkN1w8XKqN4w1OdUKXW5Eummda+ofv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= @@ -3961,6 +4537,8 @@ google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjr google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1 h1:F29+wU6Ee6qgu9TddPgooOdaqsxTMunOoj8KA5yuS5A= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1/go.mod h1:5KF+wpkbTSbGcR9zteSqZV6fqFOWBl4Yde8En8MryZA= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -3988,6 +4566,7 @@ google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojt gopkg.in/AlecAivazis/survey.v1 v1.8.2/go.mod h1:iBNOmqKz/NUbZx3bA+4hAGLRC7fSK7tgtVDT4tB22XA= gopkg.in/AlecAivazis/survey.v1 v1.8.7 h1:oBJqtgsyBLg9K5FK9twNUbcPnbCPoh+R9a+7nag3qJM= gopkg.in/AlecAivazis/survey.v1 v1.8.7/go.mod h1:iBNOmqKz/NUbZx3bA+4hAGLRC7fSK7tgtVDT4tB22XA= +gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -3995,9 +4574,11 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= +gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= @@ -4005,14 +4586,19 @@ gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= +gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= +gopkg.in/resty.v1 v1.12.0 h1:CuXP0Pjfw9rOuY6EP+UvtNvt5DSqHpIxILZKT/quCZI= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/src-d/go-billy.v4 v4.2.1 h1:omN5CrMrMcQ+4I8bJ0wEhOBPanIRWzFC953IiXKdYzo= gopkg.in/src-d/go-billy.v4 v4.2.1/go.mod h1:tm33zBoOwxjYHZIE+OV8bxTWFMJLrconzFMd38aARFk= +gopkg.in/src-d/go-git-fixtures.v3 v3.1.1 h1:XWW/s5W18RaJpmo1l0IYGqXKuJITWRFuA45iOf1dKJs= gopkg.in/src-d/go-git-fixtures.v3 v3.1.1/go.mod h1:dLBcvytrw/TYZsNTWCnkNF2DSIlzWYqTe3rJR56Ac7g= +gopkg.in/src-d/go-git.v4 v4.10.0 h1:NWjTJTQnk8UpIGlssuefyDZ6JruEjo5s88vm88uASbw= gopkg.in/src-d/go-git.v4 v4.10.0/go.mod h1:Vtut8izDyrM8BUVQnzJ+YvmNcem2J89EmfZYCkLokZk= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= @@ -4044,6 +4630,7 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.1.3 h1:qTakTkI6ni6LFD5sBwwsdSO+AQqbSIxOauHTTQKZ/7o= honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= istio.io/api v1.24.0-alpha.0.0.20241106042855-9e26cdd3450a h1:pel/LTl80fLEqw1jQnwLYs0ejjpTdiJbshcudsdPjNA= istio.io/api v1.24.0-alpha.0.0.20241106042855-9e26cdd3450a/go.mod h1:MQnRok7RZ20/PE56v0LxmoWH0xVxnCQPNuf9O7PAN1I= @@ -4051,6 +4638,8 @@ istio.io/client-go v1.24.0-alpha.0.0.20241106043554-b5828356941f h1:YP4XtpB8kT8f istio.io/client-go v1.24.0-alpha.0.0.20241106043554-b5828356941f/go.mod h1:yNREqN04sl5u6BdXWkLhvT9iLdwveCBZ0qZpRkXExQE= istio.io/istio v0.0.0-20241107203726-094b9e700412 h1:ig5VvcilB4pfRGOG5NYfdUa3zjGwCkUPXDJSxIDTN7E= istio.io/istio v0.0.0-20241107203726-094b9e700412/go.mod h1:KgTlCabFe8l7/g2qRuRv7amt3B3d/Fp9l/7o+SV/akA= +istio.io/tools v0.0.0-20200918020118-6d0a0e49b5d3 h1:mkMzZILOGNEvFqWEgVISubKWWTqGUTaK+72jMojyXzA= +istio.io/tools v0.0.0-20200918020118-6d0a0e49b5d3/go.mod h1:+76apR/jbfB29HigSekPznsVFWl8oa0vu21UdQ8USvw= k8s.io/api v0.31.1 h1:Xe1hX/fPW3PXYYv8BlozYqw63ytA92snr96zMW9gWTU= k8s.io/api v0.31.1/go.mod h1:sbN1g6eY6XVLeqNsZGLnI5FwVseTrZX7Fv3O26rhAaI= k8s.io/apiextensions-apiserver v0.31.1 h1:L+hwULvXx+nvTYX/MKM3kKMZyei+UiSXQWciX/N6E40= @@ -4076,6 +4665,7 @@ k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAE k8s.io/gengo/v2 v2.0.0-20240228010128-51d4e06bde70/go.mod h1:VH3AT8AaQOqiGjMF9p0/IM1Dj+82ZwjfxUP1IxaHE+8= k8s.io/gengo/v2 v2.0.0-20240826214909-a7b603a56eb7 h1:cErOOTkQ3JW19o4lo91fFurouhP8NcoBvb7CkvhZZpk= k8s.io/gengo/v2 v2.0.0-20240826214909-a7b603a56eb7/go.mod h1:EJykeLsmFC60UQbYJezXkEsG2FLrt0GPNkU5iK5GWxU= +k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= @@ -4083,6 +4673,7 @@ k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= +k8s.io/kms v0.31.1 h1:cGLyV3cIwb0ovpP/jtyIe2mEuQ/MkbhmeBF2IYCA9Io= k8s.io/kms v0.31.1/go.mod h1:OZKwl1fan3n3N5FFxnW5C4V3ygrah/3YXeJWS3O6+94= k8s.io/kube-openapi v0.0.0-20240827152857-f7e401e7b4c2 h1:GKE9U8BH16uynoxQii0auTjmmmuZ3O0LFMN6S0lPPhI= k8s.io/kube-openapi v0.0.0-20240827152857-f7e401e7b4c2/go.mod h1:coRQXBK9NxO98XUv3ZD6AK3xzHCxV6+b7lrquKwaKzA= @@ -4093,6 +4684,7 @@ k8s.io/metrics v0.31.1/go.mod h1:JuH1S9tJiH9q1VCY0yzSCawi7kzNLsDzlWDJN4xR+iA= k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A= k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= knative.dev/hack v0.0.0-20211122162614-813559cefdda/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI= +knative.dev/hack v0.0.0-20211203062838-e11ac125e707 h1:Nx3HBoTHjYzXT9xxh5j6A8pMapNqyDLqjl784YxWPDQ= knative.dev/hack v0.0.0-20211203062838-e11ac125e707/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI= knative.dev/networking v0.0.0-20211210083629-bace06e98aee h1:tMn0wtCgn2X+i+JiRk0mYHGrzI/7dZOkCPogz3u3qTU= knative.dev/networking v0.0.0-20211210083629-bace06e98aee/go.mod h1:5ARXhzfos0DMVbPwQ6bQC+vz/9t7smRYBwVrmVaSHrU= @@ -4100,12 +4692,14 @@ knative.dev/pkg v0.0.0-20211206113427-18589ac7627e h1:8hK7g4jz56ZtF3iQLsvrvR/hHn knative.dev/pkg v0.0.0-20211206113427-18589ac7627e/go.mod h1:E6B4RTjZyxe55a0kxOlnEHEl71zuG7gghnqYvNBKwBw= lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +lukechampine.com/uint128 v1.3.0 h1:cDdUVfRwDUDovz610ABgFD17nXD4/uDgVHl2sC3+sbo= lukechampine.com/uint128 v1.3.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= modernc.org/cc/v3 v3.37.0/go.mod h1:vtL+3mdHx/wcj3iEGz84rQa8vEqR6XM84v5Lcvfph20= modernc.org/cc/v3 v3.38.1/go.mod h1:vtL+3mdHx/wcj3iEGz84rQa8vEqR6XM84v5Lcvfph20= +modernc.org/cc/v3 v3.40.0 h1:P3g79IUS/93SYhtoeaHW+kRCIrYaxJ27MFPv+7kaTOw= modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0= modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= @@ -4116,8 +4710,11 @@ modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWs modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws= modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo= modernc.org/ccgo/v3 v3.16.13-0.20221017192402-261537637ce8/go.mod h1:fUB3Vn0nVPReA+7IG7yZDfjv1TMWjhQP8gCxrFAtL5g= +modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw= modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY= +modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk= modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= +modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM= modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= @@ -4133,37 +4730,51 @@ modernc.org/libc v1.20.3/go.mod h1:ZRfIaEkgrYgZDl6pa4W39HgN5G/yDW+NRmNKZBDFrk0= modernc.org/libc v1.21.2/go.mod h1:przBsL5RDOZajTVslkugzLBj1evTue36jEomFQOoYuI= modernc.org/libc v1.21.4/go.mod h1:przBsL5RDOZajTVslkugzLBj1evTue36jEomFQOoYuI= modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug= +modernc.org/libc v1.22.4 h1:wymSbZb0AlrjdAVX3cjreCHTPCpPARbQXNz6BHPzdwQ= modernc.org/libc v1.22.4/go.mod h1:jj+Z7dTNX8fBScMVNRAYZ/jF91K8fdT2hYMThc3YjBY= modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ= modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/memory v1.3.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/memory v1.4.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds= modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4= modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4= modernc.org/sqlite v1.18.2/go.mod h1:kvrTLEWgxUcHa2GfHBQtanR1H9ht3hTJNtKpzH9k1u0= +modernc.org/sqlite v1.21.2 h1:ixuUG0QS413Vfzyx6FWx6PYTmHaOegTY+hjzhn7L+a0= modernc.org/sqlite v1.21.2/go.mod h1:cxbLkB5WS32DnQqeH4h4o1B0eMr8W/y8/RGuxQ3JsC0= modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= +modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY= modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= modernc.org/tcl v1.13.2/go.mod h1:7CLiGIPo1M8Rv1Mitpv5akc2+8fxUd2y2UzC/MfMzy0= +modernc.org/tcl v1.15.1 h1:mOQwiEK4p7HruMZcwKTZPw/aqtGM4aY00uzWhlKKYws= modernc.org/tcl v1.15.1/go.mod h1:aEjeGJX2gz1oWKOLDVZ2tnEWLUrIn8H+GFu+akoDhqs= modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= +modernc.org/z v1.7.0 h1:xkDw/KepgEjeizO2sNco+hqYkU12taxQFqPEmgm1GWE= modernc.org/z v1.7.0/go.mod h1:hVdgNMh8ggTuRG1rGU8x+xGRFfiQUIAw0ZqlPy8+HyQ= oras.land/oras-go v1.2.5 h1:XpYuAwAb0DfQsunIyMfeET92emK8km3W4yEzZvUbsTo= oras.land/oras-go v1.2.5/go.mod h1:PuAwRShRZCsZb7g8Ar3jKKQR/2A/qN+pkYxIOd/FAoo= +pgregory.net/rapid v0.3.3 h1:jCjBsY4ln4Atz78QoBWxUEvAHaFyNDQg9+WU62aCn1U= pgregory.net/rapid v0.3.3/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU= +rsc.io/binaryregexp v0.2.0 h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1 h1:k1MczvYDUvJBe93bYd7wrZLLUEcLZAuF824/I4e5Xr4= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= +rsc.io/quote/v3 v3.1.0 h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.30.3 h1:2770sDpzrjjsAtVhSeUFseziht227YAWYHLGNM8QPwY= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.30.3/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= @@ -4175,8 +4786,12 @@ sigs.k8s.io/gateway-api v1.2.0 h1:LrToiFwtqKTKZcZtoQPTuo3FxhrrhTgzQG0Te+YGSo8= sigs.k8s.io/gateway-api v1.2.0/go.mod h1:EpNfEXNjiYfUJypf0eZ0P5iXA9ekSGWaS1WgPaM42X0= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= +sigs.k8s.io/kind v0.23.0 h1:8fyDGWbWTeCcCTwA04v4Nfr45KKxbSPH1WO9K+jVrBg= +sigs.k8s.io/kind v0.23.0/go.mod h1:ZQ1iZuJLh3T+O8fzhdi3VWcFTzsdXtNv2ppsHc8JQ7s= sigs.k8s.io/kustomize/api v0.17.2 h1:E7/Fjk7V5fboiuijoZHgs4aHuexi5Y2loXlVOAVAG5g= sigs.k8s.io/kustomize/api v0.17.2/go.mod h1:UWTz9Ct+MvoeQsHcJ5e+vziRRkwimm3HytpZgIYqye0= +sigs.k8s.io/kustomize/cmd/config v0.14.1 h1:r1gRhgfPmnt7VYf4uxO8M27GX406n9kOOeScOH9IQds= +sigs.k8s.io/kustomize/cmd/config v0.14.1/go.mod h1:Sw1cPsFqh4uYczCWKlidPgMrsffLPCAB+7ytYLlauY4= sigs.k8s.io/kustomize/kustomize/v5 v5.4.2 h1:9Zl5Gqg3XMdBEvkR54pVLCBj7FVO7W+VPNDDEzD6AyE= sigs.k8s.io/kustomize/kustomize/v5 v5.4.2/go.mod h1:5ypfJVYlPb2MKKeoGknVLxvHemDlQT+szI4+KOhnD6k= sigs.k8s.io/kustomize/kyaml v0.17.1 h1:TnxYQxFXzbmNG6gOINgGWQt09GghzgTP6mIurOgrLCQ= From 3422dcb0725b70fa9dcdc680873889b7c4f70266 Mon Sep 17 00:00:00 2001 From: sheidkamp Date: Thu, 14 Nov 2024 10:19:08 -0500 Subject: [PATCH 02/14] move changelog --- .../{v1.18.0-beta35 => v1.18.0-beta34}/remove-external-apis.yaml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename changelog/{v1.18.0-beta35 => v1.18.0-beta34}/remove-external-apis.yaml (100%) diff --git a/changelog/v1.18.0-beta35/remove-external-apis.yaml b/changelog/v1.18.0-beta34/remove-external-apis.yaml similarity index 100% rename from changelog/v1.18.0-beta35/remove-external-apis.yaml rename to changelog/v1.18.0-beta34/remove-external-apis.yaml From ed0111fd89243d4cc4fed281bdda0fa312902703 Mon Sep 17 00:00:00 2001 From: sheidkamp Date: Thu, 14 Nov 2024 10:30:03 -0500 Subject: [PATCH 03/14] pass back error --- generate.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/generate.go b/generate.go index e0bdfa302b5..d5d749b3e1b 100644 --- a/generate.go +++ b/generate.go @@ -84,11 +84,15 @@ func main() { log.Fatalf("generate failed!: %v", err) } - removeExternalDocs() + err := removeExternalApiDocs() + if err != nil { + log.Fatalf("failed to remove external api docs: %v", err) + } + log.Printf("finished generating code for gloo") } -func removeExternalDocs() { - // as requested here: https://github.com/solo-io/solo-projects/issues/6768 - os.RemoveAll("docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/") +func removeExternalApiDocs() error { + const externalApiDocsPath = "docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/" + return os.RemoveAll(externalApiDocsPath) } From 4897f2233b9c5f1d67ed5ab66b5a3383beb8ec9f Mon Sep 17 00:00:00 2001 From: changelog-bot Date: Thu, 14 Nov 2024 16:31:06 +0000 Subject: [PATCH 04/14] Adding changelog file to new location --- changelog/v1.18.0-beta35/remove-external-apis.yaml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 changelog/v1.18.0-beta35/remove-external-apis.yaml diff --git a/changelog/v1.18.0-beta35/remove-external-apis.yaml b/changelog/v1.18.0-beta35/remove-external-apis.yaml new file mode 100644 index 00000000000..8d839d18c2b --- /dev/null +++ b/changelog/v1.18.0-beta35/remove-external-apis.yaml @@ -0,0 +1,6 @@ +changelog: + - type: NON_USER_FACING + issueLink: https://github.com/solo-io/solo-projects/issues/6768 + resolvesIssue: false + description: >- + After generation, remove docs for external APIs From eba506bdb9c5cc3401481e291b70075bcc743c6b Mon Sep 17 00:00:00 2001 From: changelog-bot Date: Thu, 14 Nov 2024 16:31:06 +0000 Subject: [PATCH 05/14] Deleting changelog file from old location --- changelog/v1.18.0-beta34/remove-external-apis.yaml | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 changelog/v1.18.0-beta34/remove-external-apis.yaml diff --git a/changelog/v1.18.0-beta34/remove-external-apis.yaml b/changelog/v1.18.0-beta34/remove-external-apis.yaml deleted file mode 100644 index 8d839d18c2b..00000000000 --- a/changelog/v1.18.0-beta34/remove-external-apis.yaml +++ /dev/null @@ -1,6 +0,0 @@ -changelog: - - type: NON_USER_FACING - issueLink: https://github.com/solo-io/solo-projects/issues/6768 - resolvesIssue: false - description: >- - After generation, remove docs for external APIs From 9572f10a7f86f3b22d48718c96e2c56975ffc6ce Mon Sep 17 00:00:00 2001 From: sheidkamp Date: Thu, 14 Nov 2024 11:45:58 -0500 Subject: [PATCH 06/14] generate --- go.sum | 615 --------------------------------------------------------- 1 file changed, 615 deletions(-) diff --git a/go.sum b/go.sum index 767cb2014db..c6d19ef7b1f 100644 --- a/go.sum +++ b/go.sum @@ -49,7 +49,6 @@ cloud.google.com/go v0.110.9/go.mod h1:rpxevX/0Lqvlbc88b7Sc1SPNdyK1riNBTUU6JXhYN cloud.google.com/go v0.110.10/go.mod h1:v1OoFqYxiBkUrruItNM3eT4lLByNjxmJSV/xDKJNnic= cloud.google.com/go v0.111.0/go.mod h1:0mibmpKP1TyOOFYQY5izo0LnT+ecvOQ0Sg3OdmMiNRU= cloud.google.com/go v0.112.0/go.mod h1:3jEEVwZ/MHU4djK5t5RHuKOA/GbLddgTdVubX1qnPD4= -cloud.google.com/go v0.112.1 h1:uJSeirPke5UNZHIb4SxfZklVSiWWVqW4oXlETwZziwM= cloud.google.com/go v0.112.1/go.mod h1:+Vbu+Y1UU+I1rjmzeMOb/8RfkKJK2Gyxi1X6jJCZLo4= cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= @@ -58,7 +57,6 @@ cloud.google.com/go/accessapproval v1.7.1/go.mod h1:JYczztsHRMK7NTXb6Xw+dwbs/WnO cloud.google.com/go/accessapproval v1.7.2/go.mod h1:/gShiq9/kK/h8T/eEn1BTzalDvk0mZxJlhfw0p+Xuc0= cloud.google.com/go/accessapproval v1.7.3/go.mod h1:4l8+pwIxGTNqSf4T3ds8nLO94NQf0W/KnMNuQ9PbnP8= cloud.google.com/go/accessapproval v1.7.4/go.mod h1:/aTEh45LzplQgFYdQdwPMR9YdX0UlhBmvB84uAmQKUc= -cloud.google.com/go/accessapproval v1.7.5 h1:uzmAMSgYcnlHa9X9YSQZ4Q1wlfl4NNkZyQgho1Z6p04= cloud.google.com/go/accessapproval v1.7.5/go.mod h1:g88i1ok5dvQ9XJsxpUInWWvUBrIZhyPDPbk4T01OoJ0= cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= @@ -69,7 +67,6 @@ cloud.google.com/go/accesscontextmanager v1.8.1/go.mod h1:JFJHfvuaTC+++1iL1coPiG cloud.google.com/go/accesscontextmanager v1.8.2/go.mod h1:E6/SCRM30elQJ2PKtFMs2YhfJpZSNcJyejhuzoId4Zk= cloud.google.com/go/accesscontextmanager v1.8.3/go.mod h1:4i/JkF2JiFbhLnnpnfoTX5vRXfhf9ukhU1ANOTALTOQ= cloud.google.com/go/accesscontextmanager v1.8.4/go.mod h1:ParU+WbMpD34s5JFEnGAnPBYAgUHozaTmDJU7aCU9+M= -cloud.google.com/go/accesscontextmanager v1.8.5 h1:2GLNaNu9KRJhJBFTIVRoPwk6xE5mUDgD47abBq4Zp/I= cloud.google.com/go/accesscontextmanager v1.8.5/go.mod h1:TInEhcZ7V9jptGNqN3EzZ5XMhT6ijWxTGjzyETwmL0Q= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= @@ -88,7 +85,6 @@ cloud.google.com/go/aiplatform v1.54.0/go.mod h1:pwZMGvqe0JRkI1GWSZCtnAfrR4K1bv6 cloud.google.com/go/aiplatform v1.57.0/go.mod h1:pwZMGvqe0JRkI1GWSZCtnAfrR4K1bv65IHILGA//VEU= cloud.google.com/go/aiplatform v1.58.0/go.mod h1:pwZMGvqe0JRkI1GWSZCtnAfrR4K1bv65IHILGA//VEU= cloud.google.com/go/aiplatform v1.58.2/go.mod h1:c3kCiVmb6UC1dHAjZjcpDj6ZS0bHQ2slL88ZjC2LtlA= -cloud.google.com/go/aiplatform v1.60.0 h1:0cSrii1ZeLr16MbBoocyy5KVnrSdiQ3KN/vtrTe7RqE= cloud.google.com/go/aiplatform v1.60.0/go.mod h1:eTlGuHOahHprZw3Hio5VKmtThIOak5/qy6pzdsqcQnM= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= @@ -101,7 +97,6 @@ cloud.google.com/go/analytics v0.21.4/go.mod h1:zZgNCxLCy8b2rKKVfC1YkC2vTrpfZmeR cloud.google.com/go/analytics v0.21.5/go.mod h1:BQtOBHWTlJ96axpPPnw5CvGJ6i3Ve/qX2fTxR8qWyr8= cloud.google.com/go/analytics v0.21.6/go.mod h1:eiROFQKosh4hMaNhF85Oc9WO97Cpa7RggD40e/RBy8w= cloud.google.com/go/analytics v0.22.0/go.mod h1:eiROFQKosh4hMaNhF85Oc9WO97Cpa7RggD40e/RBy8w= -cloud.google.com/go/analytics v0.23.0 h1:Q+y94XH84jM8SK8O7qiY/PJRexb6n7dRbQ6PiUa4YGM= cloud.google.com/go/analytics v0.23.0/go.mod h1:YPd7Bvik3WS95KBok2gPXDqQPHy08TsCQG6CdUCb+u0= cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= @@ -110,7 +105,6 @@ cloud.google.com/go/apigateway v1.6.1/go.mod h1:ufAS3wpbRjqfZrzpvLC2oh0MFlpRJm2E cloud.google.com/go/apigateway v1.6.2/go.mod h1:CwMC90nnZElorCW63P2pAYm25AtQrHfuOkbRSHj0bT8= cloud.google.com/go/apigateway v1.6.3/go.mod h1:k68PXWpEs6BVDTtnLQAyG606Q3mz8pshItwPXjgv44Y= cloud.google.com/go/apigateway v1.6.4/go.mod h1:0EpJlVGH5HwAN4VF4Iec8TAzGN1aQgbxAWGJsnPCGGY= -cloud.google.com/go/apigateway v1.6.5 h1:sPXnpk+6TneKIrjCjcpX5YGsAKy3PTdpIchoj8/74OE= cloud.google.com/go/apigateway v1.6.5/go.mod h1:6wCwvYRckRQogyDDltpANi3zsCDl6kWi0b4Je+w2UiI= cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= @@ -119,7 +113,6 @@ cloud.google.com/go/apigeeconnect v1.6.1/go.mod h1:C4awq7x0JpLtrlQCr8AzVIzAaYgng cloud.google.com/go/apigeeconnect v1.6.2/go.mod h1:s6O0CgXT9RgAxlq3DLXvG8riw8PYYbU/v25jqP3Dy18= cloud.google.com/go/apigeeconnect v1.6.3/go.mod h1:peG0HFQ0si2bN15M6QSjEW/W7Gy3NYkWGz7pFz13cbo= cloud.google.com/go/apigeeconnect v1.6.4/go.mod h1:CapQCWZ8TCjnU0d7PobxhpOdVz/OVJ2Hr/Zcuu1xFx0= -cloud.google.com/go/apigeeconnect v1.6.5 h1:CrfIKv9Go3fh/QfQgisU3MeP90Ww7l/sVGmr3TpECo8= cloud.google.com/go/apigeeconnect v1.6.5/go.mod h1:MEKm3AiT7s11PqTfKE3KZluZA9O91FNysvd3E6SJ6Ow= cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= @@ -128,11 +121,9 @@ cloud.google.com/go/apigeeregistry v0.7.1/go.mod h1:1XgyjZye4Mqtw7T9TsY4NW10U7Bo cloud.google.com/go/apigeeregistry v0.7.2/go.mod h1:9CA2B2+TGsPKtfi3F7/1ncCCsL62NXBRfM6iPoGSM+8= cloud.google.com/go/apigeeregistry v0.8.1/go.mod h1:MW4ig1N4JZQsXmBSwH4rwpgDonocz7FPBSw6XPGHmYw= cloud.google.com/go/apigeeregistry v0.8.2/go.mod h1:h4v11TDGdeXJDJvImtgK2AFVvMIgGWjSb0HRnBSjcX8= -cloud.google.com/go/apigeeregistry v0.8.3 h1:C+QU2K+DzDjk4g074ouwHQGkoff1h5OMQp6sblCVreQ= cloud.google.com/go/apigeeregistry v0.8.3/go.mod h1:aInOWnqF4yMQx8kTjDqHNXjZGh/mxeNlAf52YqtASUs= cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= -cloud.google.com/go/apikeys v0.6.0 h1:B9CdHFZTFjVti89tmyXXrO+7vSNo2jvZuHG8zD5trdQ= cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= @@ -143,7 +134,6 @@ cloud.google.com/go/appengine v1.8.1/go.mod h1:6NJXGLVhZCN9aQ/AEDvmfzKEfoYBlfB80 cloud.google.com/go/appengine v1.8.2/go.mod h1:WMeJV9oZ51pvclqFN2PqHoGnys7rK0rz6s3Mp6yMvDo= cloud.google.com/go/appengine v1.8.3/go.mod h1:2oUPZ1LVZ5EXi+AF1ihNAF+S8JrzQ3till5m9VQkrsk= cloud.google.com/go/appengine v1.8.4/go.mod h1:TZ24v+wXBujtkK77CXCpjZbnuTvsFNT41MUaZ28D6vg= -cloud.google.com/go/appengine v1.8.5 h1:l2SviT44zWQiOv8bPoMBzW0vOcMO22iO0s+nVtVhdts= cloud.google.com/go/appengine v1.8.5/go.mod h1:uHBgNoGLTS5di7BvU25NFDuKa82v0qQLjyMJLuPQrVo= cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= @@ -153,7 +143,6 @@ cloud.google.com/go/area120 v0.8.1/go.mod h1:BVfZpGpB7KFVNxPiQBuHkX6Ed0rS51xIgmG cloud.google.com/go/area120 v0.8.2/go.mod h1:a5qfo+x77SRLXnCynFWPUZhnZGeSgvQ+Y0v1kSItkh4= cloud.google.com/go/area120 v0.8.3/go.mod h1:5zj6pMzVTH+SVHljdSKC35sriR/CVvQZzG/Icdyriw0= cloud.google.com/go/area120 v0.8.4/go.mod h1:jfawXjxf29wyBXr48+W+GyX/f8fflxp642D/bb9v68M= -cloud.google.com/go/area120 v0.8.5 h1:vTs08KPLN/iMzTbxpu5ciL06KcsrVPMjz4IwcQyZ4uY= cloud.google.com/go/area120 v0.8.5/go.mod h1:BcoFCbDLZjsfe4EkCnEq1LKvHSK0Ew/zk5UFu6GMyA0= cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= @@ -168,7 +157,6 @@ cloud.google.com/go/artifactregistry v1.14.2/go.mod h1:Xk+QbsKEb0ElmyeMfdHAey41B cloud.google.com/go/artifactregistry v1.14.3/go.mod h1:A2/E9GXnsyXl7GUvQ/2CjHA+mVRoWAXC0brg2os+kNI= cloud.google.com/go/artifactregistry v1.14.4/go.mod h1:SJJcZTMv6ce0LDMUnihCN7WSrI+kBSFV0KIKo8S8aYU= cloud.google.com/go/artifactregistry v1.14.6/go.mod h1:np9LSFotNWHcjnOgh8UVK0RFPCTUGbO0ve3384xyHfE= -cloud.google.com/go/artifactregistry v1.14.7 h1:W9sVlyb1VRcUf83w7aM3yMsnp4HS4PoyGqYQNG0O5lI= cloud.google.com/go/artifactregistry v1.14.7/go.mod h1:0AUKhzWQzfmeTvT4SjfI4zjot72EMfrkvL9g9aRjnnM= cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= @@ -186,7 +174,6 @@ cloud.google.com/go/asset v1.15.3/go.mod h1:yYLfUD4wL4X589A9tYrv4rFrba0QlDeag0CM cloud.google.com/go/asset v1.16.0/go.mod h1:yYLfUD4wL4X589A9tYrv4rFrba0QlDeag0CMcM5ggXU= cloud.google.com/go/asset v1.17.0/go.mod h1:yYLfUD4wL4X589A9tYrv4rFrba0QlDeag0CMcM5ggXU= cloud.google.com/go/asset v1.17.1/go.mod h1:byvDw36UME5AzGNK7o4JnOnINkwOZ1yRrGrKIahHrng= -cloud.google.com/go/asset v1.17.2 h1:xgFnBP3luSbUcC9RWJvb3Zkt+y/wW6PKwPHr3ssnIP8= cloud.google.com/go/asset v1.17.2/go.mod h1:SVbzde67ehddSoKf5uebOD1sYw8Ab/jD/9EIeWg99q4= cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= @@ -198,7 +185,6 @@ cloud.google.com/go/assuredworkloads v1.11.1/go.mod h1:+F04I52Pgn5nmPG36CWFtxmav cloud.google.com/go/assuredworkloads v1.11.2/go.mod h1:O1dfr+oZJMlE6mw0Bp0P1KZSlj5SghMBvTpZqIcUAW4= cloud.google.com/go/assuredworkloads v1.11.3/go.mod h1:vEjfTKYyRUaIeA0bsGJceFV2JKpVRgyG2op3jfa59Zs= cloud.google.com/go/assuredworkloads v1.11.4/go.mod h1:4pwwGNwy1RP0m+y12ef3Q/8PaiWrIDQ6nD2E8kvWI9U= -cloud.google.com/go/assuredworkloads v1.11.5 h1:gCrN3IyvqY3cP0wh2h43d99CgH3G+WYs9CeuFVKChR8= cloud.google.com/go/assuredworkloads v1.11.5/go.mod h1:FKJ3g3ZvkL2D7qtqIGnDufFkHxwIpNM9vtmhvt+6wqk= cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= @@ -209,7 +195,6 @@ cloud.google.com/go/automl v1.13.1/go.mod h1:1aowgAHWYZU27MybSCFiukPO7xnyawv7pt3 cloud.google.com/go/automl v1.13.2/go.mod h1:gNY/fUmDEN40sP8amAX3MaXkxcqPIn7F1UIIPZpy4Mg= cloud.google.com/go/automl v1.13.3/go.mod h1:Y8KwvyAZFOsMAPqUCfNu1AyclbC6ivCUF/MTwORymyY= cloud.google.com/go/automl v1.13.4/go.mod h1:ULqwX/OLZ4hBVfKQaMtxMSTlPx0GqGbWN8uA/1EqCP8= -cloud.google.com/go/automl v1.13.5 h1:ijiJy9sYWh75WrqImXsfWc1e3HR3iO+ef9fvW03Ig/4= cloud.google.com/go/automl v1.13.5/go.mod h1:MDw3vLem3yh+SvmSgeYUmUKqyls6NzSumDm9OJ3xJ1Y= cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= @@ -219,7 +204,6 @@ cloud.google.com/go/baremetalsolution v1.2.0/go.mod h1:68wi9AwPYkEWIUT4SvSGS9UJw cloud.google.com/go/baremetalsolution v1.2.1/go.mod h1:3qKpKIw12RPXStwQXcbhfxVj1dqQGEvcmA+SX/mUR88= cloud.google.com/go/baremetalsolution v1.2.2/go.mod h1:O5V6Uu1vzVelYahKfwEWRMaS3AbCkeYHy3145s1FkhM= cloud.google.com/go/baremetalsolution v1.2.3/go.mod h1:/UAQ5xG3faDdy180rCUv47e0jvpp3BFxT+Cl0PFjw5g= -cloud.google.com/go/baremetalsolution v1.2.4 h1:LFydisRmS7hQk9P/YhekwuZGqb45TW4QavcrMToWo5A= cloud.google.com/go/baremetalsolution v1.2.4/go.mod h1:BHCmxgpevw9IEryE99HbYEfxXkAEA3hkMJbYYsHtIuY= cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= @@ -231,7 +215,6 @@ cloud.google.com/go/batch v1.5.1/go.mod h1:RpBuIYLkQu8+CWDk3dFD/t/jOCGuUpkpX+Y0n cloud.google.com/go/batch v1.6.1/go.mod h1:urdpD13zPe6YOK+6iZs/8/x2VBRofvblLpx0t57vM98= cloud.google.com/go/batch v1.6.3/go.mod h1:J64gD4vsNSA2O5TtDB5AAux3nJ9iV8U3ilg3JDBYejU= cloud.google.com/go/batch v1.7.0/go.mod h1:J64gD4vsNSA2O5TtDB5AAux3nJ9iV8U3ilg3JDBYejU= -cloud.google.com/go/batch v1.8.0 h1:2HK4JerwVaIcCh/lJiHwh6+uswPthiMMWhiSWLELayk= cloud.google.com/go/batch v1.8.0/go.mod h1:k8V7f6VE2Suc0zUM4WtoibNrA6D3dqBpB+++e3vSGYc= cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= @@ -242,7 +225,6 @@ cloud.google.com/go/beyondcorp v1.0.0/go.mod h1:YhxDWw946SCbmcWo3fAhw3V4XZMSpQ/V cloud.google.com/go/beyondcorp v1.0.1/go.mod h1:zl/rWWAFVeV+kx+X2Javly7o1EIQThU4WlkynffL/lk= cloud.google.com/go/beyondcorp v1.0.2/go.mod h1:m8cpG7caD+5su+1eZr+TSvF6r21NdLJk4f9u4SP2Ntc= cloud.google.com/go/beyondcorp v1.0.3/go.mod h1:HcBvnEd7eYr+HGDd5ZbuVmBYX019C6CEXBonXbCVwJo= -cloud.google.com/go/beyondcorp v1.0.4 h1:qs0J0O9Ol2h1yA0AU+r7l3hOCPzs2MjE1d6d/kaHIKo= cloud.google.com/go/beyondcorp v1.0.4/go.mod h1:Gx8/Rk2MxrvWfn4WIhHIG1NV7IBfg14pTKv1+EArVcc= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= @@ -263,7 +245,6 @@ cloud.google.com/go/bigquery v1.55.0/go.mod h1:9Y5I3PN9kQWuid6183JFhOGOW3GcirA5L cloud.google.com/go/bigquery v1.56.0/go.mod h1:KDcsploXTEY7XT3fDQzMUZlpQLHzE4itubHrnmhUrZA= cloud.google.com/go/bigquery v1.57.1/go.mod h1:iYzC0tGVWt1jqSzBHqCr3lrRn0u13E8e+AqowBsDgug= cloud.google.com/go/bigquery v1.58.0/go.mod h1:0eh4mWNY0KrBTjUzLjoYImapGORq9gEPT7MWjCy9lik= -cloud.google.com/go/bigquery v1.59.1 h1:CpT+/njKuKT3CEmswm6IbhNu9u35zt5dO4yPDLW+nG4= cloud.google.com/go/bigquery v1.59.1/go.mod h1:VP1UJYgevyTwsV7desjzNzDND5p6hZB+Z8gZJN1GQUc= cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= @@ -278,7 +259,6 @@ cloud.google.com/go/billing v1.17.2/go.mod h1:u/AdV/3wr3xoRBk5xvUzYMS1IawOAPwQMu cloud.google.com/go/billing v1.17.3/go.mod h1:z83AkoZ7mZwBGT3yTnt6rSGI1OOsHSIi6a5M3mJ8NaU= cloud.google.com/go/billing v1.17.4/go.mod h1:5DOYQStCxquGprqfuid/7haD7th74kyMBHkjO/OvDtk= cloud.google.com/go/billing v1.18.0/go.mod h1:5DOYQStCxquGprqfuid/7haD7th74kyMBHkjO/OvDtk= -cloud.google.com/go/billing v1.18.2 h1:oWUEQvuC4JvtnqLZ35zgzdbuHt4Itbftvzbe6aEyFdE= cloud.google.com/go/billing v1.18.2/go.mod h1:PPIwVsOOQ7xzbADCwNe8nvK776QpfrOAUkvKjCUcpSE= cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= @@ -291,7 +271,6 @@ cloud.google.com/go/binaryauthorization v1.7.1/go.mod h1:GTAyfRWYgcbsP3NJogpV3ye cloud.google.com/go/binaryauthorization v1.7.2/go.mod h1:kFK5fQtxEp97m92ziy+hbu+uKocka1qRRL8MVJIgjv0= cloud.google.com/go/binaryauthorization v1.7.3/go.mod h1:VQ/nUGRKhrStlGr+8GMS8f6/vznYLkdK5vaKfdCIpvU= cloud.google.com/go/binaryauthorization v1.8.0/go.mod h1:VQ/nUGRKhrStlGr+8GMS8f6/vznYLkdK5vaKfdCIpvU= -cloud.google.com/go/binaryauthorization v1.8.1 h1:1jcyh2uIUwSZkJ/JmL8kd5SUkL/Krbv8zmYLEbAz6kY= cloud.google.com/go/binaryauthorization v1.8.1/go.mod h1:1HVRyBerREA/nhI7yLang4Zn7vfNVA3okoAR9qYQJAQ= cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= @@ -300,7 +279,6 @@ cloud.google.com/go/certificatemanager v1.7.1/go.mod h1:iW8J3nG6SaRYImIa+wXQ0g8I cloud.google.com/go/certificatemanager v1.7.2/go.mod h1:15SYTDQMd00kdoW0+XY5d9e+JbOPjp24AvF48D8BbcQ= cloud.google.com/go/certificatemanager v1.7.3/go.mod h1:T/sZYuC30PTag0TLo28VedIRIj1KPGcOQzjWAptHa00= cloud.google.com/go/certificatemanager v1.7.4/go.mod h1:FHAylPe/6IIKuaRmHbjbdLhGhVQ+CWHSD5Jq0k4+cCE= -cloud.google.com/go/certificatemanager v1.7.5 h1:UMBr/twXvH3jcT5J5/YjRxf2tvwTYIfrpemTebe0txc= cloud.google.com/go/certificatemanager v1.7.5/go.mod h1:uX+v7kWqy0Y3NG/ZhNvffh0kuqkKZIXdvlZRO7z0VtM= cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= @@ -312,7 +290,6 @@ cloud.google.com/go/channel v1.17.1/go.mod h1:xqfzcOZAcP4b/hUDH0GkGg1Sd5to6di1HO cloud.google.com/go/channel v1.17.2/go.mod h1:aT2LhnftnyfQceFql5I/mP8mIbiiJS4lWqgXA815zMk= cloud.google.com/go/channel v1.17.3/go.mod h1:QcEBuZLGGrUMm7kNj9IbU1ZfmJq2apotsV83hbxX7eE= cloud.google.com/go/channel v1.17.4/go.mod h1:QcEBuZLGGrUMm7kNj9IbU1ZfmJq2apotsV83hbxX7eE= -cloud.google.com/go/channel v1.17.5 h1:/omiBnyFjm4S1ETHoOmJbL7LH7Ljcei4rYG6Sj3hc80= cloud.google.com/go/channel v1.17.5/go.mod h1:FlpaOSINDAXgEext0KMaBq/vwpLMkkPAw9b2mApQeHc= cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= @@ -326,7 +303,6 @@ cloud.google.com/go/cloudbuild v1.14.1/go.mod h1:K7wGc/3zfvmYWOWwYTgF/d/UVJhS4pu cloud.google.com/go/cloudbuild v1.14.2/go.mod h1:Bn6RO0mBYk8Vlrt+8NLrru7WXlQ9/RDWz2uo5KG1/sg= cloud.google.com/go/cloudbuild v1.14.3/go.mod h1:eIXYWmRt3UtggLnFGx4JvXcMj4kShhVzGndL1LwleEM= cloud.google.com/go/cloudbuild v1.15.0/go.mod h1:eIXYWmRt3UtggLnFGx4JvXcMj4kShhVzGndL1LwleEM= -cloud.google.com/go/cloudbuild v1.15.1 h1:ZB6oOmJo+MTov9n629fiCrO9YZPOg25FZvQ7gIHu5ng= cloud.google.com/go/cloudbuild v1.15.1/go.mod h1:gIofXZSu+XD2Uy+qkOrGKEx45zd7s28u/k8f99qKals= cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= @@ -336,7 +312,6 @@ cloud.google.com/go/clouddms v1.7.0/go.mod h1:MW1dC6SOtI/tPNCciTsXtsGNEM0i0Occyk cloud.google.com/go/clouddms v1.7.1/go.mod h1:o4SR8U95+P7gZ/TX+YbJxehOCsM+fe6/brlrFquiszk= cloud.google.com/go/clouddms v1.7.2/go.mod h1:Rk32TmWmHo64XqDvW7jgkFQet1tUKNVzs7oajtJT3jU= cloud.google.com/go/clouddms v1.7.3/go.mod h1:fkN2HQQNUYInAU3NQ3vRLkV2iWs8lIdmBKOx4nrL6Hc= -cloud.google.com/go/clouddms v1.7.4 h1:Sr0Zo5EAcPQiCBgHWICg3VGkcdS/LLP1d9SR7qQBM/s= cloud.google.com/go/clouddms v1.7.4/go.mod h1:RdrVqoFG9RWI5AvZ81SxJ/xvxPdtcRhFotwdE79DieY= cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= @@ -349,7 +324,6 @@ cloud.google.com/go/cloudtasks v1.12.1/go.mod h1:a9udmnou9KO2iulGscKR0qBYjreuX8o cloud.google.com/go/cloudtasks v1.12.2/go.mod h1:A7nYkjNlW2gUoROg1kvJrQGhJP/38UaWwsnuBDOBVUk= cloud.google.com/go/cloudtasks v1.12.3/go.mod h1:GPVXhIOSGEaR+3xT4Fp72ScI+HjHffSS4B8+BaBB5Ys= cloud.google.com/go/cloudtasks v1.12.4/go.mod h1:BEPu0Gtt2dU6FxZHNqqNdGqIG86qyWKBPGnsb7udGY0= -cloud.google.com/go/cloudtasks v1.12.6 h1:EUt1hIZ9bLv8Iz9yWaCrqgMnIU+Tdh0yXM1MMVGhjfE= cloud.google.com/go/cloudtasks v1.12.6/go.mod h1:b7c7fe4+TJsFZfDyzO51F7cjq7HLUlRi/KZQLQjDsaY= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= @@ -375,15 +349,12 @@ cloud.google.com/go/compute v1.23.2/go.mod h1:JJ0atRC0J/oWYiiVBmsSsrRnh92DhZPG4h cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= cloud.google.com/go/compute v1.23.4/go.mod h1:/EJMj55asU6kAFnuZET8zqgwgJ9FvXWXOkkfQZa4ioI= cloud.google.com/go/compute v1.24.0/go.mod h1:kw1/T+h/+tK2LJK0wiPPx1intgdAM3j/g3hFDlscY40= -cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= -cloud.google.com/go/compute/metadata v0.5.2 h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo= -cloud.google.com/go/compute/metadata v0.5.2/go.mod h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k= cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= @@ -395,7 +366,6 @@ cloud.google.com/go/contactcenterinsights v1.11.2/go.mod h1:A9PIR5ov5cRcd28KlDbm cloud.google.com/go/contactcenterinsights v1.11.3/go.mod h1:HHX5wrz5LHVAwfI2smIotQG9x8Qd6gYilaHcLLLmNis= cloud.google.com/go/contactcenterinsights v1.12.0/go.mod h1:HHX5wrz5LHVAwfI2smIotQG9x8Qd6gYilaHcLLLmNis= cloud.google.com/go/contactcenterinsights v1.12.1/go.mod h1:HHX5wrz5LHVAwfI2smIotQG9x8Qd6gYilaHcLLLmNis= -cloud.google.com/go/contactcenterinsights v1.13.0 h1:6Vs/YnDG5STGjlWMEjN/xtmft7MrOTOnOZYUZtGTx0w= cloud.google.com/go/contactcenterinsights v1.13.0/go.mod h1:ieq5d5EtHsu8vhe2y3amtZ+BE+AQwX5qAy7cpo0POsI= cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= @@ -411,7 +381,6 @@ cloud.google.com/go/container v1.27.1/go.mod h1:b1A1gJeTBXVLQ6GGw9/9M4FG94BEGsqJ cloud.google.com/go/container v1.28.0/go.mod h1:b1A1gJeTBXVLQ6GGw9/9M4FG94BEGsqJ5+t4d/3N7O4= cloud.google.com/go/container v1.29.0/go.mod h1:b1A1gJeTBXVLQ6GGw9/9M4FG94BEGsqJ5+t4d/3N7O4= cloud.google.com/go/container v1.30.1/go.mod h1:vkbfX0EnAKL/vgVECs5BZn24e1cJROzgszJirRKQ4Bg= -cloud.google.com/go/container v1.31.0 h1:MAaNH7VRNPWEhvqOypq2j+7ONJKrKzon4v9nS3nLZe0= cloud.google.com/go/container v1.31.0/go.mod h1:7yABn5s3Iv3lmw7oMmyGbeV6tQj86njcTijkkGuvdZA= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= @@ -422,7 +391,6 @@ cloud.google.com/go/containeranalysis v0.11.0/go.mod h1:4n2e99ZwpGxpNcz+YsFT1dfO cloud.google.com/go/containeranalysis v0.11.1/go.mod h1:rYlUOM7nem1OJMKwE1SadufX0JP3wnXj844EtZAwWLY= cloud.google.com/go/containeranalysis v0.11.2/go.mod h1:xibioGBC1MD2j4reTyV1xY1/MvKaz+fyM9ENWhmIeP8= cloud.google.com/go/containeranalysis v0.11.3/go.mod h1:kMeST7yWFQMGjiG9K7Eov+fPNQcGhb8mXj/UcTiWw9U= -cloud.google.com/go/containeranalysis v0.11.4 h1:doJ0M1ljS4hS0D2UbHywlHGwB7sQLNrt9vFk9Zyi7vY= cloud.google.com/go/containeranalysis v0.11.4/go.mod h1:cVZT7rXYBS9NG1rhQbWL9pWbXCKHWJPYraE8/FTSYPE= cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= @@ -442,7 +410,6 @@ cloud.google.com/go/datacatalog v1.18.2/go.mod h1:SPVgWW2WEMuWHA+fHodYjmxPiMqcOi cloud.google.com/go/datacatalog v1.18.3/go.mod h1:5FR6ZIF8RZrtml0VUao22FxhdjkoG+a0866rEnObryM= cloud.google.com/go/datacatalog v1.19.0/go.mod h1:5FR6ZIF8RZrtml0VUao22FxhdjkoG+a0866rEnObryM= cloud.google.com/go/datacatalog v1.19.2/go.mod h1:2YbODwmhpLM4lOFe3PuEhHK9EyTzQJ5AXgIy7EDKTEE= -cloud.google.com/go/datacatalog v1.19.3 h1:A0vKYCQdxQuV4Pi0LL9p39Vwvg4jH5yYveMv50gU5Tw= cloud.google.com/go/datacatalog v1.19.3/go.mod h1:ra8V3UAsciBpJKQ+z9Whkxzxv7jmQg1hfODr3N3YPJ4= cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= @@ -451,7 +418,6 @@ cloud.google.com/go/dataflow v0.9.1/go.mod h1:Wp7s32QjYuQDWqJPFFlnBKhkAtiFpMTdg0 cloud.google.com/go/dataflow v0.9.2/go.mod h1:vBfdBZ/ejlTaYIGB3zB4T08UshH70vbtZeMD+urnUSo= cloud.google.com/go/dataflow v0.9.3/go.mod h1:HI4kMVjcHGTs3jTHW/kv3501YW+eloiJSLxkJa/vqFE= cloud.google.com/go/dataflow v0.9.4/go.mod h1:4G8vAkHYCSzU8b/kmsoR2lWyHJD85oMJPHMtan40K8w= -cloud.google.com/go/dataflow v0.9.5 h1:RYHtcPhmE664+F0Je46p+NvFbG8z//KCXp+uEqB4jZU= cloud.google.com/go/dataflow v0.9.5/go.mod h1:udl6oi8pfUHnL0z6UN9Lf9chGqzDMVqcYTcZ1aPnCZQ= cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= @@ -462,7 +428,6 @@ cloud.google.com/go/dataform v0.8.1/go.mod h1:3BhPSiw8xmppbgzeBbmDvmSWlwouuJkXsX cloud.google.com/go/dataform v0.8.2/go.mod h1:X9RIqDs6NbGPLR80tnYoPNiO1w0wenKTb8PxxlhTMKM= cloud.google.com/go/dataform v0.8.3/go.mod h1:8nI/tvv5Fso0drO3pEjtowz58lodx8MVkdV2q0aPlqg= cloud.google.com/go/dataform v0.9.1/go.mod h1:pWTg+zGQ7i16pyn0bS1ruqIE91SdL2FDMvEYu/8oQxs= -cloud.google.com/go/dataform v0.9.2 h1:5e4eqGrd0iDTCg4Q+VlAao5j2naKAA7xRurNtwmUknU= cloud.google.com/go/dataform v0.9.2/go.mod h1:S8cQUwPNWXo7m/g3DhWHsLBoufRNn9EgFrMgne2j7cI= cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= @@ -471,7 +436,6 @@ cloud.google.com/go/datafusion v1.7.1/go.mod h1:KpoTBbFmoToDExJUso/fcCiguGDk7MEz cloud.google.com/go/datafusion v1.7.2/go.mod h1:62K2NEC6DRlpNmI43WHMWf9Vg/YvN6QVi8EVwifElI0= cloud.google.com/go/datafusion v1.7.3/go.mod h1:eoLt1uFXKGBq48jy9LZ+Is8EAVLnmn50lNncLzwYokE= cloud.google.com/go/datafusion v1.7.4/go.mod h1:BBs78WTOLYkT4GVZIXQCZT3GFpkpDN4aBY4NDX/jVlM= -cloud.google.com/go/datafusion v1.7.5 h1:HQ/BUOP8OIGJxuztpYvNvlb+/U+/Bfs9SO8tQbh61fk= cloud.google.com/go/datafusion v1.7.5/go.mod h1:bYH53Oa5UiqahfbNK9YuYKteeD4RbQSNMx7JF7peGHc= cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= @@ -480,7 +444,6 @@ cloud.google.com/go/datalabeling v0.8.1/go.mod h1:XS62LBSVPbYR54GfYQsPXZjTW8UxCK cloud.google.com/go/datalabeling v0.8.2/go.mod h1:cyDvGHuJWu9U/cLDA7d8sb9a0tWLEletStu2sTmg3BE= cloud.google.com/go/datalabeling v0.8.3/go.mod h1:tvPhpGyS/V7lqjmb3V0TaDdGvhzgR1JoW7G2bpi2UTI= cloud.google.com/go/datalabeling v0.8.4/go.mod h1:Z1z3E6LHtffBGrNUkKwbwbDxTiXEApLzIgmymj8A3S8= -cloud.google.com/go/datalabeling v0.8.5 h1:GpIFRdm0qIZNsxqURFJwHt0ZBJZ0nF/mUVEigR7PH/8= cloud.google.com/go/datalabeling v0.8.5/go.mod h1:IABB2lxQnkdUbMnQaOl2prCOfms20mcPxDBm36lps+s= cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= @@ -496,11 +459,9 @@ cloud.google.com/go/dataplex v1.11.2/go.mod h1:mHJYQQ2VEJHsyoC0OdNyy988DvEbPhqFs cloud.google.com/go/dataplex v1.13.0/go.mod h1:mHJYQQ2VEJHsyoC0OdNyy988DvEbPhqFs5OOLffLX0c= cloud.google.com/go/dataplex v1.14.0/go.mod h1:mHJYQQ2VEJHsyoC0OdNyy988DvEbPhqFs5OOLffLX0c= cloud.google.com/go/dataplex v1.14.1/go.mod h1:bWxQAbg6Smg+sca2+Ex7s8D9a5qU6xfXtwmq4BVReps= -cloud.google.com/go/dataplex v1.14.2 h1:fxIfdU8fxzR3clhOoNI7XFppvAmndxDu1AMH+qX9WKQ= cloud.google.com/go/dataplex v1.14.2/go.mod h1:0oGOSFlEKef1cQeAHXy4GZPB/Ife0fz/PxBf+ZymA2U= cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= -cloud.google.com/go/dataproc v1.12.0 h1:W47qHL3W4BPkAIbk4SWmIERwsWBaNnWm0P2sdx3YgGU= cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= cloud.google.com/go/dataproc/v2 v2.0.1/go.mod h1:7Ez3KRHdFGcfY7GcevBbvozX+zyWGcwLJvvAMwCaoZ4= cloud.google.com/go/dataproc/v2 v2.2.0/go.mod h1:lZR7AQtwZPvmINx5J87DSOOpTfof9LVZju6/Qo4lmcY= @@ -508,7 +469,6 @@ cloud.google.com/go/dataproc/v2 v2.2.1/go.mod h1:QdAJLaBjh+l4PVlVZcmrmhGccosY/om cloud.google.com/go/dataproc/v2 v2.2.2/go.mod h1:aocQywVmQVF4i8CL740rNI/ZRpsaaC1Wh2++BJ7HEJ4= cloud.google.com/go/dataproc/v2 v2.2.3/go.mod h1:G5R6GBc9r36SXv/RtZIVfB8SipI+xVn0bX5SxUzVYbY= cloud.google.com/go/dataproc/v2 v2.3.0/go.mod h1:G5R6GBc9r36SXv/RtZIVfB8SipI+xVn0bX5SxUzVYbY= -cloud.google.com/go/dataproc/v2 v2.4.0 h1:/u81Fd+BvCLp+xjctI1DiWVJn6cn9/s3Akc8xPH02yk= cloud.google.com/go/dataproc/v2 v2.4.0/go.mod h1:3B1Ht2aRB8VZIteGxQS/iNSJGzt9+CA0WGnDVMEm7Z4= cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= @@ -517,7 +477,6 @@ cloud.google.com/go/dataqna v0.8.1/go.mod h1:zxZM0Bl6liMePWsHA8RMGAfmTG34vJMapbH cloud.google.com/go/dataqna v0.8.2/go.mod h1:KNEqgx8TTmUipnQsScOoDpq/VlXVptUqVMZnt30WAPs= cloud.google.com/go/dataqna v0.8.3/go.mod h1:wXNBW2uvc9e7Gl5k8adyAMnLush1KVV6lZUhB+rqNu4= cloud.google.com/go/dataqna v0.8.4/go.mod h1:mySRKjKg5Lz784P6sCov3p1QD+RZQONRMRjzGNcFd0c= -cloud.google.com/go/dataqna v0.8.5 h1:9ybXs3nr9BzxSGC04SsvtuXaHY0qmJSLIpIAbZo9GqQ= cloud.google.com/go/dataqna v0.8.5/go.mod h1:vgihg1mz6n7pb5q2YJF7KlXve6tCglInd6XO0JGOlWM= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= @@ -527,7 +486,6 @@ cloud.google.com/go/datastore v1.12.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1 cloud.google.com/go/datastore v1.12.1/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= cloud.google.com/go/datastore v1.13.0/go.mod h1:KjdB88W897MRITkvWWJrg2OUtrR5XVj1EoLgSp6/N70= cloud.google.com/go/datastore v1.14.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8= -cloud.google.com/go/datastore v1.15.0 h1:0P9WcsQeTWjuD1H14JIY7XQscIPQ4Laje8ti96IC5vg= cloud.google.com/go/datastore v1.15.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8= cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= @@ -540,7 +498,6 @@ cloud.google.com/go/datastream v1.10.0/go.mod h1:hqnmr8kdUBmrnk65k5wNRoHSCYksvpd cloud.google.com/go/datastream v1.10.1/go.mod h1:7ngSYwnw95YFyTd5tOGBxHlOZiL+OtpjheqU7t2/s/c= cloud.google.com/go/datastream v1.10.2/go.mod h1:W42TFgKAs/om6x/CdXX5E4oiAsKlH+e8MTGy81zdYt0= cloud.google.com/go/datastream v1.10.3/go.mod h1:YR0USzgjhqA/Id0Ycu1VvZe8hEWwrkjuXrGbzeDOSEA= -cloud.google.com/go/datastream v1.10.4 h1:o1QDKMo/hk0FN7vhoUQURREuA0rgKmnYapB+1M+7Qz4= cloud.google.com/go/datastream v1.10.4/go.mod h1:7kRxPdxZxhPg3MFeCSulmAJnil8NJGGvSNdn4p1sRZo= cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= @@ -554,7 +511,6 @@ cloud.google.com/go/deploy v1.14.2/go.mod h1:e5XOUI5D+YGldyLNZ21wbp9S8otJbBE4i88 cloud.google.com/go/deploy v1.15.0/go.mod h1:e5XOUI5D+YGldyLNZ21wbp9S8otJbBE4i88PtO9x/2g= cloud.google.com/go/deploy v1.16.0/go.mod h1:e5XOUI5D+YGldyLNZ21wbp9S8otJbBE4i88PtO9x/2g= cloud.google.com/go/deploy v1.17.0/go.mod h1:XBr42U5jIr64t92gcpOXxNrqL2PStQCXHuKK5GRUuYo= -cloud.google.com/go/deploy v1.17.1 h1:m27Ojwj03gvpJqCbodLYiVmE9x4/LrHGGMjzc0LBfM4= cloud.google.com/go/deploy v1.17.1/go.mod h1:SXQyfsXrk0fBmgBHRzBjQbZhMfKZ3hMQBw5ym7MN/50= cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= @@ -575,7 +531,6 @@ cloud.google.com/go/dialogflow v1.47.0/go.mod h1:mHly4vU7cPXVweuB5R0zsYKPMzy240a cloud.google.com/go/dialogflow v1.48.0/go.mod h1:mHly4vU7cPXVweuB5R0zsYKPMzy240aQdAu06SqBbAQ= cloud.google.com/go/dialogflow v1.48.1/go.mod h1:C1sjs2/g9cEwjCltkKeYp3FFpz8BOzNondEaAlCpt+A= cloud.google.com/go/dialogflow v1.48.2/go.mod h1:7A2oDf6JJ1/+hdpnFRfb/RjJUOh2X3rhIa5P8wQSEX4= -cloud.google.com/go/dialogflow v1.49.0 h1:KqG0oxGE71qo0lRVyAoeBozefCvsMfcDzDjoLYSY0F4= cloud.google.com/go/dialogflow v1.49.0/go.mod h1:dhVrXKETtdPlpPhE7+2/k4Z8FRNUp6kMV3EW3oz/fe0= cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= @@ -584,7 +539,6 @@ cloud.google.com/go/dlp v1.10.1/go.mod h1:IM8BWz1iJd8njcNcG0+Kyd9OPnqnRNkDV8j42V cloud.google.com/go/dlp v1.10.2/go.mod h1:ZbdKIhcnyhILgccwVDzkwqybthh7+MplGC3kZVZsIOQ= cloud.google.com/go/dlp v1.10.3/go.mod h1:iUaTc/ln8I+QT6Ai5vmuwfw8fqTk2kaz0FvCwhLCom0= cloud.google.com/go/dlp v1.11.1/go.mod h1:/PA2EnioBeXTL/0hInwgj0rfsQb3lpE3R8XUJxqUNKI= -cloud.google.com/go/dlp v1.11.2 h1:lTipOuJaSjlYnnotPMbEhKURLC6GzCMDDzVbJAEbmYM= cloud.google.com/go/dlp v1.11.2/go.mod h1:9Czi+8Y/FegpWzgSfkRlyz+jwW6Te9Rv26P3UfU/h/w= cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= @@ -602,7 +556,6 @@ cloud.google.com/go/documentai v1.23.5/go.mod h1:ghzBsyVTiVdkfKaUCum/9bGBEyBjDO4 cloud.google.com/go/documentai v1.23.6/go.mod h1:ghzBsyVTiVdkfKaUCum/9bGBEyBjDO4GfooEcYKhN+g= cloud.google.com/go/documentai v1.23.7/go.mod h1:ghzBsyVTiVdkfKaUCum/9bGBEyBjDO4GfooEcYKhN+g= cloud.google.com/go/documentai v1.23.8/go.mod h1:Vd/y5PosxCpUHmwC+v9arZyeMfTqBR9VIwOwIqQYYfA= -cloud.google.com/go/documentai v1.25.0 h1:lI62GMEEPO6vXJI9hj+G9WjOvnR0hEjvjokrnex4cxA= cloud.google.com/go/documentai v1.25.0/go.mod h1:ftLnzw5VcXkLItp6pw1mFic91tMRyfv6hHEY5br4KzY= cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= @@ -611,7 +564,6 @@ cloud.google.com/go/domains v0.9.1/go.mod h1:aOp1c0MbejQQ2Pjf1iJvnVyT+z6R6s8pX66 cloud.google.com/go/domains v0.9.2/go.mod h1:3YvXGYzZG1Temjbk7EyGCuGGiXHJwVNmwIf+E/cUp5I= cloud.google.com/go/domains v0.9.3/go.mod h1:29k66YNDLDY9LCFKpGFeh6Nj9r62ZKm5EsUJxAl84KU= cloud.google.com/go/domains v0.9.4/go.mod h1:27jmJGShuXYdUNjyDG0SodTfT5RwLi7xmH334Gvi3fY= -cloud.google.com/go/domains v0.9.5 h1:Mml/R6s3vQQvFPpi/9oX3O5dRirgjyJ8cksK8N19Y7g= cloud.google.com/go/domains v0.9.5/go.mod h1:dBzlxgepazdFhvG7u23XMhmMKBjrkoUNaw0A8AQB55Y= cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= @@ -621,9 +573,7 @@ cloud.google.com/go/edgecontainer v1.1.1/go.mod h1:O5bYcS//7MELQZs3+7mabRqoWQhXC cloud.google.com/go/edgecontainer v1.1.2/go.mod h1:wQRjIzqxEs9e9wrtle4hQPSR1Y51kqN75dgF7UllZZ4= cloud.google.com/go/edgecontainer v1.1.3/go.mod h1:Ll2DtIABzEfaxaVSbwj3QHFaOOovlDFiWVDu349jSsA= cloud.google.com/go/edgecontainer v1.1.4/go.mod h1:AvFdVuZuVGdgaE5YvlL1faAoa1ndRR/5XhXZvPBHbsE= -cloud.google.com/go/edgecontainer v1.1.5 h1:tBY32km78ScpK2aOP84JoW/+wtpx5WluyPUSEE3270U= cloud.google.com/go/edgecontainer v1.1.5/go.mod h1:rgcjrba3DEDEQAidT4yuzaKWTbkTI5zAMu3yy6ZWS0M= -cloud.google.com/go/errorreporting v0.3.0 h1:kj1XEWMu8P0qlLhm3FwcaFsUvXChV/OraZwA70trRR0= cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= @@ -632,7 +582,6 @@ cloud.google.com/go/essentialcontacts v1.6.2/go.mod h1:T2tB6tX+TRak7i88Fb2N9Ok3P cloud.google.com/go/essentialcontacts v1.6.3/go.mod h1:yiPCD7f2TkP82oJEFXFTou8Jl8L6LBRPeBEkTaO0Ggo= cloud.google.com/go/essentialcontacts v1.6.4/go.mod h1:iju5Vy3d9tJUg0PYMd1nHhjV7xoCXaOAVabrwLaPBEM= cloud.google.com/go/essentialcontacts v1.6.5/go.mod h1:jjYbPzw0x+yglXC890l6ECJWdYeZ5dlYACTFL0U/VuM= -cloud.google.com/go/essentialcontacts v1.6.6 h1:13eHn5qBnsawxI7mIrv4jRIEmQ1xg0Ztqw5ZGqtUNfA= cloud.google.com/go/essentialcontacts v1.6.6/go.mod h1:XbqHJGaiH0v2UvtuucfOzFXN+rpL/aU5BCZLn4DYl1Q= cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= @@ -643,7 +592,6 @@ cloud.google.com/go/eventarc v1.13.0/go.mod h1:mAFCW6lukH5+IZjkvrEss+jmt2kOdYlN8 cloud.google.com/go/eventarc v1.13.1/go.mod h1:EqBxmGHFrruIara4FUQ3RHlgfCn7yo1HYsu2Hpt/C3Y= cloud.google.com/go/eventarc v1.13.2/go.mod h1:X9A80ShVu19fb4e5sc/OLV7mpFUKZMwfJFeeWhcIObM= cloud.google.com/go/eventarc v1.13.3/go.mod h1:RWH10IAZIRcj1s/vClXkBgMHwh59ts7hSWcqD3kaclg= -cloud.google.com/go/eventarc v1.13.4 h1:ORkd6/UV5FIdA8KZQDLNZYKS7BBOrj0p01DXPmT4tE4= cloud.google.com/go/eventarc v1.13.4/go.mod h1:zV5sFVoAa9orc/52Q+OuYUG9xL2IIZTbbuTHC6JSY8s= cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= @@ -654,7 +602,6 @@ cloud.google.com/go/filestore v1.7.2/go.mod h1:TYOlyJs25f/omgj+vY7/tIG/E7BX369tr cloud.google.com/go/filestore v1.7.3/go.mod h1:Qp8WaEERR3cSkxToxFPHh/b8AACkSut+4qlCjAmKTV0= cloud.google.com/go/filestore v1.7.4/go.mod h1:S5JCxIbFjeBhWMTfIYH2Jx24J6BqjwpkkPl+nBA5DlI= cloud.google.com/go/filestore v1.8.0/go.mod h1:S5JCxIbFjeBhWMTfIYH2Jx24J6BqjwpkkPl+nBA5DlI= -cloud.google.com/go/filestore v1.8.1 h1:X5G4y/vrUo1B8Nsz93qSWTMAcM8LXbGUldq33OdcdCw= cloud.google.com/go/filestore v1.8.1/go.mod h1:MbN9KcaM47DRTIuLfQhJEsjaocVebNtNQhSLhKCF5GM= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= @@ -662,8 +609,6 @@ cloud.google.com/go/firestore v1.11.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay cloud.google.com/go/firestore v1.12.0/go.mod h1:b38dKhgzlmNNGTNZZwe7ZRFEuRab1Hay3/DBsIGKKy4= cloud.google.com/go/firestore v1.13.0/go.mod h1:QojqqOh8IntInDUSTAh0c8ZsPYAr68Ma8c5DWOy8xb8= cloud.google.com/go/firestore v1.14.0/go.mod h1:96MVaHLsEhbvkBEdZgfN+AS/GIkco1LRpH9Xp9YZfzQ= -cloud.google.com/go/firestore v1.15.0 h1:/k8ppuWOtNuDHt2tsRV42yI21uaGnKDEQnRFeBpbFF8= -cloud.google.com/go/firestore v1.15.0/go.mod h1:GWOxFXcv8GZUtYpWHw/w6IuYNux/BtmeVTMmjrm4yhk= cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= @@ -675,14 +620,12 @@ cloud.google.com/go/functions v1.15.1/go.mod h1:P5yNWUTkyU+LvW/S9O6V+V423VZooALQ cloud.google.com/go/functions v1.15.2/go.mod h1:CHAjtcR6OU4XF2HuiVeriEdELNcnvRZSk1Q8RMqy4lE= cloud.google.com/go/functions v1.15.3/go.mod h1:r/AMHwBheapkkySEhiZYLDBwVJCdlRwsm4ieJu35/Ug= cloud.google.com/go/functions v1.15.4/go.mod h1:CAsTc3VlRMVvx+XqXxKqVevguqJpnVip4DdonFsX28I= -cloud.google.com/go/functions v1.16.0 h1:IWVylmK5F6hJ3R5zaRW7jI5PrWhCvtBVU4axQLmXSo4= cloud.google.com/go/functions v1.16.0/go.mod h1:nbNpfAG7SG7Duw/o1iZ6ohvL7mc6MapWQVpqtM29n8k= cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= -cloud.google.com/go/gaming v1.10.1 h1:5qZmZEWzMf8GEFgm9NeC3bjFRpt7x4S6U7oLbxaf7N8= cloud.google.com/go/gaming v1.10.1/go.mod h1:XQQvtfP8Rb9Rxnxm5wFVpAp9zCQkJi2bLIb7iHGwB3s= cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= @@ -692,7 +635,6 @@ cloud.google.com/go/gkebackup v1.3.1/go.mod h1:vUDOu++N0U5qs4IhG1pcOnD1Mac79xWy6 cloud.google.com/go/gkebackup v1.3.2/go.mod h1:OMZbXzEJloyXMC7gqdSB+EOEQ1AKcpGYvO3s1ec5ixk= cloud.google.com/go/gkebackup v1.3.3/go.mod h1:eMk7/wVV5P22KBakhQnJxWSVftL1p4VBFLpv0kIft7I= cloud.google.com/go/gkebackup v1.3.4/go.mod h1:gLVlbM8h/nHIs09ns1qx3q3eaXcGSELgNu1DWXYz1HI= -cloud.google.com/go/gkebackup v1.3.5 h1:iuE8KNtTsPOc79qeWoNS8zOWoXPD9SAdOmwgxtlCmh8= cloud.google.com/go/gkebackup v1.3.5/go.mod h1:KJ77KkNN7Wm1LdMopOelV6OodM01pMuK2/5Zt1t4Tvc= cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= @@ -701,7 +643,6 @@ cloud.google.com/go/gkeconnect v0.8.1/go.mod h1:KWiK1g9sDLZqhxB2xEuPV8V9NYzrqTUm cloud.google.com/go/gkeconnect v0.8.2/go.mod h1:6nAVhwchBJYgQCXD2pHBFQNiJNyAd/wyxljpaa6ZPrY= cloud.google.com/go/gkeconnect v0.8.3/go.mod h1:i9GDTrfzBSUZGCe98qSu1B8YB8qfapT57PenIb820Jo= cloud.google.com/go/gkeconnect v0.8.4/go.mod h1:84hZz4UMlDCKl8ifVW8layK4WHlMAFeq8vbzjU0yJkw= -cloud.google.com/go/gkeconnect v0.8.5 h1:17d+ZSSXKqG/RwZCq3oFMIWLPI8Zw3b8+a9/BEVlwH0= cloud.google.com/go/gkeconnect v0.8.5/go.mod h1:LC/rS7+CuJ5fgIbXv8tCD/mdfnlAadTaUufgOkmijuk= cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= @@ -711,7 +652,6 @@ cloud.google.com/go/gkehub v0.14.1/go.mod h1:VEXKIJZ2avzrbd7u+zeMtW00Y8ddk/4V951 cloud.google.com/go/gkehub v0.14.2/go.mod h1:iyjYH23XzAxSdhrbmfoQdePnlMj2EWcvnR+tHdBQsCY= cloud.google.com/go/gkehub v0.14.3/go.mod h1:jAl6WafkHHW18qgq7kqcrXYzN08hXeK/Va3utN8VKg8= cloud.google.com/go/gkehub v0.14.4/go.mod h1:Xispfu2MqnnFt8rV/2/3o73SK1snL8s9dYJ9G2oQMfc= -cloud.google.com/go/gkehub v0.14.5 h1:RboLNFzf9wEMSo7DrKVBlf+YhK/A/jrLN454L5Tz99Q= cloud.google.com/go/gkehub v0.14.5/go.mod h1:6bzqxM+a+vEH/h8W8ec4OJl4r36laxTs3A/fMNHJ0wA= cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= @@ -722,11 +662,9 @@ cloud.google.com/go/gkemulticloud v1.0.1/go.mod h1:AcrGoin6VLKT/fwZEYuqvVominLri cloud.google.com/go/gkemulticloud v1.0.2/go.mod h1:+ee5VXxKb3H1l4LZAcgWB/rvI16VTNTrInWxDjAGsGo= cloud.google.com/go/gkemulticloud v1.0.3/go.mod h1:7NpJBN94U6DY1xHIbsDqB2+TFZUfjLUKLjUX8NGLor0= cloud.google.com/go/gkemulticloud v1.1.0/go.mod h1:7NpJBN94U6DY1xHIbsDqB2+TFZUfjLUKLjUX8NGLor0= -cloud.google.com/go/gkemulticloud v1.1.1 h1:rsSZAGLhyjyE/bE2ToT5fqo1qSW7S+Ubsc9jFOcbhSI= cloud.google.com/go/gkemulticloud v1.1.1/go.mod h1:C+a4vcHlWeEIf45IB5FFR5XGjTeYhF83+AYIpTy4i2Q= cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/grafeas v0.3.0/go.mod h1:P7hgN24EyONOTMyeJH6DxG4zD7fwiYa5Q6GUgyFSOU8= -cloud.google.com/go/grafeas v0.3.4 h1:D4x32R/cHX3MTofKwirz015uEdVk4uAxvZkZCZkOrF4= cloud.google.com/go/grafeas v0.3.4/go.mod h1:A5m316hcG+AulafjAbPKXBO/+I5itU4LOdKO2R/uDIc= cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= @@ -735,7 +673,6 @@ cloud.google.com/go/gsuiteaddons v1.6.1/go.mod h1:CodrdOqRZcLp5WOwejHWYBjZvfY0kO cloud.google.com/go/gsuiteaddons v1.6.2/go.mod h1:K65m9XSgs8hTF3X9nNTPi8IQueljSdYo9F+Mi+s4MyU= cloud.google.com/go/gsuiteaddons v1.6.3/go.mod h1:sCFJkZoMrLZT3JTb8uJqgKPNshH2tfXeCwTFRebTq48= cloud.google.com/go/gsuiteaddons v1.6.4/go.mod h1:rxtstw7Fx22uLOXBpsvb9DUbC+fiXs7rF4U29KHM/pE= -cloud.google.com/go/gsuiteaddons v1.6.5 h1:CZEbaBwmbYdhFw21Fwbo+C35HMe36fTE0FBSR4KSfWg= cloud.google.com/go/gsuiteaddons v1.6.5/go.mod h1:Lo4P2IvO8uZ9W+RaC6s1JVxo42vgy+TX5a6hfBZ0ubs= cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= @@ -753,7 +690,6 @@ cloud.google.com/go/iam v1.1.2/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+K cloud.google.com/go/iam v1.1.3/go.mod h1:3khUlaBXfPKKe7huYgEpDn6FtgRyMEqbkvBxrQyY5SE= cloud.google.com/go/iam v1.1.4/go.mod h1:l/rg8l1AaA+VFMho/HYx2Vv6xinPSLMF8qfhRPIZ0L8= cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= -cloud.google.com/go/iam v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= @@ -765,7 +701,6 @@ cloud.google.com/go/iap v1.9.0/go.mod h1:01OFxd1R+NFrg78S+hoPV5PxEzv22HXaNqUUlmN cloud.google.com/go/iap v1.9.1/go.mod h1:SIAkY7cGMLohLSdBR25BuIxO+I4fXJiL06IBL7cy/5Q= cloud.google.com/go/iap v1.9.2/go.mod h1:GwDTOs047PPSnwRD0Us5FKf4WDRcVvHg1q9WVkKBhdI= cloud.google.com/go/iap v1.9.3/go.mod h1:DTdutSZBqkkOm2HEOTBzhZxh2mwwxshfD/h3yofAiCw= -cloud.google.com/go/iap v1.9.4 h1:94zirc2r4t6KzhAMW0R6Dme005eTP6yf7g6vN4IhRrA= cloud.google.com/go/iap v1.9.4/go.mod h1:vO4mSq0xNf/Pu6E5paORLASBwEmphXEjgCFg7aeNu1w= cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= @@ -774,7 +709,6 @@ cloud.google.com/go/ids v1.4.1/go.mod h1:np41ed8YMU8zOgv53MMMoCntLTn2lF+SUzlM+O3 cloud.google.com/go/ids v1.4.2/go.mod h1:3vw8DX6YddRu9BncxuzMyWn0g8+ooUjI2gslJ7FH3vk= cloud.google.com/go/ids v1.4.3/go.mod h1:9CXPqI3GedjmkjbMWCUhMZ2P2N7TUMzAkVXYEH2orYU= cloud.google.com/go/ids v1.4.4/go.mod h1:z+WUc2eEl6S/1aZWzwtVNWoSZslgzPxAboS0lZX0HjI= -cloud.google.com/go/ids v1.4.5 h1:xd4U7pgl3GHV+MABnv1BF4/Vy/zBF7CYC8XngkOLzag= cloud.google.com/go/ids v1.4.5/go.mod h1:p0ZnyzjMWxww6d2DvMGnFwCsSxDJM666Iir1bK1UuBo= cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= @@ -784,7 +718,6 @@ cloud.google.com/go/iot v1.7.1/go.mod h1:46Mgw7ev1k9KqK1ao0ayW9h0lI+3hxeanz+L1zm cloud.google.com/go/iot v1.7.2/go.mod h1:q+0P5zr1wRFpw7/MOgDXrG/HVA+l+cSwdObffkrpnSg= cloud.google.com/go/iot v1.7.3/go.mod h1:t8itFchkol4VgNbHnIq9lXoOOtHNR3uAACQMYbN9N4I= cloud.google.com/go/iot v1.7.4/go.mod h1:3TWqDVvsddYBG++nHSZmluoCAVGr1hAcabbWZNKEZLk= -cloud.google.com/go/iot v1.7.5 h1:munTeBlbqI33iuTYgXy7S8lW2TCgi5l1hA4roSIY+EE= cloud.google.com/go/iot v1.7.5/go.mod h1:nq3/sqTz3HGaWJi1xNiX7F41ThOzpud67vwk0YsSsqs= cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= @@ -801,7 +734,6 @@ cloud.google.com/go/kms v1.15.3/go.mod h1:AJdXqHxS2GlPyduM99s9iGqi2nwbviBbhV/hdm cloud.google.com/go/kms v1.15.4/go.mod h1:L3Sdj6QTHK8dfwK5D1JLsAyELsNMnd3tAIwGS4ltKpc= cloud.google.com/go/kms v1.15.5/go.mod h1:cU2H5jnp6G2TDpUGZyqTCoy1n16fbubHZjmVXSMtwDI= cloud.google.com/go/kms v1.15.6/go.mod h1:yF75jttnIdHfGBoE51AKsD/Yqf+/jICzB9v1s1acsms= -cloud.google.com/go/kms v1.15.7 h1:7caV9K3yIxvlQPAcaFffhlT7d1qpxjB1wHBtjWa13SM= cloud.google.com/go/kms v1.15.7/go.mod h1:ub54lbsa6tDkUwnu4W7Yt1aAIFLnspgh0kPGToDukeI= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= @@ -813,7 +745,6 @@ cloud.google.com/go/language v1.11.0/go.mod h1:uDx+pFDdAKTY8ehpWbiXyQdz8tDSYLJbQ cloud.google.com/go/language v1.11.1/go.mod h1:Xyid9MG9WOX3utvDbpX7j3tXDmmDooMyMDqgUVpH17U= cloud.google.com/go/language v1.12.1/go.mod h1:zQhalE2QlQIxbKIZt54IASBzmZpN/aDASea5zl1l+J4= cloud.google.com/go/language v1.12.2/go.mod h1:9idWapzr/JKXBBQ4lWqVX/hcadxB194ry20m/bTrhWc= -cloud.google.com/go/language v1.12.3 h1:iaJZg6K4j/2PvZZVcjeO/btcWWIllVRBhuTFjGO4LXs= cloud.google.com/go/language v1.12.3/go.mod h1:evFX9wECX6mksEva8RbRnr/4wi/vKGYnAJrTRXU8+f8= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= @@ -822,12 +753,10 @@ cloud.google.com/go/lifesciences v0.9.1/go.mod h1:hACAOd1fFbCGLr/+weUKRAJas82Y4v cloud.google.com/go/lifesciences v0.9.2/go.mod h1:QHEOO4tDzcSAzeJg7s2qwnLM2ji8IRpQl4p6m5Z9yTA= cloud.google.com/go/lifesciences v0.9.3/go.mod h1:gNGBOJV80IWZdkd+xz4GQj4mbqaz737SCLHn2aRhQKM= cloud.google.com/go/lifesciences v0.9.4/go.mod h1:bhm64duKhMi7s9jR9WYJYvjAFJwRqNj+Nia7hF0Z7JA= -cloud.google.com/go/lifesciences v0.9.5 h1:gXvN70m2p+4zgJFzaz6gMKaxTuF9WJ0USYoMLWAOm8g= cloud.google.com/go/lifesciences v0.9.5/go.mod h1:OdBm0n7C0Osh5yZB7j9BXyrMnTRGBJIZonUMxo5CzPw= cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= cloud.google.com/go/logging v1.8.1/go.mod h1:TJjR+SimHwuC8MZ9cjByQulAMgni+RkXeI3wwctHJEI= -cloud.google.com/go/logging v1.9.0 h1:iEIOXFO9EmSiTjDmfpbRjOxECO7R8C7b8IXUGOj7xZw= cloud.google.com/go/logging v1.9.0/go.mod h1:1Io0vnZv4onoUnsVUQY3HZ3Igb1nBchky0A0y7BBBhE= cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= @@ -838,7 +767,6 @@ cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHS cloud.google.com/go/longrunning v0.5.2/go.mod h1:nqo6DQbNV2pXhGDbDMoN2bWz68MjZUzqv2YttZiveCs= cloud.google.com/go/longrunning v0.5.3/go.mod h1:y/0ga59EYu58J6SHmmQOvekvND2qODbu8ywBBW7EK7Y= cloud.google.com/go/longrunning v0.5.4/go.mod h1:zqNVncI0BOP8ST6XQD1+VcvuShMmq7+xFSzOL++V0dI= -cloud.google.com/go/longrunning v0.5.5 h1:GOE6pZFdSrTb4KAiKnXsJBtlE6mEyaW44oKyMILWnOg= cloud.google.com/go/longrunning v0.5.5/go.mod h1:WV2LAxD8/rg5Z1cNW6FJ/ZpX4E4VnDnoTk0yawPBB7s= cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= @@ -847,7 +775,6 @@ cloud.google.com/go/managedidentities v1.6.1/go.mod h1:h/irGhTN2SkZ64F43tfGPMbHn cloud.google.com/go/managedidentities v1.6.2/go.mod h1:5c2VG66eCa0WIq6IylRk3TBW83l161zkFvCj28X7jn8= cloud.google.com/go/managedidentities v1.6.3/go.mod h1:tewiat9WLyFN0Fi7q1fDD5+0N4VUoL0SCX0OTCthZq4= cloud.google.com/go/managedidentities v1.6.4/go.mod h1:WgyaECfHmF00t/1Uk8Oun3CQ2PGUtjc3e9Alh79wyiM= -cloud.google.com/go/managedidentities v1.6.5 h1:+bpih1piZVLxla/XBqeSUzJBp8gv9plGHIMAI7DLpDM= cloud.google.com/go/managedidentities v1.6.5/go.mod h1:fkFI2PwwyRQbjLxlm5bQ8SjtObFMW3ChBGNqaMcgZjI= cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= @@ -859,7 +786,6 @@ cloud.google.com/go/maps v1.5.1/go.mod h1:NPMZw1LJwQZYCfz4y+EIw+SI+24A4bpdFJqdKV cloud.google.com/go/maps v1.6.1/go.mod h1:4+buOHhYXFBp58Zj/K+Lc1rCmJssxxF4pJ5CJnhdz18= cloud.google.com/go/maps v1.6.2/go.mod h1:4+buOHhYXFBp58Zj/K+Lc1rCmJssxxF4pJ5CJnhdz18= cloud.google.com/go/maps v1.6.3/go.mod h1:VGAn809ADswi1ASofL5lveOHPnE6Rk/SFTTBx1yuOLw= -cloud.google.com/go/maps v1.6.4 h1:EVCZAiDvog9So46460BGbCasPhi613exoaQbpilMVlk= cloud.google.com/go/maps v1.6.4/go.mod h1:rhjqRy8NWmDJ53saCfsXQ0LKwBHfi6OSh5wkq6BaMhI= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= @@ -868,7 +794,6 @@ cloud.google.com/go/mediatranslation v0.8.1/go.mod h1:L/7hBdEYbYHQJhX2sldtTO5SZZ cloud.google.com/go/mediatranslation v0.8.2/go.mod h1:c9pUaDRLkgHRx3irYE5ZC8tfXGrMYwNZdmDqKMSfFp8= cloud.google.com/go/mediatranslation v0.8.3/go.mod h1:F9OnXTy336rteOEywtY7FOqCk+J43o2RF638hkOQl4Y= cloud.google.com/go/mediatranslation v0.8.4/go.mod h1:9WstgtNVAdN53m6TQa5GjIjLqKQPXe74hwSCxUP6nj4= -cloud.google.com/go/mediatranslation v0.8.5 h1:c76KdIXljQHSCb/Cy47S8H4s05A4zbK3pAFGzwcczZo= cloud.google.com/go/mediatranslation v0.8.5/go.mod h1:y7kTHYIPCIfgyLbKncgqouXJtLsU+26hZhHEEy80fSs= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= @@ -879,7 +804,6 @@ cloud.google.com/go/memcache v1.10.1/go.mod h1:47YRQIarv4I3QS5+hoETgKO40InqzLP6k cloud.google.com/go/memcache v1.10.2/go.mod h1:f9ZzJHLBrmd4BkguIAa/l/Vle6uTHzHokdnzSWOdQ6A= cloud.google.com/go/memcache v1.10.3/go.mod h1:6z89A41MT2DVAW0P4iIRdu5cmRTsbsFn4cyiIx8gbwo= cloud.google.com/go/memcache v1.10.4/go.mod h1:v/d8PuC8d1gD6Yn5+I3INzLR01IDn0N4Ym56RgikSI0= -cloud.google.com/go/memcache v1.10.5 h1:yeDv5qxRedFosvpMSEswrqUsJM5OdWvssPHFliNFTc4= cloud.google.com/go/memcache v1.10.5/go.mod h1:/FcblbNd0FdMsx4natdj+2GWzTq+cjZvMa1I+9QsuMA= cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= @@ -892,7 +816,6 @@ cloud.google.com/go/metastore v1.13.0/go.mod h1:URDhpG6XLeh5K+Glq0NOt74OfrPKTwS6 cloud.google.com/go/metastore v1.13.1/go.mod h1:IbF62JLxuZmhItCppcIfzBBfUFq0DIB9HPDoLgWrVOU= cloud.google.com/go/metastore v1.13.2/go.mod h1:KS59dD+unBji/kFebVp8XU/quNSyo8b6N6tPGspKszA= cloud.google.com/go/metastore v1.13.3/go.mod h1:K+wdjXdtkdk7AQg4+sXS8bRrQa9gcOr+foOMF2tqINE= -cloud.google.com/go/metastore v1.13.4 h1:dR7vqWXlK6IYR8Wbu9mdFfwlVjodIBhd1JRrpZftTEg= cloud.google.com/go/metastore v1.13.4/go.mod h1:FMv9bvPInEfX9Ac1cVcRXp8EBBQnBcqH6gz3KvJ9BAE= cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= @@ -905,7 +828,6 @@ cloud.google.com/go/monitoring v1.16.2/go.mod h1:B44KGwi4ZCF8Rk/5n+FWeispDXoKSk9 cloud.google.com/go/monitoring v1.16.3/go.mod h1:KwSsX5+8PnXv5NJnICZzW2R8pWTis8ypC4zmdRD63Tw= cloud.google.com/go/monitoring v1.17.0/go.mod h1:KwSsX5+8PnXv5NJnICZzW2R8pWTis8ypC4zmdRD63Tw= cloud.google.com/go/monitoring v1.17.1/go.mod h1:SJzPMakCF0GHOuKEH/r4hxVKF04zl+cRPQyc3d/fqII= -cloud.google.com/go/monitoring v1.18.0 h1:NfkDLQDG2UR3WYZVQE8kwSbUIEyIqJUPl+aOQdFH1T4= cloud.google.com/go/monitoring v1.18.0/go.mod h1:c92vVBCeq/OB4Ioyo+NbN2U7tlg5ZH41PZcdvfc+Lcg= cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= @@ -919,7 +841,6 @@ cloud.google.com/go/networkconnectivity v1.14.0/go.mod h1:SAnGPes88pl7QRLUen2Hmc cloud.google.com/go/networkconnectivity v1.14.1/go.mod h1:LyGPXR742uQcDxZ/wv4EI0Vu5N6NKJ77ZYVnDe69Zug= cloud.google.com/go/networkconnectivity v1.14.2/go.mod h1:5UFlwIisZylSkGG1AdwK/WZUaoz12PKu6wODwIbFzJo= cloud.google.com/go/networkconnectivity v1.14.3/go.mod h1:4aoeFdrJpYEXNvrnfyD5kIzs8YtHg945Og4koAjHQek= -cloud.google.com/go/networkconnectivity v1.14.4 h1:GBfXFhLyPspnaBE3nI/BRjdhW8vcbpT9QjE/4kDCDdc= cloud.google.com/go/networkconnectivity v1.14.4/go.mod h1:PU12q++/IMnDJAB+3r+tJtuCXCfwfN+C6Niyj6ji1Po= cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= @@ -929,7 +850,6 @@ cloud.google.com/go/networkmanagement v1.9.0/go.mod h1:UTUaEU9YwbCAhhz3jEOHr+2/K cloud.google.com/go/networkmanagement v1.9.1/go.mod h1:CCSYgrQQvW73EJawO2QamemYcOb57LvrDdDU51F0mcI= cloud.google.com/go/networkmanagement v1.9.2/go.mod h1:iDGvGzAoYRghhp4j2Cji7sF899GnfGQcQRQwgVOWnDw= cloud.google.com/go/networkmanagement v1.9.3/go.mod h1:y7WMO1bRLaP5h3Obm4tey+NquUvB93Co1oh4wpL+XcU= -cloud.google.com/go/networkmanagement v1.9.4 h1:aLV5GcosBNmd6M8+a0ekB0XlLRexv4fvnJJrYnqeBcg= cloud.google.com/go/networkmanagement v1.9.4/go.mod h1:daWJAl0KTFytFL7ar33I6R/oNBH8eEOX/rBNHrC/8TA= cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= @@ -939,7 +859,6 @@ cloud.google.com/go/networksecurity v0.9.1/go.mod h1:MCMdxOKQ30wsBI1eI659f9kEp4w cloud.google.com/go/networksecurity v0.9.2/go.mod h1:jG0SeAttWzPMUILEHDUvFYdQTl8L/E/KC8iZDj85lEI= cloud.google.com/go/networksecurity v0.9.3/go.mod h1:l+C0ynM6P+KV9YjOnx+kk5IZqMSLccdBqW6GUoF4p/0= cloud.google.com/go/networksecurity v0.9.4/go.mod h1:E9CeMZ2zDsNBkr8axKSYm8XyTqNhiCHf1JO/Vb8mD1w= -cloud.google.com/go/networksecurity v0.9.5 h1:+caSxBTj0E8OYVh/5wElFdjEMO1S/rZtE1152Cepchc= cloud.google.com/go/networksecurity v0.9.5/go.mod h1:KNkjH/RsylSGyyZ8wXpue8xpCEK+bTtvof8SBfIhMG8= cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= @@ -952,7 +871,6 @@ cloud.google.com/go/notebooks v1.10.0/go.mod h1:SOPYMZnttHxqot0SGSFSkRrwE29eqnKP cloud.google.com/go/notebooks v1.10.1/go.mod h1:5PdJc2SgAybE76kFQCWrTfJolCOUQXF97e+gteUUA6A= cloud.google.com/go/notebooks v1.11.1/go.mod h1:V2Zkv8wX9kDCGRJqYoI+bQAaoVeE5kSiz4yYHd2yJwQ= cloud.google.com/go/notebooks v1.11.2/go.mod h1:z0tlHI/lREXC8BS2mIsUeR3agM1AkgLiS+Isov3SS70= -cloud.google.com/go/notebooks v1.11.3 h1:FH48boYmrWVQ6k0Mx/WrnNafXncT5iSYxA8CNyWTgy0= cloud.google.com/go/notebooks v1.11.3/go.mod h1:0wQyI2dQC3AZyQqWnRsp+yA+kY4gC7ZIVP4Qg3AQcgo= cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= @@ -962,7 +880,6 @@ cloud.google.com/go/optimization v1.5.0/go.mod h1:evo1OvTxeBRBu6ydPlrIRizKY/LJKo cloud.google.com/go/optimization v1.5.1/go.mod h1:NC0gnUD5MWVAF7XLdoYVPmYYVth93Q6BUzqAq3ZwtV8= cloud.google.com/go/optimization v1.6.1/go.mod h1:hH2RYPTTM9e9zOiTaYPTiGPcGdNZVnBSBxjIAJzUkqo= cloud.google.com/go/optimization v1.6.2/go.mod h1:mWNZ7B9/EyMCcwNl1frUGEuY6CPijSkz88Fz2vwKPOY= -cloud.google.com/go/optimization v1.6.3 h1:63NZaWyN+5rZEKHPX4ACpw3BjgyeuY8+rCehiCMaGPY= cloud.google.com/go/optimization v1.6.3/go.mod h1:8ve3svp3W6NFcAEFr4SfJxrldzhUl4VMUJmhrqVKtYA= cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= @@ -971,7 +888,6 @@ cloud.google.com/go/orchestration v1.8.1/go.mod h1:4sluRF3wgbYVRqz7zJ1/EUNc90TTp cloud.google.com/go/orchestration v1.8.2/go.mod h1:T1cP+6WyTmh6LSZzeUhvGf0uZVmJyTx7t8z7Vg87+A0= cloud.google.com/go/orchestration v1.8.3/go.mod h1:xhgWAYqlbYjlz2ftbFghdyqENYW+JXuhBx9KsjMoGHs= cloud.google.com/go/orchestration v1.8.4/go.mod h1:d0lywZSVYtIoSZXb0iFjv9SaL13PGyVOKDxqGxEf/qI= -cloud.google.com/go/orchestration v1.8.5 h1:YHgWMlrPttIVGItgGfuvO2KM7x+y9ivN/Yk92pMm1a4= cloud.google.com/go/orchestration v1.8.5/go.mod h1:C1J7HesE96Ba8/hZ71ISTV2UAat0bwN+pi85ky38Yq8= cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= @@ -982,7 +898,6 @@ cloud.google.com/go/orgpolicy v1.11.2/go.mod h1:biRDpNwfyytYnmCRWZWxrKF22Nkz9eNV cloud.google.com/go/orgpolicy v1.11.3/go.mod h1:oKAtJ/gkMjum5icv2aujkP4CxROxPXsBbYGCDbPO8MM= cloud.google.com/go/orgpolicy v1.11.4/go.mod h1:0+aNV/nrfoTQ4Mytv+Aw+stBDBjNf4d8fYRA9herfJI= cloud.google.com/go/orgpolicy v1.12.0/go.mod h1:0+aNV/nrfoTQ4Mytv+Aw+stBDBjNf4d8fYRA9herfJI= -cloud.google.com/go/orgpolicy v1.12.1 h1:2JbXigqBJVp8Dx5dONUttFqewu4fP0p3pgOdIZAhpYU= cloud.google.com/go/orgpolicy v1.12.1/go.mod h1:aibX78RDl5pcK3jA8ysDQCFkVxLj3aOQqrbBaUL2V5I= cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= @@ -994,7 +909,6 @@ cloud.google.com/go/osconfig v1.12.1/go.mod h1:4CjBxND0gswz2gfYRCUoUzCm9zCABp91E cloud.google.com/go/osconfig v1.12.2/go.mod h1:eh9GPaMZpI6mEJEuhEjUJmaxvQ3gav+fFEJon1Y8Iw0= cloud.google.com/go/osconfig v1.12.3/go.mod h1:L/fPS8LL6bEYUi1au832WtMnPeQNT94Zo3FwwV1/xGM= cloud.google.com/go/osconfig v1.12.4/go.mod h1:B1qEwJ/jzqSRslvdOCI8Kdnp0gSng0xW4LOnIebQomA= -cloud.google.com/go/osconfig v1.12.5 h1:Mo5jGAxOMKH/PmDY7fgY19yFcVbvwREb5D5zMPQjFfo= cloud.google.com/go/osconfig v1.12.5/go.mod h1:D9QFdxzfjgw3h/+ZaAb5NypM8bhOMqBzgmbhzWViiW8= cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= @@ -1007,7 +921,6 @@ cloud.google.com/go/oslogin v1.11.1/go.mod h1:OhD2icArCVNUxKqtK0mcSmKL7lgr0LVlQz cloud.google.com/go/oslogin v1.12.1/go.mod h1:VfwTeFJGbnakxAY236eN8fsnglLiVXndlbcNomY4iZU= cloud.google.com/go/oslogin v1.12.2/go.mod h1:CQ3V8Jvw4Qo4WRhNPF0o+HAM4DiLuE27Ul9CX9g2QdY= cloud.google.com/go/oslogin v1.13.0/go.mod h1:xPJqLwpTZ90LSE5IL1/svko+6c5avZLluiyylMb/sRA= -cloud.google.com/go/oslogin v1.13.1 h1:1K4nOT5VEZNt7XkhaTXupBYos5HjzvJMfhvyD2wWdFs= cloud.google.com/go/oslogin v1.13.1/go.mod h1:vS8Sr/jR7QvPWpCjNqy6LYZr5Zs1e8ZGW/KPn9gmhws= cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= @@ -1016,7 +929,6 @@ cloud.google.com/go/phishingprotection v0.8.1/go.mod h1:AxonW7GovcA8qdEk13NfHq9h cloud.google.com/go/phishingprotection v0.8.2/go.mod h1:LhJ91uyVHEYKSKcMGhOa14zMMWfbEdxG032oT6ECbC8= cloud.google.com/go/phishingprotection v0.8.3/go.mod h1:3B01yO7T2Ra/TMojifn8EoGd4G9jts/6cIO0DgDY9J8= cloud.google.com/go/phishingprotection v0.8.4/go.mod h1:6b3kNPAc2AQ6jZfFHioZKg9MQNybDg4ixFd4RPZZ2nE= -cloud.google.com/go/phishingprotection v0.8.5 h1:DH3WFLzEoJdW/6xgsmoDqOwT1xddFi7gKu0QGZQhpGU= cloud.google.com/go/phishingprotection v0.8.5/go.mod h1:g1smd68F7mF1hgQPuYn3z8HDbNre8L6Z0b7XMYFmX7I= cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= @@ -1028,7 +940,6 @@ cloud.google.com/go/policytroubleshooter v1.9.0/go.mod h1:+E2Lga7TycpeSTj2FsH4oX cloud.google.com/go/policytroubleshooter v1.9.1/go.mod h1:MYI8i0bCrL8cW+VHN1PoiBTyNZTstCg2WUw2eVC4c4U= cloud.google.com/go/policytroubleshooter v1.10.1/go.mod h1:5C0rhT3TDZVxAu8813bwmTvd57Phbl8mr9F4ipOsxEs= cloud.google.com/go/policytroubleshooter v1.10.2/go.mod h1:m4uF3f6LseVEnMV6nknlN2vYGRb+75ylQwJdnOXfnv0= -cloud.google.com/go/policytroubleshooter v1.10.3 h1:c0WOzC6hz964QWNBkyKfna8A2jOIx1zzZa43Gx/P09o= cloud.google.com/go/policytroubleshooter v1.10.3/go.mod h1:+ZqG3agHT7WPb4EBIRqUv4OyIwRTZvsVDHZ8GlZaoxk= cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= @@ -1038,7 +949,6 @@ cloud.google.com/go/privatecatalog v0.9.1/go.mod h1:0XlDXW2unJXdf9zFz968Hp35gl/b cloud.google.com/go/privatecatalog v0.9.2/go.mod h1:RMA4ATa8IXfzvjrhhK8J6H4wwcztab+oZph3c6WmtFc= cloud.google.com/go/privatecatalog v0.9.3/go.mod h1:K5pn2GrVmOPjXz3T26mzwXLcKivfIJ9R5N79AFCF9UE= cloud.google.com/go/privatecatalog v0.9.4/go.mod h1:SOjm93f+5hp/U3PqMZAHTtBtluqLygrDrVO8X8tYtG0= -cloud.google.com/go/privatecatalog v0.9.5 h1:UZ0assTnATXSggoxUIh61RjTQ4P9zCMk/kEMbn0nMYA= cloud.google.com/go/privatecatalog v0.9.5/go.mod h1:fVWeBOVe7uj2n3kWRGlUQqR/pOd450J9yZoOECcQqJk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= @@ -1051,14 +961,11 @@ cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7 cloud.google.com/go/pubsub v1.32.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= cloud.google.com/go/pubsub v1.34.0/go.mod h1:alj4l4rBg+N3YTFDDC+/YyFTs6JAjam2QfYsddcAW4c= -cloud.google.com/go/pubsub v1.36.1 h1:dfEPuGCHGbWUhaMCTHUFjfroILEkx55iUmKBZTP5f+Y= cloud.google.com/go/pubsub v1.36.1/go.mod h1:iYjCa9EzWOoBiTdd4ps7QoMtMln5NwaZQpK1hbRfBDE= cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= -cloud.google.com/go/pubsublite v1.8.1 h1:pX+idpWMIH30/K7c0epN6V703xpIcMXWRjKJsz0tYGY= cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= -cloud.google.com/go/recaptchaenterprise v1.3.1 h1:u6EznTGzIdsyOsvm+Xkw0aSuKFXQlyjGE9a4exk6iNQ= cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= @@ -1074,7 +981,6 @@ cloud.google.com/go/recaptchaenterprise/v2 v2.8.2/go.mod h1:kpaDBOpkwD4G0GVMzG1W cloud.google.com/go/recaptchaenterprise/v2 v2.8.3/go.mod h1:Dak54rw6lC2gBY8FBznpOCAR58wKf+R+ZSJRoeJok4w= cloud.google.com/go/recaptchaenterprise/v2 v2.8.4/go.mod h1:Dak54rw6lC2gBY8FBznpOCAR58wKf+R+ZSJRoeJok4w= cloud.google.com/go/recaptchaenterprise/v2 v2.9.0/go.mod h1:Dak54rw6lC2gBY8FBznpOCAR58wKf+R+ZSJRoeJok4w= -cloud.google.com/go/recaptchaenterprise/v2 v2.9.2 h1:U3Wfq12X9cVMuTpsWDSURnXF0Z9hSPTHj+xsnXDRLsw= cloud.google.com/go/recaptchaenterprise/v2 v2.9.2/go.mod h1:trwwGkfhCmp05Ll5MSJPXY7yvnO0p4v3orGANAFHAuU= cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= @@ -1083,7 +989,6 @@ cloud.google.com/go/recommendationengine v0.8.1/go.mod h1:MrZihWwtFYWDzE6Hz5nKcN cloud.google.com/go/recommendationengine v0.8.2/go.mod h1:QIybYHPK58qir9CV2ix/re/M//Ty10OxjnnhWdaKS1Y= cloud.google.com/go/recommendationengine v0.8.3/go.mod h1:m3b0RZV02BnODE9FeSvGv1qibFo8g0OnmB/RMwYy4V8= cloud.google.com/go/recommendationengine v0.8.4/go.mod h1:GEteCf1PATl5v5ZsQ60sTClUE0phbWmo3rQ1Js8louU= -cloud.google.com/go/recommendationengine v0.8.5 h1:ineqLswaCSBY0csYv5/wuXJMBlxATK6Xc5jJkpiTEdM= cloud.google.com/go/recommendationengine v0.8.5/go.mod h1:A38rIXHGFvoPvmy6pZLozr0g59NRNREz4cx7F58HAsQ= cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= @@ -1096,7 +1001,6 @@ cloud.google.com/go/recommender v1.11.1/go.mod h1:sGwFFAyI57v2Hc5LbIj+lTwXipGu9N cloud.google.com/go/recommender v1.11.2/go.mod h1:AeoJuzOvFR/emIcXdVFkspVXVTYpliRCmKNYDnyBv6Y= cloud.google.com/go/recommender v1.11.3/go.mod h1:+FJosKKJSId1MBFeJ/TTyoGQZiEelQQIZMKYYD8ruK4= cloud.google.com/go/recommender v1.12.0/go.mod h1:+FJosKKJSId1MBFeJ/TTyoGQZiEelQQIZMKYYD8ruK4= -cloud.google.com/go/recommender v1.12.1 h1:LVLYS3r3u0MSCxQSDUtLSkporEGi9OAE6hGvayrZNPs= cloud.google.com/go/recommender v1.12.1/go.mod h1:gf95SInWNND5aPas3yjwl0I572dtudMhMIG4ni8nr+0= cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= @@ -1107,7 +1011,6 @@ cloud.google.com/go/redis v1.13.1/go.mod h1:VP7DGLpE91M6bcsDdMuyCm2hIpB6Vp2hI090 cloud.google.com/go/redis v1.13.2/go.mod h1:0Hg7pCMXS9uz02q+LoEVl5dNHUkIQv+C/3L76fandSA= cloud.google.com/go/redis v1.13.3/go.mod h1:vbUpCKUAZSYzFcWKmICnYgRAhTFg9r+djWqFxDYXi4U= cloud.google.com/go/redis v1.14.1/go.mod h1:MbmBxN8bEnQI4doZPC1BzADU4HGocHBk2de3SbgOkqs= -cloud.google.com/go/redis v1.14.2 h1:QF0maEdVv0Fj/2roU8sX3NpiDBzP9ICYTO+5F32gQNo= cloud.google.com/go/redis v1.14.2/go.mod h1:g0Lu7RRRz46ENdFKQ2EcQZBAJ2PtJHJLuiiRuEXwyQw= cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= @@ -1118,7 +1021,6 @@ cloud.google.com/go/resourcemanager v1.9.1/go.mod h1:dVCuosgrh1tINZ/RwBufr8lULmW cloud.google.com/go/resourcemanager v1.9.2/go.mod h1:OujkBg1UZg5lX2yIyMo5Vz9O5hf7XQOSV7WxqxxMtQE= cloud.google.com/go/resourcemanager v1.9.3/go.mod h1:IqrY+g0ZgLsihcfcmqSe+RKp1hzjXwG904B92AwBz6U= cloud.google.com/go/resourcemanager v1.9.4/go.mod h1:N1dhP9RFvo3lUfwtfLWVxfUWq8+KUQ+XLlHLH3BoFJ0= -cloud.google.com/go/resourcemanager v1.9.5 h1:AZWr1vWVDKGwfLsVhcN+vcwOz3xqqYxtmMa0aABCMms= cloud.google.com/go/resourcemanager v1.9.5/go.mod h1:hep6KjelHA+ToEjOfO3garMKi/CLYwTqeAw7YiEI9x8= cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= @@ -1127,7 +1029,6 @@ cloud.google.com/go/resourcesettings v1.6.1/go.mod h1:M7mk9PIZrC5Fgsu1kZJci6mpgN cloud.google.com/go/resourcesettings v1.6.2/go.mod h1:mJIEDd9MobzunWMeniaMp6tzg4I2GvD3TTmPkc8vBXk= cloud.google.com/go/resourcesettings v1.6.3/go.mod h1:pno5D+7oDYkMWZ5BpPsb4SO0ewg3IXcmmrUZaMJrFic= cloud.google.com/go/resourcesettings v1.6.4/go.mod h1:pYTTkWdv2lmQcjsthbZLNBP4QW140cs7wqA3DuqErVI= -cloud.google.com/go/resourcesettings v1.6.5 h1:BTr5MVykJwClASci/7Og4Qfx70aQ4n3epsNLj94ZYgw= cloud.google.com/go/resourcesettings v1.6.5/go.mod h1:WBOIWZraXZOGAgoR4ukNj0o0HiSMO62H9RpFi9WjP9I= cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= @@ -1139,7 +1040,6 @@ cloud.google.com/go/retail v1.14.2/go.mod h1:W7rrNRChAEChX336QF7bnMxbsjugcOCPU44 cloud.google.com/go/retail v1.14.3/go.mod h1:Omz2akDHeSlfCq8ArPKiBxlnRpKEBjUH386JYFLUvXo= cloud.google.com/go/retail v1.14.4/go.mod h1:l/N7cMtY78yRnJqp5JW8emy7MB1nz8E4t2yfOmklYfg= cloud.google.com/go/retail v1.15.1/go.mod h1:In9nSBOYhLbDGa87QvWlnE1XA14xBN2FpQRiRsUs9wU= -cloud.google.com/go/retail v1.16.0 h1:Fn1GuAua1c6crCGqfJ1qMxG1Xh10Tg/x5EUODEHMqkw= cloud.google.com/go/retail v1.16.0/go.mod h1:LW7tllVveZo4ReWt68VnldZFWJRzsh9np+01J9dYWzE= cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= @@ -1150,7 +1050,6 @@ cloud.google.com/go/run v1.3.0/go.mod h1:S/osX/4jIPZGg+ssuqh6GNgg7syixKe3Ynprweh cloud.google.com/go/run v1.3.1/go.mod h1:cymddtZOzdwLIAsmS6s+Asl4JoXIDm/K1cpZTxV4Q5s= cloud.google.com/go/run v1.3.2/go.mod h1:SIhmqArbjdU/D9M6JoHaAqnAMKLFtXaVdNeq04NjnVE= cloud.google.com/go/run v1.3.3/go.mod h1:WSM5pGyJ7cfYyYbONVQBN4buz42zFqwG67Q3ch07iK4= -cloud.google.com/go/run v1.3.4 h1:m9WDA7DzTpczhZggwYlZcBWgCRb+kgSIisWn1sbw2rQ= cloud.google.com/go/run v1.3.4/go.mod h1:FGieuZvQ3tj1e9GnzXqrMABSuir38AJg5xhiYq+SF3o= cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= @@ -1163,7 +1062,6 @@ cloud.google.com/go/scheduler v1.10.2/go.mod h1:O3jX6HRH5eKCA3FutMw375XHZJudNIKV cloud.google.com/go/scheduler v1.10.3/go.mod h1:8ANskEM33+sIbpJ+R4xRfw/jzOG+ZFE8WVLy7/yGvbc= cloud.google.com/go/scheduler v1.10.4/go.mod h1:MTuXcrJC9tqOHhixdbHDFSIuh7xZF2IysiINDuiq6NI= cloud.google.com/go/scheduler v1.10.5/go.mod h1:MTuXcrJC9tqOHhixdbHDFSIuh7xZF2IysiINDuiq6NI= -cloud.google.com/go/scheduler v1.10.6 h1:5U8iXLoQ03qOB+ZXlAecU7fiE33+u3QiM9nh4cd0eTE= cloud.google.com/go/scheduler v1.10.6/go.mod h1:pe2pNCtJ+R01E06XCDOJs1XvAMbv28ZsQEbqknxGOuE= cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= @@ -1173,7 +1071,6 @@ cloud.google.com/go/secretmanager v1.11.1/go.mod h1:znq9JlXgTNdBeQk9TBW/FnR/W4uC cloud.google.com/go/secretmanager v1.11.2/go.mod h1:MQm4t3deoSub7+WNwiC4/tRYgDBHJgJPvswqQVB1Vss= cloud.google.com/go/secretmanager v1.11.3/go.mod h1:0bA2o6FabmShrEy328i67aV+65XoUFFSmVeLBn/51jI= cloud.google.com/go/secretmanager v1.11.4/go.mod h1:wreJlbS9Zdq21lMzWmJ0XhWW2ZxgPeahsqeV/vZoJ3w= -cloud.google.com/go/secretmanager v1.11.5 h1:82fpF5vBBvu9XW4qj0FU2C6qVMtj1RM/XHwKXUEAfYY= cloud.google.com/go/secretmanager v1.11.5/go.mod h1:eAGv+DaCHkeVyQi0BeXgAHOU0RdrMeZIASKc+S7VqH4= cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= @@ -1186,7 +1083,6 @@ cloud.google.com/go/security v1.15.1/go.mod h1:MvTnnbsWnehoizHi09zoiZob0iCHVcL4A cloud.google.com/go/security v1.15.2/go.mod h1:2GVE/v1oixIRHDaClVbHuPcZwAqFM28mXuAKCfMgYIg= cloud.google.com/go/security v1.15.3/go.mod h1:gQ/7Q2JYUZZgOzqKtw9McShH+MjNvtDpL40J1cT+vBs= cloud.google.com/go/security v1.15.4/go.mod h1:oN7C2uIZKhxCLiAAijKUCuHLZbIt/ghYEo8MqwD/Ty4= -cloud.google.com/go/security v1.15.5 h1:wTKJQ10j8EYgvE8Y+KhovxDRVDk2iv/OsxZ6GrLP3kE= cloud.google.com/go/security v1.15.5/go.mod h1:KS6X2eG3ynWjqcIX976fuToN5juVkF6Ra6c7MPnldtc= cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= @@ -1199,13 +1095,11 @@ cloud.google.com/go/securitycenter v1.23.1/go.mod h1:w2HV3Mv/yKhbXKwOCu2i8bCuLtN cloud.google.com/go/securitycenter v1.24.1/go.mod h1:3h9IdjjHhVMXdQnmqzVnM7b0wMn/1O/U20eWVpMpZjI= cloud.google.com/go/securitycenter v1.24.2/go.mod h1:l1XejOngggzqwr4Fa2Cn+iWZGf+aBLTXtB/vXjy5vXM= cloud.google.com/go/securitycenter v1.24.3/go.mod h1:l1XejOngggzqwr4Fa2Cn+iWZGf+aBLTXtB/vXjy5vXM= -cloud.google.com/go/securitycenter v1.24.4 h1:/5jjkZ+uGe8hZ7pvd7pO30VW/a+pT2MrrdgOqjyucKQ= cloud.google.com/go/securitycenter v1.24.4/go.mod h1:PSccin+o1EMYKcFQzz9HMMnZ2r9+7jbc+LvPjXhpwcU= cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA= cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= -cloud.google.com/go/servicecontrol v1.11.1 h1:d0uV7Qegtfaa7Z2ClDzr9HJmnbJW7jn0WhZ7wOX6hLE= cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= @@ -1218,17 +1112,14 @@ cloud.google.com/go/servicedirectory v1.11.0/go.mod h1:Xv0YVH8s4pVOwfM/1eMTl0XJ6 cloud.google.com/go/servicedirectory v1.11.1/go.mod h1:tJywXimEWzNzw9FvtNjsQxxJ3/41jseeILgwU/QLrGI= cloud.google.com/go/servicedirectory v1.11.2/go.mod h1:KD9hCLhncWRV5jJphwIpugKwM5bn1x0GyVVD4NO8mGg= cloud.google.com/go/servicedirectory v1.11.3/go.mod h1:LV+cHkomRLr67YoQy3Xq2tUXBGOs5z5bPofdq7qtiAw= -cloud.google.com/go/servicedirectory v1.11.4 h1:da7HFI1229kyzIyuVEzHXip0cw0d+E0s8mjQby0WN+k= cloud.google.com/go/servicedirectory v1.11.4/go.mod h1:Bz2T9t+/Ehg6x+Y7Ycq5xiShYLD96NfEsWNHyitj1qM= cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= -cloud.google.com/go/servicemanagement v1.8.0 h1:fopAQI/IAzlxnVeiKn/8WiV6zKndjFkvi+gzu+NjywY= cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= -cloud.google.com/go/serviceusage v1.6.0 h1:rXyq+0+RSIm3HFypctp7WoXxIA563rn206CfMWdqXX4= cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= @@ -1237,7 +1128,6 @@ cloud.google.com/go/shell v1.7.1/go.mod h1:u1RaM+huXFaTojTbW4g9P5emOrrmLE69KrxqQ cloud.google.com/go/shell v1.7.2/go.mod h1:KqRPKwBV0UyLickMn0+BY1qIyE98kKyI216sH/TuHmc= cloud.google.com/go/shell v1.7.3/go.mod h1:cTTEz/JdaBsQAeTQ3B6HHldZudFoYBOqjteev07FbIc= cloud.google.com/go/shell v1.7.4/go.mod h1:yLeXB8eKLxw0dpEmXQ/FjriYrBijNsONpwnWsdPqlKM= -cloud.google.com/go/shell v1.7.5 h1:3Fq2hzO0ZSyaqBboJrFkwwf/qMufDtqwwA6ep8EZxEI= cloud.google.com/go/shell v1.7.5/go.mod h1:hL2++7F47/IfpfTO53KYf1EC+F56k3ThfNEXd4zcuiE= cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= @@ -1251,7 +1141,6 @@ cloud.google.com/go/spanner v1.53.1/go.mod h1:liG4iCeLqm5L3fFLU5whFITqP0e0orsAW1 cloud.google.com/go/spanner v1.54.0/go.mod h1:wZvSQVBgngF0Gq86fKup6KIYmN2be7uOKjtK97X+bQU= cloud.google.com/go/spanner v1.55.0/go.mod h1:HXEznMUVhC+PC+HDyo9YFG2Ajj5BQDkcbqB9Z2Ffxi0= cloud.google.com/go/spanner v1.56.0/go.mod h1:DndqtUKQAt3VLuV2Le+9Y3WTnq5cNKrnLb/Piqcj+h0= -cloud.google.com/go/spanner v1.57.0 h1:fJq+ZfQUDHE+cy1li0bJA8+sy2oiSGhuGqN5nqVaZdU= cloud.google.com/go/spanner v1.57.0/go.mod h1:aXQ5QDdhPRIqVhYmnkAdwPYvj/DRN0FguclhEWw+jOo= cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= @@ -1265,7 +1154,6 @@ cloud.google.com/go/speech v1.19.1/go.mod h1:WcuaWz/3hOlzPFOVo9DUsblMIHwxP589y6Z cloud.google.com/go/speech v1.19.2/go.mod h1:2OYFfj+Ch5LWjsaSINuCZsre/789zlcCI3SY4oAi2oI= cloud.google.com/go/speech v1.20.1/go.mod h1:wwolycgONvfz2EDU8rKuHRW3+wc9ILPsAWoikBEWavY= cloud.google.com/go/speech v1.21.0/go.mod h1:wwolycgONvfz2EDU8rKuHRW3+wc9ILPsAWoikBEWavY= -cloud.google.com/go/speech v1.21.1 h1:nuFc+Kj5B8de75nN4FdPyUbI2SiBoHZG6BLurXL56Q0= cloud.google.com/go/speech v1.21.1/go.mod h1:E5GHZXYQlkqWQwY5xRSLHw2ci5NMQNG52FfMU1aZrIA= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= @@ -1282,7 +1170,6 @@ cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjp cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= cloud.google.com/go/storage v1.37.0/go.mod h1:i34TiT2IhiNDmcj65PqwCjcoUX7Z5pLzS8DEmoiFq1k= -cloud.google.com/go/storage v1.38.0 h1:Az68ZRGlnNTpIBbLjSMIV2BDcwwXYlRlQzis0llkpJg= cloud.google.com/go/storage v1.38.0/go.mod h1:tlUADB0mAb9BgYls9lq+8MGkfzOXuLrnHXlpHmvFJoY= cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= @@ -1292,7 +1179,6 @@ cloud.google.com/go/storagetransfer v1.10.0/go.mod h1:DM4sTlSmGiNczmV6iZyceIh2db cloud.google.com/go/storagetransfer v1.10.1/go.mod h1:rS7Sy0BtPviWYTTJVWCSV4QrbBitgPeuK4/FKa4IdLs= cloud.google.com/go/storagetransfer v1.10.2/go.mod h1:meIhYQup5rg9juQJdyppnA/WLQCOguxtk1pr3/vBWzA= cloud.google.com/go/storagetransfer v1.10.3/go.mod h1:Up8LY2p6X68SZ+WToswpQbQHnJpOty/ACcMafuey8gc= -cloud.google.com/go/storagetransfer v1.10.4 h1:dy4fL3wO0VABvzM05ycMUPFHxTPbJz9Em8ikAJVqSbI= cloud.google.com/go/storagetransfer v1.10.4/go.mod h1:vef30rZKu5HSEf/x1tK3WfWrL0XVoUQN/EPDRGPzjZs= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= @@ -1303,7 +1189,6 @@ cloud.google.com/go/talent v1.6.2/go.mod h1:CbGvmKCG61mkdjcqTcLOkb2ZN1SrQI8MDyma cloud.google.com/go/talent v1.6.3/go.mod h1:xoDO97Qd4AK43rGjJvyBHMskiEf3KulgYzcH6YWOVoo= cloud.google.com/go/talent v1.6.4/go.mod h1:QsWvi5eKeh6gG2DlBkpMaFYZYrYUnIpo34f6/V5QykY= cloud.google.com/go/talent v1.6.5/go.mod h1:Mf5cma696HmE+P2BWJ/ZwYqeJXEeU0UqjHFXVLadEDI= -cloud.google.com/go/talent v1.6.6 h1:JssV0CE3FNujuSWn7SkosOzg7qrMxVnt6txOfGcMSa4= cloud.google.com/go/talent v1.6.6/go.mod h1:y/WQDKrhVz12WagoarpAIyKKMeKGKHWPoReZ0g8tseQ= cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= @@ -1312,7 +1197,6 @@ cloud.google.com/go/texttospeech v1.7.1/go.mod h1:m7QfG5IXxeneGqTapXNxv2ItxP/FS0 cloud.google.com/go/texttospeech v1.7.2/go.mod h1:VYPT6aTOEl3herQjFHYErTlSZJ4vB00Q2ZTmuVgluD4= cloud.google.com/go/texttospeech v1.7.3/go.mod h1:Av/zpkcgWfXlDLRYob17lqMstGZ3GqlvJXqKMp2u8so= cloud.google.com/go/texttospeech v1.7.4/go.mod h1:vgv0002WvR4liGuSd5BJbWy4nDn5Ozco0uJymY5+U74= -cloud.google.com/go/texttospeech v1.7.5 h1:dxY2Q5mHCbrGa3oPR2O3PCicdnvKa1JmwGQK36EFLOw= cloud.google.com/go/texttospeech v1.7.5/go.mod h1:tzpCuNWPwrNJnEa4Pu5taALuZL4QRRLcb+K9pbhXT6M= cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= @@ -1321,7 +1205,6 @@ cloud.google.com/go/tpu v1.6.1/go.mod h1:sOdcHVIgDEEOKuqUoi6Fq53MKHJAtOwtz0GuKsW cloud.google.com/go/tpu v1.6.2/go.mod h1:NXh3NDwt71TsPZdtGWgAG5ThDfGd32X1mJ2cMaRlVgU= cloud.google.com/go/tpu v1.6.3/go.mod h1:lxiueqfVMlSToZY1151IaZqp89ELPSrk+3HIQ5HRkbY= cloud.google.com/go/tpu v1.6.4/go.mod h1:NAm9q3Rq2wIlGnOhpYICNI7+bpBebMJbh0yyp3aNw1Y= -cloud.google.com/go/tpu v1.6.5 h1:C8YyYda8WtNdBoCgFwwBzZd+S6+EScHOxM/z1h0NNp8= cloud.google.com/go/tpu v1.6.5/go.mod h1:P9DFOEBIBhuEcZhXi+wPoVy/cji+0ICFi4TtTkMHSSs= cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= @@ -1331,7 +1214,6 @@ cloud.google.com/go/trace v1.10.1/go.mod h1:gbtL94KE5AJLH3y+WVpfWILmqgc6dXcqgNXd cloud.google.com/go/trace v1.10.2/go.mod h1:NPXemMi6MToRFcSxRl2uDnu/qAlAQ3oULUphcHGh1vA= cloud.google.com/go/trace v1.10.3/go.mod h1:Ke1bgfc73RV3wUFml+uQp7EsDw4dGaETLxB7Iq/r4CY= cloud.google.com/go/trace v1.10.4/go.mod h1:Nso99EDIK8Mj5/zmB+iGr9dosS/bzWCJ8wGmE6TXNWY= -cloud.google.com/go/trace v1.10.5 h1:0pr4lIKJ5XZFYD9GtxXEWr0KkVeigc3wlGpZco0X1oA= cloud.google.com/go/trace v1.10.5/go.mod h1:9hjCV1nGBCtXbAE4YK7OqJ8pmPYSxPA0I67JwRd5s3M= cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= @@ -1345,7 +1227,6 @@ cloud.google.com/go/translate v1.9.1/go.mod h1:TWIgDZknq2+JD4iRcojgeDtqGEp154HN/ cloud.google.com/go/translate v1.9.2/go.mod h1:E3Tc6rUTsQkVrXW6avbUhKJSr7ZE3j7zNmqzXKHqRrY= cloud.google.com/go/translate v1.9.3/go.mod h1:Kbq9RggWsbqZ9W5YpM94Q1Xv4dshw/gr/SHfsl5yCZ0= cloud.google.com/go/translate v1.10.0/go.mod h1:Kbq9RggWsbqZ9W5YpM94Q1Xv4dshw/gr/SHfsl5yCZ0= -cloud.google.com/go/translate v1.10.1 h1:upovZ0wRMdzZvXnu+RPam41B0mRJ+coRXFP2cYFJ7ew= cloud.google.com/go/translate v1.10.1/go.mod h1:adGZcQNom/3ogU65N9UXHOnnSvjPwA/jKQUMnsYXOyk= cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= @@ -1359,7 +1240,6 @@ cloud.google.com/go/video v1.20.0/go.mod h1:U3G3FTnsvAGqglq9LxgqzOiBc/Nt8zis8S+8 cloud.google.com/go/video v1.20.1/go.mod h1:3gJS+iDprnj8SY6pe0SwLeC5BUW80NjhwX7INWEuWGU= cloud.google.com/go/video v1.20.2/go.mod h1:lrixr5JeKNThsgfM9gqtwb6Okuqzfo4VrY2xynaViTA= cloud.google.com/go/video v1.20.3/go.mod h1:TnH/mNZKVHeNtpamsSPygSR0iHtvrR/cW1/GDjN5+GU= -cloud.google.com/go/video v1.20.4 h1:TXwotxkShP1OqgKsbd+b8N5hrIHavSyLGvYnLGCZ7xc= cloud.google.com/go/video v1.20.4/go.mod h1:LyUVjyW+Bwj7dh3UJnUGZfyqjEto9DnrvTe1f/+QrW0= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= @@ -1370,9 +1250,7 @@ cloud.google.com/go/videointelligence v1.11.1/go.mod h1:76xn/8InyQHarjTWsBR058Sm cloud.google.com/go/videointelligence v1.11.2/go.mod h1:ocfIGYtIVmIcWk1DsSGOoDiXca4vaZQII1C85qtoplc= cloud.google.com/go/videointelligence v1.11.3/go.mod h1:tf0NUaGTjU1iS2KEkGWvO5hRHeCkFK3nPo0/cOZhZAo= cloud.google.com/go/videointelligence v1.11.4/go.mod h1:kPBMAYsTPFiQxMLmmjpcZUMklJp3nC9+ipJJtprccD8= -cloud.google.com/go/videointelligence v1.11.5 h1:mYaWH8uhUCXLJCN3gdXswKzRa2+lK0zN6/KsIubm6pE= cloud.google.com/go/videointelligence v1.11.5/go.mod h1:/PkeQjpRponmOerPeJxNPuxvi12HlW7Em0lJO14FC3I= -cloud.google.com/go/vision v1.2.0 h1:/CsSTkbmO9HC8iQpxbK8ATms3OQaX3YQUeTMGCxlaK4= cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= @@ -1385,7 +1263,6 @@ cloud.google.com/go/vision/v2 v2.7.3/go.mod h1:V0IcLCY7W+hpMKXK1JYE0LV5llEqVmj+U cloud.google.com/go/vision/v2 v2.7.4/go.mod h1:ynDKnsDN/0RtqkKxQZ2iatv3Dm9O+HfRb5djl7l4Vvw= cloud.google.com/go/vision/v2 v2.7.5/go.mod h1:GcviprJLFfK9OLf0z8Gm6lQb6ZFUulvpZws+mm6yPLM= cloud.google.com/go/vision/v2 v2.7.6/go.mod h1:ZkvWTVNPBU3YZYzgF9Y1jwEbD1NBOCyJn0KFdQfE6Bw= -cloud.google.com/go/vision/v2 v2.8.0 h1:W52z1b6LdGI66MVhE70g/NFty9zCYYcjdKuycqmlhtg= cloud.google.com/go/vision/v2 v2.8.0/go.mod h1:ocqDiA2j97pvgogdyhoxiQp2ZkDCyr0HWpicywGGRhU= cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= @@ -1395,7 +1272,6 @@ cloud.google.com/go/vmmigration v1.7.1/go.mod h1:WD+5z7a/IpZ5bKK//YmT9E047AD+rjy cloud.google.com/go/vmmigration v1.7.2/go.mod h1:iA2hVj22sm2LLYXGPT1pB63mXHhrH1m/ruux9TwWLd8= cloud.google.com/go/vmmigration v1.7.3/go.mod h1:ZCQC7cENwmSWlwyTrZcWivchn78YnFniEQYRWQ65tBo= cloud.google.com/go/vmmigration v1.7.4/go.mod h1:yBXCmiLaB99hEl/G9ZooNx2GyzgsjKnw5fWcINRgD70= -cloud.google.com/go/vmmigration v1.7.5 h1:5v9RT2vWyuw3pK2ox0HQpkoftO7Q7/8591dTxxQc79g= cloud.google.com/go/vmmigration v1.7.5/go.mod h1:pkvO6huVnVWzkFioxSghZxIGcsstDvYiVCxQ9ZH3eYI= cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= @@ -1405,7 +1281,6 @@ cloud.google.com/go/vmwareengine v1.0.0/go.mod h1:Px64x+BvjPZwWuc4HdmVhoygcXqEkG cloud.google.com/go/vmwareengine v1.0.1/go.mod h1:aT3Xsm5sNx0QShk1Jc1B8OddrxAScYLwzVoaiXfdzzk= cloud.google.com/go/vmwareengine v1.0.2/go.mod h1:xMSNjIk8/itYrz1JA8nV3Ajg4L4n3N+ugP8JKzk3OaA= cloud.google.com/go/vmwareengine v1.0.3/go.mod h1:QSpdZ1stlbfKtyt6Iu19M6XRxjmXO+vb5a/R6Fvy2y4= -cloud.google.com/go/vmwareengine v1.1.1 h1:EGdDi9QbqThfZq3ILcDK5g+m9jTevc34AY5tACx5v7k= cloud.google.com/go/vmwareengine v1.1.1/go.mod h1:nMpdsIVkUrSaX8UvmnBhzVzG7PPvNYc5BszcvIVudYs= cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= @@ -1414,7 +1289,6 @@ cloud.google.com/go/vpcaccess v1.7.1/go.mod h1:FogoD46/ZU+JUBX9D606X21EnxiszYi2t cloud.google.com/go/vpcaccess v1.7.2/go.mod h1:mmg/MnRHv+3e8FJUjeSibVFvQF1cCy2MsFaFqxeY1HU= cloud.google.com/go/vpcaccess v1.7.3/go.mod h1:YX4skyfW3NC8vI3Fk+EegJnlYFatA+dXK4o236EUCUc= cloud.google.com/go/vpcaccess v1.7.4/go.mod h1:lA0KTvhtEOb/VOdnH/gwPuOzGgM+CWsmGu6bb4IoMKk= -cloud.google.com/go/vpcaccess v1.7.5 h1:XyL6hTLtEM/eE4F1GEge8xUN9ZCkiVWn44K/YA7z1rQ= cloud.google.com/go/vpcaccess v1.7.5/go.mod h1:slc5ZRvvjP78c2dnL7m4l4R9GwL3wDLcpIWz6P/ziig= cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= @@ -1425,7 +1299,6 @@ cloud.google.com/go/webrisk v1.9.1/go.mod h1:4GCmXKcOa2BZcZPn6DCEvE7HypmEJcJkr4m cloud.google.com/go/webrisk v1.9.2/go.mod h1:pY9kfDgAqxUpDBOrG4w8deLfhvJmejKB0qd/5uQIPBc= cloud.google.com/go/webrisk v1.9.3/go.mod h1:RUYXe9X/wBDXhVilss7EDLW9ZNa06aowPuinUOPCXH8= cloud.google.com/go/webrisk v1.9.4/go.mod h1:w7m4Ib4C+OseSr2GL66m0zMBywdrVNTDKsdEsfMl7X0= -cloud.google.com/go/webrisk v1.9.5 h1:251MvGuC8wisNN7+jqu9DDDZAi38KiMXxOpA/EWy4dE= cloud.google.com/go/webrisk v1.9.5/go.mod h1:aako0Fzep1Q714cPEM5E+mtYX8/jsfegAuS8aivxy3U= cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= @@ -1434,7 +1307,6 @@ cloud.google.com/go/websecurityscanner v1.6.1/go.mod h1:Njgaw3rttgRHXzwCB8kgCYqv cloud.google.com/go/websecurityscanner v1.6.2/go.mod h1:7YgjuU5tun7Eg2kpKgGnDuEOXWIrh8x8lWrJT4zfmas= cloud.google.com/go/websecurityscanner v1.6.3/go.mod h1:x9XANObUFR+83Cya3g/B9M/yoHVqzxPnFtgF8yYGAXw= cloud.google.com/go/websecurityscanner v1.6.4/go.mod h1:mUiyMQ+dGpPPRkHgknIZeCzSHJ45+fY4F52nZFDHm2o= -cloud.google.com/go/websecurityscanner v1.6.5 h1:YqWZrZYabG88TZt7364XWRJGhxmxhony2ZUyZEYMF2k= cloud.google.com/go/websecurityscanner v1.6.5/go.mod h1:QR+DWaxAz2pWooylsBF854/Ijvuoa3FCyS1zBa1rAVQ= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= @@ -1446,14 +1318,11 @@ cloud.google.com/go/workflows v1.12.0/go.mod h1:PYhSk2b6DhZ508tj8HXKaBh+OFe+xdl0 cloud.google.com/go/workflows v1.12.1/go.mod h1:5A95OhD/edtOhQd/O741NSfIMezNTbCwLM1P1tBRGHM= cloud.google.com/go/workflows v1.12.2/go.mod h1:+OmBIgNqYJPVggnMo9nqmizW0qEXHhmnAzK/CnBqsHc= cloud.google.com/go/workflows v1.12.3/go.mod h1:fmOUeeqEwPzIU81foMjTRQIdwQHADi/vEr1cx9R1m5g= -cloud.google.com/go/workflows v1.12.4 h1:uHNmUiatTbPQ4H1pabwfzpfEYD4BBnqDHqMm2IesOh4= cloud.google.com/go/workflows v1.12.4/go.mod h1:yQ7HUqOkdJK4duVtMeBCAOPiN1ZF1E9pAMX51vpwB/w= -contrib.go.opencensus.io/exporter/ocagent v0.7.1-0.20200907061046-05415f1de66d h1:LblfooH1lKOpp1hIhukktmSAxFkqMPFk9KR6iZ0MJNI= contrib.go.opencensus.io/exporter/ocagent v0.7.1-0.20200907061046-05415f1de66d/go.mod h1:IshRmMJBhDfFj5Y67nVhMYTTIze91RUeT73ipWKs/GY= contrib.go.opencensus.io/exporter/prometheus v0.1.0/go.mod h1:cGFniUXGZlKRjzOyuZJ6mgB+PgBcCIa79kEKR8YCW+A= contrib.go.opencensus.io/exporter/prometheus v0.4.0 h1:0QfIkj9z/iVZgK31D9H9ohjjIDApI2GOPScCKwxedbs= contrib.go.opencensus.io/exporter/prometheus v0.4.0/go.mod h1:o7cosnyfuPVK0tB8q0QmaQNhGnptITnPQB+z1+qeFB0= -contrib.go.opencensus.io/exporter/zipkin v0.1.2 h1:YqE293IZrKtqPnpwDPH/lOqTWD/s3Iwabycam74JV3g= contrib.go.opencensus.io/exporter/zipkin v0.1.2/go.mod h1:mP5xM3rrgOjpn79MM8fZbj3gsxcuytSqtH0dxSWW1RE= cuelabs.dev/go/oci/ociregistry v0.0.0-20240807094312-a32ad29eed79 h1:EceZITBGET3qHneD5xowSTY/YHbNybvMWGh62K2fG/M= cuelabs.dev/go/oci/ociregistry v0.0.0-20240807094312-a32ad29eed79/go.mod h1:5A4xfTzHTXfeVJBU6RAUf+QrlfTCW+017q/QiW+sMLg= @@ -1461,13 +1330,10 @@ cuelang.org/go v0.10.0 h1:Y1Pu4wwga5HkXfLFK1sWAYaSWIBdcsr5Cb5AWj2pOuE= cuelang.org/go v0.10.0/go.mod h1:HzlaqqqInHNiqE6slTP6+UtxT9hN6DAzgJgdbNxXvX8= dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9 h1:VpgP7xuJadIUuKccphEpTJnWhS2jkQyMt6Y7pJCD7fY= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= -gioui.org v0.0.0-20210308172011-57750fc8a0a6 h1:K72hopUosKG3ntOPNG4OzzbuhxGuVf06fa2la1/H/Ho= gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= -git.sr.ht/~sbinet/gg v0.3.1 h1:LNhjNn8DerC8f9DHLz6lS0YYul/b602DUxDgGkd/Aik= git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 h1:He8afgbRMd7mFxO99hRNu+6tazq8nFF9lIwo9JFroBk= github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= @@ -1477,14 +1343,11 @@ github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg6 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802 h1:1BDTz0u9nC3//pOCMdNH+CiXJVYJh5UQNCOBG7jbELc= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU= github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU= github.com/DataDog/datadog-go v0.0.0-20180330214955-e67964b4021a/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dXCilEuNEeAn20fdD4= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c h1:RGWPOewvKIROun94nF7v2cua9qP+thov/7M50KEoeSU= github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ= github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE= @@ -1500,114 +1363,70 @@ github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0= github.com/Masterminds/squirrel v1.5.4 h1:uUcX/aBc8O7Fg9kaISIUsHXdKuqehiXAMQTYX8afzqM= github.com/Masterminds/squirrel v1.5.4/go.mod h1:NNaOrjSoIDfDA40n7sr2tPNZRfjzjA400rg+riTZj10= -github.com/Masterminds/vcs v1.13.3 h1:IIA2aBdXvfbIM+yl/eTnL4hb1XwdpvuQLglAix1gweE= -github.com/Masterminds/vcs v1.13.3/go.mod h1:TiE7xuEjl1N4j016moRd6vezp6e6Lz23gypeXfzXeW8= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/Microsoft/hcsshim v0.11.4 h1:68vKo2VN8DE9AdN4tnkWnmdhqdbpUFM8OF3Airm7fz8= github.com/Microsoft/hcsshim v0.11.4/go.mod h1:smjE4dvqPX9Zldna+t5FG3rnoHhaB7QYxPRqGcpAD9w= -github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/Netflix/go-expect v0.0.0-20180615182759-c93bf25de8e8/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc= github.com/Netflix/go-expect v0.0.0-20180928190340-9d1f4485533b h1:sSQK05nvxs4UkgCJaxihteu+r+6ela3dNMm7NVmsS3c= github.com/Netflix/go-expect v0.0.0-20180928190340-9d1f4485533b/go.mod h1:oX5x61PbNXchhh0oikYAH+4Pcfw5LKv21+Jnpr6r6Pc= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/OneOfOne/xxhash v1.2.8 h1:31czK/TI9sNkxIKfaUfGlU47BAxQ0ztGgd9vPyqimf8= -github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 h1:YoJbenK9C67SkzkDfmQuVln04ygHj3vjZfd9FL+GmQQ= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d h1:UrqY+r/OJnIp5u0s1SbQ8dVfLCZJsnvazdBP5hS4iRs= github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/sarama v1.30.0 h1:TOZL6r37xJBDEMLx4yjB77jxbZYXPaDow08TSK6vIL0= github.com/Shopify/sarama v1.30.0/go.mod h1:zujlQQx1kzHsh4jfV1USnptCQrHAEZ2Hk8fTKCulPVs= -github.com/Shopify/toxiproxy v2.1.4+incompatible h1:TKdv8HiTLgE5wdJuEML90aBgNWsokNbMijUGhmcoBJc= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/Shopify/toxiproxy/v2 v2.1.6-0.20210914104332-15ea381dcdae h1:ePgznFqEG1v3AjMklnK8H7BSc++FDSo7xfK9K7Af+0Y= github.com/Shopify/toxiproxy/v2 v2.1.6-0.20210914104332-15ea381dcdae/go.mod h1:/cvHQkZ1fst0EmZnA5dFtiQdWCNCFYzb+uE2vqVgvx0= -github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow= -github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4= github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= -github.com/agnivade/levenshtein v1.0.1 h1:3oJU7J3FGFmyhn8KHjmVaZCN5hxTr7GxgRue+sxIXdQ= github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= github.com/ahmetb/gen-crd-api-reference-docs v0.3.1-0.20240214155107-6cf1ede4da61 h1:jkkjcj/7W0plknZNcgFBOUpGvzUY7bHVUgBBbLuFhwE= github.com/ahmetb/gen-crd-api-reference-docs v0.3.1-0.20240214155107-6cf1ede4da61/go.mod h1:7tZt0e57D01h4l1ub4dcgcUVWlYk/wYBRQUMsR6cW7Y= -github.com/airbrake/gobrake v3.6.1+incompatible h1:uTMNQO1LrLNL97C1wh6ZtCZjaWWTkSeOeXyrB0iMQ1s= github.com/airbrake/gobrake v3.6.1+incompatible/go.mod h1:wM4gu3Cn0W0K7GUuVWnlXZU11AGBXMILnrdOU8Kn00o= -github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9 h1:7kQgkwGRoLzC9K0oyXdJo7nve/bynv/KwUsxbiTlzAM= github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= -github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19 h1:iXUgAaqDcIUGbRoy2TdeofRG/j1zpGRSEmNK05T+bi8= github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= -github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b h1:slYM766cy2nI3BwyRiyQj/Ud48djTMtMebDqepE95rw= github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= -github.com/akavel/rsrc v0.10.2 h1:Zxm8V5eI1hW4gGaYsJQUhxpjkENuG91ki8B4zCrvEsw= -github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= -github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs= github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= -github.com/alecholmes/xfccparser v0.4.0 h1:IFB4bP34oorjcV3n8utZtBhEwlAw9rZ43pb4LgT23Vo= -github.com/alecholmes/xfccparser v0.4.0/go.mod h1:J9fzzUOtjw74IwNdGVbjnOVj1UDlwGQj1zZzgQRlRDY= github.com/alecthomas/assert/v2 v2.2.2/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ= -github.com/alecthomas/assert/v2 v2.3.0 h1:mAsH2wmvjsuvyBvAmCtm7zFsBlb8mIHx5ySLVdDZXL0= github.com/alecthomas/assert/v2 v2.3.0/go.mod h1:pXcQ2Asjp247dahGEmsZ6ru0UVwnkhktn7S0bBDLxvQ= -github.com/alecthomas/jsonschema v0.0.0-20180308105923-f2c93856175a h1:FTykHiUVgZkL0cdTplzjoDZnizgAqEo6riN3R2VYwg0= github.com/alecthomas/jsonschema v0.0.0-20180308105923-f2c93856175a/go.mod h1:qpebaTNSsyUn5rPSJMsfqEtDw71TTggXM6stUDI16HA= github.com/alecthomas/kingpin/v2 v2.3.1/go.mod h1:oYL5vtsvEHZGHxU7DMp32Dvx+qL+ptGn6lWaot2vCNE= github.com/alecthomas/kingpin/v2 v2.3.2/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= -github.com/alecthomas/kingpin/v2 v2.4.0 h1:f48lwail6p8zpO1bC4TxtqACaGqHYA22qkHjHpqDjYY= github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= github.com/alecthomas/participle/v2 v2.0.0/go.mod h1:rAKZdJldHu8084ojcWevWAL8KmEU+AT+Olodb+WoN2Y= -github.com/alecthomas/participle/v2 v2.1.0 h1:z7dElHRrOEEq45F2TG5cbQihMtNTv8vwldytDj7Wrz4= github.com/alecthomas/participle/v2 v2.1.0/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= -github.com/alecthomas/repr v0.2.0 h1:HAzS41CIzNW5syS8Mf9UwXhNH1J9aix/BvDRf1Ml2Yk= github.com/alecthomas/repr v0.2.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= -github.com/alessio/shellescape v1.4.1 h1:V7yhSDDn8LP4lc4jS8pFkt0zCnzVJlG5JXy9BVKJUX0= -github.com/alessio/shellescape v1.4.1/go.mod h1:PZAiSCk0LJaZkiCSkPv8qIobYglO3FPpyFjDCtHLS30= -github.com/alexedwards/scs v1.4.1 h1:/5L5a07IlqApODcEfZyMsu8Smd1S7Q4nBjEyKxIRTp0= github.com/alexedwards/scs v1.4.1/go.mod h1:JRIFiXthhMSivuGbxpzUa0/hT5rz2hpyw61Bmd+S1bg= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= -github.com/andybalholm/brotli v1.0.5 h1:8uQZIdzKmjc/iuPu7O2ioW48L81FgatrcpfFmiq/cCs= github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= -github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI= github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g= -github.com/aokoli/goutils v1.0.1 h1:7fpzNGoJ3VA8qcrm++XEE1QUe0mIwNeLa02Nwq7RDkg= -github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= -github.com/apache/arrow/go/v10 v10.0.1 h1:n9dERvixoC/1JjDmBcs9FPaEryoANa2sCgVFo6ez9cI= github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= -github.com/apache/arrow/go/v11 v11.0.0 h1:hqauxvFQxww+0mEU/2XHG6LT7eZternCZq+A5Yly2uM= github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI= github.com/apache/arrow/go/v12 v12.0.0/go.mod h1:d+tV/eHZZ7Dz7RPrFKtPK02tpr+c9/PEd/zm8mDS9Vg= -github.com/apache/arrow/go/v12 v12.0.1 h1:JsR2+hzYYjgSUkBSaahpqCetqZMr76djX80fF/DiJbg= github.com/apache/arrow/go/v12 v12.0.1/go.mod h1:weuTY7JvTG/HDPtMQxEUp7pU73vkLWMLpY67QwZ/WWw= -github.com/apache/arrow/go/v14 v14.0.2 h1:N8OkaJEOfI3mEZt07BIkvo4sC6XDbL+48MBPWO5IONw= github.com/apache/arrow/go/v14 v14.0.2/go.mod h1:u3fgh3EdgN/YQ8cVQRguVW3R+seMybFg8QBQ5LU+eBY= -github.com/apache/thrift v0.14.0 h1:vqZ2DP42i8th2OsgCcYZkirtbzvpZEFx53LiWDJXIAs= github.com/apache/thrift v0.14.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e h1:QEF07wC0T1rKkctt1RINW/+RMTVmiwxETico2l3gxJA= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6 h1:G1bPvciwNyF7IUmKXNt9Ak3m6u9DE1rF+RmtIkBpVdA= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= @@ -1630,35 +1449,23 @@ github.com/avast/retry-go/v4 v4.3.3/go.mod h1:rg6XFaiuFYII0Xu3RDbZQkxCofFwruZKW8 github.com/aws/aws-sdk-go v1.30.27/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.34.9 h1:cUGBW9CVdi0mS7K1hDzxIqTpfeWhpoQiguq81M1tjK0= github.com/aws/aws-sdk-go v1.34.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= -github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bitly/go-simplejson v0.5.0 h1:6IH+V8/tVMab511d5bn4M7EwGXZf9Hj6i2xSwkNEM+Y= github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c h1:+0HFd5KSZ/mm3JmhmrDukiId5iR6w4+BdFtfSy4yWIc= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= -github.com/blendle/zapdriver v1.3.1 h1:C3dydBOWYRiOk+B8X9IVZ5IOe+7cl+tGOexN4QqHfpE= github.com/blendle/zapdriver v1.3.1/go.mod h1:mdXfREi6u5MArG4j9fewC+FGnXaBR+T4Ox4J2u4eHCc= github.com/bluekeyes/hatpear v0.0.0-20180714193905-ffb42d5bb417/go.mod h1:D+WOahrNtu6OK0KiVoXY9h5j7IcEs5LYke+zJkMBsKg= -github.com/bluekeyes/hatpear v0.1.1 h1:FA5diKynoYJi6YVTJPEDbe4MG6eA8h+7LYHUlm8bppc= -github.com/bluekeyes/hatpear v0.1.1/go.mod h1:2bh+rl4wLhqzzL0hT7Q4SVGXIivrE8oKgH2WYM3ubt0= -github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= -github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b h1:AP/Y7sqYicnjGDfD5VcY4CIfh1hRXBUavxrvELjTiOE= github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b/go.mod h1:ac9efd0D1fsDb3EJvhqgXRbFx7bs2wqZ10HQPeU8U/Q= github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= -github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyXcs= github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= -github.com/bradleyfalzon/ghinstallation v1.1.1 h1:pmBXkxgM1WeF8QYvDLT5kuQiHMcmf+X015GI0KM/E3I= github.com/bradleyfalzon/ghinstallation v1.1.1/go.mod h1:vyCmHTciHx/uuyN82Zc3rXN3X2KTK8nUTCrTMwAhcug= github.com/bshuster-repo/logrus-logstash-hook v1.0.0 h1:e+C0SB5R1pu//O4MQ3f9cFuPGoOVeF2fE4Og9otCc70= github.com/bshuster-repo/logrus-logstash-hook v1.0.0/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= @@ -1667,11 +1474,8 @@ github.com/bufbuild/protocompile v0.6.0/go.mod h1:YNP35qEYoYGme7QMtz5SBCoN4kL4g1 github.com/bugsnag/bugsnag-go v1.4.0/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= github.com/bugsnag/bugsnag-go v1.5.0 h1:tP8hiPv1pGGW3LA6LKy5lW6WG+y9J2xWUdPd3WC452k= github.com/bugsnag/bugsnag-go v1.5.0/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= -github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b h1:otBG+dV+YK+Soembjv71DPz3uX/V/6MMlSyD9JBQ6kQ= -github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= github.com/bugsnag/panicwrap v1.2.0 h1:OzrKrRvXis8qEvOkfcxNcYbOd2O7xXS2nnKMEMABFQA= github.com/bugsnag/panicwrap v1.2.0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= -github.com/c2h5oh/datasize v0.0.0-20171227191756-4eba002a5eae h1:2Zmk+8cNvAGuY8AyvZuWpUdpQUAXwfom4ReVMe/CTIo= github.com/c2h5oh/datasize v0.0.0-20171227191756-4eba002a5eae/go.mod h1:S/7n9copUssQ56c7aAgHqftWO4LTf4xY6CGWt8Bc+3M= github.com/cenkalti/backoff/v3 v3.0.0 h1:ske+9nBpD9qZsTBoF41nW5L+AIuFBKMeze18XQ3eG1c= github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= @@ -1680,9 +1484,7 @@ github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK3 github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.0 h1:LzQXZOgg4CQfE6bFvXGM30YZL1WW/M337pXml+GrcZ4= github.com/census-instrumentation/opencensus-proto v0.2.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/certifi/gocertifi v0.0.0-20190105021004-abcd57078448 h1:8tNk6SPXzLDnATTrWoI5Bgw9s/x4uf0kmBpk21NZgI4= github.com/certifi/gocertifi v0.0.0-20190105021004-abcd57078448/go.mod h1:GJKEexRPVJrBSOjoqN5VNOIKJ5Q3RViH6eu3puDRwx4= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.0/go.mod h1:dgIUBU3pDso/gPgZ1osOZ0iQf77oPR28Tjxl5dIMyVM= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -1692,39 +1494,25 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chai2010/gettext-go v1.0.2 h1:1Lwwip6Q2QGsAdl/ZKPCwTe9fe0CjlUbqj5bFNSjIRk= github.com/chai2010/gettext-go v1.0.2/go.mod h1:y+wnP2cHYaVj19NZhYKAwEMH2CI1gNHeQQ+5AjwawxA= -github.com/cheggaaa/pb/v3 v3.1.5 h1:QuuUzeM2WsAqG2gMqtzaWithDJv0i+i6UlnwSCI4QLk= -github.com/cheggaaa/pb/v3 v3.1.5/go.mod h1:CrxkeghYTXi1lQBEI7jSn+3svI3cuc19haAj6jM60XI= -github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89 h1:aPflPkRFkVwbW6dmcVqfgwp1i+UWGFH6VgR1Jim5Ygc= github.com/chromedp/cdproto v0.0.0-20230802225258-3cf4e6d46a89/go.mod h1:GKljq0VrfU4D5yc+2qA6OVr8pmO/MBbPEWqWQ/oqGEs= -github.com/chromedp/chromedp v0.9.2 h1:dKtNz4kApb06KuSXoTQIyUC2TrA0fhGDwNZf3bcgfKw= github.com/chromedp/chromedp v0.9.2/go.mod h1:LkSXJKONWTCHAfQasKFUZI+mxqS4tZqhmtGzzhLsnLs= -github.com/chromedp/sysutil v1.0.0 h1:+ZxhTpfpZlmchB58ih/LBHX52ky7w2VhQVKQMucy3Ic= github.com/chromedp/sysutil v1.0.0/go.mod h1:kgWmDdq8fTzXYcKIBqIYvRRTnYb9aNS9moAV0xufSww= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/logex v1.2.0/go.mod h1:9+9sk7u7pGNWYMkh0hdiL++6OeibzJccyQU4p4MedaY= -github.com/chzyer/logex v1.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM= github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/readline v1.5.0/go.mod h1:x22KAscuvRqlLoK9CsoYsmxoXZMMFVyOl86cAH8qUic= -github.com/chzyer/readline v1.5.1 h1:upd/6fQk4src78LMRzh5vItIt361/o4uq553V8B5sGI= github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/chzyer/test v0.0.0-20210722231415-061457976a23/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/chzyer/test v1.0.0 h1:p3BQDXSxOhOG0P9z6/hGnII4LGiEPOYBhs8asl/fC04= github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= -github.com/cilium/ebpf v0.9.1 h1:64sn2K3UKw8NbP/blsixRpF3nXuyhz/VjRlRzvlBRu4= -github.com/cilium/ebpf v0.9.1/go.mod h1:+OhNOIXx/Fnu1IE8bJz2dzOA+VSfyTfdNUVdlQnxUFY= -github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible h1:C29Ae4G5GtYyYMm1aztcyj/J5ckgJm2zwdDajFbx1NY= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= -github.com/circonus-labs/circonusllhist v0.1.3 h1:TJH+oke8D16535+jHExHj4nQvzlZrj7ug5D7I/orNUA= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= -github.com/client9/misspell v0.3.4 h1:ta993UF76GwbvJcIo3Y68y/M3WxlpEHPWIGDkJYwzJI= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe h1:QQ3GSy+MqSHxm/d8nCtnAiZdYFd45cYZPs8vOOIYKfk= github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= @@ -1742,60 +1530,27 @@ github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50/go.mod h1:5e1+Vvlzido6 github.com/cncf/xds/go v0.0.0-20240423153145-555b57ec207b/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 h1:QVw89YDxXxEe+l8gU8ETbOasdwEV+avkR75ZzsVV9WI= github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= -github.com/cockroachdb/apd/v2 v2.0.1 h1:y1Rh3tEU89D+7Tgbw+lp52T6p/GJLpDmNvr10UWqLTE= -github.com/cockroachdb/apd/v2 v2.0.1/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg= github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc= -github.com/cockroachdb/datadriven v1.0.2 h1:H9MtNqVoVhvd9nCBwOyDjUEdZCREqbIdCJD93PBm/jA= github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU= github.com/containerd/cgroups v1.1.0 h1:v8rEWFl6EoqHB+swVNjVoCJE8o3jX7e8nqBGPLaDFBM= github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw= -github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw= -github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= github.com/containerd/containerd v1.4.13 h1:Z0CbagVdn9VN4K6htOCY/jApSw8YKP+RdLZ5dkXF8PM= github.com/containerd/containerd v1.4.13/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/continuity v0.4.3 h1:6HVkalIp+2u1ZLH1J/pYX2oBVXlJZvh1X1A7bEZ9Su8= github.com/containerd/continuity v0.4.3/go.mod h1:F6PTNCKepoxEaXLQp3wDAjygEnImnZ/7o4JzpodfroQ= -github.com/containerd/fifo v1.0.0 h1:6PirWBr9/L7GDamKr+XM0IeUFXu5mf3M/BPpH9gaLBU= -github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= -github.com/containerd/go-runc v1.0.0 h1:oU+lLv1ULm5taqgV/CJivypVODI4SUz1znWjv3nNYS0= -github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= -github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= -github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= -github.com/containerd/stargz-snapshotter/estargz v0.15.1 h1:eXJjw9RbkLFgioVaTG+G/ZW/0kEe2oEKCdS/ZxIyoCU= -github.com/containerd/stargz-snapshotter/estargz v0.15.1/go.mod h1:gr2RNwukQ/S9Nv33Lt6UC7xEx58C+LHRdoqbEKjz1Kk= -github.com/containerd/ttrpc v1.1.2 h1:4jH6OQDQqjfVD2b5TJS5TxmGuLGmp5WW7KtW2TWOP7c= -github.com/containerd/ttrpc v1.1.2/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= -github.com/containerd/typeurl v1.0.2 h1:Chlt8zIieDbzQFzXzAeBEF92KhExuE4p9p92/QmY7aY= -github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= -github.com/containerd/typeurl/v2 v2.2.0 h1:6NBDbQzr7I5LHgp34xAXYF5DOTQDn05X58lsPEmzLso= -github.com/containerd/typeurl/v2 v2.2.0/go.mod h1:8XOOxnyatxSWuG8OfsZXVnAF4iZfedjS/8UHSPJnX4g= -github.com/containernetworking/cni v1.2.3 h1:hhOcjNVUQTnzdRJ6alC5XF+wd9mfGIUaj8FuJbEslXM= -github.com/containernetworking/cni v1.2.3/go.mod h1:DuLgF+aPd3DzcTQTtp/Nvl1Kim23oFKdm2okJzBQA5M= -github.com/containernetworking/plugins v1.6.0 h1:lrsUrLF7QODLx6gncHOqk/pnCiC7c6bvDAskV4KUifQ= -github.com/containernetworking/plugins v1.6.0/go.mod h1:rYLQWMJz/dYuW1XhHdc9xuzdkgbkWEEjwOhUm84+288= -github.com/corbym/gocrest v1.0.3 h1:gwEdq6RkTmq+09CTuM29DfKOCtZ7G7bcyxs3IZ6EVdU= github.com/corbym/gocrest v1.0.3/go.mod h1:maVFL5lbdS2PgfOQgGRWDYTeunSWQeiEgoNdTABShCs= -github.com/coreos/bbolt v1.3.2 h1:wZwiHHUieZCquLkDL0B8UhzreNWsPHooDAG3q34zk0s= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/etcd v3.3.13+incompatible h1:8F3hqu9fGYLBifCmRCJsicFqDx/D68Rt3q1JMazcgBQ= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= -github.com/coreos/go-oidc v2.2.1+incompatible h1:mh48q/BqXqgjVHpy2ZY7WnWAbenxRjsz9N1i1YxjHAk= github.com/coreos/go-oidc v2.2.1+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= -github.com/coreos/go-oidc/v3 v3.11.0 h1:Ia3MxdwpSw702YW0xgfmP1GVCMA9aEFWu12XUZ3/OtI= -github.com/coreos/go-oidc/v3 v3.11.0/go.mod h1:gE3LgjOgFoHi9a4ce4/tJczr0Ai2/BoDhf0r5lltWI0= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e h1:Wf6HqHfScWJN9/ZjdUKyjop4mf3Qdd+1TvvltAvM3m8= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f h1:lBNOc5arjvs8E5mO2tbpBpLoyyu8B6e44T7hJy6potg= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= @@ -1808,33 +1563,21 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3 github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= -github.com/crewjam/httperr v0.0.0-20190612203328-a946449404da h1:WXnT88cFG2davqSFqvaFfzkSMC0lqh/8/rKZ+z7tYvI= github.com/crewjam/httperr v0.0.0-20190612203328-a946449404da/go.mod h1:+rmNIXRvYMqLQeR4DHyTvs6y0MEMymTz4vyFpFkKTPs= -github.com/crewjam/saml v0.3.2-0.20191206212704-861266e3a689 h1:5/ntjhi4v0rV8c220jMR90268i6QkAWvg7QP6TT6HVs= github.com/crewjam/saml v0.3.2-0.20191206212704-861266e3a689/go.mod h1:fxbjgoFRea91JEzfcATb14uB+XPW1H88n0feRzehDeg= github.com/cyphar/filepath-securejoin v0.3.1 h1:1V7cHiaW+C+39wEfpH6XlLBQo3j/PciWFrgfCLS8XrE= github.com/cyphar/filepath-securejoin v0.3.1/go.mod h1:F7i41x/9cBF7lzCrVsYs9fuzwRZm4NQsGTBdpp6mETc= -github.com/danieljoos/wincred v1.2.1 h1:dl9cBrupW8+r5250DYkYxocLeZ1Y4vB1kxgtjxw8GQs= -github.com/danieljoos/wincred v1.2.1/go.mod h1:uGaFL9fDn3OLTvzCGulzE+SzjEe5NGlh5FdCcyfPwps= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/daviddengcn/go-colortext v1.0.0 h1:ANqDyC0ys6qCSvuEK7l3g5RaehL/Xck9EX8ATG8oKsE= github.com/daviddengcn/go-colortext v1.0.0/go.mod h1:zDqEI5NVUop5QPpVJUxE9UO10hRnmkD5G4Pmri9+m4c= -github.com/dchest/uniuri v0.0.0-20160212164326-8902c56451e9 h1:74lLNRzvsdIlkTgfDSMuaPjBr4cf6k7pwQQANm/yLKU= github.com/dchest/uniuri v0.0.0-20160212164326-8902c56451e9/go.mod h1:GgB8SF9nRG+GqaDtLcwJZsQFhcogVCJ79j4EdT0c2V4= -github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= -github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 h1:rpfIENRNNilwHwZeG5+P150SMrnNEcHYvcCuK6dPZSg= github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= -github.com/denisenkom/go-mssqldb v0.9.0 h1:RSohk2RsiZqLZ0zCjtfn3S4Gp4exhpBWHyQ7D0yGjAk= -github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= -github.com/dgryski/go-gk v0.0.0-20140819190930-201884a44051 h1:ByJUvQYyTtNNCVfYNM48q6uYUT4fAlN0wNmd3th4BSo= github.com/dgryski/go-gk v0.0.0-20140819190930-201884a44051/go.mod h1:qm+vckxRlDt0aOla0RYJJVeqHZlWfOm2UIxHaqPB46E= -github.com/dgryski/go-lttb v0.0.0-20180810165845-318fcdf10a77 h1:iRnqZBF0a1hoOOjOdPKf+IxqlJZOas7A48j77RAc7Yg= github.com/dgryski/go-lttb v0.0.0-20180810165845-318fcdf10a77/go.mod h1:Va5MyIzkU0rAM92tn3hb3Anb7oz7KcnixF49+2wOMe4= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954 h1:RMLoZVzv4GliuWafOuPuQDKSm1SJph7uCRnnS61JAn4= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/distribution/distribution/v3 v3.0.0-20221208165359-362910506bc2 h1:aBfCb7iqHmDEIp6fBvC/hQUddQfg+3qdYjwzaiP9Hnc= github.com/distribution/distribution/v3 v3.0.0-20221208165359-362910506bc2/go.mod h1:WHNsWjnIn2V1LYOrME7e8KxSeKunYHsxEm4am0BUtcI= @@ -1858,17 +1601,12 @@ github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4 github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 h1:UhxFibDNY/bfvqU5CAUmr9zpesgbU6SWc8/B4mflAE4= github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-resiliency v1.2.0 h1:v7g92e/KSN71Rq7vSThKaWIq68fL4YHvWyiUKorFR1Q= github.com/eapache/go-resiliency v1.2.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/emicklei/go-restful/v3 v3.12.0 h1:y2DdzBAURM29NFF94q6RaY4vjIH1rtwDapwQtU84iWk= @@ -1925,24 +1663,16 @@ github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= -github.com/felixge/fgprof v0.9.5 h1:8+vR6yu2vvSKn08urWyEuxx75NWPEvybbkBirEpsbVY= -github.com/felixge/fgprof v0.9.5/go.mod h1:yKl+ERSa++RYOs32d8K6WEXCB4uXdLls4ZaZPpayhMM= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fgrosse/zaptest v1.1.0 h1:sK9hP0/xBoNX5qfFo3KWFluDXfc809APomI1QXuYELA= github.com/fgrosse/zaptest v1.1.0/go.mod h1:vMnRSul6kW7kIUXZgnZZcDwyTn8k49ODfAULL8nmL5w= -github.com/florianl/go-nflog/v2 v2.1.0 h1:yXvA/ZWMS2dXBBM364xOEaW4WX14RjvsGCVt+y9O0ZM= -github.com/florianl/go-nflog/v2 v2.1.0/go.mod h1:U8o3DfjAAIMuW3/IHS3KmTccSMLyRbr09dImALuwEI8= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 h1:BHsljHzVlRcyQhjrss6TZTdY2VfCqZPbv5k3iBFa2ZQ= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/fogleman/gg v1.3.0 h1:/7zJX8F6AaYQc57WQCyN9cAIz+4bCJGO9B+dyW29am8= github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/form3tech-oss/jwt-go v0.0.0-20210511163231-5b2d2b5f6c34 h1:NJDbNhOc8XhoxuWr2pdLJN/BYLf677jKtF+6BQBkAhc= github.com/form3tech-oss/jwt-go v0.0.0-20210511163231-5b2d2b5f6c34/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.5+incompatible h1:/l4kBbb4/vGSsdtB5nUe8L7B9mImVMaBPw9L/0TBHU8= github.com/form3tech-oss/jwt-go v3.2.5+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/foxcpp/go-mockdns v1.1.0 h1:jI0rD8M0wuYAxL7r/ynTrCQQq0BVqfB99Vgk7DlmewI= github.com/foxcpp/go-mockdns v1.1.0/go.mod h1:IhLeSFGed3mJIAXPH2aiRQB+kqz7oqu8ld2qVbOu7Wk= @@ -1961,7 +1691,6 @@ github.com/gertd/go-pluralize v0.1.1 h1:fQhql/WRRwr4TVp+TCw12s2esCacvEVBdkTUUwNq github.com/gertd/go-pluralize v0.1.1/go.mod h1:t5DfHcumb6m0RqyVJDrDLEzL2AGeaiqUXIcDNwLaeAs= github.com/getkin/kin-openapi v0.107.0 h1:bxhL6QArW7BXQj8NjXfIJQy680NsMKd25nwhvpCXchg= github.com/getkin/kin-openapi v0.107.0/go.mod h1:9Dhr+FasATJZjS4iOLvB0hkaxgYdulrNYm2e9epLWOo= -github.com/getsentry/raven-go v0.2.0 h1:no+xWJRb5ZI7eE8TWgIq1jLulQiIoLG0IfYxv5JYMGs= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32 h1:Mn26/9ZMNWSw9C9ERFA1PUxfmGpolnw2v0bKOREu5ew= @@ -1970,20 +1699,14 @@ github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aev github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0= github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8 h1:DujepqpGd1hyOd7aW59XpK7Qymp8iy83xq74fLr21is= github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/go-asn1-ber/asn1-ber v1.3.1 h1:gvPdv/Hr++TRFCl0UbPFHC54P9N9jgsRPnmnr419Uck= github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-errors/errors v1.5.1 h1:ZwEMSLRCapFLflTpT7NKaAc7ukJ8ZPEjzlxt8rPN8bk= github.com/go-errors/errors v1.5.1/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= -github.com/go-fonts/dejavu v0.1.0 h1:JSajPXURYqpr+Cu8U9bt8K+XcACIHWqWrvWCKyeFmVQ= github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= -github.com/go-fonts/latin-modern v0.2.0 h1:5/Tv1Ek/QCr20C6ZOz15vw3g7GELYL98KWr8Hgo+3vk= github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= -github.com/go-fonts/liberation v0.2.0 h1:jAkAWJP4S+OsrPLZM4/eC9iW7CtHy+HBXrEwZXWo5VM= github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= -github.com/go-fonts/stix v0.1.0 h1:UlZlgrvvmT/58o573ot7NFw0vZasZ5I6bcIft/oMdgg= github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= @@ -1994,28 +1717,21 @@ github.com/go-git/go-git-fixtures/v4 v4.2.1 h1:n9gGL1Ct/yIw+nfsfr8s4+sbhT+Ncu2Su github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= github.com/go-git/go-git/v5 v5.4.1 h1:2RJXJuTMac944e419pJJJ3mOJBcr3A3M6SN6wQKZ/Gs= github.com/go-git/go-git/v5 v5.4.1/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1 h1:QbL/5oDUmRBzO9/Z7Seo6zf912W/a6Sr4Eu0G/3Jho0= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4 h1:WtGNWLvXpe6ZudgnXrq0barxBImvnnJoMEhXAzcbM0I= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gorp/gorp/v3 v3.1.0 h1:ItKF/Vbuj31dmV4jxA1qblpSwkl9g1typ24xoe70IGs= github.com/go-gorp/gorp/v3 v3.1.0/go.mod h1:dLEjIyyRNiXvNZ8PSmzpt1GsWAUK8kjVhEpjH8TixEw= github.com/go-jose/go-jose/v3 v3.0.3 h1:fFKWeig/irsp7XD2zBxvnmA/XaRWp5V3CBsZXJF7G7k= github.com/go-jose/go-jose/v3 v3.0.3/go.mod h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ= -github.com/go-jose/go-jose/v4 v4.0.2 h1:R3l3kkBds16bO7ZFAEEcofK0MkrAJt3jlJznWZG0nvk= -github.com/go-jose/go-jose/v4 v4.0.2/go.mod h1:WVf9LFMHh/QVrmqrOfqun0C45tMe3RoiKJMPvgWwLfY= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0 h1:wDJmvq38kDhkVxi50ni9ykkdUr1PKgqKOoi01fa0Mdk= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= -github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81 h1:6zl3BbBhdnMkpSj2YY30qV3gDcVBGtFgVsV3+/i+mKQ= github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= -github.com/go-ldap/ldap/v3 v3.1.10 h1:7WsKqasmPThNvdl0Q5GPpbTDD/ZD98CfuawrMIuh7qQ= github.com/go-ldap/ldap/v3 v3.1.10/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= @@ -2048,7 +1764,6 @@ github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQH github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4CsY= github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= -github.com/go-openapi/inflect v0.19.0 h1:9jCH9scKIbHeV9m12SmPilScz6krDxKRasNNSNPXu/4= github.com/go-openapi/inflect v0.19.0/go.mod h1:lHpZVlpIQqLyKwJ4N+YSc9hchQy/i12fJykb83CRBH4= github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= @@ -2105,15 +1820,10 @@ github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7 github.com/go-openapi/validate v0.19.8 h1:YFzsdWIDfVuLvIOF+ZmKjVg1MbPJ1QgY9PihMwei1ys= github.com/go-openapi/validate v0.19.8/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4= github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= -github.com/go-pdf/fpdf v0.6.0 h1:MlgtGIfsdMEEQJr2le6b/HNr1ZlQwxyWr77r2aj2U/8= github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= -github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI= github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow= @@ -2124,49 +1834,29 @@ github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-swagger/go-swagger v0.21.0 h1:AX9mdfzp6eJtUe92nFrWmbK7ocRgkCDPJs0FsSSTDlA= github.com/go-swagger/go-swagger v0.21.0/go.mod h1:tDb8PdDVFcaE8EPXkMOsuxpL3UEPiwu1UDZar9Z/1RY= -github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013 h1:l9rI6sNaZgNC0LnF3MiE+qTmyBA/tZAg1rtyrGbUMK0= github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013/go.mod h1:b65mBPzqzZWxOZGxSWrqs4GInLIn+u99Q9q7p+GKni0= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/go-test/deep v1.0.2/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM= github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= -github.com/gobuffalo/envy v1.8.1 h1:RUr68liRvs0TS1D5qdW3mQv2SjAsu1QWMCx1tG4kDjs= -github.com/gobuffalo/envy v1.8.1/go.mod h1:FurDp9+EDPE4aIUS3ZLyD+7/9fpx7YRt/ukY6jIHf0w= github.com/gobuffalo/flect v0.2.4/go.mod h1:1ZyCLIbg0YD7sDkzvFdPoOydPtD8y9JQnrOROolUcM8= github.com/gobuffalo/flect v1.0.2 h1:eqjPGSo2WmjgY2XlpGwo2NXgL3RucAKo4k4qQMNA5sA= github.com/gobuffalo/flect v1.0.2/go.mod h1:A5msMlrHtLqh9umBSnvabjsMrCcCpAyzglnDvkbYKHs= -github.com/gobuffalo/packd v0.3.0 h1:eMwymTkA1uXsqxS0Tpoop3Lc0u3kTfiMBE6nKtQU4g4= -github.com/gobuffalo/packd v0.3.0/go.mod h1:zC7QkmNkYVGKPw4tHpBQ+ml7W/3tIebgeo1b36chA3Q= -github.com/gobuffalo/packr v1.30.1 h1:hu1fuVR3fXEZR7rXNW3h8rqSML8EVAf6KNm0NKO/wKg= -github.com/gobuffalo/packr v1.30.1/go.mod h1:ljMyFO2EcrnzsHsN99cvbq055Y9OhRrIaviy289eRuk= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= -github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og= github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.2.1 h1:F2aeBZrm2NDsc7vbovKrWSogd4wvfAxg0FQ89/iqOTk= github.com/gobwas/ws v1.2.1/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY= github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA= github.com/goccy/go-json v0.10.3/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/goccy/go-yaml v1.9.8/go.mod h1:JubOolP3gh0HpiBc4BLRD4YmjEjHAmIIB2aaXKkTfoE= -github.com/goccy/go-yaml v1.11.0 h1:n7Z+zx8S9f9KgzG6KtQKf+kwqXZlLNR2F6018Dgau54= github.com/goccy/go-yaml v1.11.0/go.mod h1:H+mJrWtjPTJAHvRbV09MCK9xYwODM+wRTVFFTWckfng= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/godbus/dbus/v5 v5.0.6 h1:mkgN1ofwASrYnJ5W6U/BxG15eXXXjirgZc7CLqkcaro= -github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/godror/godror v0.40.4 h1:X1e7hUd02GDaLWKZj40Z7L0CP0W9TrGgmPQZw6+anBg= -github.com/godror/godror v0.40.4/go.mod h1:i8YtVTHUJKfFT3wTat4A9UoqScUtZXiYB9Rf3SVARgc= -github.com/godror/knownpb v0.1.1 h1:A4J7jdx7jWBhJm18NntafzSC//iZDHkDi1+juwQ5pTI= -github.com/godror/knownpb v0.1.1/go.mod h1:4nRFbQo1dDuwKnblRXDxrfCFYeT4hjg3GjMqef58eRE= -github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= -github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE= github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= @@ -2181,9 +1871,6 @@ github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69 github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= @@ -2191,8 +1878,6 @@ github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ= github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/glog v1.2.1/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= -github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= -github.com/golang/glog v1.2.2/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -2234,31 +1919,20 @@ github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golangplus/bytes v0.0.0-20160111154220-45c989fe5450/go.mod h1:Bk6SMAONeMXrxql8uvOKuAZSu8aM5RUGv+1C6IJaEho= -github.com/golangplus/bytes v1.0.0 h1:YQKBijBVMsBxIiXT4IEhlKR2zHohjEqPole4umyDX+c= github.com/golangplus/bytes v1.0.0/go.mod h1:AdRaCFwmc/00ZzELMWb01soso6W1R/++O1XL80yAn+A= -github.com/golangplus/fmt v1.0.0 h1:FnUKtw86lXIPfBMc3FimNF3+ABcV+aH5F17OOitTN+E= github.com/golangplus/fmt v1.0.0/go.mod h1:zpM0OfbMCjPtd2qkTD/jX2MgiFCqklhSUFyDW44gVQE= github.com/golangplus/testing v1.0.0 h1:+ZeeiKZENNOMkTTELoSySazi+XaEhVO0mb+eanrSEUQ= github.com/golangplus/testing v1.0.0/go.mod h1:ZDreixUV3YzhoVraIDyOzHrr76p6NUh6k/pPg/Q3gYA= github.com/gomodule/redigo v1.8.2 h1:H5XSIre1MB5NbPYFp+i1NBbb5qN1W8Y8YAQoAYbkm8k= github.com/gomodule/redigo v1.8.2/go.mod h1:P9dn9mFrCBvWhGE1wpxx6fgq7BAeLBk+UUUzlpkBYO0= -github.com/gonum/blas v0.0.0-20181208220705-f22b278b28ac h1:Q0Jsdxl5jbxouNs1TQYt0gxesYMU4VXRbsTlgDloZ50= github.com/gonum/blas v0.0.0-20181208220705-f22b278b28ac/go.mod h1:P32wAyui1PQ58Oce/KYkOqQv8cVw1zAapXOl+dRFGbc= -github.com/gonum/diff v0.0.0-20181124234638-500114f11e71 h1:BE6g8oinc3Ek2elIHq+uDOiZgX3/ODi+EerJ48yrrKc= github.com/gonum/diff v0.0.0-20181124234638-500114f11e71/go.mod h1:22dM4PLscQl+Nzf64qNBurVJvfyvZELT0iRW2l/NN70= -github.com/gonum/floats v0.0.0-20181209220543-c233463c7e82 h1:EvokxLQsaaQjcWVWSV38221VAK7qc2zhaO17bKys/18= github.com/gonum/floats v0.0.0-20181209220543-c233463c7e82/go.mod h1:PxC8OnwL11+aosOB5+iEPoV3picfs8tUpkVd0pDo+Kg= -github.com/gonum/integrate v0.0.0-20181209220457-a422b5c0fdf2 h1:GUSkTcIe1SlregbHNUKbYDhBsS8lNgYfIp4S4cToUyU= github.com/gonum/integrate v0.0.0-20181209220457-a422b5c0fdf2/go.mod h1:pDgmNM6seYpwvPos3q+zxlXMsbve6mOIPucUnUOrI7Y= -github.com/gonum/internal v0.0.0-20181124074243-f884aa714029 h1:8jtTdc+Nfj9AR+0soOeia9UZSvYBvETVHZrugUowJ7M= github.com/gonum/internal v0.0.0-20181124074243-f884aa714029/go.mod h1:Pu4dmpkhSyOzRwuXkOgAvijx4o+4YMUJJo9OvPYMkks= -github.com/gonum/lapack v0.0.0-20181123203213-e4cdc5a0bff9 h1:7qnwS9+oeSiOIsiUMajT+0R7HR6hw5NegnKPmn/94oI= github.com/gonum/lapack v0.0.0-20181123203213-e4cdc5a0bff9/go.mod h1:XA3DeT6rxh2EAE789SSiSJNqxPaC0aE9J8NTOI0Jo/A= -github.com/gonum/mathext v0.0.0-20181121095525-8a4bf007ea55 h1:Ajwn2ENgC/pKtVat0LEHEWNa4a4VGyYJ1feGSccOzFU= github.com/gonum/mathext v0.0.0-20181121095525-8a4bf007ea55/go.mod h1:fmo8aiSEWkJeiGXUJf+sPvuDgEFgqIoZSs843ePKrGg= -github.com/gonum/matrix v0.0.0-20181209220409-c518dec07be9 h1:V2IgdyerlBa/MxaEFRbV5juy/C3MGdj4ePi+g6ePIp4= github.com/gonum/matrix v0.0.0-20181209220409-c518dec07be9/go.mod h1:0EXg4mc1CNP0HCqCz+K4ts155PXIlUywf0wqN+GfPZw= -github.com/gonum/stat v0.0.0-20181125101827-41a0da705a5b h1:fbskpz/cPqWH8VqkQ7LJghFkl2KPAiIFUHrTJ2O3RGk= github.com/gonum/stat v0.0.0-20181125101827-41a0da705a5b/go.mod h1:Z4GIJBJO3Wa4gD4vbwQxXXZ+WHmW6E9ixmNrwvs0iZs= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -2269,7 +1943,6 @@ github.com/google/cel-go v0.20.1/go.mod h1:kWcIzTsPX0zmQ+H3TirHstLLf9ep5QTsZBN9u github.com/google/cel-go v0.21.0 h1:cl6uW/gxN+Hy50tNYvI691+sXxioCnstFzLp2WO4GCI= github.com/google/cel-go v0.21.0/go.mod h1:rHUlWCcBKgyEk+eV03RPdZUekPp6YcJwV0FxuUksYxc= github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= -github.com/google/flatbuffers v23.5.26+incompatible h1:M9dgRyhJemaM4Sw8+66GHBu8ioaQmyPLg1b8VwK5WJg= github.com/google/flatbuffers v23.5.26+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= @@ -2290,19 +1963,14 @@ github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-containerregistry v0.20.2 h1:B1wPJ1SN/S7pB+ZAimcciVD+r+yV/l/DSArMxlbwseo= -github.com/google/go-containerregistry v0.20.2/go.mod h1:z38EKdKh4h7IP2gSfUUqEvalZBqs6AoLeWfUy34nQC8= github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY= github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= -github.com/google/go-github/v27 v27.0.6 h1:oiOZuBmGHvrGM1X9uNUAUlLgp5r1UUO/M/KnbHnLRlQ= github.com/google/go-github/v27 v27.0.6/go.mod h1:/0Gr8pJ55COkmv+S/yPKCczSkUPIM/LnFyubufRNIS0= github.com/google/go-github/v29 v29.0.2/go.mod h1:CHKiKKPHJ0REzfwc14QMklvtHwCveD0PxlMjLlzAM5E= -github.com/google/go-github/v29 v29.0.3 h1:IktKCTwU//aFHnpA+2SLIi7Oo9uhAzgsdZNbcAqhgdc= github.com/google/go-github/v29 v29.0.3/go.mod h1:CHKiKKPHJ0REzfwc14QMklvtHwCveD0PxlMjLlzAM5E= github.com/google/go-github/v32 v32.0.0 h1:q74KVb22spUq0U5HqZ9VCYqQz8YRuOtL/39ZnfwO+NM= github.com/google/go-github/v32 v32.0.0/go.mod h1:rIEpZD9CTDQwDK9GDrtMTycQNA4JU3qBsCizh3q2WCI= github.com/google/go-pkcs11 v0.2.0/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= -github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9 h1:OF1IPgv+F4NmqmJ98KTjdN97Vs1JxDPB3vbmYzV2dpk= github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= @@ -2310,14 +1978,11 @@ github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/ github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/mako v0.0.0-20190821191249-122f8dcef9e3 h1:/o5e44nTD/QEEiWPGSFT3bSqcq3Qg7q27N9bv4gKh5M= github.com/google/mako v0.0.0-20190821191249-122f8dcef9e3/go.mod h1:YzLcVlL+NqWnmUEPuhS1LxDDwGO9WNbVlEXaF4IH35g= -github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= @@ -2341,15 +2006,11 @@ github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af/go.mod h1:K1liHPHnj73 github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5 h1:5iH8iuqE5apketRbSFBy+X1V0o+l+8NF1avt4HWl7cA= github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.0/go.mod h1:OJpEgntRZo8ugHpF9hkoLJbS5dSI20XZeXJ9JVywLlM= github.com/google/s2a-go v0.1.3/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= -github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= -github.com/google/safetext v0.0.0-20220905092116-b49f7bc46da2 h1:SJ+NtwL6QaZ21U+IrK7d0gGgpjGGvd2kz+FzTHVzdqI= -github.com/google/safetext v0.0.0-20220905092116-b49f7bc46da2/go.mod h1:Tv1PlzqC9t8wNnpPdctvtSUOPUUg4SHeE6vR1Ir2hmg= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= @@ -2368,7 +2029,6 @@ github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5 github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/enterprise-certificate-proxy v0.2.4/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/enterprise-certificate-proxy v0.2.5/go.mod h1:RxW0N9901Cko1VOCW3SXCpWP+mlIEkk2tP7jnHy9a3w= -github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= @@ -2387,18 +2047,11 @@ github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5i github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= github.com/googleapis/gax-go/v2 v2.12.1/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= github.com/googleapis/gax-go/v2 v2.12.2/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= -github.com/googleapis/gax-go/v2 v2.12.3 h1:5/zPPDvw8Q1SuXjrqrZslrqT7dL/uJT2CQii/cLCKqA= -github.com/googleapis/gax-go/v2 v2.12.3/go.mod h1:AKloxT6GtNbaLm8QTNSidHUVsHYcBHwWRvkNFJUQcS4= -github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/googleapis/google-cloud-go-testing v0.0.0-20210719221736-1c9a4c676720 h1:zC34cGQu69FG7qzJ3WiKW244WfhDC3xxYMeNOX2gtUQ= -github.com/googleapis/google-cloud-go-testing v0.0.0-20210719221736-1c9a4c676720/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/goph/emperror v0.17.1 h1:6lOybhIvG/BB6VGoWfdv30FVZeZFBBZ9VvgzGXLVkyY= github.com/goph/emperror v0.17.1/go.mod h1:+ZbQ+fUNO/6FNiUo0ujtMjhgad9Xa6fQL9KhH4LNHic= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/handlers v1.4.2/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= @@ -2407,9 +2060,7 @@ github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2z github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= -github.com/gorilla/securecookie v1.1.1 h1:miw7JPhV+b/lAHSXz4qd/nN9jRiAFV5FwjeKyCS8BvQ= github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= -github.com/gorilla/sessions v1.2.1 h1:DHd3rPN5lE3Ts3D8rKkQ8x/0kqfeNmBAaiSi+o7FsgI= github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= @@ -2418,10 +2069,6 @@ github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aN github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gosuri/uitable v0.0.4 h1:IG2xLKRvErL3uhY6e1BylFzG+aJiwQviDDTfOKeKTpY= github.com/gosuri/uitable v0.0.4/go.mod h1:tKR86bXuXPZazfOTG1FIzvjIdXzd0mo4Vtn16vt0PJo= -github.com/grafana/pyroscope-go/godeltaprof v0.1.8 h1:iwOtYXeeVSAeYefJNaxDytgjKtUuKQbJqgAIjlnicKg= -github.com/grafana/pyroscope-go/godeltaprof v0.1.8/go.mod h1:2+l7K7twW49Ct4wFluZD3tZ6e0SjanjcUUBPVD/UuGU= -github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc h1:GN2Lv3MGO7AS6PrRoT6yV5+wkrOpcszoIsO4+4ds248= -github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc/go.mod h1:+JKpmjMGhpgPL+rXZ5nsZieVzvarn86asRlBg4uNGnk= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79 h1:+ngKgrYPPJrOjhax5N+uePQ0Fh1Z7PheYoUI/0nzkPA= github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= @@ -2429,7 +2076,6 @@ github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmg github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI= github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.14.6/go.mod h1:zdiPV4Yse/1gnckTHtghG4GkDEdKCRJduHpTxT3/jcw= @@ -2462,7 +2108,6 @@ github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVH github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-kms-wrapping/entropy/v2 v2.0.0 h1:pSjQfW3vPtrOTcasTUKgCTQT7OGPPTTMVRrOfU6FJD8= github.com/hashicorp/go-kms-wrapping/entropy/v2 v2.0.0/go.mod h1:xvb32K2keAc+R8DSFG2IwDcydK9DBQE+fGA5fsw6hSk= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-msgpack v0.5.5 h1:i9R9JSrqIz0QVLz3sz+i3YJdT7TTSLcfLLzJi9aZTuI= @@ -2482,24 +2127,20 @@ github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5O github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-secure-stdlib/awsutil v0.1.6 h1:W9WN8p6moV1fjKLkeqEgkAMu5rauy9QeYDAmIaPuuiA= github.com/hashicorp/go-secure-stdlib/awsutil v0.1.6/go.mod h1:MpCPSPGLDILGb4JMm94/mMi3YysIqsXzGCzkEZjcjXg= -github.com/hashicorp/go-secure-stdlib/base62 v0.1.1 h1:6KMBnfEv0/kLAz0O76sliN5mXbCDcLfs2kP7ssP7+DQ= github.com/hashicorp/go-secure-stdlib/base62 v0.1.1/go.mod h1:EdWO6czbmthiwZ3/PUsDV+UD1D5IRU4ActiaWGwt0Yw= github.com/hashicorp/go-secure-stdlib/mlock v0.1.1 h1:cCRo8gK7oq6A2L6LICkUZ+/a5rLiRXFMf1Qd4xSwxTc= github.com/hashicorp/go-secure-stdlib/mlock v0.1.1/go.mod h1:zq93CJChV6L9QTfGKtfBxKqD7BqqXx5O04A/ns2p5+I= github.com/hashicorp/go-secure-stdlib/parseutil v0.1.1/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6 h1:om4Al8Oy7kCm/B86rLCLah4Dt5Aa0Fr5rYBG60OzwHQ= github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= -github.com/hashicorp/go-secure-stdlib/password v0.1.1 h1:6JzmBqXprakgFEHwBgdchsjaA9x3GyjdI568bXKxa60= github.com/hashicorp/go-secure-stdlib/password v0.1.1/go.mod h1:9hH302QllNwu1o2TGYtSk8I8kTAN0ca1EHpwhm5Mmzo= github.com/hashicorp/go-secure-stdlib/strutil v0.1.1/go.mod h1:gKOamz3EwoIoJq7mlMIRBpVTAUn8qPCrEclOKKWhD3U= github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 h1:kes8mmyCpxJsI7FTwtzRqEy9CdjCtrXrXGuOpxEA7Ts= github.com/hashicorp/go-secure-stdlib/strutil v0.1.2/go.mod h1:Gou2R9+il93BqX25LAKCLuM+y9U2T4hlwvT1yprcna4= -github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.1 h1:Yc026VyMyIpq1UWRnakHRG01U8fJm+nEfEmjoAb00n8= github.com/hashicorp/go-secure-stdlib/tlsutil v0.1.1/go.mod h1:l8slYwnJA26yBz+ErHpp2IRCLr0vuOMGBORIz4rRiAs= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-sockaddr v1.0.2 h1:ztczhD1jLxIRjVejw8gFomI1BQZOe2WoVOu0SyteCQc= github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= -github.com/hashicorp/go-syslog v1.0.0 h1:KaodqZuhUoZereWVIYmpUgZysurB1kBLX2j0MwMrUAE= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= @@ -2509,7 +2150,6 @@ github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/b github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go.net v0.0.1 h1:sNCoNyDEvN1xa+X0baata4RdcpKwcMS6DH+xwfqPgjw= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -2519,10 +2159,8 @@ github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/mdns v1.0.4 h1:sY0CMhFmjIPDMlTB+HfymFHCaYLhgifZ0QhjaYKD/UQ= github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/memberlist v0.5.0 h1:EtYPN8DpAURiapus508I4n9CzHs2W+8NZGbmmR/prTM= @@ -2540,63 +2178,40 @@ github.com/hashicorp/vault/sdk v0.6.0/go.mod h1:+DRpzoXIdMvKc88R4qxr+edwy/RvH5QK github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d h1:kJCB4vdITiW1eC1vq2e6IsrXKrZit1bv/TDYFGMp4BQ= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= -github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= github.com/hinshun/vt10x v0.0.0-20180809195222-d55458df857c h1:kp3AxgXgDOmIJFR7bIwqFhwJ2qWar8tEQSE5XXhCfVk= github.com/hinshun/vt10x v0.0.0-20180809195222-d55458df857c/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= -github.com/howardjohn/unshare-go v0.5.0 h1:pHDqBG4bWRjs18IC+axJb3Tmcuau5sx9j1ODaSHUlyI= -github.com/howardjohn/unshare-go v0.5.0/go.mod h1:cJjyFAN6qTA70ovC2VR23iAZuJ8X3J/ibAbT693pJ8g= -github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI= github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= -github.com/iancoleman/orderedmap v0.0.0-20190318233801-ac98e3ecb4b0 h1:i462o439ZjprVSFSZLZxcsoAe592sZB1rci2Z8j4wdk= -github.com/iancoleman/orderedmap v0.0.0-20190318233801-ac98e3ecb4b0/go.mod h1:N0Wam8K1arqPXNWjMo21EXnBPOPp36vB07FNRdD2geA= github.com/iancoleman/strcase v0.1.3 h1:dJBk1m2/qjL1twPLf68JND55vvivMupZ4wIzE8CTdBw= github.com/iancoleman/strcase v0.1.3/go.mod h1:SK73tn/9oHe+/Y0h39VT4UCxmurVJkR5NA7kMEAOgSE= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20220319035150-800ac71e25c2/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= -github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465 h1:KwWnWVWCNtNq/ewIX7HIKnELmEx2nDP42yskD/pi7QE= github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= -github.com/imroc/req v0.3.0 h1:3EioagmlSG+z+KySToa+Ylo3pTFZs+jh3Brl7ngU12U= -github.com/imroc/req v0.3.0/go.mod h1:F+NZ+2EFSo6EFXdeIbpfE9hcC233id70kf0byW97Caw= github.com/inconshreveable/go-update v0.0.0-20160112193335-8152e7eb6ccf h1:WfD7VjIE6z8dIvMsI4/s+1qr5EL+zoIGev1BQj1eoJ8= github.com/inconshreveable/go-update v0.0.0-20160112193335-8152e7eb6ccf/go.mod h1:hyb9oH7vZsitZCiBt0ZvifOrB+qc8PS5IiilCIb87rg= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/influxdata/tdigest v0.0.0-20180711151920-a7d76c6f093a h1:vMqgISSVkIqWxCIZs8m1L4096temR7IbYyNdMiBxSPA= github.com/influxdata/tdigest v0.0.0-20180711151920-a7d76c6f093a/go.mod h1:9GkyshztGufsdPQWjH+ifgnIr3xNUL5syI70g2dzU1o= -github.com/invopop/jsonschema v0.7.0 h1:2vgQcBz1n256N+FpX3Jq7Y17AjYt46Ig3zIWyy770So= -github.com/invopop/jsonschema v0.7.0/go.mod h1:O9uiLokuu0+MGFlyiaqtWxwqJm41/+8Nj0lD7A36YH0= github.com/invopop/yaml v0.1.0/go.mod h1:2XuRLgs/ouIrW3XNzuNj7J3Nvu/Dig5MXvbCEdiBN3Q= github.com/invopop/yaml v0.3.1 h1:f0+ZpmhfBSS4MhG+4HYseMdJhoeeopbSKbq5Rpeelso= github.com/invopop/yaml v0.3.1/go.mod h1:PMOp3nn4/12yEZUFfmOuNHJsZToEEOwoWsT+D81KkeA= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= -github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8= github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs= -github.com/jcmturner/dnsutils/v2 v2.0.0 h1:lltnkeZGL0wILNvrNiVCR6Ro5PGU/SeBvVO/8c/iPbo= github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM= -github.com/jcmturner/gofork v1.0.0 h1:J7uCkflzTEhUZ64xqKnkDxq3kzc96ajM1Gli5ktUem8= github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o= -github.com/jcmturner/goidentity/v6 v6.0.1 h1:VKnZd2oEIMorCTsFBnJWbExfNN7yZr3EhJAxwOkZg6o= github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg= -github.com/jcmturner/gokrb5/v8 v8.4.2 h1:6ZIM6b/JJN0X8UM43ZOM6Z4SJzla+a/u7scXFJzodkA= github.com/jcmturner/gokrb5/v8 v8.4.2/go.mod h1:sb+Xq/fTY5yktf/VxLsE3wlfPqQjp0aWNYyvBVK62bc= -github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY= github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= -github.com/jhump/gopoet v0.1.0 h1:gYjOPnzHd2nzB37xYQZxj4EIQNpBrBskRqQQ3q4ZgSg= -github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= -github.com/jhump/goprotoc v0.5.0 h1:Y1UgUX+txUznfqcGdDef8ZOVlyQvnV0pKWZH08RmZuo= -github.com/jhump/goprotoc v0.5.0/go.mod h1:VrbvcYrQOrTi3i0Vf+m+oqQWk9l72mjkJCYo7UvLHRQ= github.com/jhump/protoreflect v1.6.0/go.mod h1:eaTn3RZAmMBcV0fifFvlm6VHNz3wSkYyXYWUh7ymB74= github.com/jhump/protoreflect v1.15.3 h1:6SFRuqU45u9hIZPJAoZ8c28T3nK64BNdp9w6jFonzls= github.com/jhump/protoreflect v1.15.3/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4Elxc8qKP+p1k= @@ -2604,18 +2219,11 @@ github.com/jmespath/go-jmespath v0.3.0 h1:OS12ieG61fsCg5+qLJ+SsW9NicxNkg3b25OyT2 github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o= github.com/jmoiron/sqlx v1.4.0/go.mod h1:ZrZ7UsYB/weZdl2Bxg6jCRO9c3YHl8r3ahlKmRT4JLY= -github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= -github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= -github.com/josephspurrier/goversioninfo v1.4.0 h1:Puhl12NSHUSALHSuzYwPYQkqa2E1+7SrtAPJorKK0C8= -github.com/josephspurrier/goversioninfo v1.4.0/go.mod h1:JWzv5rKQr+MmW+LvM412ToT/IkYDZjaclF2pKDss8IY= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/josharian/native v1.1.0 h1:uuaP0hAbW7Y4l0ZRQ6C9zfb7Mg1mbFKry/xzDAfmtLA= -github.com/josharian/native v1.1.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w= -github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= @@ -2625,15 +2233,11 @@ github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= -github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5 h1:PJr+ZMXIecYc1Ey2zucXdR73SMBtgjPgwa31099IMv0= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM= github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= @@ -2651,11 +2255,8 @@ github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgy github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= -github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4= github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= @@ -2664,14 +2265,10 @@ github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2 github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/klauspost/cpuid/v2 v2.2.3/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= -github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg= github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= @@ -2692,9 +2289,7 @@ github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 h1:SOEGU9fKiNWd/HOJuq github.com/lann/builder v0.0.0-20180802200727-47ae307949d0/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o= github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 h1:P6pPBnrTSX3DEVR4fDembhRWSsG5rVo6hYhAB/ADZrk= github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw= -github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80 h1:6Yzfa6GP0rIo/kULo2bwGEkFvCePZ3qHDDTC3/J9Swo= github.com/ledongthuc/pdf v0.0.0-20220302134840-0c2507a12d80/go.mod h1:imJHygn/1yfhB7XSJJKlFZKl/J+dCPAknuiaGOshXAs= -github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= github.com/lestrrat-go/backoff/v2 v2.0.8 h1:oNb5E5isby2kiro9AgdHLv5N5tint1AnDVVf2E2un5A= github.com/lestrrat-go/backoff/v2 v2.0.8/go.mod h1:rHP/q/r9aT27n24JQLa7JhSQZCKBBOiM/uP402WwN8Y= @@ -2713,8 +2308,6 @@ github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE= -github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3 h1:jUp75lepDg0phMUJBCmvaeFDldD2N3S1lBuPwUTszio= -github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= github.com/lithammer/dedent v1.1.0 h1:VNzHMVCBNG1j0fh3OrsFRkVUwStdDArbgBWoPAffktY= github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc= github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= @@ -2724,7 +2317,6 @@ github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WV github.com/lyft/protoc-gen-star/v2 v2.0.3/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= github.com/lyft/protoc-gen-star/v2 v2.0.4-0.20230330145011-496ad1ac90a4 h1:sIXJOMrYnQZJu7OB7ANSF4MYri2fTEGIsRLz6LwI4xE= github.com/lyft/protoc-gen-star/v2 v2.0.4-0.20230330145011-496ad1ac90a4/go.mod h1:amey7yeodaJhXSbf/TlLvWiqQfLOSpEk//mLlc+axEk= -github.com/lyft/protoc-gen-validate v0.0.13 h1:KNt/RhmQTOLr7Aj8PsJ7mTronaFyx80mRTT9qF261dA= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= @@ -2759,13 +2351,9 @@ github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/ github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-oci8 v0.1.1 h1:aEUDxNAyDG0tv8CA3TArnDQNyc4EhnWlsfxRgDHABHM= -github.com/mattn/go-oci8 v0.1.1/go.mod h1:wjDx6Xm9q7dFtHJvIlrI99JytznLw5wQ4R+9mNXJwGI= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= -github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg= @@ -2774,16 +2362,10 @@ github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxU github.com/mattn/go-zglob v0.0.6 h1:mP8RnmCgho4oaUYDIDn6GNxYk+qJGUs8fJLn+twYj2A= github.com/mattn/go-zglob v0.0.6/go.mod h1:MxxjyoXXnMxfIpxTK2GAkw1w8glPsQILx3N5wrKakiY= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= github.com/mccutchen/go-httpbin/v2 v2.15.0 h1:3b2s8LMRR2aFd+8U+1Bx2kdgHNQ5ZQkQOiW8e52Jj9A= github.com/mccutchen/go-httpbin/v2 v2.15.0/go.mod h1:GBy5I7XwZ4ZLhT3hcq39I4ikwN9x4QUt6EAxNiR8Jus= -github.com/mdlayher/netlink v1.7.2 h1:/UtM3ofJap7Vl4QWCPDGXY8d3GIY2UGSDbK+QWmY8/g= -github.com/mdlayher/netlink v1.7.2/go.mod h1:xraEF7uJbxLhc5fpHL4cPe221LI2bdttWlU+ZGLfQSw= -github.com/mdlayher/socket v0.5.1 h1:VZaqt6RkGkt2OE9l3GcC6nZkqD3xKeQLyfleW/uBcos= -github.com/mdlayher/socket v0.5.1/go.mod h1:TjPLHI1UgwEv5J1B5q0zTZq12A/6H7nKmtTanQE37IQ= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b h1:j7+1HpAFS1zy5+Q4qx1fWh90gTKwiN4QCGoY9TWyyO4= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= @@ -2792,14 +2374,10 @@ github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKju github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= github.com/miekg/dns v1.1.62 h1:cN8OuEF1/x5Rq6Np+h1epln8OiyPWV+lROx9LxcGgIQ= github.com/miekg/dns v1.1.62/go.mod h1:mvDlcItzm+br7MToIKqkglaGhlFMHJ9DTNNWONWXbNQ= -github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpspGNG7Z948v4n35fFGB3RR3G/ry4FWs= github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= -github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 h1:+n/aFZefKZp7spd8DFdX7uMikMLXX4oubIzJF4kv/wI= github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/cli v1.1.5 h1:OxRIeJXpAMztws/XHlN2vu6imG5Dpq+j61AzAX5fLng= -github.com/mitchellh/cli v1.1.5/go.mod h1:v8+iFts2sPIKUV1ltktPXMCC8fumSKFItNcD2cLtRR4= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= @@ -2812,11 +2390,9 @@ github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eI github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= -github.com/mitchellh/gox v0.4.0 h1:lfGJxY7ToLJQjHHwi0EX6uYBdK78egf954SQl13PQJc= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/hashstructure v1.0.0 h1:ZkRJX1CyOoTkar7p/mLS5TZU4nJ1Rn/F8u9dGS02Q3Y= github.com/mitchellh/hashstructure v1.0.0/go.mod h1:QjSHrPWS+BGUVBYkbTZWEnOh3G1DutKwClXU/ABz6AQ= -github.com/mitchellh/iochan v1.0.0 h1:C+X3KsSTLFVBr/tK1eYN/vs4rJcvsiLU338UhYPJWeY= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= @@ -2826,16 +2402,10 @@ github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/moby/buildkit v0.16.0 h1:wOVBj1o5YNVad/txPQNXUXdelm7Hs/i0PUFjzbK0VKE= -github.com/moby/buildkit v0.16.0/go.mod h1:Xqx/5GlrqE1yIRORk0NSCVDFpQAU1WjlT6KHYZdisIQ= -github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= -github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/moby v24.0.7+incompatible h1:RrVT5IXBn85mRtFKP+gFwVLCcnNPZIgN3NVRJG9Le+4= github.com/moby/moby v24.0.7+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= github.com/moby/spdystream v0.4.0 h1:Vy79D6mHeJJjiPdFEL2yku1kl0chZpJfZcPpb16BRl8= github.com/moby/spdystream v0.4.0/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI= -github.com/moby/sys/mountinfo v0.6.2 h1:BzJjoreD5BMFNmD9Rus6gdd1pLuecOFPt8wC+Vygl78= -github.com/moby/sys/mountinfo v0.6.2/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -2851,26 +2421,12 @@ github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/ github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/mpvl/unique v0.0.0-20150818121801-cbe035fff7de h1:D5x39vF5KCwKQaw+OC9ZPiLVHXz3UFw2+psEX+gYcto= -github.com/mpvl/unique v0.0.0-20150818121801-cbe035fff7de/go.mod h1:kJun4WP5gFuHZgRjZUWWuH1DTxCtxbHDOIJsudS8jzY= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007 h1:28i1IjGcx8AofiB4N3q5Yls55VEaitzuEPkFJEVgGkA= -github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007/go.mod h1:m2XC9Qq0AlmmVksL6FktJCdTYyLk7V3fKyp0sl1yWQo= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/nats-io/nats.go v1.34.0 h1:fnxnPCNiwIG5w08rlMcEKTUw4AV/nKyGCOJE8TdhSPk= -github.com/nats-io/nats.go v1.34.0/go.mod h1:Ubdu4Nh9exXdSz0RVWRFBbRfrbSxOYd26oF0wkWclB8= -github.com/nats-io/nkeys v0.4.7 h1:RwNJbbIdYCoClSDNY7QVKZlyb/wfT6ugvFCiKy6vDvI= -github.com/nats-io/nkeys v0.4.7/go.mod h1:kqXRgRDPlGy7nGaEDMuYzmiJCIAAWDK0IMBtDmGD0nc= -github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= -github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/nelsam/hel/v2 v2.3.3 h1:Z3TAKd9JS3BoKi6fW+d1bKD2Mf0FzTqDUEAwLWzYPRQ= -github.com/nelsam/hel/v2 v2.3.3/go.mod h1:1ZTGfU2PFTOd5mx22i5O0Lc2GY933lQ2wb/ggy+rL3w= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= @@ -2878,7 +2434,6 @@ github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= @@ -2934,36 +2489,20 @@ github.com/onsi/gomega v1.33.0/go.mod h1:+925n5YtiFsLzzafLUHzVMBpvvRAzrydIBiSIxj github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0= github.com/onsi/gomega v1.35.0 h1:xuM1M/UvMp9BCdS4hojhS9/4jEuVqS9Er3bqupeaoPM= github.com/onsi/gomega v1.35.0/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog= -github.com/open-policy-agent/opa v0.42.2 h1:qocVAKyjrqMjCqsU02S/gHyLr4AQQ9xMtuV1kKnnyhM= -github.com/open-policy-agent/opa v0.42.2/go.mod h1:MrmoTi/BsKWT58kXlVayBb+rYVeaMwuBm3nYAN3923s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= -github.com/opencontainers/runc v1.1.5 h1:L44KXEpKmfWDcS02aeGm8QNTFXTo2D+8MYGDIJ/GDEs= -github.com/opencontainers/runc v1.1.5/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= -github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417 h1:3snG66yBm59tKhhSPQrQ/0bCrv1LQbKt40LnUPiUxdc= -github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/openshift/api v0.0.0-20241024191314-684b2b1679ba h1:jyeZlKhyeR9mdbQKbTl5oP5nz0vAoy1Q+xn+1PwgODE= -github.com/openshift/api v0.0.0-20241024191314-684b2b1679ba/go.mod h1:Shkl4HanLwDiiBzakv+con/aMGnVE2MAGvoKp5oyYUo= -github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/openzipkin/zipkin-go v0.3.0 h1:XtuXmOLIXLjiU2XduuWREDT0LOKtSgos/g7i7RYyoZQ= github.com/openzipkin/zipkin-go v0.3.0/go.mod h1:4c3sLeE8xjNqehmF5RpAFLPLJxXscc0R4l6Zg0P1tTQ= -github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde h1:x0TT0RDC7UhAVbbWWBzr41ElhJx5tXPWkIHA2HWPRuw= github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0= github.com/palantir/go-baseapp v0.2.0/go.mod h1:7rEjgYzWbHLLuY+mV2iJthxTddEc6aO+kFYsjDKNmEs= -github.com/palantir/go-baseapp v0.2.3 h1:Wi24/LST/cD8qWXtTTgBbeQP4n1kP3164yWoHHeQxYY= -github.com/palantir/go-baseapp v0.2.3/go.mod h1:TSsvmXBDAAu2wZJgWi1/nG+YM5xIOEsXFmLsNoGP5O4= -github.com/palantir/go-githubapp v0.5.0 h1:mAdLgaaNV0zrqSv1q0zpJbKq65H92uIrAlSwRIRsGEE= github.com/palantir/go-githubapp v0.5.0/go.mod h1:/Xm5h66uEBX24An2Ln8H6Rk44z8uwk4E6m4gNrPadjQ= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-buffruneio v0.2.0 h1:U4t4R6YkofJ5xHm3dJzuRpPZ0mr5MMCoAWooScCR7aA= github.com/pelletier/go-buffruneio v0.2.0/go.mod h1:JkE26KsDizTr40EUHkXVtNPvgGtbSNq5BcowyYOWdKo= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo= @@ -2971,52 +2510,39 @@ github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3v github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= -github.com/perimeterx/marshmallow v1.1.5 h1:a2LALqQ1BlHM8PZblsDdidgv1mWi1DgC2UmX50IvK2s= -github.com/perimeterx/marshmallow v1.1.5/go.mod h1:dsXbUu8CRzfYP5a87xpp0xq9S3u0Vchtcl8we9tYaXw= github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5 h1:Ii+DKncOVM8Cu1Hc+ETb5K+23HdAMvESYE3ZJ5b5cMI= github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= -github.com/phpdave11/gofpdf v1.4.2 h1:KPKiIbfwbvC/wOncwhrpRdXVj2CZTCFlw4wnoyjtHfQ= github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= -github.com/phpdave11/gofpdi v1.0.13 h1:o61duiW8M9sMlkVXWlvP92sZJtGKENvW3VExs6dZukQ= github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= -github.com/pierrec/lz4/v4 v4.1.18 h1:xaKrnTkyoqfh1YItXl56+6KJNVYWlEEPuAQW9xsplYQ= github.com/pierrec/lz4/v4 v4.1.18/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= -github.com/pires/go-proxyproto v0.8.0 h1:5unRmEAPbHXHuLjDg01CxJWf91cw3lKHc/0xzKpXEe0= -github.com/pires/go-proxyproto v0.8.0/go.mod h1:iknsfgnH8EkjrMeMyvfKByp9TiBZCKZM0jx2xmKqnVY= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4 h1:49lOXmGaUpV9Fz3gd7TFZY106KVlPVa5jcYD1gaQf98= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/profile v1.2.1 h1:F++O52m40owAmADcojzM+9gyjmMOY/T4oYJkgFDH8RE= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= -github.com/pkg/sftp v1.13.6 h1:JFZT4XbOU7l77xGSpOdW+pwIMqP044IyjXX6FGyEKFo= -github.com/pkg/sftp v1.13.6/go.mod h1:tz1ryNURKu77RL+GuCzmoJYxQczL3wLNNpPWagdg4Qk= github.com/planetscale/vtprotobuf v0.6.1-0.20240409071808-615f978279ca h1:ujRGEVWJEoaxQ+8+HMl8YEpGaDAgohgZxJ5S+d2TTFQ= github.com/planetscale/vtprotobuf v0.6.1-0.20240409071808-615f978279ca/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/posener/complete v1.2.3 h1:NP0eAhjcjImqslEwo/1hq7gpajME0fTLTezBKDqfXqo= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/poy/onpar v1.1.2 h1:QaNrNiZx0+Nar5dLgTVp5mXkyoVFIbepjyEoGSnhbAY= github.com/poy/onpar v1.1.2/go.mod h1:6X8FLNoxyr9kkmnlqpK6LSoiOtrO6MICtWwEuWkLjzg= github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= -github.com/pquerna/cachecontrol v0.1.0 h1:yJMy84ti9h/+OEWa752kBTKv4XC30OtVVHYv/8cTqKc= github.com/pquerna/cachecontrol v0.1.0/go.mod h1:NrUG3Z7Rdu85UNR3vm7SOsl1nFIeSiQnrHV5K9mBcUI= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM= @@ -3082,11 +2608,8 @@ github.com/prometheus/procfs v0.11.1/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/ github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= -github.com/prometheus/prometheus v0.55.0 h1:ITinOi1zr3HemoVWHf679PfRRmpxZOcR4nEvsze6eB0= -github.com/prometheus/prometheus v0.55.0/go.mod h1:GGS7QlWKCqCbcEzWsVahYIfQwiGhcExkarHyLJTsv6I= github.com/prometheus/statsd_exporter v0.21.0 h1:hA05Q5RFeIjgwKIYEdFd59xu5Wwaznf33yKI+pyX6T8= github.com/prometheus/statsd_exporter v0.21.0/go.mod h1:rbT83sZq2V+p73lHhPZfMc3MLCHmSHelCh9hSGYNLTQ= -github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/protocolbuffers/txtpbfmt v0.0.0-20230328191034-3462fbc510c0 h1:sadMIsgmHpEOGbUs6VtHBXRR1OHevnj7hLx9ZcdNGW4= github.com/protocolbuffers/txtpbfmt v0.0.0-20230328191034-3462fbc510c0/go.mod h1:jgxiZysxFPM+iWKwQwPR+y+Jvo54ARd4EisXxKYpB5c= @@ -3096,27 +2619,19 @@ github.com/pseudomuto/protokit v0.2.1 h1:kCYpE3thoR6Esm0CUvd5xbrDTOZPvQPTDeyXpZf github.com/pseudomuto/protokit v0.2.1/go.mod h1:gt7N5Rz2flBzYafvaxyIxMZC0TTF5jDZfRnw25hAAyo= github.com/quasilyte/go-ruleguard/dsl v0.3.22 h1:wd8zkOhSNr+I+8Qeciml08ivDt1pSXe60+5DqOpCjPE= github.com/quasilyte/go-ruleguard/dsl v0.3.22/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= -github.com/quic-go/qpack v0.5.1 h1:giqksBPnT/HDtZ6VhtFKgoLOWmlyo9Ei6u9PqzIMbhI= -github.com/quic-go/qpack v0.5.1/go.mod h1:+PC4XFrEskIVkcLzpEkbLqq1uCoxPhQuvK5rH1ZgaEg= -github.com/quic-go/quic-go v0.48.1 h1:y/8xmfWI9qmGTc+lBr4jKRUWLGSlSigv847ULJ4hYXA= -github.com/quic-go/quic-go v0.48.1/go.mod h1:yBgs3rWBOADpga7F+jJsb6Ybg1LSYiQvwWlLX+/6HMs= -github.com/rabbitmq/amqp091-go v1.1.0 h1:qx8cGMJha71/5t31Z+LdPLdPrkj/BvD38cqC3Bi1pNI= github.com/rabbitmq/amqp091-go v1.1.0/go.mod h1:ogQDLSOACsLPsIq0NpbtiifNZi2YOz0VTJ0kHRghqbM= github.com/radovskyb/watcher v1.0.2 h1:9L5TsZUbo1nKhQEQPtICVc+x9UZQ6VPdBepLHyGw/bQ= github.com/radovskyb/watcher v1.0.2/go.mod h1:78okwvY5wPdzcb1UYnip1pvrZNIVEIh/Cm+ZuvsUYIg= github.com/rcrowley/go-metrics v0.0.0-20180503174638-e2704e165165/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= -github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.6 h1:Sovz9sDSwbOz9tgUy8JpT+KgCkPYJEN/oYzlJiYTNLg= github.com/rivo/uniseg v0.4.6/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= @@ -3125,37 +2640,26 @@ github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncj github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rogpeppe/go-internal v1.12.1-0.20240709150035-ccf4b4329d21 h1:igWZJluD8KtEtAgRyF4x6lqcxDry1ULztksMJh2mnQE= github.com/rogpeppe/go-internal v1.12.1-0.20240709150035-ccf4b4329d21/go.mod h1:RMRJLmBOqWacUkmJHRMiPKh1S1m3PA7Zh4W80/kWPpg= -github.com/rollbar/rollbar-go v1.0.2 h1:uA3+z0jq6ka9WUUt9VX/xuiQZXZyWRoeKvkhVvLO9Jc= github.com/rollbar/rollbar-go v1.0.2/go.mod h1:AcFs5f0I+c71bpHlXNNDbOWJiKwjFDtISeXco0L5PKQ= github.com/rotisserie/eris v0.1.1/go.mod h1:2ik3CyJrzlOjGyDGrKfqZivSfmkhCS3ktE+T1mNzzLk= github.com/rotisserie/eris v0.5.4 h1:Il6IvLdAapsMhvuOahHWiBnl1G++Q0/L5UIkI5mARSk= github.com/rotisserie/eris v0.5.4/go.mod h1:Z/kgYTJiJtocxCbFfvRmO+QejApzG6zpyky9G1A4g9s= -github.com/rs/dnscache v0.0.0-20211102005908-e0241e321417 h1:Lt9DzQALzHoDwMBGJ6v8ObDPR0dzr2a6sXTB1Fq7IHs= github.com/rs/dnscache v0.0.0-20211102005908-e0241e321417/go.mod h1:qe5TWALJ8/a1Lqznoc5BDHpYX/8HU60Hm2AwRmqzxqA= -github.com/rs/xid v1.2.1 h1:mhH9Nq+C1fY2l1XIpgxIiUOfNpRBYH1kKcr+qfKgjRc= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.9.1/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= -github.com/rs/zerolog v1.18.0 h1:CbAm3kP2Tptby1i9sYy2MGRg0uxIN9cyDb59Ys7W8z8= github.com/rs/zerolog v1.18.0/go.mod h1:9nvC1axdVrAHcu/s9taAVfBuIdTZLVQmKQyvrUjF5+I= github.com/rubenv/sql-migrate v1.7.0 h1:HtQq1xyTN2ISmQDggnh0c9U3JlP8apWh8YO2jzlXpTI= github.com/rubenv/sql-migrate v1.7.0/go.mod h1:S4wtDEG1CKn+0ShpTtzWhFpHHI5PvCUtiGI+C+Z2THE= -github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7 h1:J4AOUcOh/t1XbQcJfkEqhzgvMJ2tDxdCVvmHxW5QXao= github.com/russellhaering/goxmldsig v0.0.0-20180430223755-7acd5e4a6ef7/go.mod h1:Oz4y6ImuOQZxynhbSXk7btjEfNBtGlj2dcaOvXl2FSM= -github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= -github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= -github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245 h1:K1Xf3bKttbF+koVGaX5xngRIZ5bVjbmPnaxE/dR08uY= github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/ryanuber/columnize v2.1.0+incompatible h1:j1Wcmh8OrK4Q7GXY+V7SVSY8nUWQxHW5TkBe7YUl+2s= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= -github.com/sagikazarmark/crypt v0.19.0 h1:WMyLTjHBo64UvNcWqpzY3pbZTYgnemZU8FBZigKc42E= -github.com/sagikazarmark/crypt v0.19.0/go.mod h1:c6vimRziqqERhtSe0MhIvzE1w54FrCHtrXb5NH/ja78= github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= @@ -3170,11 +2674,8 @@ github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k= github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME= -github.com/shurcooL/githubv4 v0.0.0-20191127044304-8f68eb5628d0 h1:T9uus1QvcPgeLShS30YOnnzk3r9Vvygp45muhlrufgY= github.com/shurcooL/githubv4 v0.0.0-20191127044304-8f68eb5628d0/go.mod h1:hAF0iLZy4td2EX+/8Tw+4nodhlMrwN3HupfaXj3zkGo= -github.com/shurcooL/graphql v0.0.0-20181231061246-d48a9a75455f h1:tygelZueB1EtXkPI6mQ4o9DQ0+FKW41hTbunoXZCTqk= github.com/shurcooL/graphql v0.0.0-20181231061246-d48a9a75455f/go.mod h1:AuYgA5Kyo4c7HfUmvRGs/6rGlMMV/6B1bVnB9JxJEEg= -github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= @@ -3183,12 +2684,9 @@ github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrf github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/solo-io/anyvendor v0.1.0 h1:pzqilD2dxOJnosCe01gl7bU91EHrYjBnfB6W3lQmFx4= github.com/solo-io/anyvendor v0.1.0/go.mod h1:pm4oeT20nrF6moqurCc7U4fEC1oi1RzkqoD/Lp/z/4Y= @@ -3213,7 +2711,6 @@ github.com/solo-io/solo-kit v0.36.1 h1:jiO2HVsbUKuFwF9q3t20LujANouvAFlRzPMrK5goD github.com/solo-io/solo-kit v0.36.1/go.mod h1:tLK3BllHZZUZsvgG3paVzux8ccmItKadqLSg7nOltDw= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= @@ -3232,7 +2729,6 @@ github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSW github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= @@ -3241,14 +2737,11 @@ github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/y github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= -github.com/src-d/gcfg v1.4.0 h1:xXbNR5AlLSA315x2UO+fTSSAXCDf+Ar38/6oyGbDKQ4= github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= -github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94 h1:0ngsPmuP6XIjiFRNFYlvKwSr5zff2v+uPHaffZ6/M4k= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/quantile v0.0.0-20150917103942-b0c588724d25 h1:7z3LSn867ex6VSaahyKadf4WtSsJIgne6A1WLOAGM8A= github.com/streadway/quantile v0.0.0-20150917103942-b0c588724d25/go.mod h1:lbP8tGiBjZ5YWIc2fzuRpTaz0b/53vT6PEs3QuAWzuU= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -3276,54 +2769,26 @@ github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8 github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= -github.com/substrait-io/substrait-go v0.4.2 h1:buDnjsb3qAqTaNbOR7VKmNgXf4lYQxWEcnSGUWBtmN8= github.com/substrait-io/substrait-go v0.4.2/go.mod h1:qhpnLmrcvAnlZsUyPXZRqldiHapPTXC3t7xFgDi3aQg= -github.com/tetratelabs/wazero v1.6.0 h1:z0H1iikCdP8t+q341xqepY4EWvHEw8Es7tlqiVzlP3g= -github.com/tetratelabs/wazero v1.6.0/go.mod h1:0U0G41+ochRKoPKCJlh0jMg1CHkyfK8kDqiirMmKY8A= github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75 h1:6fotK7otjonDflCTK0BCfls4SPy3NcCVb5dqqmbRknE= github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75/go.mod h1:KO6IkyS8Y3j8OdNO85qEYBsRPuteD+YciPomcXdrMnk= -github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ= github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM= -github.com/tsenart/go-tsz v0.0.0-20180814232043-cdeb9e1e981e h1:bB5SXzQmSUsJCmjPDN9fKYx3SSDER5diSjlN6TefTCc= github.com/tsenart/go-tsz v0.0.0-20180814232043-cdeb9e1e981e/go.mod h1:SWZznP1z5Ki7hDT2ioqiFKEse8K9tU2OUvaRI0NeGQo= -github.com/tsenart/vegeta/v12 v12.8.4 h1:UQ7tG7WkDorKj0wjx78Z4/vsMBP8RJQMGJqRVrkvngg= github.com/tsenart/vegeta/v12 v12.8.4/go.mod h1:ZiJtwLn/9M4fTPdMY7bdbIeyNeFVE8/AHbWFqCsUuho= -github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926 h1:G3dpKMzFDjgEh2q1Z7zUUtKa8ViPtH+ocF0bE0g00O8= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -github.com/ugorji/go v1.1.4 h1:j4s+tAvLfL3bZyefP2SEWmhBzmuIlH/eqNuPdFPgngw= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= -github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= -github.com/urfave/cli v1.22.4 h1:u7tSpNPPswAFymm8IehJhy4uJMlUuU/GmqSkvJ1InXA= -github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urfave/cli/v2 v2.3.0 h1:qph92Y649prgesehzOrQjdWyxFOp/QVM+6imKHad91M= github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= -github.com/vbatts/tar-split v0.11.5 h1:3bHCTIheBm1qFTcgh9oPu+nNBtX+XJIupG/vacinCts= -github.com/vbatts/tar-split v0.11.5/go.mod h1:yZbwRsSeGjusneWgA781EKej9HF8vme8okylkAeNKLk= -github.com/vektah/gqlparser v1.1.2 h1:ZsyLGn7/7jDNI+y4SEhI4yAxRChlv15pUHMjijT+e68= github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= -github.com/vektah/gqlparser/v2 v2.4.5 h1:C02NsyEsL4TXJB7ndonqTfuQOL4XPIu0aAWugdmTgmc= -github.com/vektah/gqlparser/v2 v2.4.5/go.mod h1:flJWIR04IMQPGz+BXLrORkrARBxv/rtyIAFvd/MceW0= -github.com/veraison/go-cose v1.0.0-rc.1 h1:4qA7dbFJGvt7gcqv5MCIyCQvN+NpHFPkW7do3EeDLb8= -github.com/veraison/go-cose v1.0.0-rc.1/go.mod h1:7ziE85vSq4ScFTg6wyoMXjucIGOf4JkFEZi/an96Ct4= -github.com/vishvananda/netlink v1.3.0 h1:X7l42GfcV4S6E4vHTsw48qbrV+9PVojNfIhZcwQdrZk= -github.com/vishvananda/netlink v1.3.0/go.mod h1:i6NetklAujEcC6fK0JPjT8qSwWyO0HLn4UKG+hGqeJs= -github.com/vishvananda/netns v0.0.4 h1:Oeaw1EM2JMxD51g9uhtC0D7erkIjgmj8+JZc26m1YX8= -github.com/vishvananda/netns v0.0.4/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/xanzy/ssh-agent v0.2.0/go.mod h1:0NyE30eGUDliuLEHJgYte/zncp2zdTStcOnWhgSqHD8= github.com/xanzy/ssh-agent v0.3.0 h1:wUMzuKtKilRgBAD1sUb8gOwwRr2FGoBVumcjoOACClI= github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= -github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= -github.com/xdg-go/scram v1.0.2 h1:akYIkZ28e6A96dkWNJQu3nmCzH3YfwMPQExUYDaRv7w= github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= -github.com/xdg-go/stringprep v1.0.2 h1:6iq84/ryjjeRmMJwxutI51F2GIPlP5BfTvXHeYjyhBc= github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= @@ -3332,20 +2797,12 @@ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHo github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/xhit/go-str2duration v1.2.0 h1:BcV5u025cITWxEQKGWr1URRzrcXtu7uk8+luz3Yuhwc= github.com/xhit/go-str2duration v1.2.0/go.mod h1:3cPSlfZlUHVlneIVfePFWcJZsuwf+P1v2SRTV4cUmp4= -github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc= github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ= github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 h1:ESFSdwYZvkeru3RtdrYueztKhOBCSAAzS4Gf+k0tEow= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/yashtewari/glob-intersection v0.1.0 h1:6gJvMYQlTDOL3dMsPF6J0+26vwX9MB8/1q3uAdhmTrg= -github.com/yashtewari/glob-intersection v0.1.0/go.mod h1:LK7pIC3piUjovexikBbJ26Yml7g8xa5bsjfx2v1fwok= -github.com/yl2chen/cidranger v1.0.2 h1:lbOWZVCG1tCRX4u24kuM1Tb4nHqWkDxwLdoS+SevawU= -github.com/yl2chen/cidranger v1.0.2/go.mod h1:9U1yz7WPYDwf0vpNWFaeRh0bjwz5RVgRy/9UEQfHl0g= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -3361,36 +2818,23 @@ github.com/yvasiyarov/gorelic v0.0.6 h1:qMJQYPNdtJ7UNYHjX38KXZtltKTqimMuoQjNnSVI github.com/yvasiyarov/gorelic v0.0.6/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f h1:ERexzlUfuTvpE74urLSbIQW0Z/6hF9t8U4NsJLaioAY= github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= -github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ= github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= -github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= -github.com/zenazn/goji v0.9.1-0.20160507202103-64eb34159fe5 h1:mXV20Aj/BdWrlVzIn1kXFa+Tq62INlUi0cFFlztTaK0= github.com/zenazn/goji v0.9.1-0.20160507202103-64eb34159fe5/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= -go.einride.tech/aip v0.66.0 h1:XfV+NQX6L7EOYK11yoHHFtndeaWh3KbD9/cN/6iWEt8= go.einride.tech/aip v0.66.0/go.mod h1:qAhMsfT7plxBX+Oy7Huol6YUvZ0ZzdUz26yZsQwfl1M= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.9 h1:8x7aARPEXiXbHmtUwAIv7eV2fQFHrLLavdiJ3uzJXoI= go.etcd.io/bbolt v1.3.9/go.mod h1:zaO32+Ti0PK1ivdPtgMESzuzL2VPoIG1PCQNvOdo/dE= go.etcd.io/etcd/api/v3 v3.5.13/go.mod h1:gBqlqkcMMZMVTMm4NDZloEVJzxQOQIls8splbqBDa0c= -go.etcd.io/etcd/api/v3 v3.5.14 h1:vHObSCxyB9zlF60w7qzAdTcGaglbJOpSj1Xj9+WGxq0= go.etcd.io/etcd/api/v3 v3.5.14/go.mod h1:BmtWcRlQvwa1h3G2jvKYwIQy4PkHlDej5t7uLMUdJUU= go.etcd.io/etcd/client/pkg/v3 v3.5.13/go.mod h1:XxHT4u1qU12E2+po+UVPrEeL94Um6zL58ppuJWXSAB8= -go.etcd.io/etcd/client/pkg/v3 v3.5.14 h1:SaNH6Y+rVEdxfpA2Jr5wkEvN6Zykme5+YnbCkxvuWxQ= go.etcd.io/etcd/client/pkg/v3 v3.5.14/go.mod h1:8uMgAokyG1czCtIdsq+AGyYQMvpIKnSvPjFMunkgeZI= -go.etcd.io/etcd/client/v2 v2.305.13 h1:RWfV1SX5jTU0lbCvpVQe3iPQeAHETWdOTb6pxhd77C8= go.etcd.io/etcd/client/v2 v2.305.13/go.mod h1:iQnL7fepbiomdXMb3om1rHq96htNNGv2sJkEcZGDRRg= go.etcd.io/etcd/client/v3 v3.5.13/go.mod h1:cqiAeY8b5DEEcpxvgWKsbLIWNM/8Wy2xJSDMtioMcoI= -go.etcd.io/etcd/client/v3 v3.5.14 h1:CWfRs4FDaDoSz81giL7zPpZH2Z35tbOrAJkkjMqOupg= go.etcd.io/etcd/client/v3 v3.5.14/go.mod h1:k3XfdV/VIHy/97rqWjoUzrj9tk7GgJGH9J8L4dNXmAk= -go.etcd.io/etcd/pkg/v3 v3.5.13 h1:st9bDWNsKkBNpP4PR1MvM/9NqUPfvYZx/YXegsYEH8M= go.etcd.io/etcd/pkg/v3 v3.5.13/go.mod h1:N+4PLrp7agI/Viy+dUYpX7iRtSPvKq+w8Y14d1vX+m0= -go.etcd.io/etcd/raft/v3 v3.5.13 h1:7r/NKAOups1YnKcfro2RvGGo2PTuizF/xh26Z2CTAzA= go.etcd.io/etcd/raft/v3 v3.5.13/go.mod h1:uUFibGLn2Ksm2URMxN1fICGhk8Wu96EfDQyuLhAcAmw= -go.etcd.io/etcd/server/v3 v3.5.13 h1:V6KG+yMfMSqWt+lGnhFpP5z5dRUj1BDRJ5k1fQ9DFok= go.etcd.io/etcd/server/v3 v3.5.13/go.mod h1:K/8nbsGupHqmr5MkgaZpLlH1QdX1pcNQLAkODy44XcQ= -go.etcd.io/gofail v0.1.0 h1:XItAMIhOojXFQMgrxjnd2EIIHun/d5qL0Pf7FzVTkFg= go.etcd.io/gofail v0.1.0/go.mod h1:VZBCXYGZhHAinaBiiqYvuDynvahNsAyLFwB3kEHKz1M= go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= @@ -3410,7 +2854,6 @@ go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.4 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0/go.mod h1:r9vWsPS/3AQItv3OSlEJ/E4mbrhUbbw18meOjArPtKQ= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.48.0/go.mod h1:tIKj3DbO8N9Y2xo52og3irLsPI4GW02DSMtrVgNMgxg= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0 h1:9G6E0TXzGFVfTnawRzrPl83iHOAV7L8NJiR8RSGYV1g= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0/go.mod h1:azvtTADFQJA8mX80jIH/akaE7h+dbm/sVuaHqN13w74= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1/go.mod h1:sEGXWArGqc3tVa+ekntsN65DmVbVeW+7lTKTjZF3/Fo= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0/go.mod h1:SK2UL73Zy1quvRPonmOmRDiWk1KBV3LyIeeIxcEApWw= @@ -3437,8 +2880,6 @@ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.20.0/go.mod h go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0/go.mod h1:MOiCmryaYtc+V0Ei+Tx9o5S1ZjA7kzLucuVuyzBZloQ= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0 h1:FFeLy03iVTXP6ffeN2iXrxfGsZGCjVx0/4KlizjyBwU= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.31.0/go.mod h1:TMu73/k1CP8nBUpDLc71Wj/Kf7ZS9FK5b53VapRsP9o= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0 h1:lUsI2TYsQw2r1IASwoROaCnjdj2cvC2+Jbxvk6nHnWU= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.31.0/go.mod h1:2HpZxxQurfGxJlJDblybejHB6RX6pmExPNe517hREw4= go.opentelemetry.io/otel/exporters/prometheus v0.53.0 h1:QXobPHrwiGLM4ufrY3EOmDPJpo2P90UuFau4CDPJA/I= go.opentelemetry.io/otel/exporters/prometheus v0.53.0/go.mod h1:WOAXGr3D00CfzmFxtTV1eR0GpoHuPEu+HJT8UWW2SIU= go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8= @@ -3486,15 +2927,12 @@ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/automaxprocs v1.4.0 h1:CpDZl6aOlLhReez+8S3eEotD7Jx0Os++lemPlMULQP0= go.uber.org/automaxprocs v1.4.0/go.mod h1:/mTEdr7LvHhs0v7mjdxDreTz1OG5zdZGqgOnhWiR/+Q= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= -go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU= -go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= @@ -3509,7 +2947,6 @@ go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= goji.io v2.0.0+incompatible/go.mod h1:sbqFwrtqZACxLBTQcdgVjFh54yGVCvwq8+w49MVMMIk= -goji.io v2.0.2+incompatible h1:uIssv/elbKRLznFUy3Xj4+2Mz/qKhek/9aZQDUMae7c= goji.io v2.0.2+incompatible/go.mod h1:sbqFwrtqZACxLBTQcdgVjFh54yGVCvwq8+w49MVMMIk= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -3590,7 +3027,6 @@ golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+o golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= -golang.org/x/image v0.0.0-20220302094943-723b81ca9867 h1:TcHcE0vrmgzNH1v3ppjcMGbhG5+9fMuvOmUYwNEF4q4= golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= @@ -3603,10 +3039,8 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028 h1:4+4C/Iv2U4fMZBiMCc98MG1In4gJY5YRhtpDNeDeHWs= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= @@ -3944,7 +3378,6 @@ golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= -golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457 h1:zf5N6UOrA487eEFacMePxjXAJctxKmyjKUsjA11Uzuk= golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -4111,7 +3544,6 @@ golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= @@ -4120,13 +3552,10 @@ gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJ gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= -gonum.org/v1/gonum v0.12.0 h1:xKuo6hzt+gMav00meVPUlXwSdoEJP46BR+wdxQEFK2o= gonum.org/v1/gonum v0.12.0/go.mod h1:73TDxJfAAHeA8Mk9mf8NlIppyhQNo5GLTcYeqgo2lvY= -gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0 h1:OE9mWmgKkjJyEmDAAtGMPjXu+YNeGvK9VTSHY6+Qihc= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= -gonum.org/v1/plot v0.10.1 h1:dnifSs43YJuNMDzB7v8wV64O4ABBHReuAVAoBxqBqS4= gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -4203,8 +3632,6 @@ google.golang.org/api v0.162.0/go.mod h1:6SulDkfoBIg4NFmCuZ39XeeAgSHCPecfSUuDyYl google.golang.org/api v0.164.0/go.mod h1:2OatzO7ZDQsoS7IFf3rvsE17/TldiU3F/zxFHeqUB5o= google.golang.org/api v0.166.0/go.mod h1:4FcBc686KFi7QI/U51/2GKKevfZMpM17sCdibqe/bSA= google.golang.org/api v0.169.0/go.mod h1:gpNOiMA2tZ4mf5R9Iwf4rK/Dcz0fbdIgWYWVoxmsyLg= -google.golang.org/api v0.171.0 h1:w174hnBPqut76FzW5Qaupt7zY8Kql6fiVjgys4f58sU= -google.golang.org/api v0.171.0/go.mod h1:Hnq5AHm4OTMt2BUVjael2CWZFD6vksJdWCWiUAmjC9o= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -4213,7 +3640,6 @@ google.golang.org/appengine v1.6.2/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto v0.0.0-20170818010345-ee236bd376b0/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= @@ -4381,7 +3807,6 @@ google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqt google.golang.org/genproto v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= google.golang.org/genproto v0.0.0-20240205150955-31a09d347014/go.mod h1:xEgQu1e4stdSSsxPDK8Azkrk/ECl5HvdPf6nbZrTS5M= google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:mqHbVIp48Muh7Ywss/AD6I5kNVKZMmAa/QEW58Gxp2s= -google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY= google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo= google.golang.org/genproto/googleapis/api v0.0.0-20230525234020-1aefcd67740a/go.mod h1:ts19tUU+Z0ZShN1y3aPyq2+O3d5FUNNgT6FtOzmrNn8= google.golang.org/genproto/googleapis/api v0.0.0-20230525234035-dd9d682886f9/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= @@ -4427,7 +3852,6 @@ google.golang.org/genproto/googleapis/bytestream v0.0.0-20240116215550-a9fa1716b google.golang.org/genproto/googleapis/bytestream v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:SCz6T5xjNXM4QFPRwxHcfChp7V+9DcXR3ay2TkHR8Tg= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240205150955-31a09d347014/go.mod h1:EhZbXt+eY4Yr3YVaEGLdNZF5viWowOJZ8KTPqjYMKzg= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240213162025-012b6fc9bca9/go.mod h1:om8Bj876Z0v9ei+RD1LnEWig7vpHQ371PUqsgjmLQEA= -google.golang.org/genproto/googleapis/bytestream v0.0.0-20240304161311-37d4d3c04a78 h1:YqFWYZXim8bG9v68xU8WjTZmYKb5M5dMeSOWIp6jogI= google.golang.org/genproto/googleapis/bytestream v0.0.0-20240304161311-37d4d3c04a78/go.mod h1:vh/N7795ftP0AkN1w8XKqN4w1OdUKXW5Eummda+ofv8= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234015-3fc162c6f38a/go.mod h1:xURIpW9ES5+/GZhnV6beoEtxQrnkRGIfP5VQG2tCBLc= google.golang.org/genproto/googleapis/rpc v0.0.0-20230525234030-28d5490b6b19/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= @@ -4537,8 +3961,6 @@ google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjr google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1 h1:F29+wU6Ee6qgu9TddPgooOdaqsxTMunOoj8KA5yuS5A= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1/go.mod h1:5KF+wpkbTSbGcR9zteSqZV6fqFOWBl4Yde8En8MryZA= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -4566,7 +3988,6 @@ google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojt gopkg.in/AlecAivazis/survey.v1 v1.8.2/go.mod h1:iBNOmqKz/NUbZx3bA+4hAGLRC7fSK7tgtVDT4tB22XA= gopkg.in/AlecAivazis/survey.v1 v1.8.7 h1:oBJqtgsyBLg9K5FK9twNUbcPnbCPoh+R9a+7nag3qJM= gopkg.in/AlecAivazis/survey.v1 v1.8.7/go.mod h1:iBNOmqKz/NUbZx3bA+4hAGLRC7fSK7tgtVDT4tB22XA= -gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -4574,11 +3995,9 @@ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= -gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= @@ -4586,19 +4005,14 @@ gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= -gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= -gopkg.in/resty.v1 v1.12.0 h1:CuXP0Pjfw9rOuY6EP+UvtNvt5DSqHpIxILZKT/quCZI= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/src-d/go-billy.v4 v4.2.1 h1:omN5CrMrMcQ+4I8bJ0wEhOBPanIRWzFC953IiXKdYzo= gopkg.in/src-d/go-billy.v4 v4.2.1/go.mod h1:tm33zBoOwxjYHZIE+OV8bxTWFMJLrconzFMd38aARFk= -gopkg.in/src-d/go-git-fixtures.v3 v3.1.1 h1:XWW/s5W18RaJpmo1l0IYGqXKuJITWRFuA45iOf1dKJs= gopkg.in/src-d/go-git-fixtures.v3 v3.1.1/go.mod h1:dLBcvytrw/TYZsNTWCnkNF2DSIlzWYqTe3rJR56Ac7g= -gopkg.in/src-d/go-git.v4 v4.10.0 h1:NWjTJTQnk8UpIGlssuefyDZ6JruEjo5s88vm88uASbw= gopkg.in/src-d/go-git.v4 v4.10.0/go.mod h1:Vtut8izDyrM8BUVQnzJ+YvmNcem2J89EmfZYCkLokZk= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= @@ -4630,7 +4044,6 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.1.3 h1:qTakTkI6ni6LFD5sBwwsdSO+AQqbSIxOauHTTQKZ/7o= honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= istio.io/api v1.24.0-alpha.0.0.20241106042855-9e26cdd3450a h1:pel/LTl80fLEqw1jQnwLYs0ejjpTdiJbshcudsdPjNA= istio.io/api v1.24.0-alpha.0.0.20241106042855-9e26cdd3450a/go.mod h1:MQnRok7RZ20/PE56v0LxmoWH0xVxnCQPNuf9O7PAN1I= @@ -4638,8 +4051,6 @@ istio.io/client-go v1.24.0-alpha.0.0.20241106043554-b5828356941f h1:YP4XtpB8kT8f istio.io/client-go v1.24.0-alpha.0.0.20241106043554-b5828356941f/go.mod h1:yNREqN04sl5u6BdXWkLhvT9iLdwveCBZ0qZpRkXExQE= istio.io/istio v0.0.0-20241107203726-094b9e700412 h1:ig5VvcilB4pfRGOG5NYfdUa3zjGwCkUPXDJSxIDTN7E= istio.io/istio v0.0.0-20241107203726-094b9e700412/go.mod h1:KgTlCabFe8l7/g2qRuRv7amt3B3d/Fp9l/7o+SV/akA= -istio.io/tools v0.0.0-20200918020118-6d0a0e49b5d3 h1:mkMzZILOGNEvFqWEgVISubKWWTqGUTaK+72jMojyXzA= -istio.io/tools v0.0.0-20200918020118-6d0a0e49b5d3/go.mod h1:+76apR/jbfB29HigSekPznsVFWl8oa0vu21UdQ8USvw= k8s.io/api v0.31.1 h1:Xe1hX/fPW3PXYYv8BlozYqw63ytA92snr96zMW9gWTU= k8s.io/api v0.31.1/go.mod h1:sbN1g6eY6XVLeqNsZGLnI5FwVseTrZX7Fv3O26rhAaI= k8s.io/apiextensions-apiserver v0.31.1 h1:L+hwULvXx+nvTYX/MKM3kKMZyei+UiSXQWciX/N6E40= @@ -4665,7 +4076,6 @@ k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAE k8s.io/gengo/v2 v2.0.0-20240228010128-51d4e06bde70/go.mod h1:VH3AT8AaQOqiGjMF9p0/IM1Dj+82ZwjfxUP1IxaHE+8= k8s.io/gengo/v2 v2.0.0-20240826214909-a7b603a56eb7 h1:cErOOTkQ3JW19o4lo91fFurouhP8NcoBvb7CkvhZZpk= k8s.io/gengo/v2 v2.0.0-20240826214909-a7b603a56eb7/go.mod h1:EJykeLsmFC60UQbYJezXkEsG2FLrt0GPNkU5iK5GWxU= -k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= @@ -4673,7 +4083,6 @@ k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kms v0.31.1 h1:cGLyV3cIwb0ovpP/jtyIe2mEuQ/MkbhmeBF2IYCA9Io= k8s.io/kms v0.31.1/go.mod h1:OZKwl1fan3n3N5FFxnW5C4V3ygrah/3YXeJWS3O6+94= k8s.io/kube-openapi v0.0.0-20240827152857-f7e401e7b4c2 h1:GKE9U8BH16uynoxQii0auTjmmmuZ3O0LFMN6S0lPPhI= k8s.io/kube-openapi v0.0.0-20240827152857-f7e401e7b4c2/go.mod h1:coRQXBK9NxO98XUv3ZD6AK3xzHCxV6+b7lrquKwaKzA= @@ -4684,7 +4093,6 @@ k8s.io/metrics v0.31.1/go.mod h1:JuH1S9tJiH9q1VCY0yzSCawi7kzNLsDzlWDJN4xR+iA= k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A= k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= knative.dev/hack v0.0.0-20211122162614-813559cefdda/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI= -knative.dev/hack v0.0.0-20211203062838-e11ac125e707 h1:Nx3HBoTHjYzXT9xxh5j6A8pMapNqyDLqjl784YxWPDQ= knative.dev/hack v0.0.0-20211203062838-e11ac125e707/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI= knative.dev/networking v0.0.0-20211210083629-bace06e98aee h1:tMn0wtCgn2X+i+JiRk0mYHGrzI/7dZOkCPogz3u3qTU= knative.dev/networking v0.0.0-20211210083629-bace06e98aee/go.mod h1:5ARXhzfos0DMVbPwQ6bQC+vz/9t7smRYBwVrmVaSHrU= @@ -4692,14 +4100,12 @@ knative.dev/pkg v0.0.0-20211206113427-18589ac7627e h1:8hK7g4jz56ZtF3iQLsvrvR/hHn knative.dev/pkg v0.0.0-20211206113427-18589ac7627e/go.mod h1:E6B4RTjZyxe55a0kxOlnEHEl71zuG7gghnqYvNBKwBw= lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= -lukechampine.com/uint128 v1.3.0 h1:cDdUVfRwDUDovz610ABgFD17nXD4/uDgVHl2sC3+sbo= lukechampine.com/uint128 v1.3.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= modernc.org/cc/v3 v3.37.0/go.mod h1:vtL+3mdHx/wcj3iEGz84rQa8vEqR6XM84v5Lcvfph20= modernc.org/cc/v3 v3.38.1/go.mod h1:vtL+3mdHx/wcj3iEGz84rQa8vEqR6XM84v5Lcvfph20= -modernc.org/cc/v3 v3.40.0 h1:P3g79IUS/93SYhtoeaHW+kRCIrYaxJ27MFPv+7kaTOw= modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0= modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= @@ -4710,11 +4116,8 @@ modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWs modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws= modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo= modernc.org/ccgo/v3 v3.16.13-0.20221017192402-261537637ce8/go.mod h1:fUB3Vn0nVPReA+7IG7yZDfjv1TMWjhQP8gCxrFAtL5g= -modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw= modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY= -modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk= modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= -modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM= modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= @@ -4730,51 +4133,37 @@ modernc.org/libc v1.20.3/go.mod h1:ZRfIaEkgrYgZDl6pa4W39HgN5G/yDW+NRmNKZBDFrk0= modernc.org/libc v1.21.2/go.mod h1:przBsL5RDOZajTVslkugzLBj1evTue36jEomFQOoYuI= modernc.org/libc v1.21.4/go.mod h1:przBsL5RDOZajTVslkugzLBj1evTue36jEomFQOoYuI= modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug= -modernc.org/libc v1.22.4 h1:wymSbZb0AlrjdAVX3cjreCHTPCpPARbQXNz6BHPzdwQ= modernc.org/libc v1.22.4/go.mod h1:jj+Z7dTNX8fBScMVNRAYZ/jF91K8fdT2hYMThc3YjBY= modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ= modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/memory v1.3.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/memory v1.4.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= -modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds= modernc.org/memory v1.5.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= -modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4= modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4= modernc.org/sqlite v1.18.2/go.mod h1:kvrTLEWgxUcHa2GfHBQtanR1H9ht3hTJNtKpzH9k1u0= -modernc.org/sqlite v1.21.2 h1:ixuUG0QS413Vfzyx6FWx6PYTmHaOegTY+hjzhn7L+a0= modernc.org/sqlite v1.21.2/go.mod h1:cxbLkB5WS32DnQqeH4h4o1B0eMr8W/y8/RGuxQ3JsC0= modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= -modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY= modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= modernc.org/tcl v1.13.2/go.mod h1:7CLiGIPo1M8Rv1Mitpv5akc2+8fxUd2y2UzC/MfMzy0= -modernc.org/tcl v1.15.1 h1:mOQwiEK4p7HruMZcwKTZPw/aqtGM4aY00uzWhlKKYws= modernc.org/tcl v1.15.1/go.mod h1:aEjeGJX2gz1oWKOLDVZ2tnEWLUrIn8H+GFu+akoDhqs= modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= -modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= -modernc.org/z v1.7.0 h1:xkDw/KepgEjeizO2sNco+hqYkU12taxQFqPEmgm1GWE= modernc.org/z v1.7.0/go.mod h1:hVdgNMh8ggTuRG1rGU8x+xGRFfiQUIAw0ZqlPy8+HyQ= oras.land/oras-go v1.2.5 h1:XpYuAwAb0DfQsunIyMfeET92emK8km3W4yEzZvUbsTo= oras.land/oras-go v1.2.5/go.mod h1:PuAwRShRZCsZb7g8Ar3jKKQR/2A/qN+pkYxIOd/FAoo= -pgregory.net/rapid v0.3.3 h1:jCjBsY4ln4Atz78QoBWxUEvAHaFyNDQg9+WU62aCn1U= pgregory.net/rapid v0.3.3/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU= -rsc.io/binaryregexp v0.2.0 h1:HfqmD5MEmC0zvwBuF187nq9mdnXjXsSivRiXN7SmRkE= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/pdf v0.1.1 h1:k1MczvYDUvJBe93bYd7wrZLLUEcLZAuF824/I4e5Xr4= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= -rsc.io/quote/v3 v3.1.0 h1:9JKUTTIUgS6kzR9mK1YuGKv6Nl+DijDNIc0ghT58FaY= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.30.3 h1:2770sDpzrjjsAtVhSeUFseziht227YAWYHLGNM8QPwY= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.30.3/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= @@ -4786,12 +4175,8 @@ sigs.k8s.io/gateway-api v1.2.0 h1:LrToiFwtqKTKZcZtoQPTuo3FxhrrhTgzQG0Te+YGSo8= sigs.k8s.io/gateway-api v1.2.0/go.mod h1:EpNfEXNjiYfUJypf0eZ0P5iXA9ekSGWaS1WgPaM42X0= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/kind v0.23.0 h1:8fyDGWbWTeCcCTwA04v4Nfr45KKxbSPH1WO9K+jVrBg= -sigs.k8s.io/kind v0.23.0/go.mod h1:ZQ1iZuJLh3T+O8fzhdi3VWcFTzsdXtNv2ppsHc8JQ7s= sigs.k8s.io/kustomize/api v0.17.2 h1:E7/Fjk7V5fboiuijoZHgs4aHuexi5Y2loXlVOAVAG5g= sigs.k8s.io/kustomize/api v0.17.2/go.mod h1:UWTz9Ct+MvoeQsHcJ5e+vziRRkwimm3HytpZgIYqye0= -sigs.k8s.io/kustomize/cmd/config v0.14.1 h1:r1gRhgfPmnt7VYf4uxO8M27GX406n9kOOeScOH9IQds= -sigs.k8s.io/kustomize/cmd/config v0.14.1/go.mod h1:Sw1cPsFqh4uYczCWKlidPgMrsffLPCAB+7ytYLlauY4= sigs.k8s.io/kustomize/kustomize/v5 v5.4.2 h1:9Zl5Gqg3XMdBEvkR54pVLCBj7FVO7W+VPNDDEzD6AyE= sigs.k8s.io/kustomize/kustomize/v5 v5.4.2/go.mod h1:5ypfJVYlPb2MKKeoGknVLxvHemDlQT+szI4+KOhnD6k= sigs.k8s.io/kustomize/kyaml v0.17.1 h1:TnxYQxFXzbmNG6gOINgGWQt09GghzgTP6mIurOgrLCQ= From 36a1f81eb7a2528551375a855d1eb4383ab13bf3 Mon Sep 17 00:00:00 2001 From: sheidkamp Date: Thu, 14 Nov 2024 13:35:26 -0500 Subject: [PATCH 07/14] solo-kit update to remove links to external apis --- docs/build-docs.sh | 5 ----- .../api/envoy/api/v2/route/route.proto.sk.md | 2 +- .../projects/gateway/api/v1/gateway.proto.sk.md | 2 +- .../api/v1/matchable_http_gateway.proto.sk.md | 2 +- .../api/v1/matchable_tcp_gateway.proto.sk.md | 2 +- .../enterprise/options/caching/caching.proto.sk.md | 2 +- .../api/v1/enterprise/options/dlp/dlp.proto.sk.md | 2 +- .../enterprise/options/extproc/extproc.proto.sk.md | 14 +++++++------- .../api/v1/enterprise/options/jwt/jwt.proto.sk.md | 2 +- .../api/v1/enterprise/options/waf/waf.proto.sk.md | 4 ++-- .../gloo/api/v1/http_listener_options.proto.sk.md | 8 ++++---- .../gloo/api/v1/options/als/als.proto.sk.md | 6 +++--- .../dynamic_forward_proxy.proto.sk.md | 4 ++-- .../gloo/api/v1/options/rest/rest.proto.sk.md | 2 +- .../api/v1/options/tracing/tracing.proto.sk.md | 8 ++++---- .../transformation/transformation.proto.sk.md | 2 +- .../gloo/projects/gloo/api/v1/proxy.proto.sk.md | 6 +++--- .../projects/gloo/api/v1/route_options.proto.sk.md | 8 ++++---- .../gloo/projects/gloo/api/v1/settings.proto.sk.md | 2 +- .../gloo/projects/gloo/api/v1/upstream.proto.sk.md | 4 ++-- .../gloo/api/v1/virtual_host_options.proto.sk.md | 4 ++-- .../v1/weighted_destination_options.proto.sk.md | 4 ++-- go.mod | 2 +- go.sum | 2 ++ 24 files changed, 48 insertions(+), 51 deletions(-) diff --git a/docs/build-docs.sh b/docs/build-docs.sh index 54e7c9fd988..78e3a3a2bc8 100755 --- a/docs/build-docs.sh +++ b/docs/build-docs.sh @@ -265,11 +265,6 @@ firebaseJson=$(cat <}}) Helm value or set the key at runtime by using the gateway proxy admin interface. | +| `value` | .solo.io.envoy.config.core.v3.RuntimeUInt32 | Value to compare against. Note that the `defaultValue` field must be defined unless the `runtimeKey` matches a key that is defined in Envoy's [runtime configuration layer](https://www.envoyproxy.io/docs/envoy/v1.30.0/configuration/operations/runtime#config-runtime-bootstrap). Gloo Gateway does not include a key by default. To specify a key-value pair, use the [gatewayProxies.NAME.customStaticLayer]({{< versioned_link_path fromRoot="/reference/helm_chart_values/" >}}) Helm value or set the key at runtime by using the gateway proxy admin interface. | @@ -280,7 +280,7 @@ Filters for random sampling of requests. | Field | Type | Description | | ----- | ---- | ----------- | | `runtimeKey` | `string` | 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. | -| `percentSampled` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../external/envoy/type/v3/percent.proto.sk/#fractionalpercent) | The default sampling percentage. If not specified, defaults to 0% with denominator of 100. | +| `percentSampled` | .solo.io.envoy.type.v3.FractionalPercent | The default sampling percentage. If not specified, defaults to 0% with denominator of 100. | | `useIndependentRandomness` | `bool` | By default, sampling pivots on the header :ref:`x-request-id` being present. If :ref:`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`. 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 ` and :ref:`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). | @@ -339,7 +339,7 @@ Filters requests based on the presence or value of a request header. | Field | Type | Description | | ----- | ---- | ----------- | -| `header` | [.solo.io.envoy.config.route.v3.HeaderMatcher](../../../../external/envoy/config/route/v3/route_components.proto.sk/#headermatcher) | Only requests with a header which matches the specified HeaderMatcher will pass the filter check. | +| `header` | .solo.io.envoy.config.route.v3.HeaderMatcher | Only requests with a header which matches the specified HeaderMatcher will pass the filter check. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/dynamic_forward_proxy/dynamic_forward_proxy.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/dynamic_forward_proxy/dynamic_forward_proxy.proto.sk.md index c02d37c1947..25fc4a0d0fc 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/dynamic_forward_proxy/dynamic_forward_proxy.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/dynamic_forward_proxy/dynamic_forward_proxy.proto.sk.md @@ -110,7 +110,7 @@ Configuration for the dynamic forward proxy DNS cache. See the :ref:`architectur | `dnsCacheCircuitBreaker` | [.dfp.options.gloo.solo.io.DnsCacheCircuitBreakers](../dynamic_forward_proxy.proto.sk/#dnscachecircuitbreakers) | The config of circuit breakers for resolver. It provides a configurable threshold. Envoy will use dns cache circuit breakers with default settings even if this value is not set. | | `caresDns` | [.dfp.options.gloo.solo.io.CaresDnsResolverConfig](../dynamic_forward_proxy.proto.sk/#caresdnsresolverconfig) | Only one of `caresDns` or `appleDns` can be set. | | `appleDns` | [.dfp.options.gloo.solo.io.AppleDnsResolverConfig](../dynamic_forward_proxy.proto.sk/#applednsresolverconfig) | Only one of `appleDns` or `caresDns` can be set. | -| `preresolveHostnames` | [[]solo.io.envoy.config.core.v3.SocketAddress](../../../../external/envoy/config/core/v3/address.proto.sk/#socketaddress) | Hostnames that should be preresolved into the cache upon creation. This might provide a performance improvement, in the form of cache hits, for hostnames that are going to be resolved during steady state and are known at config load time. | +| `preresolveHostnames` | []solo.io.envoy.config.core.v3.SocketAddress | Hostnames that should be preresolved into the cache upon creation. This might provide a performance improvement, in the form of cache hits, for hostnames that are going to be resolved during steady state and are known at config load time. | | `dnsQueryTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The timeout used for DNS queries. This timeout is independent of any timeout and retry policy used by the underlying DNS implementation (e.g., c-areas and Apple DNS) which are opaque. Setting this timeout will ensure that queries succeed or fail within the specified time frame and are then retried using the standard refresh rates. Defaults to 5s if not set. | @@ -189,7 +189,7 @@ Configuration for c-ares DNS resolver. | Field | Type | Description | | ----- | ---- | ----------- | -| `resolvers` | [[]solo.io.envoy.config.core.v3.Address](../../../../external/envoy/config/core/v3/address.proto.sk/#address) | A list of dns resolver addresses. :ref:`use_resolvers_as_fallback` below dictates if the DNS client should override system defaults or only use the provided resolvers if the system defaults are not available, i.e., as a fallback. | +| `resolvers` | []solo.io.envoy.config.core.v3.Address | A list of dns resolver addresses. :ref:`use_resolvers_as_fallback` below dictates if the DNS client should override system defaults or only use the provided resolvers if the system defaults are not available, i.e., as a fallback. | | `dnsResolverOptions` | [.dfp.options.gloo.solo.io.DnsResolverOptions](../dynamic_forward_proxy.proto.sk/#dnsresolveroptions) | Configuration of DNS resolver option flags which control the behavior of the DNS resolver. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/rest/rest.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/rest/rest.proto.sk.md index 7e48a793946..dd0c9697471 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/rest/rest.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/rest/rest.proto.sk.md @@ -79,7 +79,7 @@ This is only for upstream with REST service spec | ----- | ---- | ----------- | | `functionName` | `string` | | | `parameters` | [.transformation.options.gloo.solo.io.Parameters](../../transformation/parameters.proto.sk/#parameters) | | -| `responseTransformation` | [.envoy.api.v2.filter.http.TransformationTemplate](../../../../external/envoy/extensions/transformation/transformation.proto.sk/#transformationtemplate) | | +| `responseTransformation` | .envoy.api.v2.filter.http.TransformationTemplate | | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/tracing/tracing.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/tracing/tracing.proto.sk.md index 4e1adef1f5e..a9329f9b88e 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/tracing/tracing.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/tracing/tracing.proto.sk.md @@ -52,10 +52,10 @@ See [here](https://docs.solo.io/gloo-edge/latest/guides/observability/tracing/) | `requestHeadersForTags` | [[]google.protobuf.StringValue](../../../../../../../../protoc-gen-ext/external/google/protobuf/wrappers.proto.sk/#stringvalue) | Optional. If specified, Envoy will include the headers and header values for any matching request headers. | | `verbose` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Optional. If true, Envoy will include logs for streaming events. Default: false. | | `tracePercentages` | [.tracing.options.gloo.solo.io.TracePercentages](../tracing.proto.sk/#tracepercentages) | Requests can produce traces by random sampling or when the `x-client-trace-id` header is provided. TracePercentages defines the limits for random, forced, and overall tracing percentages. | -| `zipkinConfig` | [.solo.io.envoy.config.trace.v3.ZipkinConfig](../../../../external/envoy/config/trace/v3/zipkin.proto.sk/#zipkinconfig) | Only one of `zipkinConfig`, `datadogConfig`, `openTelemetryConfig`, or `openCensusConfig` can be set. | -| `datadogConfig` | [.solo.io.envoy.config.trace.v3.DatadogConfig](../../../../external/envoy/config/trace/v3/datadog.proto.sk/#datadogconfig) | Only one of `datadogConfig`, `zipkinConfig`, `openTelemetryConfig`, or `openCensusConfig` can be set. | -| `openTelemetryConfig` | [.solo.io.envoy.config.trace.v3.OpenTelemetryConfig](../../../../external/envoy/config/trace/v3/opentelemetry.proto.sk/#opentelemetryconfig) | Only one of `openTelemetryConfig`, `zipkinConfig`, `datadogConfig`, or `openCensusConfig` can be set. | -| `openCensusConfig` | [.solo.io.envoy.config.trace.v3.OpenCensusConfig](../../../../external/envoy/config/trace/v3/opencensus.proto.sk/#opencensusconfig) | Only one of `openCensusConfig`, `zipkinConfig`, `datadogConfig`, or `openTelemetryConfig` can be set. | +| `zipkinConfig` | .solo.io.envoy.config.trace.v3.ZipkinConfig | Only one of `zipkinConfig`, `datadogConfig`, `openTelemetryConfig`, or `openCensusConfig` can be set. | +| `datadogConfig` | .solo.io.envoy.config.trace.v3.DatadogConfig | Only one of `datadogConfig`, `zipkinConfig`, `openTelemetryConfig`, or `openCensusConfig` can be set. | +| `openTelemetryConfig` | .solo.io.envoy.config.trace.v3.OpenTelemetryConfig | Only one of `openTelemetryConfig`, `zipkinConfig`, `datadogConfig`, or `openCensusConfig` can be set. | +| `openCensusConfig` | .solo.io.envoy.config.trace.v3.OpenCensusConfig | Only one of `openCensusConfig`, `zipkinConfig`, `datadogConfig`, or `openTelemetryConfig` can be set. | | `environmentVariablesForTags` | [[]tracing.options.gloo.solo.io.TracingTagEnvironmentVariable](../tracing.proto.sk/#tracingtagenvironmentvariable) | Optional. If specified, Envoy will include the environment variables with the given tag as tracing tags. | | `literalsForTags` | [[]tracing.options.gloo.solo.io.TracingTagLiteral](../tracing.proto.sk/#tracingtagliteral) | Optional. If specified, Envoy will include the literals with the given tag as tracing tags. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/transformation/transformation.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/transformation/transformation.proto.sk.md index 30f2db4b67a..7b166a86138 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/transformation/transformation.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/transformation/transformation.proto.sk.md @@ -169,7 +169,7 @@ User-facing API for transformation. | ----- | ---- | ----------- | | `transformationTemplate` | [.transformation.options.gloo.solo.io.TransformationTemplate](../transformation.proto.sk/#transformationtemplate) | Apply transformation templates. Only one of `transformationTemplate`, `headerBodyTransform`, or `xsltTransformation` can be set. | | `headerBodyTransform` | [.transformation.options.gloo.solo.io.HeaderBodyTransform](../transformation.proto.sk/#headerbodytransform) | This type of transformation will make all the headers available in the response body. The resulting JSON body will consist of two attributes: 'headers', containing the headers, and 'body', containing the original body. Only one of `headerBodyTransform`, `transformationTemplate`, or `xsltTransformation` can be set. | -| `xsltTransformation` | [.envoy.config.transformer.xslt.v2.XsltTransformation](../../../../external/envoy/extensions/transformers/xslt/xslt_transformer.proto.sk/#xslttransformation) | (Enterprise Only): Xslt Transformation. Only one of `xsltTransformation`, `transformationTemplate`, or `headerBodyTransform` can be set. | +| `xsltTransformation` | .envoy.config.transformer.xslt.v2.XsltTransformation | (Enterprise Only): Xslt Transformation. Only one of `xsltTransformation`, `transformationTemplate`, or `headerBodyTransform` can be set. | | `logRequestResponseInfo` | `bool` | When enabled, log request/response body and headers before and after this transformation is applied. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/proxy.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/proxy.proto.sk.md index 62673d97800..2facdb1edcf 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/proxy.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/proxy.proto.sk.md @@ -300,8 +300,8 @@ Some traffic policies can be configured to work both on the listener and virtual | Field | Type | Description | | ----- | ---- | ----------- | | `sslConfig` | [.gloo.solo.io.SslConfig](../ssl/ssl.proto.sk/#sslconfig) | Gloo use SNI domains as matching criteria for Gateway selection The other ssl_config properties will be applied to the outputFilterChain's transport socket SslConfig from VirtualServices will be ignored in a MatchedGateway. | -| `sourcePrefixRanges` | [[]solo.io.envoy.config.core.v3.CidrRange](../../external/envoy/config/core/v3/address.proto.sk/#cidrrange) | Source addresses to match. This value is either the actual addresses used to connect, or addresses that are overridden by using PROXY protocol or original_src. | -| `prefixRanges` | [[]solo.io.envoy.config.core.v3.CidrRange](../../external/envoy/config/core/v3/address.proto.sk/#cidrrange) | Destination addresses to match. This value is either the actual addresses used to connect, or addresses that are overridden by using PROXY protocol or original_dst. | +| `sourcePrefixRanges` | []solo.io.envoy.config.core.v3.CidrRange | Source addresses to match. This value is either the actual addresses used to connect, or addresses that are overridden by using PROXY protocol or original_src. | +| `prefixRanges` | []solo.io.envoy.config.core.v3.CidrRange | Destination addresses to match. This value is either the actual addresses used to connect, or addresses that are overridden by using PROXY protocol or original_dst. | | `destinationPort` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Optional destination port to consider in determining a filter chain match. Filter chains that specify the destination port of incoming traffic are the most specific match. If no filter chain specifies the exact destination port, the filter chains which do not specify ports are the most specific match. | | `passthroughCipherSuites` | `[]string` | | @@ -623,7 +623,7 @@ Notice: RedirectAction is copied directly from https://github.com/envoyproxy/env | `hostRedirect` | `string` | The host portion of the URL will be swapped with this value. | | `pathRedirect` | `string` | The path portion of the URL will be swapped with this value. Only one of `pathRedirect`, `prefixRewrite`, or `regexRewrite` can be set. | | `prefixRewrite` | `string` | 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. Pay attention to the use of trailing slashes as mentioned in `RouteAction`'s `prefix_rewrite`. Only one of `prefixRewrite`, `pathRedirect`, or `regexRewrite` can be set. | -| `regexRewrite` | [.solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute](../../external/envoy/type/matcher/v3/regex.proto.sk/#regexmatchandsubstitute) | Indicates that during forwarding, portions of the path that match the pattern should be rewritten, even allowing the substitution of capture groups from the pattern into the new path as specified by the rewrite substitution string. This is useful to allow application paths to be rewritten in a way that is aware of segments with variable content like identifiers. The router filter will place the original path as it was before the rewrite into the :ref:`x-envoy-original-path ` header. Only one of :ref:`prefix_rewrite ` or *regex_rewrite* may be specified. Examples using Google's [RE2](https://github.com/google/re2) engine: * The path pattern `^/service/([^/]+)(/.*)$` paired with a substitution string of `\2/instance/\1` would transform `/service/foo/v1/api` into `/v1/api/instance/foo`. * The pattern `one` paired with a substitution string of `two` would transform `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/two/zzz`. * The pattern `^(.*?)one(.*)$` paired with a substitution string of `\1two\2` would replace only the first occurrence of `one`, transforming path `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/one/zzz`. * The pattern `(?i)/xxx/` paired with a substitution string of `/yyy/` would do a case-insensitive match and transform path `/aaa/XxX/bbb` to `/aaa/yyy/bbb`. Only one of `regexRewrite`, `pathRedirect`, or `prefixRewrite` can be set. | +| `regexRewrite` | .solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute | Indicates that during forwarding, portions of the path that match the pattern should be rewritten, even allowing the substitution of capture groups from the pattern into the new path as specified by the rewrite substitution string. This is useful to allow application paths to be rewritten in a way that is aware of segments with variable content like identifiers. The router filter will place the original path as it was before the rewrite into the :ref:`x-envoy-original-path ` header. Only one of :ref:`prefix_rewrite ` or *regex_rewrite* may be specified. Examples using Google's [RE2](https://github.com/google/re2) engine: * The path pattern `^/service/([^/]+)(/.*)$` paired with a substitution string of `\2/instance/\1` would transform `/service/foo/v1/api` into `/v1/api/instance/foo`. * The pattern `one` paired with a substitution string of `two` would transform `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/two/zzz`. * The pattern `^(.*?)one(.*)$` paired with a substitution string of `\1two\2` would replace only the first occurrence of `one`, transforming path `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/one/zzz`. * The pattern `(?i)/xxx/` paired with a substitution string of `/yyy/` would do a case-insensitive match and transform path `/aaa/XxX/bbb` to `/aaa/yyy/bbb`. Only one of `regexRewrite`, `pathRedirect`, or `prefixRewrite` can be set. | | `responseCode` | [.gloo.solo.io.RedirectAction.RedirectResponseCode](../proxy.proto.sk/#redirectresponsecode) | The HTTP status code to use in the redirect response. The default response code is MOVED_PERMANENTLY (301). | | `httpsRedirect` | `bool` | The scheme portion of the URL will be swapped with "https". | | `stripQuery` | `bool` | Indicates that during redirection, the query portion of the URL will be removed. Default value is false. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/route_options.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/route_options.proto.sk.md index ce463d5963e..3e7df2bab92 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/route_options.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/route_options.proto.sk.md @@ -89,7 +89,7 @@ to be usable by Gloo. (plugins currently need to be compiled into Gloo) | `headerManipulation` | [.headers.options.gloo.solo.io.HeaderManipulation](../options/headers/headers.proto.sk/#headermanipulation) | Append/Remove headers on Requests or Responses on this Route. | | `hostRewrite` | `string` | Indicates that during forwarding, the host header will be swapped with this value. Only one of `hostRewrite`, `autoHostRewrite`, `hostRewritePathRegex`, or `hostRewriteHeader` can be set. | | `autoHostRewrite` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Enable/Disable auto host re-write. Indicates that the host header will be swapped with the hostname of the upstream host. This setting is only honored for upstreams that use DNS resolution (i.e., their generated Envoy cluster is of type STRICT_DNS or LOGICAL_DNS -- think aws, azure, or static upstreams with hostnames). Only one of `autoHostRewrite`, `hostRewrite`, `hostRewritePathRegex`, or `hostRewriteHeader` can be set. | -| `hostRewritePathRegex` | [.solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute](../../external/envoy/type/matcher/v3/regex.proto.sk/#regexmatchandsubstitute) | Indicates that during forwarding, the host header will be swapped with the result of the regex substitution executed on path value with query and fragment removed. Only one of `hostRewritePathRegex`, `hostRewrite`, `autoHostRewrite`, or `hostRewriteHeader` can be set. | +| `hostRewritePathRegex` | .solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute | Indicates that during forwarding, the host header will be swapped with the result of the regex substitution executed on path value with query and fragment removed. Only one of `hostRewritePathRegex`, `hostRewrite`, `autoHostRewrite`, or `hostRewriteHeader` can be set. | | `hostRewriteHeader` | [.google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/string-value) | Indicates that during forwarding, the host header will be swapped with the content of given downstream or custom header. If header value is empty, host header is left intact. Using this option will append the x-forwarded-host header if append_x_forwarded_host is set. Only one of `hostRewriteHeader`, `hostRewrite`, `autoHostRewrite`, or `hostRewritePathRegex` can be set. | | `appendXForwardedHost` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If true and there is a host rewrite, appends the x-forwarded-host header to requests. | | `cors` | [.cors.options.gloo.solo.io.CorsPolicy](../options/cors/cors.proto.sk/#corspolicy) | Defines a CORS policy for the route. If a CORS policy is defined on both the route and the virtual host, the merge behavior for these policies is determined by the CorsPolicyMergeSettings defined on the VirtualHost. | @@ -109,11 +109,11 @@ to be usable by Gloo. (plugins currently need to be compiled into Gloo) | `rbac` | [.rbac.options.gloo.solo.io.ExtensionSettings](../enterprise/options/rbac/rbac.proto.sk/#extensionsettings) | Enterprise-only: Config for RBAC (currently only supports RBAC based on JWT claims). | | `extauth` | [.enterprise.gloo.solo.io.ExtAuthExtension](../enterprise/options/extauth/v1/extauth.proto.sk/#extauthextension) | Enterprise-only: Authentication configuration. | | `dlp` | [.dlp.options.gloo.solo.io.Config](../enterprise/options/dlp/dlp.proto.sk/#config) | Enterprise-only: Config for data loss prevention. | -| `bufferPerRoute` | [.solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute](../../external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk/#bufferperroute) | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | -| `csrf` | [.solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy](../../external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk/#csrfpolicy) | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | +| `bufferPerRoute` | .solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | +| `csrf` | .solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | | `stagedTransformations` | [.transformation.options.gloo.solo.io.TransformationStages](../options/transformation/transformation.proto.sk/#transformationstages) | Early transformations stage. These transformations run before most other options are processed. If the `regular` field is set in here, the `transformations` field is ignored. | | `envoyMetadata` | `map` | This field can be used to provide additional information about the route. This metadata can be consumed by the Envoy filters that process requests that match the route. For more info about metadata, see [here](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/data_sharing_between_filters#metadata). The value of this field will be propagated to the `metadata` attribute of the corresponding Envoy route. Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#config-route-v3-route) for more details about the `metadata` attribute. | -| `regexRewrite` | [.solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute](../../external/envoy/type/matcher/v3/regex.proto.sk/#regexmatchandsubstitute) | For requests matched on this route, rewrite the HTTP request path according to the provided regex pattern before forwarding upstream Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/v1.14.1/api-v3/config/route/v3/route_components.proto#envoy-v3-api-field-config-route-v3-routeaction-regex-rewrite) for more details about the `regex_rewrite` attribute. | +| `regexRewrite` | .solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute | For requests matched on this route, rewrite the HTTP request path according to the provided regex pattern before forwarding upstream Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/v1.14.1/api-v3/config/route/v3/route_components.proto#envoy-v3-api-field-config-route-v3-routeaction-regex-rewrite) for more details about the `regex_rewrite` attribute. | | `maxStreamDuration` | [.gloo.solo.io.RouteOptions.MaxStreamDuration](../route_options.proto.sk/#maxstreamduration) | Settings for maximum durations and timeouts for streams on the route. Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-msg-config-route-v3-routeaction-maxstreamduration). | | `idleTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout, although the Gateway's [httpConnectionManagerSettings](https://docs.solo.io/gloo-edge/latest/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/hcm/hcm.proto.sk/#httpconnectionmanagersettings) wide stream_idle_timeout will still apply. A value of 0 will completely disable the route’s idle timeout, even if a connection manager stream idle timeout is configured. Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-field-config-route-v3-routeaction-idle-timeout). | | `extProc` | [.extproc.options.gloo.solo.io.RouteSettings](../enterprise/options/extproc/extproc.proto.sk/#routesettings) | Enterprise-only: External Processing filter settings for the route. This can be used to override certain HttpListenerOptions or VirtualHostOptions settings. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.sk.md index cc582853163..e43fe6fa1df 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.sk.md @@ -806,7 +806,7 @@ Settings specific to the gloo (Envoy xDS server) controller | Field | Type | Description | | ----- | ---- | ----------- | | `enableCredentialsDiscovey` | `bool` | Enable credential discovery via IAM; when this is set, there's no need provide a secret on the upstream when running on AWS environment. Note: This should **ONLY** be enabled when running in an AWS environment, as the AWS code blocks the envoy main thread. This should be negligible when running inside AWS. Only one of `enableCredentialsDiscovey` or `serviceAccountCredentials` can be set. | -| `serviceAccountCredentials` | [.envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.ServiceAccountCredentials](../../external/envoy/extensions/aws/filter.proto.sk/#serviceaccountcredentials) | Use projected service account token, and role arn to create temporary credentials with which to authenticate lambda requests. This functionality is meant to work along side EKS service account to IAM binding functionality as outlined here: https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html If the following environment values are not present in the gateway-proxy, this option cannot be used. 1. AWS_WEB_IDENTITY_TOKEN_FILE 2. AWS_ROLE_ARN The role which will be assumed by the credentials will be the one specified by AWS_ROLE_ARN, however, this can also be overwritten in the AWS Upstream spec via the role_arn field If they are not specified envoy will NACK the config update, which will show up in the logs when running OS Gloo. When running Gloo enterprise it will be reflected in the prometheus stat: "glooe.solo.io/xds/nack" In order to specify the aws sts endpoint, both the cluster and uri must be set. This is due to an envoy limitation which cannot infer the host or path from the cluster, and therefore must be explicitly specified via the uri. Only one of `serviceAccountCredentials` or `enableCredentialsDiscovey` can be set. | +| `serviceAccountCredentials` | .envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.ServiceAccountCredentials | Use projected service account token, and role arn to create temporary credentials with which to authenticate lambda requests. This functionality is meant to work along side EKS service account to IAM binding functionality as outlined here: https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html If the following environment values are not present in the gateway-proxy, this option cannot be used. 1. AWS_WEB_IDENTITY_TOKEN_FILE 2. AWS_ROLE_ARN The role which will be assumed by the credentials will be the one specified by AWS_ROLE_ARN, however, this can also be overwritten in the AWS Upstream spec via the role_arn field If they are not specified envoy will NACK the config update, which will show up in the logs when running OS Gloo. When running Gloo enterprise it will be reflected in the prometheus stat: "glooe.solo.io/xds/nack" In order to specify the aws sts endpoint, both the cluster and uri must be set. This is due to an envoy limitation which cannot infer the host or path from the cluster, and therefore must be explicitly specified via the uri. Only one of `serviceAccountCredentials` or `enableCredentialsDiscovey` can be set. | | `propagateOriginalRouting` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Send downstream path and method as `x-envoy-original-path` and `x-envoy-original-method` headers on the request to AWS lambda. Defaults to false. | | `credentialRefreshDelay` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Sets cadence for refreshing credentials for Service Account. Does nothing if Service account is not set. Does not affect the default filewatch for service account only augments it. Defaults to not refreshing on time period. Suggested is 15 minutes. | | `fallbackToFirstFunction` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Sets the unsafe behavior where a route can specify a lambda upstream but not set the function to target. It will use the first function which if discovery is enabled the first function is the first function name alphabetically from the last discovery run. This means that the lambda being pointed to could change. Defaults to false. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/upstream.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/upstream.proto.sk.md index 44918575013..8e4c606a35c 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/upstream.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/upstream.proto.sk.md @@ -81,8 +81,8 @@ Each upstream type is handled by a corresponding Gloo plugin. (plugins currently | `sslConfig` | [.gloo.solo.io.UpstreamSslConfig](../ssl/ssl.proto.sk/#upstreamsslconfig) | SslConfig contains the options necessary to configure envoy to originate TLS to an upstream. | | `circuitBreakers` | [.gloo.solo.io.CircuitBreakerConfig](../circuit_breaker.proto.sk/#circuitbreakerconfig) | Circuit breakers for this upstream. if not set, the defaults ones from the Gloo settings will be used. if those are not set, [envoy's defaults](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/circuit_breaker.proto#envoy-api-msg-cluster-circuitbreakers) will be used. | | `loadBalancerConfig` | [.gloo.solo.io.LoadBalancerConfig](../load_balancer.proto.sk/#loadbalancerconfig) | Settings for the load balancer that sends requests to the Upstream. The load balancing method is set to round robin by default. | -| `healthChecks` | [[]solo.io.envoy.api.v2.core.HealthCheck](../../external/envoy/api/v2/core/health_check.proto.sk/#healthcheck) | | -| `outlierDetection` | [.solo.io.envoy.api.v2.cluster.OutlierDetection](../../external/envoy/api/v2/cluster/outlier_detection.proto.sk/#outlierdetection) | | +| `healthChecks` | []solo.io.envoy.api.v2.core.HealthCheck | | +| `outlierDetection` | .solo.io.envoy.api.v2.cluster.OutlierDetection | | | `kube` | [.kubernetes.options.gloo.solo.io.UpstreamSpec](../options/kubernetes/kubernetes.proto.sk/#upstreamspec) | Only one of `kube`, `static`, `pipe`, `aws`, `azure`, `consul`, `awsEc2`, `gcp`, or `ai` can be set. | | `static` | [.static.options.gloo.solo.io.UpstreamSpec](../options/static/static.proto.sk/#upstreamspec) | Only one of `static`, `kube`, `pipe`, `aws`, `azure`, `consul`, `awsEc2`, `gcp`, or `ai` can be set. | | `pipe` | [.pipe.options.gloo.solo.io.UpstreamSpec](../options/pipe/pipe.proto.sk/#upstreamspec) | Only one of `pipe`, `kube`, `static`, `aws`, `azure`, `consul`, `awsEc2`, `gcp`, or `ai` can be set. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/virtual_host_options.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/virtual_host_options.proto.sk.md index 45801835f27..db2e94ee2cb 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/virtual_host_options.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/virtual_host_options.proto.sk.md @@ -82,8 +82,8 @@ to be usable by Gloo. (plugins currently need to be compiled into Gloo) | `rbac` | [.rbac.options.gloo.solo.io.ExtensionSettings](../enterprise/options/rbac/rbac.proto.sk/#extensionsettings) | Enterprise-only: Config for RBAC (currently only supports RBAC based on JWT claims). | | `extauth` | [.enterprise.gloo.solo.io.ExtAuthExtension](../enterprise/options/extauth/v1/extauth.proto.sk/#extauthextension) | Enterprise-only: Authentication configuration. | | `dlp` | [.dlp.options.gloo.solo.io.Config](../enterprise/options/dlp/dlp.proto.sk/#config) | Enterprise-only: Config for data loss prevention. | -| `bufferPerRoute` | [.solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute](../../external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk/#bufferperroute) | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | -| `csrf` | [.solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy](../../external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk/#csrfpolicy) | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | +| `bufferPerRoute` | .solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | +| `csrf` | .solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | | `includeRequestAttemptCount` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | IncludeRequestAttemptCount decides whether the x-envoy-attempt-count header should be included in the upstream request. Setting this option will cause it to override any existing header value, so in the case of two Envoys on the request path with this option enabled, the upstream will see the attempt count as perceived by the second Envoy. Defaults to false. | | `includeAttemptCountInResponse` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | IncludeAttemptCountInResponse decides whether the x-envoy-attempt-count header should be included in the downstream response. Setting this option will cause the router to override any existing header value, so in the case of two Envoys on the request path with this option enabled, the downstream will see the attempt count as perceived by the Envoy closest upstream from itself. Defaults to false. | | `stagedTransformations` | [.transformation.options.gloo.solo.io.TransformationStages](../options/transformation/transformation.proto.sk/#transformationstages) | Early transformations stage. These transformations run before most other options are processed. If the `regular` field is set in here, the `transformations` field is ignored. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/weighted_destination_options.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/weighted_destination_options.proto.sk.md index 108e55bb0a7..e4f26f4b9af 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/weighted_destination_options.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/weighted_destination_options.proto.sk.md @@ -46,8 +46,8 @@ is selected for routing. | `transformations` | [.transformation.options.gloo.solo.io.Transformations](../options/transformation/transformation.proto.sk/#transformations) | Transformations to apply. Note: this field is superseded by `staged_transformations`. If `staged_transformations.regular` is set, this field will be ignored. | | `extensions` | [.gloo.solo.io.Extensions](../extensions.proto.sk/#extensions) | Extensions will be passed along from Listeners, Gateways, VirtualServices, Routes, and Route tables to the underlying Proxy, making them useful for controllers, validation tools, etc. which interact with kubernetes yaml. Some sample use cases: * controllers, deployment pipelines, helm charts, etc. which wish to use extensions as a kind of opaque metadata. * In the future, Gloo may support gRPC-based plugins which communicate with the Gloo translator out-of-process. Opaque Extensions enables development of out-of-process plugins without requiring recompiling & redeploying Gloo's API. | | `extauth` | [.enterprise.gloo.solo.io.ExtAuthExtension](../enterprise/options/extauth/v1/extauth.proto.sk/#extauthextension) | Enterprise-only: Authentication configuration. | -| `bufferPerRoute` | [.solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute](../../external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk/#bufferperroute) | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | -| `csrf` | [.solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy](../../external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk/#csrfpolicy) | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | +| `bufferPerRoute` | .solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | +| `csrf` | .solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | | `stagedTransformations` | [.transformation.options.gloo.solo.io.TransformationStages](../options/transformation/transformation.proto.sk/#transformationstages) | Early transformations stage. These transformations run before most other options are processed. If the `regular` field is set in here, the `transformations` field is ignored. | diff --git a/go.mod b/go.mod index 8502bf2d6dd..8c15a2aa0d8 100644 --- a/go.mod +++ b/go.mod @@ -58,7 +58,7 @@ require ( // Ref: https://github.com/solo-io/gloo/pull/9463/files#r1594409655 && https://solo-io-corp.slack.com/archives/C03MFATU265/p1716913420716729?thread_ts=1716476992.938679&cid=C03MFATU265 // as to why it is now based off `gloo-main` and not `gloo-repo-branch` github.com/solo-io/solo-apis v0.0.0-20240917212400-9103ca169358 - github.com/solo-io/solo-kit v0.36.1 + github.com/solo-io/solo-kit v0.36.2-0.20241114182142-5e2965cc43e2 github.com/spf13/afero v1.11.0 github.com/spf13/cobra v1.8.1 github.com/spf13/pflag v1.0.5 diff --git a/go.sum b/go.sum index c6d19ef7b1f..8899aca8da2 100644 --- a/go.sum +++ b/go.sum @@ -2709,6 +2709,8 @@ github.com/solo-io/solo-apis v0.0.0-20240917212400-9103ca169358 h1:yNJpr6sKTBUJ0 github.com/solo-io/solo-apis v0.0.0-20240917212400-9103ca169358/go.mod h1:xWaT1lP+nkAGYCuAtRdG1l4MsdKwphqeomC41AIsemY= github.com/solo-io/solo-kit v0.36.1 h1:jiO2HVsbUKuFwF9q3t20LujANouvAFlRzPMrK5goDn0= github.com/solo-io/solo-kit v0.36.1/go.mod h1:tLK3BllHZZUZsvgG3paVzux8ccmItKadqLSg7nOltDw= +github.com/solo-io/solo-kit v0.36.2-0.20241114182142-5e2965cc43e2 h1:HtNL/89tbg1kTxcgLp5LPC3g6gz1Ijh8EB6w5W5ETdM= +github.com/solo-io/solo-kit v0.36.2-0.20241114182142-5e2965cc43e2/go.mod h1:tLK3BllHZZUZsvgG3paVzux8ccmItKadqLSg7nOltDw= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= From 4c8c4e735bac236f385837263676dd6bb2029b25 Mon Sep 17 00:00:00 2001 From: sheidkamp Date: Thu, 14 Nov 2024 15:20:14 -0500 Subject: [PATCH 08/14] Update generate.go --- generate.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/generate.go b/generate.go index d5d749b3e1b..edae303778e 100644 --- a/generate.go +++ b/generate.go @@ -55,6 +55,11 @@ func main() { DataDir: "/docs/data", ApiDir: "reference/api", }, + RenderOptions: &options.RenderOptions{ + SkipLinksForPackages: []string{ + "github.com/solo-io/gloo/projects/gloo/api/external", + }, + }, }, ExternalImports: protoImports, ValidationSchemaOptions: &schemagen.ValidationSchemaOptions{ From 91087982292d8c157a119a45ec21fa73875c77c6 Mon Sep 17 00:00:00 2001 From: sheidkamp Date: Thu, 14 Nov 2024 16:01:57 -0500 Subject: [PATCH 09/14] solo-kit bump --- go.mod | 2 +- go.sum | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index 8c15a2aa0d8..a53f4badaad 100644 --- a/go.mod +++ b/go.mod @@ -58,7 +58,7 @@ require ( // Ref: https://github.com/solo-io/gloo/pull/9463/files#r1594409655 && https://solo-io-corp.slack.com/archives/C03MFATU265/p1716913420716729?thread_ts=1716476992.938679&cid=C03MFATU265 // as to why it is now based off `gloo-main` and not `gloo-repo-branch` github.com/solo-io/solo-apis v0.0.0-20240917212400-9103ca169358 - github.com/solo-io/solo-kit v0.36.2-0.20241114182142-5e2965cc43e2 + github.com/solo-io/solo-kit v0.36.2-0.20241114201934-415c33bf096d github.com/spf13/afero v1.11.0 github.com/spf13/cobra v1.8.1 github.com/spf13/pflag v1.0.5 diff --git a/go.sum b/go.sum index 8899aca8da2..e091e123721 100644 --- a/go.sum +++ b/go.sum @@ -2707,10 +2707,8 @@ github.com/solo-io/skv2 v0.41.0 h1:NRZUe83LquB8zR++SY36JKhw1abRd+SBuGUGAHS9rWA= github.com/solo-io/skv2 v0.41.0/go.mod h1:GtEN0CCne94tm710YbefQh9YcMFcIu2X490g7Loq/Zs= github.com/solo-io/solo-apis v0.0.0-20240917212400-9103ca169358 h1:yNJpr6sKTBUJ0XbYEdOZuFEr+umyq4XgB/GR1cbhCCI= github.com/solo-io/solo-apis v0.0.0-20240917212400-9103ca169358/go.mod h1:xWaT1lP+nkAGYCuAtRdG1l4MsdKwphqeomC41AIsemY= -github.com/solo-io/solo-kit v0.36.1 h1:jiO2HVsbUKuFwF9q3t20LujANouvAFlRzPMrK5goDn0= -github.com/solo-io/solo-kit v0.36.1/go.mod h1:tLK3BllHZZUZsvgG3paVzux8ccmItKadqLSg7nOltDw= -github.com/solo-io/solo-kit v0.36.2-0.20241114182142-5e2965cc43e2 h1:HtNL/89tbg1kTxcgLp5LPC3g6gz1Ijh8EB6w5W5ETdM= -github.com/solo-io/solo-kit v0.36.2-0.20241114182142-5e2965cc43e2/go.mod h1:tLK3BllHZZUZsvgG3paVzux8ccmItKadqLSg7nOltDw= +github.com/solo-io/solo-kit v0.36.2-0.20241114201934-415c33bf096d h1:mYz26Bgjvk42QxpgJ2S0miGcl0X9gVYCykYeOmrkCNg= +github.com/solo-io/solo-kit v0.36.2-0.20241114201934-415c33bf096d/go.mod h1:tLK3BllHZZUZsvgG3paVzux8ccmItKadqLSg7nOltDw= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= From ca5facab0cd67e1a82619ea03c5baeba3504b227 Mon Sep 17 00:00:00 2001 From: sheidkamp Date: Thu, 14 Nov 2024 16:53:27 -0500 Subject: [PATCH 10/14] updated solo-kit usage --- generate.go | 2 +- go.mod | 2 +- go.sum | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/generate.go b/generate.go index edae303778e..b5372b01e10 100644 --- a/generate.go +++ b/generate.go @@ -56,7 +56,7 @@ func main() { ApiDir: "reference/api", }, RenderOptions: &options.RenderOptions{ - SkipLinksForPackages: []string{ + SkipLinksForPathPrefixes: []string{ "github.com/solo-io/gloo/projects/gloo/api/external", }, }, diff --git a/go.mod b/go.mod index a53f4badaad..648967ce7b3 100644 --- a/go.mod +++ b/go.mod @@ -58,7 +58,7 @@ require ( // Ref: https://github.com/solo-io/gloo/pull/9463/files#r1594409655 && https://solo-io-corp.slack.com/archives/C03MFATU265/p1716913420716729?thread_ts=1716476992.938679&cid=C03MFATU265 // as to why it is now based off `gloo-main` and not `gloo-repo-branch` github.com/solo-io/solo-apis v0.0.0-20240917212400-9103ca169358 - github.com/solo-io/solo-kit v0.36.2-0.20241114201934-415c33bf096d + github.com/solo-io/solo-kit v0.36.2-0.20241114214342-0c728acac7ca github.com/spf13/afero v1.11.0 github.com/spf13/cobra v1.8.1 github.com/spf13/pflag v1.0.5 diff --git a/go.sum b/go.sum index e091e123721..a186c2b9ce3 100644 --- a/go.sum +++ b/go.sum @@ -2709,6 +2709,8 @@ github.com/solo-io/solo-apis v0.0.0-20240917212400-9103ca169358 h1:yNJpr6sKTBUJ0 github.com/solo-io/solo-apis v0.0.0-20240917212400-9103ca169358/go.mod h1:xWaT1lP+nkAGYCuAtRdG1l4MsdKwphqeomC41AIsemY= github.com/solo-io/solo-kit v0.36.2-0.20241114201934-415c33bf096d h1:mYz26Bgjvk42QxpgJ2S0miGcl0X9gVYCykYeOmrkCNg= github.com/solo-io/solo-kit v0.36.2-0.20241114201934-415c33bf096d/go.mod h1:tLK3BllHZZUZsvgG3paVzux8ccmItKadqLSg7nOltDw= +github.com/solo-io/solo-kit v0.36.2-0.20241114214342-0c728acac7ca h1:BsEUT8gtR/iqr9YNdYgoyYygxYE2pID2kMPNR6HX3QI= +github.com/solo-io/solo-kit v0.36.2-0.20241114214342-0c728acac7ca/go.mod h1:tLK3BllHZZUZsvgG3paVzux8ccmItKadqLSg7nOltDw= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= From 89b114fa26ffa301839f37006689c9b72d4bb527 Mon Sep 17 00:00:00 2001 From: sheidkamp Date: Thu, 14 Nov 2024 19:20:14 -0500 Subject: [PATCH 11/14] Reduce scope of API removal to XDS --- .../v1.18.0-beta35/remove-external-apis.yaml | 9 +- .../api/envoy/api/v2/route/route.proto.sk.md | 2 +- .../gateway/api/v1/gateway.proto.sk.md | 2 +- .../api/v1/matchable_http_gateway.proto.sk.md | 2 +- .../api/v1/matchable_tcp_gateway.proto.sk.md | 2 +- .../v2/cluster/outlier_detection.proto.sk.md | 75 + .../api/v2/core/health_check.proto.sk.md | 239 +++ .../v3/mutation_rules.proto.sk.md | 109 ++ .../envoy/config/core/v3/address.proto.sk.md | 179 +++ .../envoy/config/core/v3/backoff.proto.sk.md | 48 + .../envoy/config/core/v3/base.proto.sk.md | 516 +++++++ .../core/v3/event_service_config.proto.sk.md | 47 + .../config/core/v3/extension.proto.sk.md | 49 + .../config/core/v3/grpc_service.proto.sk.md | 343 +++++ .../config/core/v3/health_check.proto.sk.md | 270 ++++ .../envoy/config/core/v3/http_uri.proto.sk.md | 50 + .../config/core/v3/proxy_protocol.proto.sk.md | 95 ++ .../config/core/v3/socket_option.proto.sk.md | 73 + .../filter/http/gzip/v2/gzip.proto.sk.md | 111 ++ .../v3/tls_cipher_inspector.proto.sk.md | 43 + .../v3/server_name_matcher.proto.sk.md | 67 + .../v3/cipher_detection_input.proto.sk.md | 49 + .../route/v3/route_components.proto.sk.md | 1332 +++++++++++++++++ .../v3/grpc_output_sink.proto.sk.md | 46 + .../v3/http_output_sink.proto.sk.md | 46 + .../envoy/config/trace/v3/datadog.proto.sk.md | 76 + .../config/trace/v3/opencensus.proto.sk.md | 204 +++ .../config/trace/v3/opentelemetry.proto.sk.md | 49 + .../envoy/config/trace/v3/zipkin.proto.sk.md | 74 + .../advanced_http/advanced_http.proto.sk.md | 178 +++ .../envoy/extensions/aws/filter.proto.sk.md | 156 ++ .../extensions/cache/grpc/config.proto.sk.md | 50 + .../extensions/extauth/sanitize.proto.sk.md | 65 + .../filters/http/buffer/v3/buffer.proto.sk.md | 69 + .../filters/http/csrf/v3/csrf.proto.sk.md | 54 + .../ext_proc/v3/processing_mode.proto.sk.md | 93 ++ .../http/jwt_authn/v3/config.proto.sk.md | 476 ++++++ .../filters/http/wasm/v3/wasm.proto.sk.md | 49 + .../extensions/graphql/graphql.proto.sk.md | 814 ++++++++++ .../extensions/graphql/stitching.proto.sk.md | 249 +++ .../http_path/http_path.proto.sk.md | 48 + .../extensions/jwt/solo_jwt_authn.proto.sk.md | 131 ++ .../proxylatency/proxylatency.proto.sk.md | 83 + .../transformation/transformation.proto.sk.md | 547 +++++++ .../transformation.proto.sk.md | 244 +++ .../xslt/xslt_transformer.proto.sk.md | 50 + .../upstream_wait_filter.proto.sk.md | 43 + .../envoy/extensions/waf/waf.proto.sk.md | 160 ++ .../envoy/extensions/wasm/v3/wasm.proto.sk.md | 111 ++ .../solo_xff_offset_filter.proto.sk.md | 46 + .../v3/external_processor.proto.sk.md | 362 +++++ .../envoy/type/matcher/v3/regex.proto.sk.md | 101 ++ .../envoy/type/matcher/v3/string.proto.sk.md | 74 + .../type/metadata/v3/metadata.proto.sk.md | 183 +++ .../api/external/envoy/type/range.proto.sk.md | 71 + .../type/tracing/v3/custom_tag.proto.sk.md | 143 ++ .../external/envoy/type/v3/http.proto.sk.md | 38 + .../envoy/type/v3/http_status.proto.sk.md | 118 ++ .../envoy/type/v3/percent.proto.sk.md | 88 ++ .../external/envoy/type/v3/range.proto.sk.md | 93 ++ .../type/v3/semantic_version.proto.sk.md | 52 + .../udpa/annotations/migrate.proto.sk.md | 83 + .../udpa/annotations/sensitive.proto.sk.md | 21 + .../udpa/annotations/status.proto.sk.md | 65 + .../udpa/annotations/versioning.proto.sk.md | 45 + .../options/caching/caching.proto.sk.md | 2 +- .../v1/enterprise/options/dlp/dlp.proto.sk.md | 2 +- .../options/extproc/extproc.proto.sk.md | 14 +- .../v1/enterprise/options/jwt/jwt.proto.sk.md | 2 +- .../v1/enterprise/options/waf/waf.proto.sk.md | 4 +- .../api/v1/http_listener_options.proto.sk.md | 8 +- .../gloo/api/v1/options/als/als.proto.sk.md | 6 +- .../dynamic_forward_proxy.proto.sk.md | 4 +- .../gloo/api/v1/options/rest/rest.proto.sk.md | 2 +- .../v1/options/tracing/tracing.proto.sk.md | 8 +- .../transformation/transformation.proto.sk.md | 2 +- .../projects/gloo/api/v1/proxy.proto.sk.md | 6 +- .../gloo/api/v1/route_options.proto.sk.md | 8 +- .../projects/gloo/api/v1/settings.proto.sk.md | 2 +- .../projects/gloo/api/v1/upstream.proto.sk.md | 4 +- .../api/v1/virtual_host_options.proto.sk.md | 4 +- .../weighted_destination_options.proto.sk.md | 4 +- generate.go | 4 +- go.mod | 2 +- go.sum | 2 + 85 files changed, 9500 insertions(+), 50 deletions(-) create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/address.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/backoff.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/base.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/extension.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/health_check.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/route/v3/route_components.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/aws/filter.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/string.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/range.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http_status.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/percent.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/range.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/semantic_version.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/migrate.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/sensitive.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/status.proto.sk.md create mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/versioning.proto.sk.md diff --git a/changelog/v1.18.0-beta35/remove-external-apis.yaml b/changelog/v1.18.0-beta35/remove-external-apis.yaml index 8d839d18c2b..f047180e905 100644 --- a/changelog/v1.18.0-beta35/remove-external-apis.yaml +++ b/changelog/v1.18.0-beta35/remove-external-apis.yaml @@ -1,6 +1,11 @@ changelog: - - type: NON_USER_FACING + - type: FIX issueLink: https://github.com/solo-io/solo-projects/issues/6768 resolvesIssue: false description: >- - After generation, remove docs for external APIs + Remove docs for external APIs + - type: DEPENDENCY_BUMP + dependencyOwner: solo-io + dependencyRepo: solo-kit + dependencyTag: v0.36.2 + issueLink: https://github.com/solo-io/solo-projects/issues/6768 \ No newline at end of file diff --git a/docs/content/reference/api/envoy/api/v2/route/route.proto.sk.md b/docs/content/reference/api/envoy/api/v2/route/route.proto.sk.md index 2d8c4f0e864..519775ec9ae 100644 --- a/docs/content/reference/api/envoy/api/v2/route/route.proto.sk.md +++ b/docs/content/reference/api/envoy/api/v2/route/route.proto.sk.md @@ -1060,7 +1060,7 @@ Internally, Envoy always uses the HTTP/2 *:authority* header to represent the HT | `name` | `string` | Specifies the name of the header in the request. | | `exactMatch` | `string` | If specified, header match will be performed based on the value of the header. Only one of `exactMatch`, `regexMatch`, `rangeMatch`, `presentMatch`, `prefixMatch`, or `suffixMatch` can be set. | | `regexMatch` | `string` | If specified, this regex string is a regular expression rule which implies the entire request header value must match the regex. The rule will not match if only a subsequence of the request header value matches the regex. The regex grammar used in the value field is defined [here](https://en.cppreference.com/w/cpp/regex/ecmascript). Examples: * The regex *\d{3}* matches the value *123* * The regex *\d{3}* does not match the value *1234* * The regex *\d{3}* does not match the value *123.456*. Only one of `regexMatch`, `exactMatch`, `rangeMatch`, `presentMatch`, `prefixMatch`, or `suffixMatch` can be set. | -| `rangeMatch` | .solo.io.envoy.type.Int64Range | If specified, header match will be performed based on range. The rule will match if the request header value is within this range. The entire request header value must represent an integer in base 10 notation: consisting of an optional plus or minus sign followed by a sequence of digits. The rule will not match if the header value does not represent an integer. Match will fail for empty values, floating point numbers or if only a subsequence of the header value is an integer. Examples: * For range [-10,0), route will match for header value -1, but not for 0, "somestring", 10.9, "-1somestring". Only one of `rangeMatch`, `exactMatch`, `regexMatch`, `presentMatch`, `prefixMatch`, or `suffixMatch` can be set. | +| `rangeMatch` | [.solo.io.envoy.type.Int64Range](../../../../../github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/range.proto.sk/#int64range) | If specified, header match will be performed based on range. The rule will match if the request header value is within this range. The entire request header value must represent an integer in base 10 notation: consisting of an optional plus or minus sign followed by a sequence of digits. The rule will not match if the header value does not represent an integer. Match will fail for empty values, floating point numbers or if only a subsequence of the header value is an integer. Examples: * For range [-10,0), route will match for header value -1, but not for 0, "somestring", 10.9, "-1somestring". Only one of `rangeMatch`, `exactMatch`, `regexMatch`, `presentMatch`, `prefixMatch`, or `suffixMatch` can be set. | | `presentMatch` | `bool` | If specified, header match will be performed based on whether the header is in the request. Only one of `presentMatch`, `exactMatch`, `regexMatch`, `rangeMatch`, `prefixMatch`, or `suffixMatch` can be set. | | `prefixMatch` | `string` | If specified, header match will be performed based on the prefix of the header value. Note: empty prefix is not allowed, please use present_match instead. Examples: * The prefix *abcd* matches the value *abcdxyz*, but not for *abcxyz*. Only one of `prefixMatch`, `exactMatch`, `regexMatch`, `rangeMatch`, `presentMatch`, or `suffixMatch` can be set. | | `suffixMatch` | `string` | If specified, header match will be performed based on the suffix of the header value. Note: empty suffix is not allowed, please use present_match instead. Examples: * The suffix *abcd* matches the value *xyzabcd*, but not for *xyzbcd*. Only one of `suffixMatch`, `exactMatch`, `regexMatch`, `rangeMatch`, `presentMatch`, or `prefixMatch` can be set. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/gateway.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/gateway.proto.sk.md index e7e5122c447..cf6d898bd56 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/gateway.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/gateway.proto.sk.md @@ -189,7 +189,7 @@ and the routing configuration to upstreams that are reachable via a specific por | Field | Type | Description | | ----- | ---- | ----------- | | `sslConfig` | [.gloo.solo.io.SslConfig](../../../../gloo/api/v1/ssl/ssl.proto.sk/#sslconfig) | Gloo use SNI domains as matching criteria for Gateway selection The other ssl_config properties will be applied to the outputFilterChain's transport socket SslConfig from VirtualServices will be ignored in a MatchedGateway. | -| `sourcePrefixRanges` | []solo.io.envoy.config.core.v3.CidrRange | CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a CIDR range. See https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#envoy-v3-api-msg-config-core-v3-cidrrange. | +| `sourcePrefixRanges` | [[]solo.io.envoy.config.core.v3.CidrRange](../../../../gloo/api/external/envoy/config/core/v3/address.proto.sk/#cidrrange) | CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a CIDR range. See https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#envoy-v3-api-msg-config-core-v3-cidrrange. | | `passthroughCipherSuites` | `[]string` | Enterprise-only: Passthrough cipher suites is an allow-list of OpenSSL cipher suite names for which TLS passthrough will be enabled. If a client does not support any ciphers that are natively supported by Envoy, but does support one of the ciphers in the passthrough list, then traffic will be routed via TCP Proxy to a destination specified by the TcpGateway, where TLS can then be terminated. This field is only applicable to TcpGateways. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/matchable_http_gateway.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/matchable_http_gateway.proto.sk.md index 733fd1aef12..274e49f52c3 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/matchable_http_gateway.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/matchable_http_gateway.proto.sk.md @@ -66,7 +66,7 @@ and FilterChain configuration (MatchableHttpGateway CR) | Field | Type | Description | | ----- | ---- | ----------- | -| `sourcePrefixRanges` | []solo.io.envoy.config.core.v3.CidrRange | CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a CIDR range. See https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#envoy-v3-api-msg-config-core-v3-cidrrange. | +| `sourcePrefixRanges` | [[]solo.io.envoy.config.core.v3.CidrRange](../../../../gloo/api/external/envoy/config/core/v3/address.proto.sk/#cidrrange) | CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a CIDR range. See https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#envoy-v3-api-msg-config-core-v3-cidrrange. | | `sslConfig` | [.gloo.solo.io.SslConfig](../../../../gloo/api/v1/ssl/ssl.proto.sk/#sslconfig) | Ssl configuration applied to the FilterChain: - FilterChainMatch: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/listener/v3/listener_components.proto#config-listener-v3-filterchainmatch) - TransportSocket: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/base.proto#envoy-v3-api-msg-config-core-v3-transportsocket. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/matchable_tcp_gateway.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/matchable_tcp_gateway.proto.sk.md index a8bf5d8edf9..e033e6b49ba 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/matchable_tcp_gateway.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/matchable_tcp_gateway.proto.sk.md @@ -65,7 +65,7 @@ and FilterChain configuration (MatchableTcpGateway CR). | Field | Type | Description | | ----- | ---- | ----------- | -| `sourcePrefixRanges` | []solo.io.envoy.config.core.v3.CidrRange | CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a CIDR range. See https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#envoy-v3-api-msg-config-core-v3-cidrrange. | +| `sourcePrefixRanges` | [[]solo.io.envoy.config.core.v3.CidrRange](../../../../gloo/api/external/envoy/config/core/v3/address.proto.sk/#cidrrange) | CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a CIDR range. See https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#envoy-v3-api-msg-config-core-v3-cidrrange. | | `sslConfig` | [.gloo.solo.io.SslConfig](../../../../gloo/api/v1/ssl/ssl.proto.sk/#sslconfig) | Ssl configuration applied to the FilterChain, if using passthrough should not include secrets : - FilterChainMatch: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/listener/v3/listener_components.proto#config-listener-v3-filterchainmatch) - TransportSocket: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/base.proto#envoy-v3-api-msg-config-core-v3-transportsocket. | | `passthroughCipherSuites` | `[]string` | Enterprise-only: Passthrough cipher suites is an allow-list of OpenSSL cipher suite names for which TLS passthrough will be enabled. If a client does not support any ciphers that are natively supported by Envoy, but does support one of the ciphers in the passthrough list, then traffic will be routed via TCP Proxy to a destination specified by the TcpGateway, where TLS can then be terminated. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto.sk.md new file mode 100644 index 00000000000..87ae60dc8b9 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto.sk.md @@ -0,0 +1,75 @@ + +--- +title: "outlier_detection.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.api.v2.cluster` +#### Types: + + +- [OutlierDetection](#outlierdetection) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto) + + + + + +--- +### OutlierDetection + + +See the `architecture overview (arch_overview_outlier_detection)` for +more information on outlier detection. + +```yaml +"consecutive5Xx": .google.protobuf.UInt32Value +"interval": .google.protobuf.Duration +"baseEjectionTime": .google.protobuf.Duration +"maxEjectionPercent": .google.protobuf.UInt32Value +"enforcingConsecutive5Xx": .google.protobuf.UInt32Value +"enforcingSuccessRate": .google.protobuf.UInt32Value +"successRateMinimumHosts": .google.protobuf.UInt32Value +"successRateRequestVolume": .google.protobuf.UInt32Value +"successRateStdevFactor": .google.protobuf.UInt32Value +"consecutiveGatewayFailure": .google.protobuf.UInt32Value +"enforcingConsecutiveGatewayFailure": .google.protobuf.UInt32Value +"splitExternalLocalOriginErrors": bool +"consecutiveLocalOriginFailure": .google.protobuf.UInt32Value +"enforcingConsecutiveLocalOriginFailure": .google.protobuf.UInt32Value +"enforcingLocalOriginSuccessRate": .google.protobuf.UInt32Value + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `consecutive5Xx` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of consecutive 5xx responses or local origin errors that are mapped to 5xx error codes before a consecutive 5xx ejection occurs. Defaults to 5. | +| `interval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service. Defaults to 10000ms or 10s. | +| `baseEjectionTime` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/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. Defaults to 30000ms or 30s. | +| `maxEjectionPercent` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The maximum % of an upstream cluster that can be ejected due to outlier detection. Defaults to 10% but will eject at least one host regardless of the value. | +| `enforcingConsecutive5Xx` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The % chance that a host will be actually ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. | +| `enforcingSuccessRate` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The % chance that a host will be actually ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. | +| `successRateMinimumHosts` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. Defaults to 5. | +| `successRateRequestVolume` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. Defaults to 100. | +| `successRateStdevFactor` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. | +| `consecutiveGatewayFailure` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of consecutive gateway failures (502, 503, 504 status codes) before a consecutive gateway failure ejection occurs. Defaults to 5. | +| `enforcingConsecutiveGatewayFailure` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The % chance that a host will be actually ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0. | +| `splitExternalLocalOriginErrors` | `bool` | Determines whether to distinguish local origin failures from external errors. If set to true the following configuration parameters are taken into account: `consecutive_local_origin_failure (envoy_api_field_cluster.OutlierDetection.consecutive_local_origin_failure)`, `enforcing_consecutive_local_origin_failure (envoy_api_field_cluster.OutlierDetection.enforcing_consecutive_local_origin_failure)` and `enforcing_local_origin_success_rate (envoy_api_field_cluster.OutlierDetection.enforcing_local_origin_success_rate)`. Defaults to false. | +| `consecutiveLocalOriginFailure` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of consecutive locally originated failures before ejection occurs. Defaults to 5. Parameter takes effect only when `split_external_local_origin_errors (envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors)` is set to true. | +| `enforcingConsecutiveLocalOriginFailure` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The % chance that a host will be actually ejected when an outlier status 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 `split_external_local_origin_errors (envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors)` is set to true. | +| `enforcingLocalOriginSuccessRate` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The % chance that a host will be actually ejected when an outlier status 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 `split_external_local_origin_errors (envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors)` is set to true. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto.sk.md new file mode 100644 index 00000000000..da672fa11a1 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto.sk.md @@ -0,0 +1,239 @@ + +--- +title: "health_check.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.api.v2.core` +#### Types: + + +- [HealthCheck](#healthcheck) +- [Payload](#payload) +- [HttpHealthCheck](#httphealthcheck) +- [TcpHealthCheck](#tcphealthcheck) +- [RedisHealthCheck](#redishealthcheck) +- [GrpcHealthCheck](#grpchealthcheck) +- [CustomHealthCheck](#customhealthcheck) + + + + +##### Enums: + + + - [HealthStatus](#healthstatus) + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/api/v2/core/health_check.proto) + + + + + +--- +### HealthCheck + + + +```yaml +"timeout": .google.protobuf.Duration +"interval": .google.protobuf.Duration +"initialJitter": .google.protobuf.Duration +"intervalJitter": .google.protobuf.Duration +"intervalJitterPercent": int +"unhealthyThreshold": .google.protobuf.UInt32Value +"healthyThreshold": .google.protobuf.UInt32Value +"reuseConnection": .google.protobuf.BoolValue +"httpHealthCheck": .solo.io.envoy.api.v2.core.HealthCheck.HttpHealthCheck +"tcpHealthCheck": .solo.io.envoy.api.v2.core.HealthCheck.TcpHealthCheck +"grpcHealthCheck": .solo.io.envoy.api.v2.core.HealthCheck.GrpcHealthCheck +"customHealthCheck": .solo.io.envoy.api.v2.core.HealthCheck.CustomHealthCheck +"noTrafficInterval": .google.protobuf.Duration +"unhealthyInterval": .google.protobuf.Duration +"unhealthyEdgeInterval": .google.protobuf.Duration +"healthyEdgeInterval": .google.protobuf.Duration +"eventLogPath": string +"alwaysLogHealthCheckFailures": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The time to wait for a health check response. If the timeout is reached the health check attempt will be considered a failure. | +| `interval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The interval between health checks. | +| `initialJitter` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | An optional jitter amount in milliseconds. If specified, Envoy will start health checking after for a random time in ms between 0 and initial_jitter. This only applies to the first health check. | +| `intervalJitter` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | An optional jitter amount in milliseconds. If specified, during every interval Envoy will add interval_jitter to the wait time. | +| `intervalJitterPercent` | `int` | An optional jitter amount as a percentage of interval_ms. If specified, during every interval Envoy will add interval_ms * interval_jitter_percent / 100 to the wait time. If interval_jitter_ms and interval_jitter_percent are both set, both of them will be used to increase the wait time. | +| `unhealthyThreshold` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of unhealthy health checks required before a host is marked unhealthy. Note that for *http* health checking if a host responds with 503 this threshold is ignored and the host is considered unhealthy immediately. | +| `healthyThreshold` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of healthy health checks required before a host is marked healthy. Note that during startup, only a single successful health check is required to mark a host healthy. | +| `reuseConnection` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Reuse health check connection between health checks. Default is true. | +| `httpHealthCheck` | [.solo.io.envoy.api.v2.core.HealthCheck.HttpHealthCheck](../health_check.proto.sk/#httphealthcheck) | HTTP health check. Only one of `httpHealthCheck`, `tcpHealthCheck`, `grpcHealthCheck`, or `customHealthCheck` can be set. | +| `tcpHealthCheck` | [.solo.io.envoy.api.v2.core.HealthCheck.TcpHealthCheck](../health_check.proto.sk/#tcphealthcheck) | TCP health check. Only one of `tcpHealthCheck`, `httpHealthCheck`, `grpcHealthCheck`, or `customHealthCheck` can be set. | +| `grpcHealthCheck` | [.solo.io.envoy.api.v2.core.HealthCheck.GrpcHealthCheck](../health_check.proto.sk/#grpchealthcheck) | gRPC health check. Only one of `grpcHealthCheck`, `httpHealthCheck`, `tcpHealthCheck`, or `customHealthCheck` can be set. | +| `customHealthCheck` | [.solo.io.envoy.api.v2.core.HealthCheck.CustomHealthCheck](../health_check.proto.sk/#customhealthcheck) | Custom health check. Only one of `customHealthCheck`, `httpHealthCheck`, `tcpHealthCheck`, or `grpcHealthCheck` can be set. | +| `noTrafficInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 date, without sending a potentially large amount of active health checking traffic for no reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the standard health check interval that is defined. Note that this interval takes precedence over any other. The default value for "no traffic interval" is 60 seconds. | +| `unhealthyInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 standard health check interval that is defined. The default value for "unhealthy interval" is the same as "interval". | +| `unhealthyEdgeInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The "unhealthy edge interval" is a special health check interval that is used for the first health check right after a host is marked as unhealthy. For subsequent health checks Envoy will shift back to using either "unhealthy interval" if present or the standard health check interval that is defined. The default value for "unhealthy edge interval" is the same as "unhealthy interval". | +| `healthyEdgeInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The "healthy edge interval" is a special health check interval that is used for the first health check right after a host is marked as healthy. For subsequent health checks Envoy will shift back to using the standard health check interval that is defined. The default value for "healthy edge interval" is the same as the default interval. | +| `eventLogPath` | `string` | Specifies the path to the `health check event log (arch_overview_health_check_logging)`. If empty, no event log will be written. | +| `alwaysLogHealthCheckFailures` | `bool` | If set to true, health check failure events will always be logged. If set to false, only the initial health check failure event will be logged. The default value is false. | + + + + +--- +### Payload + + +Describes the encoding of the payload bytes in the payload. + +```yaml +"text": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `text` | `string` | Hex encoded payload. E.g., "000000FF". | + + + + +--- +### HttpHealthCheck + + +[#comment:next free field: 11] + +```yaml +"host": string +"path": string +"serviceName": string +"requestHeadersToAdd": []solo.io.envoy.api.v2.core.HeaderValueOption +"requestHeadersToRemove": []string +"useHttp2": bool +"expectedStatuses": []solo.io.envoy.type.Int64Range +"responseAssertions": .advancedhttp.options.gloo.solo.io.ResponseAssertions +"method": .solo.io.envoy.config.core.v3.RequestMethod + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `host` | `string` | 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. | +| `path` | `string` | Specifies the HTTP path that will be requested during health checking. For example */healthcheck*. | +| `serviceName` | `string` | An optional service name parameter which is used to validate the identity of the health checked cluster. See the `architecture overview (arch_overview_health_checking_identity)` for more information. | +| `requestHeadersToAdd` | [[]solo.io.envoy.api.v2.core.HeaderValueOption](../../../../../../../../../../solo-kit/api/external/envoy/api/v2/core/base.proto.sk/#headervalueoption) | 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 `custom request headers (config_http_conn_man_headers_custom_request_headers)`. | +| `requestHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each request that is sent to the health checked cluster. | +| `useHttp2` | `bool` | If set, health checks will be made using http/2. | +| `expectedStatuses` | [[]solo.io.envoy.type.Int64Range](../../../../type/range.proto.sk/#int64range) | 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 `Int64Range (envoy_api_msg_type.Int64Range)`. | +| `responseAssertions` | [.advancedhttp.options.gloo.solo.io.ResponseAssertions](../../../../../../v1/options/advanced_http/advanced_http.proto.sk/#responseassertions) | (Enterprise Only): If defined, the response health check rules take precedence over the http `expected_statuses`. | +| `method` | [.solo.io.envoy.config.core.v3.RequestMethod](../../../../config/core/v3/base.proto.sk/#requestmethod) | HTTP Method that will be used for health checking, default is "GET". GET, HEAD, POST, PUT, DELETE, OPTIONS, TRACE, PATCH methods are supported, but making request body is not supported. CONNECT method is disallowed because it is not appropriate for health check request. If a non-200 response is expected by the method, it needs to be set in expected_statuses. | + + + + +--- +### TcpHealthCheck + + + +```yaml +"send": .solo.io.envoy.api.v2.core.HealthCheck.Payload +"receive": []solo.io.envoy.api.v2.core.HealthCheck.Payload + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `send` | [.solo.io.envoy.api.v2.core.HealthCheck.Payload](../health_check.proto.sk/#payload) | Empty payloads imply a connect-only health check. | +| `receive` | [[]solo.io.envoy.api.v2.core.HealthCheck.Payload](../health_check.proto.sk/#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. | + + + + +--- +### RedisHealthCheck + + + +```yaml +"key": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `key` | `string` | If set, optionally perform `EXISTS ` instead of `PING`. A return value from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance by setting the specified key to any value and waiting for traffic to drain. | + + + + +--- +### GrpcHealthCheck + + +[grpc.health.v1.Health](https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto)-based +healthcheck. See [gRPC doc](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) +for details. + +```yaml +"serviceName": string +"authority": string +"initialMetadata": []solo.io.envoy.api.v2.core.HeaderValueOption + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `serviceName` | `string` | An optional service name parameter which will be sent to gRPC service in [grpc.health.v1.HealthCheckRequest](https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20) message. See [gRPC health-checking overview](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) for more information. | +| `authority` | `string` | 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. | +| `initialMetadata` | [[]solo.io.envoy.api.v2.core.HeaderValueOption](../../../../../../../../../../solo-kit/api/external/envoy/api/v2/core/base.proto.sk/#headervalueoption) | Specifies a list of key-value pairs that should be added to the metadata of each GRPC call that is sent to the health checked cluster. | + + + + +--- +### CustomHealthCheck + + +Custom health check. + +```yaml +"name": string +"config": .google.protobuf.Struct +"typedConfig": .google.protobuf.Any + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | The registered name of the custom health checker. | +| `config` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Only one of `config` or `typedConfig` can be set. | +| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | Only one of `typedConfig` or `config` can be set. | + + + + +### HealthStatus + +Description: Endpoint health status. + +| Name | Description | +| ----- | ----------- | +| UNKNOWN | The health status is not known. This is interpreted by Envoy as *HEALTHY*. | +| HEALTHY | Healthy. | +| UNHEALTHY | Unhealthy. | +| DRAINING | Connection draining in progress. E.g., https://aws.amazon.com/blogs/aws/elb-connection-draining-remove-instances-from-service-with-care/ or https://cloud.google.com/compute/docs/load-balancing/enabling-connection-draining. This is interpreted by Envoy as *UNHEALTHY*. | +| TIMEOUT | Health check timed out. This is part of HDS and is interpreted by Envoy as *UNHEALTHY*. | +| DEGRADED | Degraded. | + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto.sk.md new file mode 100644 index 00000000000..0479a5be108 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto.sk.md @@ -0,0 +1,109 @@ + +--- +title: "mutation_rules.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.config.common.mutation_rules.v3` +copied from https://github.com/envoyproxy/envoy/blob/ad89a587aa0177bfdad6b5c968a6aead5d9be7a4/api/envoy/config/common/mutation_rules/v3/mutation_rules.proto + + + +#### Types: + + +- [HeaderMutationRules](#headermutationrules) +- [HeaderMutation](#headermutation) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto) + + + + + +--- +### HeaderMutationRules + + +The HeaderMutationRules structure specifies what headers may be +manipulated by a processing filter. This set of rules makes it +possible to control which modifications a filter may make. + +By default, an external processing server may add, modify, or remove +any header except for an "Envoy internal" header (which is typically +denoted by an x-envoy prefix) or specific headers that may affect +further filter processing: + +* `host` +* `:authority` +* `:scheme` +* `:method` + +Every attempt to add, change, append, or remove a header will be +tested against the rules here. Disallowed header mutations will be +ignored unless `disallow_is_error` is set to true. + +Attempts to remove headers are further constrained -- regardless of the +settings, system-defined headers (that start with `:`) and the `host` +header may never be removed. + +In addition, a counter will be incremented whenever a mutation is +rejected. In the ext_proc filter, that counter is named +`rejected_header_mutations`. +[#next-free-field: 8] + +```yaml +"allowAllRouting": .google.protobuf.BoolValue +"allowEnvoy": .google.protobuf.BoolValue +"disallowSystem": .google.protobuf.BoolValue +"disallowAll": .google.protobuf.BoolValue +"allowExpression": .solo.io.envoy.type.matcher.v3.RegexMatcher +"disallowExpression": .solo.io.envoy.type.matcher.v3.RegexMatcher +"disallowIsError": .google.protobuf.BoolValue + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `allowAllRouting` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | By default, certain headers that could affect processing of subsequent filters or request routing cannot be modified. These headers are `host`, `:authority`, `:scheme`, and `:method`. Setting this parameter to true allows these headers to be modified as well. | +| `allowEnvoy` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If true, allow modification of envoy internal headers. By default, these start with `x-envoy` but this may be overridden in the `Bootstrap` configuration using the :ref:`header_prefix ` field. Default is false. | +| `disallowSystem` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If true, prevent modification of any system header, defined as a header that starts with a `:` character, regardless of any other settings. A processing server may still override the `:status` of an HTTP response using an `ImmediateResponse` message. Default is false. | +| `disallowAll` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If true, prevent modifications of all header values, regardless of any other settings. A processing server may still override the `:status` of an HTTP response using an `ImmediateResponse` message. Default is false. | +| `allowExpression` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../../../../../type/matcher/v3/regex.proto.sk/#regexmatcher) | If set, specifically allow any header that matches this regular expression. This overrides all other settings except for `disallow_expression`. | +| `disallowExpression` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../../../../../type/matcher/v3/regex.proto.sk/#regexmatcher) | If set, specifically disallow any header that matches this regular expression regardless of any other settings. | +| `disallowIsError` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If true, and if the rules in this list cause a header mutation to be disallowed, then the filter using this configuration will terminate the request with a 500 error. In addition, regardless of the setting of this parameter, any attempt to set, add, or modify a disallowed header will cause the `rejected_header_mutations` counter to be incremented. Default is false. | + + + + +--- +### HeaderMutation + + +The HeaderMutation structure specifies an action that may be taken on HTTP +headers. + +```yaml +"remove": string +"append": .solo.io.envoy.config.core.v3.HeaderValueOption + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `remove` | `string` | Remove the specified header if it exists. Only one of `remove` or `append` can be set. | +| `append` | [.solo.io.envoy.config.core.v3.HeaderValueOption](../../../../core/v3/base.proto.sk/#headervalueoption) | Append new header by the specified HeaderValueOption. Only one of `append` or `remove` can be set. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/address.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/address.proto.sk.md new file mode 100644 index 00000000000..5c2b4de3304 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/address.proto.sk.md @@ -0,0 +1,179 @@ + +--- +title: "address.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.config.core.v3` +#### Types: + + +- [Pipe](#pipe) +- [SocketAddress](#socketaddress) +- [Protocol](#protocol) +- [TcpKeepalive](#tcpkeepalive) +- [BindConfig](#bindconfig) +- [Address](#address) +- [CidrRange](#cidrrange) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/address.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/address.proto) + + + + + +--- +### Pipe + + + +```yaml +"path": string +"mode": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `path` | `string` | 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. | +| `mode` | `int` | The mode for the Pipe. Not applicable for abstract sockets. | + + + + +--- +### SocketAddress + + +[#next-free-field: 7] + +```yaml +"protocol": .solo.io.envoy.config.core.v3.SocketAddress.Protocol +"address": string +"portValue": int +"namedPort": string +"resolverName": string +"ipv4Compat": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `protocol` | [.solo.io.envoy.config.core.v3.SocketAddress.Protocol](../address.proto.sk/#protocol) | | +| `address` | `string` | The address for this socket. Listeners will bind to the address. An empty address is not allowed. Specify `0.0.0.0` or `::` to bind to any address. [#comment:TODO(zuercher) reinstate when implemented: It is possible to distinguish a Listener address via the prefix/suffix matching in FilterChainMatch.] When used within an upstream BindConfig, the address controls the source address of outbound connections. For :ref:`clusters `, the cluster type determines whether the address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized via resolver_name. | +| `portValue` | `int` | Only one of `portValue` or `namedPort` can be set. | +| `namedPort` | `string` | This is only valid if :ref:`resolver_name ` is specified below and the named resolver is capable of named port resolution. Only one of `namedPort` or `portValue` can be set. | +| `resolverName` | `string` | The name of the custom resolver. This must have been registered with Envoy. If this is empty, a context dependent default applies. If the address is a concrete IP address, no resolution will occur. If address is a hostname this should be set for resolution other than DNS. Specifying a custom resolver with *STRICT_DNS* or *LOGICAL_DNS* will generate an error at runtime. | +| `ipv4Compat` | `bool` | When binding to an IPv6 address above, this enables [IPv4 compatibility](https://datatracker.ietf.org/doc/html/rfc3493#page-11). Binding to `::` will allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into IPv6 space as `::FFFF:`. | + + + + +--- +### Protocol + + + +| Name | Description | +| ----- | ----------- | +| `TCP` | | +| `UDP` | | + + + + +--- +### TcpKeepalive + + + +```yaml +"keepaliveProbes": .google.protobuf.UInt32Value +"keepaliveTime": .google.protobuf.UInt32Value +"keepaliveInterval": .google.protobuf.UInt32Value + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `keepaliveProbes` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Maximum number of keepalive probes to send without response before deciding the connection is dead. Default is to use the OS level configuration (unless overridden, Linux defaults to 9.). | +| `keepaliveTime` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of seconds a connection needs to be idle before keep-alive probes start being sent. Default is to use the OS level configuration (unless overridden, Linux defaults to 7200s (i.e., 2 hours.). | +| `keepaliveInterval` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of seconds between keep-alive probes. Default is to use the OS level configuration (unless overridden, Linux defaults to 75s.). | + + + + +--- +### BindConfig + + + +```yaml +"sourceAddress": .solo.io.envoy.config.core.v3.SocketAddress +"freebind": .google.protobuf.BoolValue +"socketOptions": []solo.io.envoy.config.core.v3.SocketOption + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `sourceAddress` | [.solo.io.envoy.config.core.v3.SocketAddress](../address.proto.sk/#socketaddress) | The address to bind to when creating a socket. | +| `freebind` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Whether to set the *IP_FREEBIND* option when creating the socket. When this flag is set to true, allows the :ref:`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. | +| `socketOptions` | [[]solo.io.envoy.config.core.v3.SocketOption](../socket_option.proto.sk/#socketoption) | Additional socket options that may not be present in Envoy source code or precompiled binaries. | + + + + +--- +### 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. + +```yaml +"socketAddress": .solo.io.envoy.config.core.v3.SocketAddress +"pipe": .solo.io.envoy.config.core.v3.Pipe + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `socketAddress` | [.solo.io.envoy.config.core.v3.SocketAddress](../address.proto.sk/#socketaddress) | Only one of `socketAddress` or `pipe` can be set. | +| `pipe` | [.solo.io.envoy.config.core.v3.Pipe](../address.proto.sk/#pipe) | Only one of `pipe` or `socketAddress` can be set. | + + + + +--- +### CidrRange + + +CidrRange specifies an IP Address and a prefix length to construct +the subnet mask for a [CIDR](https://datatracker.ietf.org/doc/html/rfc4632) range. + +```yaml +"addressPrefix": string +"prefixLen": .google.protobuf.UInt32Value + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `addressPrefix` | `string` | IPv4 or IPv6 address, e.g. `192.0.0.0` or `2001:db8::`. | +| `prefixLen` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Length of prefix, e.g. 0, 32. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/backoff.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/backoff.proto.sk.md new file mode 100644 index 00000000000..4fe30370b79 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/backoff.proto.sk.md @@ -0,0 +1,48 @@ + +--- +title: "backoff.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.config.core.v3` +#### Types: + + +- [BackoffStrategy](#backoffstrategy) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/backoff.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/backoff.proto) + + + + + +--- +### BackoffStrategy + + +Configuration defining a jittered exponential back off strategy. + +```yaml +"baseInterval": .google.protobuf.Duration +"maxInterval": .google.protobuf.Duration + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `baseInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 `. | +| `maxInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Specifies the maximum interval between retries. This parameter is optional, but must be greater than or equal to the :ref:`base_interval ` if set. The default is 10 times the :ref:`base_interval `. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/base.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/base.proto.sk.md new file mode 100644 index 00000000000..07c4318d076 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/base.proto.sk.md @@ -0,0 +1,516 @@ + +--- +title: "base.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.config.core.v3` +#### Types: + + +- [Locality](#locality) +- [BuildVersion](#buildversion) +- [Extension](#extension) +- [Node](#node) +- [Metadata](#metadata) +- [RuntimeUInt32](#runtimeuint32) +- [RuntimeDouble](#runtimedouble) +- [RuntimeFeatureFlag](#runtimefeatureflag) +- [HeaderValue](#headervalue) +- [HeaderValueOption](#headervalueoption) +- [HeaderMap](#headermap) +- [DataSource](#datasource) +- [RetryPolicy](#retrypolicy) +- [RemoteDataSource](#remotedatasource) +- [AsyncDataSource](#asyncdatasource) +- [TransportSocket](#transportsocket) +- [RuntimeFractionalPercent](#runtimefractionalpercent) +- [ControlPlane](#controlplane) + + + + +##### Enums: + + + - [RoutingPriority](#routingpriority) + - [RequestMethod](#requestmethod) + - [TrafficDirection](#trafficdirection) + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/base.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/base.proto) + + + + + +--- +### Locality + + +Identifies location of where either Envoy runs or where upstream hosts run. + +```yaml +"region": string +"zone": string +"subZone": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `region` | `string` | Region this zone belongs to. | +| `zone` | `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 zone data, either in this message or via `--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. | +| `subZone` | `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. | + + + + +--- +### BuildVersion + + +BuildVersion combines SemVer version of extension with free-form build information +(i.e. 'alpha', 'private-build') as a set of strings. + +```yaml +"version": .solo.io.envoy.type.v3.SemanticVersion +"metadata": .google.protobuf.Struct + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `version` | [.solo.io.envoy.type.v3.SemanticVersion](../../../../type/v3/semantic_version.proto.sk/#semanticversion) | SemVer version of extension. | +| `metadata` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Free-form build information. Envoy defines several well known keys in the source/common/common/version.h file. | + + + + +--- +### Extension + + +Version and identification for an Envoy extension. +[#next-free-field: 6] + +```yaml +"name": string +"category": string +"typeDescriptor": string +"version": .solo.io.envoy.config.core.v3.BuildVersion +"disabled": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | This is the name of the Envoy filter as specified in the Envoy configuration, e.g. envoy.filters.http.router, com.acme.widget. | +| `category` | `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.]. | +| `typeDescriptor` | `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.]. | +| `version` | [.solo.io.envoy.config.core.v3.BuildVersion](../base.proto.sk/#buildversion) | 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. | +| `disabled` | `bool` | Indicates that the extension is present but was disabled via dynamic configuration. | + + + + +--- +### Node + + +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] + +```yaml +"id": string +"cluster": string +"metadata": .google.protobuf.Struct +"locality": .solo.io.envoy.config.core.v3.Locality +"userAgentName": string +"userAgentVersion": string +"userAgentBuildVersion": .solo.io.envoy.config.core.v3.BuildVersion +"extensions": []solo.io.envoy.config.core.v3.Extension +"clientFeatures": []string +"listeningAddresses": []solo.io.envoy.config.core.v3.Address + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `id` | `string` | 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: statsd, :ref:`CDS `, and :ref:`HTTP tracing `, either in this message or via `--service-node`. | +| `cluster` | `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: statsd, :ref:`health check cluster verification `, runtime override directory, :ref:`user agent addition `, HTTP global rate limiting, CDS, and :ref:`HTTP tracing `, either in this message or via `--service-cluster`. | +| `metadata` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Opaque metadata extending the node identifier. Envoy will pass this directly to the management server. | +| `locality` | [.solo.io.envoy.config.core.v3.Locality](../base.proto.sk/#locality) | Locality specifying where the Envoy instance is running. | +| `userAgentName` | `string` | Free-form string that identifies the entity requesting config. E.g. "envoy" or "grpc". | +| `userAgentVersion` | `string` | Free-form string that identifies the version of the entity requesting config. E.g. "1.12.2" or "abcd1234", or "SpecialEnvoyBuild". Only one of `userAgentVersion` or `userAgentBuildVersion` can be set. | +| `userAgentBuildVersion` | [.solo.io.envoy.config.core.v3.BuildVersion](../base.proto.sk/#buildversion) | Structured version of the entity requesting config. Only one of `userAgentBuildVersion` or `userAgentVersion` can be set. | +| `extensions` | [[]solo.io.envoy.config.core.v3.Extension](../base.proto.sk/#extension) | List of extensions and their versions supported by the node. | +| `clientFeatures` | `[]string` | 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 the list of features that xDS client may support. | +| `listeningAddresses` | [[]solo.io.envoy.config.core.v3.Address](../address.proto.sk/#address) | Known listening ports on the node as a generic hint to the management server for filtering 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. | + + + + +--- +### Metadata + + +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": }}` 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] + +```yaml +"filterMetadata": map + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `filterMetadata` | `map` | Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.* namespace is reserved for Envoy's built-in filters. | + + + + +--- +### RuntimeUInt32 + + +Runtime derived uint32 with a default when not specified. + +```yaml +"defaultValue": int +"runtimeKey": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `defaultValue` | `int` | Default value if runtime value is not available. | +| `runtimeKey` | `string` | Runtime key to get value for comparison. This value is used if defined. | + + + + +--- +### RuntimeDouble + + +Runtime derived double with a default when not specified. + +```yaml +"defaultValue": float +"runtimeKey": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `defaultValue` | `float` | Default value if runtime value is not available. | +| `runtimeKey` | `string` | Runtime key to get value for comparison. This value is used if defined. | + + + + +--- +### RuntimeFeatureFlag + + +Runtime derived bool with a default when not specified. + +```yaml +"defaultValue": .google.protobuf.BoolValue +"runtimeKey": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `defaultValue` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Default value if runtime value is not available. | +| `runtimeKey` | `string` | 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). | + + + + +--- +### HeaderValue + + +Header name/value pair. + +```yaml +"key": string +"value": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `key` | `string` | Header name. | +| `value` | `string` | Header value. The same format specifier as used for HTTP access logging applies here, however unknown header values are replaced with the empty string instead of `-`. | + + + + +--- +### HeaderValueOption + + +Header name/value pair plus option to control append behavior. + +```yaml +"header": .solo.io.envoy.config.core.v3.HeaderValue +"append": .google.protobuf.BoolValue + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `header` | [.solo.io.envoy.config.core.v3.HeaderValue](../base.proto.sk/#headervalue) | Header name/value pair that this option applies to. | +| `append` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Should the value be appended? If true (default), the value is appended to existing values. | + + + + +--- +### HeaderMap + + +Wrapper for a set of headers. + +```yaml +"headers": []solo.io.envoy.config.core.v3.HeaderValue + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `headers` | [[]solo.io.envoy.config.core.v3.HeaderValue](../base.proto.sk/#headervalue) | | + + + + +--- +### DataSource + + +Data source consisting of either a file or an inline value. + +```yaml +"filename": string +"inlineBytes": bytes +"inlineString": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `filename` | `string` | Local filesystem data source. Only one of `filename`, `inlineBytes`, or `inlineString` can be set. | +| `inlineBytes` | `bytes` | Bytes inlined in the configuration. Only one of `inlineBytes`, `filename`, or `inlineString` can be set. | +| `inlineString` | `string` | String inlined in the configuration. Only one of `inlineString`, `filename`, or `inlineBytes` can be set. | + + + + +--- +### RetryPolicy + + +The message specifies the retry policy of remote data source when fetching fails. + +```yaml +"retryBackOff": .solo.io.envoy.config.core.v3.BackoffStrategy +"numRetries": .google.protobuf.UInt32Value + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `retryBackOff` | [.solo.io.envoy.config.core.v3.BackoffStrategy](../backoff.proto.sk/#backoffstrategy) | Specifies parameters that control retry backoff strategy. This parameter is optional, in which case the default base interval is 1000 milliseconds. The default maximum interval is 10 times the base interval. | +| `numRetries` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Specifies the allowed number of retries. This parameter is optional and defaults to 1. | + + + + +--- +### RemoteDataSource + + +The message specifies how to fetch data from remote and how to verify it. + +```yaml +"httpUri": .solo.io.envoy.config.core.v3.HttpUri +"sha256": string +"retryPolicy": .solo.io.envoy.config.core.v3.RetryPolicy + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `httpUri` | [.solo.io.envoy.config.core.v3.HttpUri](../http_uri.proto.sk/#httpuri) | The HTTP URI to fetch the remote data. | +| `sha256` | `string` | SHA256 string for verifying data. | +| `retryPolicy` | [.solo.io.envoy.config.core.v3.RetryPolicy](../base.proto.sk/#retrypolicy) | Retry policy for fetching remote data. | + + + + +--- +### AsyncDataSource + + +Async data source which support async data fetch. + +```yaml +"local": .solo.io.envoy.config.core.v3.DataSource +"remote": .solo.io.envoy.config.core.v3.RemoteDataSource + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `local` | [.solo.io.envoy.config.core.v3.DataSource](../base.proto.sk/#datasource) | Local async data source. Only one of `local` or `remote` can be set. | +| `remote` | [.solo.io.envoy.config.core.v3.RemoteDataSource](../base.proto.sk/#remotedatasource) | Remote async data source. Only one of `remote` or `local` can be set. | + + + + +--- +### TransportSocket + + +Configuration for transport socket in listeners and +clusters. If the configuration is +empty, a default transport socket implementation and configuration will be +chosen based on the platform and existence of tls_context. + +```yaml +"name": string +"typedConfig": .google.protobuf.Any + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | The name of the transport socket to instantiate. The name must match a supported transport socket implementation. | +| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | + + + + +--- +### RuntimeFractionalPercent + + +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 + 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. + +```yaml +"defaultValue": .solo.io.envoy.type.v3.FractionalPercent +"runtimeKey": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `defaultValue` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../type/v3/percent.proto.sk/#fractionalpercent) | Default value if the runtime value's for the numerator/denominator keys are not available. | +| `runtimeKey` | `string` | Runtime key for a YAML representation of a FractionalPercent. | + + + + +--- +### ControlPlane + + +Identifies a specific ControlPlane instance that Envoy is connected to. + +```yaml +"identifier": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `identifier` | `string` | 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. | + + + + +### RoutingPriority + +Description: Envoy supports :ref:`upstream priority routing +` 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. + +| Name | Description | +| ----- | ----------- | +| DEFAULT | | +| HIGH | | + +### RequestMethod + +Description: HTTP request method. + +| Name | Description | +| ----- | ----------- | +| METHOD_UNSPECIFIED | | +| GET | | +| HEAD | | +| POST | | +| PUT | | +| DELETE | | +| CONNECT | | +| OPTIONS | | +| TRACE | | +| PATCH | | + +### TrafficDirection + +Description: Identifies the direction of the traffic relative to the local Envoy. + +| Name | Description | +| ----- | ----------- | +| UNSPECIFIED | Default option is unspecified. | +| INBOUND | The transport is used for incoming traffic. | +| OUTBOUND | The transport is used for outgoing traffic. | + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto.sk.md new file mode 100644 index 00000000000..09dbc6b4c80 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto.sk.md @@ -0,0 +1,47 @@ + +--- +title: "event_service_config.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.config.core.v3` +#### Types: + + +- [EventServiceConfig](#eventserviceconfig) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto) + + + + + +--- +### EventServiceConfig + + +[#not-implemented-hide:] +Configuration of the event reporting service endpoint. + +```yaml +"grpcService": .solo.io.envoy.config.core.v3.GrpcService + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `grpcService` | [.solo.io.envoy.config.core.v3.GrpcService](../grpc_service.proto.sk/#grpcservice) | Specifies the gRPC service that hosts the event reporting service. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/extension.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/extension.proto.sk.md new file mode 100644 index 00000000000..2b8115a580c --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/extension.proto.sk.md @@ -0,0 +1,49 @@ + +--- +title: "extension.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.config.core.v3` +#### Types: + + +- [TypedExtensionConfig](#typedextensionconfig) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/extension.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/extension.proto) + + + + + +--- +### TypedExtensionConfig + + +Message type for extension configuration. +[#next-major-version: revisit all existing typed_config that doesn't use this wrapper.]. + +```yaml +"name": string +"typedConfig": .google.protobuf.Any + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | The name of an extension. This is not used to select the extension, instead it serves the role of an opaque identifier. | +| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | The typed config for the extension. The type URL will be used to identify the extension. In the case that the type URL is *udpa.type.v1.TypedStruct*, the inner type URL of *TypedStruct* will be utilized. See the :ref:`extension configuration overview ` for further details. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto.sk.md new file mode 100644 index 00000000000..20d42bdebfe --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto.sk.md @@ -0,0 +1,343 @@ + +--- +title: "grpc_service.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.config.core.v3` +#### Types: + + +- [GrpcService](#grpcservice) +- [EnvoyGrpc](#envoygrpc) +- [GoogleGrpc](#googlegrpc) +- [SslCredentials](#sslcredentials) +- [GoogleLocalCredentials](#googlelocalcredentials) +- [ChannelCredentials](#channelcredentials) +- [CallCredentials](#callcredentials) +- [ServiceAccountJWTAccessCredentials](#serviceaccountjwtaccesscredentials) +- [GoogleIAMCredentials](#googleiamcredentials) +- [MetadataCredentialsFromPlugin](#metadatacredentialsfromplugin) +- [StsService](#stsservice) +- [ChannelArgs](#channelargs) +- [Value](#value) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto) + + + + + +--- +### GrpcService + + +gRPC service configuration. This is used by :ref:`ApiConfigSource +` and filter configurations. +[#next-free-field: 6] + +```yaml +"envoyGrpc": .solo.io.envoy.config.core.v3.GrpcService.EnvoyGrpc +"googleGrpc": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc +"timeout": .google.protobuf.Duration +"initialMetadata": []solo.io.envoy.config.core.v3.HeaderValue + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `envoyGrpc` | [.solo.io.envoy.config.core.v3.GrpcService.EnvoyGrpc](../grpc_service.proto.sk/#envoygrpc) | Envoy's in-built gRPC client. See the :ref:`gRPC services overview ` documentation for discussion on gRPC client selection. Only one of `envoyGrpc` or `googleGrpc` can be set. | +| `googleGrpc` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc](../grpc_service.proto.sk/#googlegrpc) | [Google C++ gRPC client](https://github.com/grpc/grpc) See the :ref:`gRPC services overview ` documentation for discussion on gRPC client selection. Only one of `googleGrpc` or `envoyGrpc` can be set. | +| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The timeout for the gRPC request. This is the timeout for a specific request. | +| `initialMetadata` | [[]solo.io.envoy.config.core.v3.HeaderValue](../base.proto.sk/#headervalue) | 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. | + + + + +--- +### EnvoyGrpc + + + +```yaml +"clusterName": string +"authority": string +"retryPolicy": .solo.io.envoy.config.core.v3.RetryPolicy + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `clusterName` | `string` | The name of the upstream gRPC cluster. SSL credentials will be supplied in the Cluster :ref:`transport_socket `. | +| `authority` | `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. | +| `retryPolicy` | [.solo.io.envoy.config.core.v3.RetryPolicy](../base.proto.sk/#retrypolicy) | Indicates the retry policy for re-establishing the gRPC stream This field is optional. If max interval is not provided, it will be set to ten times the provided base interval. Currently only supported for xDS gRPC streams. If not set, xDS gRPC streams default base interval:500ms, maximum interval:30s will be applied. | + + + + +--- +### GoogleGrpc + + +[#next-free-field: 9] + +```yaml +"targetUri": string +"channelCredentials": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials +"callCredentials": []solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials +"statPrefix": string +"credentialsFactoryName": string +"config": .google.protobuf.Struct +"perStreamBufferLimitBytes": .google.protobuf.UInt32Value +"channelArgs": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `targetUri` | `string` | The target URI when using the [Google C++ gRPC client](https://github.com/grpc/grpc). SSL credentials will be supplied in channel_credentials. | +| `channelCredentials` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials](../grpc_service.proto.sk/#channelcredentials) | | +| `callCredentials` | [[]solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials](../grpc_service.proto.sk/#callcredentials) | A set of call credentials that can be composed with [channel credentials](https://grpc.io/docs/guides/auth.html#credential-types). | +| `statPrefix` | `string` | The human readable prefix to use when emitting statistics for the gRPC service. .. csv-table:: :header: Name, Type, Description :widths: 1, 1, 2 streams_total, Counter, Total number of streams opened streams_closed_, Counter, Total streams closed with . | +| `credentialsFactoryName` | `string` | The name of the Google gRPC credentials factory to use. This must have been registered with Envoy. If this is empty, a default credentials factory will be used that sets up channel credentials based on other configuration parameters. | +| `config` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Additional configuration for site-specific customizations of the Google gRPC library. | +| `perStreamBufferLimitBytes` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | How many bytes each stream can buffer internally. If not set an implementation defined default is applied (1MiB). | +| `channelArgs` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs](../grpc_service.proto.sk/#channelargs) | Custom channels args. | + + + + +--- +### SslCredentials + + +See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html. + +```yaml +"rootCerts": .solo.io.envoy.config.core.v3.DataSource +"privateKey": .solo.io.envoy.config.core.v3.DataSource +"certChain": .solo.io.envoy.config.core.v3.DataSource + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `rootCerts` | [.solo.io.envoy.config.core.v3.DataSource](../base.proto.sk/#datasource) | PEM encoded server root certificates. | +| `privateKey` | [.solo.io.envoy.config.core.v3.DataSource](../base.proto.sk/#datasource) | PEM encoded client private key. | +| `certChain` | [.solo.io.envoy.config.core.v3.DataSource](../base.proto.sk/#datasource) | PEM encoded client certificate chain. | + + + + +--- +### GoogleLocalCredentials + + +Local channel credentials. Only UDS is supported for now. +See https://github.com/grpc/grpc/pull/15909. + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + +--- +### ChannelCredentials + + +See https://grpc.io/docs/guides/auth.html#credential-types to understand Channel and Call +credential types. + +```yaml +"sslCredentials": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials +"googleDefault": .google.protobuf.Empty +"localCredentials": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.GoogleLocalCredentials + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `sslCredentials` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials](../grpc_service.proto.sk/#sslcredentials) | Only one of `sslCredentials`, `googleDefault`, or `localCredentials` can be set. | +| `googleDefault` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61. Only one of `googleDefault`, `sslCredentials`, or `localCredentials` can be set. | +| `localCredentials` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.GoogleLocalCredentials](../grpc_service.proto.sk/#googlelocalcredentials) | Only one of `localCredentials`, `sslCredentials`, or `googleDefault` can be set. | + + + + +--- +### CallCredentials + + +[#next-free-field: 8] + +```yaml +"accessToken": string +"googleComputeEngine": .google.protobuf.Empty +"googleRefreshToken": string +"serviceAccountJwtAccess": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials +"googleIam": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials +"fromPlugin": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin +"stsService": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.StsService + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `accessToken` | `string` | Access token credentials. https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d. Only one of `accessToken`, `googleComputeEngine`, `googleRefreshToken`, `serviceAccountJwtAccess`, `googleIam`, `fromPlugin`, or `stsService` can be set. | +| `googleComputeEngine` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | Google Compute Engine credentials. https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61. Only one of `googleComputeEngine`, `accessToken`, `googleRefreshToken`, `serviceAccountJwtAccess`, `googleIam`, `fromPlugin`, or `stsService` can be set. | +| `googleRefreshToken` | `string` | Google refresh token credentials. https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c. Only one of `googleRefreshToken`, `accessToken`, `googleComputeEngine`, `serviceAccountJwtAccess`, `googleIam`, `fromPlugin`, or `stsService` can be set. | +| `serviceAccountJwtAccess` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials](../grpc_service.proto.sk/#serviceaccountjwtaccesscredentials) | Service Account JWT Access credentials. https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa. Only one of `serviceAccountJwtAccess`, `accessToken`, `googleComputeEngine`, `googleRefreshToken`, `googleIam`, `fromPlugin`, or `stsService` can be set. | +| `googleIam` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials](../grpc_service.proto.sk/#googleiamcredentials) | Google IAM credentials. https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0. Only one of `googleIam`, `accessToken`, `googleComputeEngine`, `googleRefreshToken`, `serviceAccountJwtAccess`, `fromPlugin`, or `stsService` can be set. | +| `fromPlugin` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin](../grpc_service.proto.sk/#metadatacredentialsfromplugin) | 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. Only one of `fromPlugin`, `accessToken`, `googleComputeEngine`, `googleRefreshToken`, `serviceAccountJwtAccess`, `googleIam`, or `stsService` can be set. | +| `stsService` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.StsService](../grpc_service.proto.sk/#stsservice) | Custom security token service which implements OAuth 2.0 token exchange. https://datatracker.ietf.org/doc/html/draft-ietf-oauth-token-exchange-16 See https://github.com/grpc/grpc/pull/19587. Only one of `stsService`, `accessToken`, `googleComputeEngine`, `googleRefreshToken`, `serviceAccountJwtAccess`, `googleIam`, or `fromPlugin` can be set. | + + + + +--- +### ServiceAccountJWTAccessCredentials + + + +```yaml +"jsonKey": string +"tokenLifetimeSeconds": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `jsonKey` | `string` | | +| `tokenLifetimeSeconds` | `int` | | + + + + +--- +### GoogleIAMCredentials + + + +```yaml +"authorizationToken": string +"authoritySelector": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `authorizationToken` | `string` | | +| `authoritySelector` | `string` | | + + + + +--- +### MetadataCredentialsFromPlugin + + + +```yaml +"name": string +"typedConfig": .google.protobuf.Any + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | | +| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | + + + + +--- +### StsService + + +Security token service configuration that allows Google gRPC to +fetch security token from an OAuth 2.0 authorization server. +See https://datatracker.ietf.org/doc/html/draft-ietf-oauth-token-exchange-16 and +https://github.com/grpc/grpc/pull/19587. +[#next-free-field: 10] + +```yaml +"tokenExchangeServiceUri": string +"resource": string +"audience": string +"scope": string +"requestedTokenType": string +"subjectTokenPath": string +"subjectTokenType": string +"actorTokenPath": string +"actorTokenType": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `tokenExchangeServiceUri` | `string` | URI of the token exchange service that handles token exchange requests. [#comment:TODO(asraa): Add URI validation when implemented. Tracked by https://github.com/envoyproxy/protoc-gen-validate/issues/303]. | +| `resource` | `string` | Location of the target service or resource where the client intends to use the requested security token. | +| `audience` | `string` | Logical name of the target service where the client intends to use the requested security token. | +| `scope` | `string` | The desired scope of the requested security token in the context of the service or resource where the token will be used. | +| `requestedTokenType` | `string` | Type of the requested security token. | +| `subjectTokenPath` | `string` | The path of subject token, a security token that represents the identity of the party on behalf of whom the request is being made. | +| `subjectTokenType` | `string` | Type of the subject token. | +| `actorTokenPath` | `string` | The path of actor token, a security token that represents the identity of the acting party. The acting party is authorized to use the requested security token and act on behalf of the subject. | +| `actorTokenType` | `string` | Type of the actor token. | + + + + +--- +### ChannelArgs + + +Channel arguments. + +```yaml +"args": map + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `args` | `map` | See grpc_types.h GRPC_ARG #defines for keys that work here. | + + + + +--- +### Value + + + +```yaml +"stringValue": string +"intValue": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `stringValue` | `string` | Only one of `stringValue` or `intValue` can be set. | +| `intValue` | `int` | Only one of `intValue` or `stringValue` can be set. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/health_check.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/health_check.proto.sk.md new file mode 100644 index 00000000000..958dc4282ad --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/health_check.proto.sk.md @@ -0,0 +1,270 @@ + +--- +title: "health_check.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.config.core.v3` +#### Types: + + +- [HealthCheck](#healthcheck) +- [Payload](#payload) +- [HttpHealthCheck](#httphealthcheck) +- [TcpHealthCheck](#tcphealthcheck) +- [RedisHealthCheck](#redishealthcheck) +- [GrpcHealthCheck](#grpchealthcheck) +- [CustomHealthCheck](#customhealthcheck) +- [TlsOptions](#tlsoptions) + + + + +##### Enums: + + + - [HealthStatus](#healthstatus) + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/health_check.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/health_check.proto) + + + + + +--- +### HealthCheck + + +[#next-free-field: 24] + +```yaml +"timeout": .google.protobuf.Duration +"interval": .google.protobuf.Duration +"initialJitter": .google.protobuf.Duration +"intervalJitter": .google.protobuf.Duration +"intervalJitterPercent": int +"unhealthyThreshold": .google.protobuf.UInt32Value +"healthyThreshold": .google.protobuf.UInt32Value +"altPort": .google.protobuf.UInt32Value +"reuseConnection": .google.protobuf.BoolValue +"httpHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck +"tcpHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.TcpHealthCheck +"grpcHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.GrpcHealthCheck +"customHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.CustomHealthCheck +"noTrafficInterval": .google.protobuf.Duration +"unhealthyInterval": .google.protobuf.Duration +"unhealthyEdgeInterval": .google.protobuf.Duration +"healthyEdgeInterval": .google.protobuf.Duration +"eventLogPath": string +"eventService": .solo.io.envoy.config.core.v3.EventServiceConfig +"alwaysLogHealthCheckFailures": bool +"tlsOptions": .solo.io.envoy.config.core.v3.HealthCheck.TlsOptions +"transportSocketMatchCriteria": .google.protobuf.Struct + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The time to wait for a health check response. If the timeout is reached the health check attempt will be considered a failure. | +| `interval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The interval between health checks. | +| `initialJitter` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | An optional jitter amount in milliseconds. If specified, Envoy will start health checking after for a random time in ms between 0 and initial_jitter. This only applies to the first health check. | +| `intervalJitter` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | An optional jitter amount in milliseconds. If specified, during every interval Envoy will add interval_jitter to the wait time. | +| `intervalJitterPercent` | `int` | An optional jitter amount as a percentage of interval_ms. If specified, during every interval Envoy will add interval_ms * interval_jitter_percent / 100 to the wait time. If interval_jitter_ms and interval_jitter_percent are both set, both of them will be used to increase the wait time. | +| `unhealthyThreshold` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of unhealthy health checks required before a host is marked unhealthy. Note that for *http* health checking if a host responds with 503 this threshold is ignored and the host is considered unhealthy immediately. | +| `healthyThreshold` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of healthy health checks required before a host is marked healthy. Note that during startup, only a single successful health check is required to mark a host healthy. | +| `altPort` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | [#not-implemented-hide:] Non-serving port for health checking. | +| `reuseConnection` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Reuse health check connection between health checks. Default is true. | +| `httpHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck](../health_check.proto.sk/#httphealthcheck) | HTTP health check. Only one of `httpHealthCheck`, `tcpHealthCheck`, `grpcHealthCheck`, or `customHealthCheck` can be set. | +| `tcpHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.TcpHealthCheck](../health_check.proto.sk/#tcphealthcheck) | TCP health check. Only one of `tcpHealthCheck`, `httpHealthCheck`, `grpcHealthCheck`, or `customHealthCheck` can be set. | +| `grpcHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.GrpcHealthCheck](../health_check.proto.sk/#grpchealthcheck) | gRPC health check. Only one of `grpcHealthCheck`, `httpHealthCheck`, `tcpHealthCheck`, or `customHealthCheck` can be set. | +| `customHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.CustomHealthCheck](../health_check.proto.sk/#customhealthcheck) | Custom health check. Only one of `customHealthCheck`, `httpHealthCheck`, `tcpHealthCheck`, or `grpcHealthCheck` can be set. | +| `noTrafficInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 date, without sending a potentially large amount of active health checking traffic for no reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the standard health check interval that is defined. Note that this interval takes precedence over any other. The default value for "no traffic interval" is 60 seconds. | +| `unhealthyInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 standard health check interval that is defined. The default value for "unhealthy interval" is the same as "interval". | +| `unhealthyEdgeInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The "unhealthy edge interval" is a special health check interval that is used for the first health check right after a host is marked as unhealthy. For subsequent health checks Envoy will shift back to using either "unhealthy interval" if present or the standard health check interval that is defined. The default value for "unhealthy edge interval" is the same as "unhealthy interval". | +| `healthyEdgeInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The "healthy edge interval" is a special health check interval that is used for the first health check right after a host is marked as healthy. For subsequent health checks Envoy will shift back to using the standard health check interval that is defined. The default value for "healthy edge interval" is the same as the default interval. | +| `eventLogPath` | `string` | Specifies the path to the health check event log. If empty, no event log will be written. | +| `eventService` | [.solo.io.envoy.config.core.v3.EventServiceConfig](../event_service_config.proto.sk/#eventserviceconfig) | [#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. | +| `alwaysLogHealthCheckFailures` | `bool` | If set to true, health check failure events will always be logged. If set to false, only the initial health check failure event will be logged. The default value is false. | +| `tlsOptions` | [.solo.io.envoy.config.core.v3.HealthCheck.TlsOptions](../health_check.proto.sk/#tlsoptions) | This allows overriding the cluster TLS settings, just for health check connections. | +| `transportSocketMatchCriteria` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Optional key/value pairs that will be used to match a transport socket from those specified in the cluster's tranport 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 ` .. 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 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 transport socket matches, the cluster's :ref:`transport socket ` will be used for health check socket configuration. | + + + + +--- +### Payload + + +Describes the encoding of the payload bytes in the payload. + +```yaml +"text": string +"binary": bytes + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `text` | `string` | Hex encoded payload. E.g., "000000FF". Only one of `text` or `binary` can be set. | +| `binary` | `bytes` | [#not-implemented-hide:] Binary payload. Only one of `binary` or `text` can be set. | + + + + +--- +### HttpHealthCheck + + +[#next-free-field: 13] + +```yaml +"host": string +"path": string +"send": .solo.io.envoy.config.core.v3.HealthCheck.Payload +"receive": .solo.io.envoy.config.core.v3.HealthCheck.Payload +"requestHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption +"requestHeadersToRemove": []string +"expectedStatuses": []solo.io.envoy.type.v3.Int64Range +"codecClientType": .solo.io.envoy.type.v3.CodecClientType +"serviceNameMatcher": .solo.io.envoy.type.matcher.v3.StringMatcher +"responseAssertions": .advancedhttp.options.gloo.solo.io.ResponseAssertions + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `host` | `string` | 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 hostname field. | +| `path` | `string` | Specifies the HTTP path that will be requested during health checking. For example */healthcheck*. | +| `send` | [.solo.io.envoy.config.core.v3.HealthCheck.Payload](../health_check.proto.sk/#payload) | [#not-implemented-hide:] HTTP specific payload. | +| `receive` | [.solo.io.envoy.config.core.v3.HealthCheck.Payload](../health_check.proto.sk/#payload) | [#not-implemented-hide:] HTTP specific response. | +| `requestHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../base.proto.sk/#headervalueoption) | 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 `. | +| `requestHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each request that is sent to the health checked cluster. | +| `expectedStatuses` | [[]solo.io.envoy.type.v3.Int64Range](../../../../type/v3/range.proto.sk/#int64range) | 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 Int64Range. The start and end of each range are required. Only statuses in the range [100, 600) are allowed. | +| `codecClientType` | [.solo.io.envoy.type.v3.CodecClientType](../../../../type/v3/http.proto.sk/#codecclienttype) | Use specified application protocol for health checks. | +| `serviceNameMatcher` | [.solo.io.envoy.type.matcher.v3.StringMatcher](../../../../type/matcher/v3/string.proto.sk/#stringmatcher) | An optional service name parameter which is used to validate the identity of the health checked cluster using a :ref:`StringMatcher `. See the :ref:`architecture overview ` for more information. | +| `responseAssertions` | [.advancedhttp.options.gloo.solo.io.ResponseAssertions](../../../../../../v1/options/advanced_http/advanced_http.proto.sk/#responseassertions) | (Enterprise Only): If defined, the response health check rules take precedence over the http `expected_statuses`. | + + + + +--- +### TcpHealthCheck + + + +```yaml +"send": .solo.io.envoy.config.core.v3.HealthCheck.Payload +"receive": []solo.io.envoy.config.core.v3.HealthCheck.Payload + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `send` | [.solo.io.envoy.config.core.v3.HealthCheck.Payload](../health_check.proto.sk/#payload) | Empty payloads imply a connect-only health check. | +| `receive` | [[]solo.io.envoy.config.core.v3.HealthCheck.Payload](../health_check.proto.sk/#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. | + + + + +--- +### RedisHealthCheck + + + +```yaml +"key": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `key` | `string` | If set, optionally perform `EXISTS ` instead of `PING`. A return value from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance by setting the specified key to any value and waiting for traffic to drain. | + + + + +--- +### GrpcHealthCheck + + +[grpc.health.v1.Health](https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto)-based +healthcheck. See [gRPC doc](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) +for details. + +```yaml +"serviceName": string +"authority": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `serviceName` | `string` | An optional service name parameter which will be sent to gRPC service in [grpc.health.v1.HealthCheckRequest](https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20). message. See [gRPC health-checking overview](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) for more information. | +| `authority` | `string` | 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 hostname field. | + + + + +--- +### CustomHealthCheck + + +Custom health check. + +```yaml +"name": string +"typedConfig": .google.protobuf.Any + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | The registered name of the custom health checker. | +| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | + + + + +--- +### TlsOptions + + +Health checks occur over the transport socket specified for the cluster. This implies that if a +cluster is using a TLS-enabled transport socket, the health check will also occur over TLS. + +This allows overriding the cluster TLS settings, just for health check connections. + +```yaml +"alpnProtocols": []string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `alpnProtocols` | `[]string` | Specifies the ALPN protocols for health check connections. This is useful if the corresponding upstream is using ALPN-based :ref:`FilterChainMatch ` along with different protocols for health checks versus data connections. If empty, no ALPN protocols will be set on health check connections. | + + + + +### HealthStatus + +Description: Endpoint health status. + +| Name | Description | +| ----- | ----------- | +| UNKNOWN | The health status is not known. This is interpreted by Envoy as *HEALTHY*. | +| HEALTHY | Healthy. | +| UNHEALTHY | Unhealthy. | +| DRAINING | Connection draining in progress. E.g., https://aws.amazon.com/blogs/aws/elb-connection-draining-remove-instances-from-service-with-care/ or https://cloud.google.com/compute/docs/load-balancing/enabling-connection-draining. This is interpreted by Envoy as *UNHEALTHY*. | +| TIMEOUT | Health check timed out. This is part of HDS and is interpreted by Envoy as *UNHEALTHY*. | +| DEGRADED | Degraded. | + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto.sk.md new file mode 100644 index 00000000000..a05282d6a63 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto.sk.md @@ -0,0 +1,50 @@ + +--- +title: "http_uri.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.config.core.v3` +#### Types: + + +- [HttpUri](#httpuri) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto) + + + + + +--- +### HttpUri + + +Envoy external URI descriptor + +```yaml +"uri": string +"cluster": string +"timeout": .google.protobuf.Duration + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `uri` | `string` | 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. | +| `cluster` | `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. | +| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Sets the maximum duration in milliseconds that a response can take to arrive upon request. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto.sk.md new file mode 100644 index 00000000000..8cb30452725 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto.sk.md @@ -0,0 +1,95 @@ + +--- +title: "proxy_protocol.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.config.core.v3` +#### Types: + + +- [ProxyProtocolPassThroughTLVs](#proxyprotocolpassthroughtlvs) +- [PassTLVsMatchType](#passtlvsmatchtype) +- [ProxyProtocolConfig](#proxyprotocolconfig) +- [Version](#version) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto) + + + + + +--- +### ProxyProtocolPassThroughTLVs + + + +```yaml +"matchType": .solo.io.envoy.config.core.v3.ProxyProtocolPassThroughTLVs.PassTLVsMatchType +"tlvType": []int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `matchType` | [.solo.io.envoy.config.core.v3.ProxyProtocolPassThroughTLVs.PassTLVsMatchType](../proxy_protocol.proto.sk/#passtlvsmatchtype) | The strategy to pass through TLVs. Default is INCLUDE_ALL. If INCLUDE_ALL is set, all TLVs will be passed through no matter the tlv_type field. | +| `tlvType` | `[]int` | The TLV types that are applied based on match_type. TLV type is defined as uint8_t in proxy protocol. See [the spec](https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt) for details. | + + + + +--- +### PassTLVsMatchType + + + +| Name | Description | +| ----- | ----------- | +| `INCLUDE_ALL` | Pass all TLVs. | +| `INCLUDE` | Pass specific TLVs defined in tlv_type. | + + + + +--- +### ProxyProtocolConfig + + + +```yaml +"version": .solo.io.envoy.config.core.v3.ProxyProtocolConfig.Version +"passThroughTlvs": .solo.io.envoy.config.core.v3.ProxyProtocolPassThroughTLVs + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `version` | [.solo.io.envoy.config.core.v3.ProxyProtocolConfig.Version](../proxy_protocol.proto.sk/#version) | The PROXY protocol version to use. See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details. | +| `passThroughTlvs` | [.solo.io.envoy.config.core.v3.ProxyProtocolPassThroughTLVs](../proxy_protocol.proto.sk/#proxyprotocolpassthroughtlvs) | This config controls which TLVs can be passed to filter state if it is Proxy Protocol V2 header. If there is no setting for this field, no TLVs will be passed through. | + + + + +--- +### Version + + + +| Name | Description | +| ----- | ----------- | +| `V1` | PROXY protocol version 1. Human readable format. | +| `V2` | PROXY protocol version 2. Binary format. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto.sk.md new file mode 100644 index 00000000000..fb497935ca0 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto.sk.md @@ -0,0 +1,73 @@ + +--- +title: "socket_option.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.config.core.v3` +#### Types: + + +- [SocketOption](#socketoption) +- [SocketState](#socketstate) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto) + + + + + +--- +### SocketOption + + +Generic socket option message. This would be used to set socket options that +might not exist in upstream kernels or precompiled Envoy binaries. +[#next-free-field: 7] + +```yaml +"description": string +"level": int +"name": int +"intValue": int +"bufValue": bytes +"state": .solo.io.envoy.config.core.v3.SocketOption.SocketState + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `description` | `string` | An optional name to give this socket option for debugging, etc. Uniqueness is not required and no special meaning is assumed. | +| `level` | `int` | Corresponding to the level value passed to setsockopt, such as IPPROTO_TCP. | +| `name` | `int` | The numeric name as passed to setsockopt. | +| `intValue` | `int` | Because many sockopts take an int value. Only one of `intValue` or `bufValue` can be set. | +| `bufValue` | `bytes` | Otherwise it's a byte buffer. Only one of `bufValue` or `intValue` can be set. | +| `state` | [.solo.io.envoy.config.core.v3.SocketOption.SocketState](../socket_option.proto.sk/#socketstate) | The state in which the option will be applied. When used in BindConfig STATE_PREBIND is currently the only valid value. | + + + + +--- +### SocketState + + + +| Name | Description | +| ----- | ----------- | +| `STATE_PREBIND` | Socket options are applied after socket creation but before binding the socket to a port | +| `STATE_BOUND` | Socket options are applied after binding the socket to a port but before calling listen() | +| `STATE_LISTENING` | Socket options are applied after calling listen() | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto.sk.md new file mode 100644 index 00000000000..1501050667e --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto.sk.md @@ -0,0 +1,111 @@ + +--- +title: "gzip.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.config.filter.http.gzip.v2` +copied from https://raw.githubusercontent.com/envoyproxy/envoy/bd637fc7aab5de06707e3e478f507c2e7aacad75/api/envoy/config/filter/http/gzip/v2/gzip.proto + + + +#### Types: + + +- [Gzip](#gzip) +- [CompressionLevel](#compressionlevel) +- [Enum](#enum) +- [CompressionStrategy](#compressionstrategy) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto) + + + + + +--- +### Gzip + + +[#next-free-field: 10] + +```yaml +"memoryLevel": .google.protobuf.UInt32Value +"contentLength": .google.protobuf.UInt32Value +"compressionLevel": .solo.io.envoy.config.filter.http.gzip.v2.Gzip.CompressionLevel.Enum +"compressionStrategy": .solo.io.envoy.config.filter.http.gzip.v2.Gzip.CompressionStrategy +"contentType": []string +"disableOnEtagHeader": bool +"removeAcceptEncodingHeader": bool +"windowBits": .google.protobuf.UInt32Value + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `memoryLevel` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Value from 1 to 9 that controls the amount of internal memory used by zlib. Higher values use more memory, but are faster and produce better compression results. The default value is 5. | +| `contentLength` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Minimum response length, in bytes, which will trigger compression. The default value is 30. | +| `compressionLevel` | [.solo.io.envoy.config.filter.http.gzip.v2.Gzip.CompressionLevel.Enum](../gzip.proto.sk/#enum) | A value used for selecting the zlib compression level. This setting will affect speed and amount of compression applied to the content. "BEST" provides higher compression at the cost of higher latency, "SPEED" provides lower compression with minimum impact on response time. "DEFAULT" provides an optimal result between speed and compression. This field will be set to "DEFAULT" if not specified. | +| `compressionStrategy` | [.solo.io.envoy.config.filter.http.gzip.v2.Gzip.CompressionStrategy](../gzip.proto.sk/#compressionstrategy) | A value used for selecting the zlib compression strategy which is directly related to the characteristics of the content. Most of the time "DEFAULT" will be the best choice, though there are situations which changing this parameter might produce better results. For example, run-length encoding (RLE) is typically used when the content is known for having sequences which same data occurs many consecutive times. For more information about each strategy, please refer to zlib manual. | +| `contentType` | `[]string` | Set of strings that allows specifying which mime-types yield compression; e.g., application/json, text/html, etc. When this field is not defined, compression will be applied to the following mime-types: "application/javascript", "application/json", "application/xhtml+xml", "image/svg+xml", "text/css", "text/html", "text/plain", "text/xml". | +| `disableOnEtagHeader` | `bool` | If true, disables compression when the response contains an etag header. When it is false, the filter will preserve weak etags and remove the ones that require strong validation. | +| `removeAcceptEncodingHeader` | `bool` | If true, removes accept-encoding from the request headers before dispatching it to the upstream so that responses do not get compressed before reaching the filter. | +| `windowBits` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Value from 9 to 15 that represents the base two logarithmic of the compressor's window size. Larger window results in better compression at the expense of memory usage. The default is 12 which will produce a 4096 bytes window. For more details about this parameter, please refer to zlib manual > deflateInit2. | + + + + +--- +### CompressionLevel + + + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + +--- +### Enum + + + +| Name | Description | +| ----- | ----------- | +| `DEFAULT` | | +| `BEST` | | +| `SPEED` | | + + + + +--- +### CompressionStrategy + + + +| Name | Description | +| ----- | ----------- | +| `DEFAULT` | | +| `FILTERED` | | +| `HUFFMAN` | | +| `RLE` | | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto.sk.md new file mode 100644 index 00000000000..a8964782cb1 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto.sk.md @@ -0,0 +1,43 @@ + +--- +title: "tls_cipher_inspector.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.filter.listener.tls_cipher_inspector.v3` +#### Types: + + +- [TlsCipherInspector](#tlscipherinspector) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto) + + + + + +--- +### TlsCipherInspector + + + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto.sk.md new file mode 100644 index 00000000000..b078d779d6a --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto.sk.md @@ -0,0 +1,67 @@ + +--- +title: "server_name_matcher.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.matching.custom_matchers.server_name.v3` +#### Types: + + +- [ServerNameMatcher](#servernamematcher) +- [ServerNameSetMatcher](#servernamesetmatcher) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto) + + + + + +--- +### ServerNameMatcher + + +Matches a specific server name provided in the client request against a set server names configured for the matcher to handle, with possible prefix wildcard. + +```yaml +"serverNameMatchers": []envoy.config.matching.custom_matchers.server_name.v3.ServerNameMatcher.ServerNameSetMatcher + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `serverNameMatchers` | [[]envoy.config.matching.custom_matchers.server_name.v3.ServerNameMatcher.ServerNameSetMatcher](../server_name_matcher.proto.sk/#servernamesetmatcher) | Match server names. Order doesn't matter, the most specific server name is matched. | + + + + +--- +### ServerNameSetMatcher + + +Specifies a list of server names and a match action. + +```yaml +"serverNames": []string +"onMatch": .xds.type.matcher.v3.Matcher.OnMatch + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `serverNames` | `[]string` | A non-empty set of server names. Server name can start with a wildcard prefix, e.g. "*.example.com". | +| `onMatch` | .xds.type.matcher.v3.Matcher.OnMatch | Match action to apply when the input matches the server name. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto.sk.md new file mode 100644 index 00000000000..2ef5c2d047d --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto.sk.md @@ -0,0 +1,49 @@ + +--- +title: "cipher_detection_input.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.matching.cipher_detection_input.v3` +#### Types: + + +- [CipherDetectionInput](#cipherdetectioninput) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto) + + + + + +--- +### CipherDetectionInput + + +Specifies that matching should be performed by the destination IP address. +[#extension: io.solo.matching.inputs.cipher_detection_input] + +```yaml +"passthroughCiphers": []int +"terminatingCiphers": []int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `passthroughCiphers` | `[]int` | List of TLS ciphers to send to the passthrough cipher chain. Ciphers must be provided using their 16-bit value. These numbers of IANA standardised values for all possible cipher suites and can be found here: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml example: to select the following cipher 0x00,0x3c TLS_RSA_WITH_AES_128_CBC_SHA256 this field should be set to 0x003c. | +| `terminatingCiphers` | `[]int` | Terminating ciphers are those that should be considered as supported. If not specified, defaults to whatever the current envoy implementation finds to be the default set of ciphers. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/route/v3/route_components.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/route/v3/route_components.proto.sk.md new file mode 100644 index 00000000000..1a3360dded7 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/route/v3/route_components.proto.sk.md @@ -0,0 +1,1332 @@ + +--- +title: "route_components.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.config.route.v3` +#### Types: + + +- [VirtualHost](#virtualhost) +- [TlsRequirementType](#tlsrequirementtype) +- [FilterAction](#filteraction) +- [Route](#route) +- [WeightedCluster](#weightedcluster) +- [ClusterWeight](#clusterweight) +- [RouteMatch](#routematch) +- [GrpcRouteMatchOptions](#grpcroutematchoptions) +- [TlsContextMatchOptions](#tlscontextmatchoptions) +- [ConnectMatcher](#connectmatcher) +- [CorsPolicy](#corspolicy) +- [RouteAction](#routeaction) +- [RequestMirrorPolicy](#requestmirrorpolicy) +- [HashPolicy](#hashpolicy) +- [Header](#header) +- [Cookie](#cookie) +- [ConnectionProperties](#connectionproperties) +- [QueryParameter](#queryparameter) +- [FilterState](#filterstate) +- [UpgradeConfig](#upgradeconfig) +- [ConnectConfig](#connectconfig) +- [ClusterNotFoundResponseCode](#clusternotfoundresponsecode) +- [InternalRedirectAction](#internalredirectaction) +- [RetryPolicy](#retrypolicy) +- [RetryPriority](#retrypriority) +- [RetryHostPredicate](#retryhostpredicate) +- [RetryBackOff](#retrybackoff) +- [HedgePolicy](#hedgepolicy) +- [RedirectAction](#redirectaction) +- [RedirectResponseCode](#redirectresponsecode) +- [DirectResponseAction](#directresponseaction) +- [Decorator](#decorator) +- [Tracing](#tracing) +- [VirtualCluster](#virtualcluster) +- [RateLimit](#ratelimit) +- [Action](#action) +- [SourceCluster](#sourcecluster) +- [DestinationCluster](#destinationcluster) +- [RequestHeaders](#requestheaders) +- [RemoteAddress](#remoteaddress) +- [GenericKey](#generickey) +- [HeaderValueMatch](#headervaluematch) +- [DynamicMetaData](#dynamicmetadata) +- [Override](#override) +- [DynamicMetadata](#dynamicmetadata) +- [HeaderMatcher](#headermatcher) +- [QueryParameterMatcher](#queryparametermatcher) +- [InternalRedirectPolicy](#internalredirectpolicy) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/route/v3/route_components.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/route/v3/route_components.proto) + + + + + +--- +### VirtualHost + + +The top level element in the routing configuration is a virtual host. Each virtual host has +a logical name as well as a set of domains that get routed to it based on the incoming request's +host header. This allows a single listener to service multiple top level domain path trees. Once +a virtual host is selected based on the domain, the routes are processed in order to see which +upstream cluster to route to or whether to perform a redirect. +[#next-free-field: 21] + +```yaml +"name": string +"domains": []string +"routes": []solo.io.envoy.config.route.v3.Route +"requireTls": .solo.io.envoy.config.route.v3.VirtualHost.TlsRequirementType +"virtualClusters": []solo.io.envoy.config.route.v3.VirtualCluster +"rateLimits": []solo.io.envoy.config.route.v3.RateLimit +"requestHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption +"requestHeadersToRemove": []string +"responseHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption +"responseHeadersToRemove": []string +"cors": .solo.io.envoy.config.route.v3.CorsPolicy +"typedPerFilterConfig": map +"includeRequestAttemptCount": bool +"includeAttemptCountInResponse": bool +"retryPolicy": .solo.io.envoy.config.route.v3.RetryPolicy +"retryPolicyTypedConfig": .google.protobuf.Any +"hedgePolicy": .solo.io.envoy.config.route.v3.HedgePolicy +"perRequestBufferLimitBytes": .google.protobuf.UInt32Value + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | The logical name of the virtual host. This is used when emitting certain statistics but is not relevant for routing. | +| `domains` | `[]string` | A list of domains (host/authority header) that will be matched to this virtual host. Wildcard hosts are supported in the suffix or prefix form. Domain search order: 1. Exact domain names: `www.foo.com`. 2. Suffix domain wildcards: `*.foo.com` or `*-bar.foo.com`. 3. Prefix domain wildcards: `foo.*` or `foo-*`. 4. Special wildcard `*` matching any domain. **Note**: The wildcard will not match the empty string. e.g. `*-bar.foo.com` will match `baz-bar.foo.com` but not `-bar.foo.com`. The longest wildcards match first. Only a single virtual host in the entire route configuration can match on `*`. A domain must be unique across all virtual hosts or the config will fail to load. Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE. | +| `routes` | [[]solo.io.envoy.config.route.v3.Route](../route_components.proto.sk/#route) | The list of routes that will be matched, in order, for incoming requests. The first route that matches will be used. | +| `requireTls` | [.solo.io.envoy.config.route.v3.VirtualHost.TlsRequirementType](../route_components.proto.sk/#tlsrequirementtype) | Specifies the type of TLS enforcement the virtual host expects. If this option is not specified, there is no TLS requirement for the virtual host. | +| `virtualClusters` | [[]solo.io.envoy.config.route.v3.VirtualCluster](../route_components.proto.sk/#virtualcluster) | A list of virtual clusters defined for this virtual host. Virtual clusters are used for additional statistics gathering. | +| `rateLimits` | [[]solo.io.envoy.config.route.v3.RateLimit](../route_components.proto.sk/#ratelimit) | Specifies a set of rate limit configurations that will be applied to the virtual host. | +| `requestHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a list of HTTP headers that should be added to each request handled by this virtual host. Headers specified at this level are applied after headers from enclosed :ref:`envoy_api_msg_config.route.v3.Route` and before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on :ref:`custom request headers `. | +| `requestHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each request handled by this virtual host. | +| `responseHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a list of HTTP headers that should be added to each response handled by this virtual host. Headers specified at this level are applied after headers from enclosed :ref:`envoy_api_msg_config.route.v3.Route` and before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on :ref:`custom request headers `. | +| `responseHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each response handled by this virtual host. | +| `cors` | [.solo.io.envoy.config.route.v3.CorsPolicy](../route_components.proto.sk/#corspolicy) | Indicates that the virtual host has a CORS policy. | +| `typedPerFilterConfig` | `map` | The per_filter_config field can be used to provide virtual host-specific configurations for filters. The key should match the filter name, such as *envoy.filters.http.buffer* for the HTTP buffer filter. Use of this field is filter specific; see the :ref:`HTTP filter documentation ` for if and how it is utilized. | +| `includeRequestAttemptCount` | `bool` | Decides whether the :ref:`x-envoy-attempt-count ` header should be included in the upstream request. Setting this option will cause it to override any existing header value, so in the case of two Envoys on the request path with this option enabled, the upstream will see the attempt count as perceived by the second Envoy. Defaults to false. This header is unaffected by the :ref:`suppress_envoy_headers ` flag. [#next-major-version: rename to include_attempt_count_in_request.]. | +| `includeAttemptCountInResponse` | `bool` | Decides whether the :ref:`x-envoy-attempt-count ` header should be included in the downstream response. Setting this option will cause the router to override any existing header value, so in the case of two Envoys on the request path with this option enabled, the downstream will see the attempt count as perceived by the Envoy closest upstream from itself. Defaults to false. This header is unaffected by the :ref:`suppress_envoy_headers ` flag. | +| `retryPolicy` | [.solo.io.envoy.config.route.v3.RetryPolicy](../route_components.proto.sk/#retrypolicy) | Indicates the retry policy for all routes in this virtual host. Note that setting a route level entry will take precedence over this config and it'll be treated independently (e.g.: values are not inherited). | +| `retryPolicyTypedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | [#not-implemented-hide:] Specifies the configuration for retry policy extension. Note that setting a route level entry will take precedence over this config and it'll be treated independently (e.g.: values are not inherited). Retry policy should not be set if this field is used. | +| `hedgePolicy` | [.solo.io.envoy.config.route.v3.HedgePolicy](../route_components.proto.sk/#hedgepolicy) | Indicates the hedge policy for all routes in this virtual host. Note that setting a route level entry will take precedence over this config and it'll be treated independently (e.g.: values are not inherited). | +| `perRequestBufferLimitBytes` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The maximum bytes which will be buffered for retries and shadowing. If set and a route-specific limit is not set, the bytes actually buffered will be the minimum value of this and the listener per_connection_buffer_limit_bytes. | + + + + +--- +### TlsRequirementType + + + +| Name | Description | +| ----- | ----------- | +| `NONE` | No TLS requirement for the virtual host. | +| `EXTERNAL_ONLY` | External requests must use TLS. If a request is external and it is not using TLS, a 301 redirect will be sent telling the client to use HTTPS. | +| `ALL` | All requests must use TLS. If a request is not using TLS, a 301 redirect will be sent telling the client to use HTTPS. | + + + + +--- +### FilterAction + + +A filter-defined action type. + +```yaml +"action": .google.protobuf.Any + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `action` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | + + + + +--- +### Route + + +A route is both a specification of how to match a request as well as an indication of what to do +next (e.g., redirect, forward, rewrite, etc.). + +**Attention**: + + Envoy supports routing on HTTP method via :ref:`header matching + `. +[#next-free-field: 18] + +```yaml +"name": string +"match": .solo.io.envoy.config.route.v3.RouteMatch +"route": .solo.io.envoy.config.route.v3.RouteAction +"redirect": .solo.io.envoy.config.route.v3.RedirectAction +"directResponse": .solo.io.envoy.config.route.v3.DirectResponseAction +"filterAction": .solo.io.envoy.config.route.v3.FilterAction +"metadata": .solo.io.envoy.config.core.v3.Metadata +"decorator": .solo.io.envoy.config.route.v3.Decorator +"typedPerFilterConfig": map +"requestHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption +"requestHeadersToRemove": []string +"responseHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption +"responseHeadersToRemove": []string +"tracing": .solo.io.envoy.config.route.v3.Tracing +"perRequestBufferLimitBytes": .google.protobuf.UInt32Value + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | Name for the route. | +| `match` | [.solo.io.envoy.config.route.v3.RouteMatch](../route_components.proto.sk/#routematch) | Route matching parameters. | +| `route` | [.solo.io.envoy.config.route.v3.RouteAction](../route_components.proto.sk/#routeaction) | Route request to some upstream cluster. Only one of `route`, `redirect`, `directResponse`, or `filterAction` can be set. | +| `redirect` | [.solo.io.envoy.config.route.v3.RedirectAction](../route_components.proto.sk/#redirectaction) | Return a redirect. Only one of `redirect`, `route`, `directResponse`, or `filterAction` can be set. | +| `directResponse` | [.solo.io.envoy.config.route.v3.DirectResponseAction](../route_components.proto.sk/#directresponseaction) | Return an arbitrary HTTP response directly, without proxying. Only one of `directResponse`, `route`, `redirect`, or `filterAction` can be set. | +| `filterAction` | [.solo.io.envoy.config.route.v3.FilterAction](../route_components.proto.sk/#filteraction) | [#not-implemented-hide:] If true, a filter will define the action (e.g., it could dynamically generate the RouteAction). [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when implemented]. Only one of `filterAction`, `route`, `redirect`, or `directResponse` can be set. | +| `metadata` | [.solo.io.envoy.config.core.v3.Metadata](../../../core/v3/base.proto.sk/#metadata) | The Metadata field can be used to provide additional information about the route. It can be used for configuration, stats, and logging. The metadata should go under the filter namespace that will need it. For instance, if the metadata is intended for the Router filter, the filter name should be specified as *envoy.filters.http.router*. | +| `decorator` | [.solo.io.envoy.config.route.v3.Decorator](../route_components.proto.sk/#decorator) | Decorator for the matched route. | +| `typedPerFilterConfig` | `map` | The typed_per_filter_config field can be used to provide route-specific configurations for filters. The key should match the filter name, such as *envoy.filters.http.buffer* for the HTTP buffer filter. Use of this field is filter specific; see the HTTP filter documentation for if and how it is utilized. | +| `requestHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a set of headers that will be added to requests matching this route. Headers specified at this level are applied before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.VirtualHost` and :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on :ref:`custom request headers `. | +| `requestHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each request matching this route. | +| `responseHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a set of headers that will be added to responses to requests matching this route. Headers specified at this level are applied before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.VirtualHost` and :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on custom request headers. | +| `responseHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each response to requests matching this route. | +| `tracing` | [.solo.io.envoy.config.route.v3.Tracing](../route_components.proto.sk/#tracing) | Presence of the object defines whether the connection manager's tracing configuration is overridden by this route specific instance. | +| `perRequestBufferLimitBytes` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The maximum bytes which will be buffered for retries and shadowing. If set, the bytes actually buffered will be the minimum value of this and the listener per_connection_buffer_limit_bytes. | + + + + +--- +### WeightedCluster + + +Compared to the cluster field that specifies a +single upstream cluster as the target of a request, the :ref:`weighted_clusters +` option allows for specification of +multiple upstream clusters along with weights that indicate the percentage of +traffic to be forwarded to each cluster. The router selects an upstream cluster based on the +weights. + +```yaml +"clusters": []solo.io.envoy.config.route.v3.WeightedCluster.ClusterWeight +"totalWeight": .google.protobuf.UInt32Value +"runtimeKeyPrefix": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `clusters` | [[]solo.io.envoy.config.route.v3.WeightedCluster.ClusterWeight](../route_components.proto.sk/#clusterweight) | Specifies one or more upstream clusters associated with the route. | +| `totalWeight` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Specifies the total weight across all clusters. The sum of all cluster weights must equal this value, which must be greater than 0. Defaults to 100. | +| `runtimeKeyPrefix` | `string` | Specifies the runtime key prefix that should be used to construct the runtime keys associated with each cluster. When the *runtime_key_prefix* is specified, the router will look for weights associated with each upstream cluster under the key *runtime_key_prefix* + "." + *cluster[i].name* where *cluster[i]* denotes an entry in the clusters array field. If the runtime key for the cluster does not exist, the value specified in the configuration file will be used as the default weight. See the :ref:`runtime documentation ` for how key names map to the underlying implementation. | + + + + +--- +### ClusterWeight + + +[#next-free-field: 11] + +```yaml +"name": string +"weight": .google.protobuf.UInt32Value +"metadataMatch": .solo.io.envoy.config.core.v3.Metadata +"requestHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption +"requestHeadersToRemove": []string +"responseHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption +"responseHeadersToRemove": []string +"typedPerFilterConfig": map + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | Name of the upstream cluster. The cluster must exist in the cluster manager configuration. | +| `weight` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | An integer between 0 and :ref:`total_weight `. When a request matches the route, the choice of an upstream cluster is determined by its weight. The sum of weights across all entries in the clusters array must add up to the total_weight, which defaults to 100. | +| `metadataMatch` | [.solo.io.envoy.config.core.v3.Metadata](../../../core/v3/base.proto.sk/#metadata) | Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in the upstream cluster with metadata matching what is set in this field will be considered for load balancing. Note that this will be merged with what's provided in RouteAction.metadata_match, with values here taking precedence. The filter name should be specified as *envoy.lb*. | +| `requestHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a list of headers to be added to requests when this cluster is selected through the enclosing :ref:`envoy_api_msg_config.route.v3.RouteAction`. Headers specified at this level are applied before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.Route`, :ref:`envoy_api_msg_config.route.v3.VirtualHost`, and :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on :ref:`custom request headers `. | +| `requestHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each request when this cluster is selected through the enclosing :ref:`envoy_api_msg_config.route.v3.RouteAction`. | +| `responseHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a list of headers to be added to responses when this cluster is selected through the enclosing :ref:`envoy_api_msg_config.route.v3.RouteAction`. Headers specified at this level are applied before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.Route`, :ref:`envoy_api_msg_config.route.v3.VirtualHost`, and :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on :ref:`custom request headers `. | +| `responseHeadersToRemove` | `[]string` | Specifies a list of headers to be removed from responses when this cluster is selected through the enclosing :ref:`envoy_api_msg_config.route.v3.RouteAction`. | +| `typedPerFilterConfig` | `map` | The per_filter_config field can be used to provide weighted cluster-specific configurations for filters. The key should match the filter name, such as *envoy.filters.http.buffer* for the HTTP buffer filter. Use of this field is filter specific; see the :ref:`HTTP filter documentation ` for if and how it is utilized. | + + + + +--- +### RouteMatch + + +[#next-free-field: 13] + +```yaml +"prefix": string +"path": string +"safeRegex": .solo.io.envoy.type.matcher.v3.RegexMatcher +"connectMatcher": .solo.io.envoy.config.route.v3.RouteMatch.ConnectMatcher +"caseSensitive": .google.protobuf.BoolValue +"runtimeFraction": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent +"headers": []solo.io.envoy.config.route.v3.HeaderMatcher +"queryParameters": []solo.io.envoy.config.route.v3.QueryParameterMatcher +"grpc": .solo.io.envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions +"tlsContext": .solo.io.envoy.config.route.v3.RouteMatch.TlsContextMatchOptions + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `prefix` | `string` | If specified, the route is a prefix rule meaning that the prefix must match the beginning of the *:path* header. Only one of `prefix`, `path`, `safeRegex`, or `connectMatcher` can be set. | +| `path` | `string` | If specified, the route is an exact path rule meaning that the path must exactly match the *:path* header once the query string is removed. Only one of `path`, `prefix`, `safeRegex`, or `connectMatcher` can be set. | +| `safeRegex` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../../../../type/matcher/v3/regex.proto.sk/#regexmatcher) | If specified, the route is a regular expression rule meaning that the regex must match the *:path* header once the query string is removed. The entire path (without the query string) must match the regex. The rule will not match if only a subsequence of the *:path* header matches the regex. [#next-major-version: In the v3 API we should redo how path specification works such that we utilize StringMatcher, and additionally have consistent options around whether we strip query strings, do a case sensitive match, etc. In the interim it will be too disruptive to deprecate the existing options. We should even consider whether we want to do away with path_specifier entirely and just rely on a set of header matchers which can already match on :path, etc. The issue with that is it is unclear how to generically deal with query string stripping. This needs more thought.]. Only one of `safeRegex`, `prefix`, `path`, or `connectMatcher` can be set. | +| `connectMatcher` | [.solo.io.envoy.config.route.v3.RouteMatch.ConnectMatcher](../route_components.proto.sk/#connectmatcher) | If this is used as the matcher, the matcher will only match CONNECT requests. Note that this will not match HTTP/2 upgrade-style CONNECT requests (WebSocket and the like) as they are normalized in Envoy as HTTP/1.1 style upgrades. This is the only way to match CONNECT requests for HTTP/1.1. For HTTP/2, where CONNECT requests may have a path, the path matchers will work if there is a path present. Note that CONNECT support is currently considered alpha in Envoy. [#comment:TODO(htuch): Replace the above comment with an alpha tag. Only one of `connectMatcher`, `prefix`, `path`, or `safeRegex` can be set. | +| `caseSensitive` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Indicates that prefix/path matching should be case insensitive. The default is true. | +| `runtimeFraction` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../core/v3/base.proto.sk/#runtimefractionalpercent) | Indicates that the route should additionally match on a runtime key. Every time the route is considered for a match, it must also fall under the percentage of matches indicated by this field. For some fraction N/D, a random number in the range [0,D) is selected. If the number is <= the value of the numerator N, or if the key is not present, the default value, the router continues to evaluate the remaining match criteria. A runtime_fraction route configuration can be used to roll out route changes in a gradual manner without full code/config deploys. Refer to the :ref:`traffic shifting ` docs for additional documentation. **Note**: Parsing this field is implemented such that the runtime key's data may be represented as a 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. This preserves legacy semantics. | +| `headers` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../route_components.proto.sk/#headermatcher) | Specifies a set of headers that the route should match on. The router will check the request’s headers against all the specified headers in the route config. A match will happen if all the headers in the route are present in the request with the same values (or based on presence if the value field is not in the config). | +| `queryParameters` | [[]solo.io.envoy.config.route.v3.QueryParameterMatcher](../route_components.proto.sk/#queryparametermatcher) | Specifies a set of URL query parameters on which the route should match. The router will check the query string from the *path* header against all the specified query parameters. If the number of specified query parameters is nonzero, they all must match the *path* header's query string for a match to occur. | +| `grpc` | [.solo.io.envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions](../route_components.proto.sk/#grpcroutematchoptions) | If specified, only gRPC requests will be matched. The router will check that the content-type header has a application/grpc or one of the various application/grpc+ values. | +| `tlsContext` | [.solo.io.envoy.config.route.v3.RouteMatch.TlsContextMatchOptions](../route_components.proto.sk/#tlscontextmatchoptions) | If specified, the client tls context will be matched against the defined match options. [#next-major-version: unify with RBAC]. | + + + + +--- +### GrpcRouteMatchOptions + + + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + +--- +### TlsContextMatchOptions + + + +```yaml +"presented": .google.protobuf.BoolValue +"validated": .google.protobuf.BoolValue + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `presented` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If specified, the route will match against whether or not a certificate is presented. If not specified, certificate presentation status (true or false) will not be considered when route matching. | +| `validated` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If specified, the route will match against whether or not a certificate is validated. If not specified, certificate validation status (true or false) will not be considered when route matching. | + + + + +--- +### ConnectMatcher + + +An extensible message for matching CONNECT requests. + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + +--- +### CorsPolicy + + +[#next-free-field: 12] + +```yaml +"allowOriginStringMatch": []solo.io.envoy.type.matcher.v3.StringMatcher +"allowMethods": string +"allowHeaders": string +"exposeHeaders": string +"maxAge": string +"allowCredentials": .google.protobuf.BoolValue +"filterEnabled": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent +"shadowEnabled": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `allowOriginStringMatch` | [[]solo.io.envoy.type.matcher.v3.StringMatcher](../../../../type/matcher/v3/string.proto.sk/#stringmatcher) | Specifies string patterns that match allowed origins. An origin is allowed if any of the string matchers match. | +| `allowMethods` | `string` | Specifies the content for the *access-control-allow-methods* header. | +| `allowHeaders` | `string` | Specifies the content for the *access-control-allow-headers* header. | +| `exposeHeaders` | `string` | Specifies the content for the *access-control-expose-headers* header. | +| `maxAge` | `string` | Specifies the content for the *access-control-max-age* header. | +| `allowCredentials` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Specifies whether the resource allows credentials. | +| `filterEnabled` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../core/v3/base.proto.sk/#runtimefractionalpercent) | Specifies the % of requests for which the CORS filter is enabled. If neither `enabled`, `filter_enabled`, nor `shadow_enabled` are specified, the CORS filter will be enabled for 100% of the requests. If runtime_key is specified, Envoy will lookup the runtime key to get the percentage of requests to filter. | +| `shadowEnabled` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../core/v3/base.proto.sk/#runtimefractionalpercent) | Specifies the % of requests for which the CORS policies will be evaluated and tracked, but not enforced. This field is intended to be used when `filter_enabled` and `enabled` are off. One of those fields have to explicitly disable the filter in order for this setting to take effect. If runtime_key is specified, Envoy will lookup the runtime key to get the percentage of requests for which it will evaluate and track the request's *Origin* to determine if it's valid but will not enforce any policies. | + + + + +--- +### RouteAction + + +[#next-free-field: 35] + +```yaml +"cluster": string +"clusterHeader": string +"weightedClusters": .solo.io.envoy.config.route.v3.WeightedCluster +"clusterNotFoundResponseCode": .solo.io.envoy.config.route.v3.RouteAction.ClusterNotFoundResponseCode +"metadataMatch": .solo.io.envoy.config.core.v3.Metadata +"prefixRewrite": string +"regexRewrite": .solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute +"hostRewriteLiteral": string +"autoHostRewrite": .google.protobuf.BoolValue +"hostRewriteHeader": string +"timeout": .google.protobuf.Duration +"idleTimeout": .google.protobuf.Duration +"retryPolicy": .solo.io.envoy.config.route.v3.RetryPolicy +"retryPolicyTypedConfig": .google.protobuf.Any +"requestMirrorPolicies": []solo.io.envoy.config.route.v3.RouteAction.RequestMirrorPolicy +"priority": .solo.io.envoy.config.core.v3.RoutingPriority +"rateLimits": []solo.io.envoy.config.route.v3.RateLimit +"includeVhRateLimits": .google.protobuf.BoolValue +"hashPolicy": []solo.io.envoy.config.route.v3.RouteAction.HashPolicy +"cors": .solo.io.envoy.config.route.v3.CorsPolicy +"maxGrpcTimeout": .google.protobuf.Duration +"grpcTimeoutOffset": .google.protobuf.Duration +"upgradeConfigs": []solo.io.envoy.config.route.v3.RouteAction.UpgradeConfig +"internalRedirectPolicy": .solo.io.envoy.config.route.v3.InternalRedirectPolicy +"internalRedirectAction": .solo.io.envoy.config.route.v3.RouteAction.InternalRedirectAction +"maxInternalRedirects": .google.protobuf.UInt32Value +"hedgePolicy": .solo.io.envoy.config.route.v3.HedgePolicy + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `cluster` | `string` | Indicates the upstream cluster to which the request should be routed to. Only one of `cluster`, `clusterHeader`, or `weightedClusters` can be set. | +| `clusterHeader` | `string` | Envoy will determine the cluster to route to by reading the value of the HTTP header named by cluster_header from the request headers. If the header is not found or the referenced cluster does not exist, Envoy will return a 404 response. **Attention**: Internally, Envoy always uses the HTTP/2 *:authority* header to represent the HTTP/1 *Host* header. Thus, if attempting to match on *Host*, match on *:authority* instead. Only one of `clusterHeader`, `cluster`, or `weightedClusters` can be set. | +| `weightedClusters` | [.solo.io.envoy.config.route.v3.WeightedCluster](../route_components.proto.sk/#weightedcluster) | Multiple upstream clusters can be specified for a given route. The request is routed to one of the upstream clusters based on weights assigned to each cluster. See :ref:`traffic splitting ` for additional documentation. Only one of `weightedClusters`, `cluster`, or `clusterHeader` can be set. | +| `clusterNotFoundResponseCode` | [.solo.io.envoy.config.route.v3.RouteAction.ClusterNotFoundResponseCode](../route_components.proto.sk/#clusternotfoundresponsecode) | The HTTP status code to use when configured cluster is not found. The default response code is 503 Service Unavailable. | +| `metadataMatch` | [.solo.io.envoy.config.core.v3.Metadata](../../../core/v3/base.proto.sk/#metadata) | Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in the upstream cluster with metadata matching what's set in this field will be considered for load balancing. If using :ref:`weighted_clusters `, metadata will be merged, with values provided there taking precedence. The filter name should be specified as *envoy.lb*. | +| `prefixRewrite` | `string` | Indicates that during forwarding, the matched prefix (or path) should be swapped with this value. This option allows application URLs to be rooted at a different path from those exposed at the reverse proxy layer. The router filter will place the original path before rewrite into the :ref:`x-envoy-original-path ` header. Only one of *prefix_rewrite* or :ref:`regex_rewrite ` may be specified. **Attention**: Pay careful attention to the use of trailing slashes in the route's match prefix value. Stripping a prefix from a path requires multiple Routes to handle all cases. For example, rewriting */prefix* to */* and */prefix/etc* to */etc* cannot be done in a single Route, as shown by the below config entries: .. code-block:: yaml - match: prefix: "/prefix/" route: prefix_rewrite: "/" - match: prefix: "/prefix" route: prefix_rewrite: "/" Having above entries in the config, requests to */prefix* will be stripped to */*, while requests to */prefix/etc* will be stripped to */etc*. | +| `regexRewrite` | [.solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute](../../../../type/matcher/v3/regex.proto.sk/#regexmatchandsubstitute) | Indicates that during forwarding, portions of the path that match the pattern should be rewritten, even allowing the substitution of capture groups from the pattern into the new path as specified by the rewrite substitution string. This is useful to allow application paths to be rewritten in a way that is aware of segments with variable content like identifiers. The router filter will place the original path as it was before the rewrite into the :ref:`x-envoy-original-path ` header. Only one of :ref:`prefix_rewrite ` or *regex_rewrite* may be specified. Examples using Google's [RE2](https://github.com/google/re2) engine: * The path pattern `^/service/([^/]+)(/.*)$` paired with a substitution string of `\2/instance/\1` would transform `/service/foo/v1/api` into `/v1/api/instance/foo`. * The pattern `one` paired with a substitution string of `two` would transform `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/two/zzz`. * The pattern `^(.*?)one(.*)$` paired with a substitution string of `\1two\2` would replace only the first occurrence of `one`, transforming path `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/one/zzz`. * The pattern `(?i)/xxx/` paired with a substitution string of `/yyy/` would do a case-insensitive match and transform path `/aaa/XxX/bbb` to `/aaa/yyy/bbb`. | +| `hostRewriteLiteral` | `string` | Indicates that during forwarding, the host header will be swapped with this value. Only one of `hostRewriteLiteral`, `autoHostRewrite`, or `hostRewriteHeader` can be set. | +| `autoHostRewrite` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Indicates that during forwarding, the host header will be swapped with the hostname of the upstream host chosen by the cluster manager. This option is applicable only when the destination cluster for a route is of type *strict_dns* or *logical_dns*. Setting this to true with other cluster types has no effect. Only one of `autoHostRewrite`, `hostRewriteLiteral`, or `hostRewriteHeader` can be set. | +| `hostRewriteHeader` | `string` | Indicates that during forwarding, the host header will be swapped with the content of given downstream or custom header. If header value is empty, host header is left intact. **Attention**: Pay attention to the potential security implications of using this option. Provided header must come from trusted source. Only one of `hostRewriteHeader`, `hostRewriteLiteral`, or `autoHostRewrite` can be set. | +| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Specifies the upstream timeout for the route. If not specified, the default is 15s. This spans between the point at which the entire downstream request (i.e. end-of-stream) has been processed and when the upstream response has been completely processed. A value of 0 will disable the route's timeout. **Note**: This timeout includes all retries. See also :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the retry overview. | +| `idleTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout, although the connection manager wide :ref:`stream_idle_timeout ` will still apply. A value of 0 will completely disable the route's idle timeout, even if a connection manager stream idle timeout is configured. The idle timeout is distinct to :ref:`timeout `, which provides an upper bound on the upstream response time; :ref:`idle_timeout ` instead bounds the amount of time the request's stream may be idle. After header decoding, the idle timeout will apply on downstream and upstream request events. Each time an encode/decode event for headers or data is processed for the stream, the timer will be reset. If the timeout fires, the stream is terminated with a 408 Request Timeout error code if no upstream response header has been received, otherwise a stream reset occurs. | +| `retryPolicy` | [.solo.io.envoy.config.route.v3.RetryPolicy](../route_components.proto.sk/#retrypolicy) | Indicates that the route has a retry policy. Note that if this is set, it'll take precedence over the virtual host level retry policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy). | +| `retryPolicyTypedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | [#not-implemented-hide:] Specifies the configuration for retry policy extension. Note that if this is set, it'll take precedence over the virtual host level retry policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy). :ref:`Retry policy ` should not be set if this field is used. | +| `requestMirrorPolicies` | [[]solo.io.envoy.config.route.v3.RouteAction.RequestMirrorPolicy](../route_components.proto.sk/#requestmirrorpolicy) | Indicates that the route has request mirroring policies. | +| `priority` | [.solo.io.envoy.config.core.v3.RoutingPriority](../../../core/v3/base.proto.sk/#routingpriority) | Optionally specifies the routing priority. | +| `rateLimits` | [[]solo.io.envoy.config.route.v3.RateLimit](../route_components.proto.sk/#ratelimit) | Specifies a set of rate limit configurations that could be applied to the route. | +| `includeVhRateLimits` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Specifies if the rate limit filter should include the virtual host rate limits. By default, if the route configured rate limits, the virtual host rate_limits are not applied to the request. | +| `hashPolicy` | [[]solo.io.envoy.config.route.v3.RouteAction.HashPolicy](../route_components.proto.sk/#hashpolicy) | Specifies a list of hash policies to use for ring hash load balancing. Each hash policy is evaluated individually and the combined result is used to route the request. The method of combination is deterministic such that identical lists of hash policies will produce the same hash. Since a hash policy examines specific parts of a request, it can fail to produce a hash (i.e. if the hashed header is not present). If (and only if) all configured hash policies fail to generate a hash, no hash will be produced for the route. In this case, the behavior is the same as if no hash policies were specified (i.e. the ring hash load balancer will choose a random backend). If a hash policy has the "terminal" attribute set to true, and there is already a hash generated, the hash is returned immediately, ignoring the rest of the hash policy list. | +| `cors` | [.solo.io.envoy.config.route.v3.CorsPolicy](../route_components.proto.sk/#corspolicy) | Indicates that the route has a CORS policy. | +| `maxGrpcTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | If present, and the request is a gRPC request, use the [grpc-timeout header](https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md), or its default value (infinity) instead of timeout, but limit the applied timeout to the maximum value specified here. If configured as 0, the maximum allowed timeout for gRPC requests is infinity. If not configured at all, the `grpc-timeout` header is not used and gRPC requests time out like any other requests using timeout or its default. This can be used to prevent unexpected upstream request timeouts due to potentially long time gaps between gRPC request and response in gRPC streaming mode. **Note**: If a timeout is specified using :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, it takes precedence over [grpc-timeout header](https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md), when both are present. See also :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the retry overview. | +| `grpcTimeoutOffset` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by subtracting the provided duration from the header. This is useful in allowing Envoy to set its global timeout to be less than that of the deadline imposed by the calling client, which makes it more likely that Envoy will handle the timeout instead of having the call canceled by the client. The offset will only be applied if the provided grpc_timeout is greater than the offset. This ensures that the offset will only ever decrease the timeout and never set it to 0 (meaning infinity). | +| `upgradeConfigs` | [[]solo.io.envoy.config.route.v3.RouteAction.UpgradeConfig](../route_components.proto.sk/#upgradeconfig) | | +| `internalRedirectPolicy` | [.solo.io.envoy.config.route.v3.InternalRedirectPolicy](../route_components.proto.sk/#internalredirectpolicy) | If present, Envoy will try to follow an upstream redirect response instead of proxying the response back to the downstream. An upstream redirect response is defined by :ref:`redirect_response_codes `. | +| `internalRedirectAction` | [.solo.io.envoy.config.route.v3.RouteAction.InternalRedirectAction](../route_components.proto.sk/#internalredirectaction) | | +| `maxInternalRedirects` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | An internal redirect is handled, iff the number of previous internal redirects that a downstream request has encountered is lower than this value, and :ref:`internal_redirect_action ` is set to :ref:`HANDLE_INTERNAL_REDIRECT ` In the case where a downstream request is bounced among multiple routes by internal redirect, the first route that hits this threshold, or has :ref:`internal_redirect_action ` set to :ref:`PASS_THROUGH_INTERNAL_REDIRECT ` will pass the redirect back to downstream. If not specified, at most one redirect will be followed. | +| `hedgePolicy` | [.solo.io.envoy.config.route.v3.HedgePolicy](../route_components.proto.sk/#hedgepolicy) | Indicates that the route has a hedge policy. Note that if this is set, it'll take precedence over the virtual host level hedge policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy). | + + + + +--- +### RequestMirrorPolicy + + +The router is capable of shadowing traffic from one cluster to another. The current +implementation is "fire and forget," meaning Envoy will not wait for the shadow cluster to +respond before returning the response from the primary cluster. All normal statistics are +collected for the shadow cluster making this feature useful for testing. + +During shadowing, the host/authority header is altered such that *-shadow* is appended. This is +useful for logging. For example, *cluster1* becomes *cluster1-shadow*. + +**Note**: + + Shadowing will not be triggered if the primary cluster does not exist. + +```yaml +"cluster": string +"runtimeFraction": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent +"traceSampled": .google.protobuf.BoolValue + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `cluster` | `string` | Specifies the cluster that requests will be mirrored to. The cluster must exist in the cluster manager configuration. | +| `runtimeFraction` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../core/v3/base.proto.sk/#runtimefractionalpercent) | If not specified, all requests to the target cluster will be mirrored. If specified, this field takes precedence over the `runtime_key` field and requests must also fall under the percentage of matches indicated by this field. For some fraction N/D, a random number in the range [0,D) is selected. If the number is <= the value of the numerator N, or if the key is not present, the default value, the request will be mirrored. | +| `traceSampled` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Determines if the trace span should be sampled. Defaults to true. | + + + + +--- +### HashPolicy + + +Specifies the route's hashing policy if the upstream cluster uses a hashing :ref:`load balancer +`. +[#next-free-field: 7] + +```yaml +"header": .solo.io.envoy.config.route.v3.RouteAction.HashPolicy.Header +"cookie": .solo.io.envoy.config.route.v3.RouteAction.HashPolicy.Cookie +"connectionProperties": .solo.io.envoy.config.route.v3.RouteAction.HashPolicy.ConnectionProperties +"queryParameter": .solo.io.envoy.config.route.v3.RouteAction.HashPolicy.QueryParameter +"filterState": .solo.io.envoy.config.route.v3.RouteAction.HashPolicy.FilterState +"terminal": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `header` | [.solo.io.envoy.config.route.v3.RouteAction.HashPolicy.Header](../route_components.proto.sk/#header) | Header hash policy. Only one of `header`, `cookie`, `connectionProperties`, `queryParameter`, or `filterState` can be set. | +| `cookie` | [.solo.io.envoy.config.route.v3.RouteAction.HashPolicy.Cookie](../route_components.proto.sk/#cookie) | Cookie hash policy. Only one of `cookie`, `header`, `connectionProperties`, `queryParameter`, or `filterState` can be set. | +| `connectionProperties` | [.solo.io.envoy.config.route.v3.RouteAction.HashPolicy.ConnectionProperties](../route_components.proto.sk/#connectionproperties) | Connection properties hash policy. Only one of `connectionProperties`, `header`, `cookie`, `queryParameter`, or `filterState` can be set. | +| `queryParameter` | [.solo.io.envoy.config.route.v3.RouteAction.HashPolicy.QueryParameter](../route_components.proto.sk/#queryparameter) | Query parameter hash policy. Only one of `queryParameter`, `header`, `cookie`, `connectionProperties`, or `filterState` can be set. | +| `filterState` | [.solo.io.envoy.config.route.v3.RouteAction.HashPolicy.FilterState](../route_components.proto.sk/#filterstate) | Filter state hash policy. Only one of `filterState`, `header`, `cookie`, `connectionProperties`, or `queryParameter` can be set. | +| `terminal` | `bool` | The flag that short-circuits the hash computing. This field provides a 'fallback' style of configuration: "if a terminal policy doesn't work, fallback to rest of the policy list", it saves time when the terminal policy works. If true, and there is already a hash computed, ignore rest of the list of hash polices. For example, if the following hash methods are configured: ========= ======== specifier terminal ========= ======== Header A true Header B false Header C false ========= ======== The generateHash process ends if policy "header A" generates a hash, as it's a terminal policy. | + + + + +--- +### Header + + + +```yaml +"headerName": string +"regexRewrite": .solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `headerName` | `string` | The name of the request header that will be used to obtain the hash key. If the request header is not present, no hash will be produced. | +| `regexRewrite` | [.solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute](../../../../type/matcher/v3/regex.proto.sk/#regexmatchandsubstitute) | If specified, the request header value will be rewritten and used to produce the hash key. | + + + + +--- +### Cookie + + +Envoy supports two types of cookie affinity: + +1. Passive. Envoy takes a cookie that's present in the cookies header and + hashes on its value. + +2. Generated. Envoy generates and sets a cookie with an expiration (TTL) + on the first request from the client in its response to the client, + based on the endpoint the request gets sent to. The client then + presents this on the next and all subsequent requests. The hash of + this is sufficient to ensure these requests get sent to the same + endpoint. The cookie is generated by hashing the source and + destination ports and addresses so that multiple independent HTTP2 + streams on the same connection will independently receive the same + cookie, even if they arrive at the Envoy simultaneously. + +```yaml +"name": string +"ttl": .google.protobuf.Duration +"path": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | The name of the cookie that will be used to obtain the hash key. If the cookie is not present and ttl below is not set, no hash will be produced. | +| `ttl` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | If specified, a cookie with the TTL will be generated if the cookie is not present. If the TTL is present and zero, the generated cookie will be a session cookie. | +| `path` | `string` | The name of the path for the cookie. If no path is specified here, no path will be set for the cookie. | + + + + +--- +### ConnectionProperties + + + +```yaml +"sourceIp": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `sourceIp` | `bool` | Hash on source IP address. | + + + + +--- +### QueryParameter + + + +```yaml +"name": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | The name of the URL query parameter that will be used to obtain the hash key. If the parameter is not present, no hash will be produced. Query parameter names are case-sensitive. | + + + + +--- +### FilterState + + + +```yaml +"key": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `key` | `string` | The name of the Object in the per-request filterState, which is an Envoy::Http::Hashable object. If there is no data associated with the key, or the stored object is not Envoy::Http::Hashable, no hash will be produced. | + + + + +--- +### UpgradeConfig + + +Allows enabling and disabling upgrades on a per-route basis. +This overrides any enabled/disabled upgrade filter chain specified in the +HttpConnectionManager +:ref:`upgrade_configs +` +but does not affect any custom filter chain specified there. + +```yaml +"upgradeType": string +"enabled": .google.protobuf.BoolValue +"connectConfig": .solo.io.envoy.config.route.v3.RouteAction.UpgradeConfig.ConnectConfig + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `upgradeType` | `string` | The case-insensitive name of this upgrade, e.g. "websocket". For each upgrade type present in upgrade_configs, requests with Upgrade: [upgrade_type] will be proxied upstream. | +| `enabled` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Determines if upgrades are available on this route. Defaults to true. | +| `connectConfig` | [.solo.io.envoy.config.route.v3.RouteAction.UpgradeConfig.ConnectConfig](../route_components.proto.sk/#connectconfig) | Configuration for sending data upstream as a raw data payload. This is used for CONNECT requests, when forwarding CONNECT payload as raw TCP. Note that CONNECT support is currently considered alpha in Envoy. [#comment:TODO(htuch): Replace the above comment with an alpha tag. | + + + + +--- +### ConnectConfig + + +Configuration for sending data upstream as a raw data payload. This is used for +CONNECT requests, when forwarding CONNECT payload as raw TCP. + +```yaml +"proxyProtocolConfig": .solo.io.envoy.config.core.v3.ProxyProtocolConfig + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `proxyProtocolConfig` | [.solo.io.envoy.config.core.v3.ProxyProtocolConfig](../../../core/v3/proxy_protocol.proto.sk/#proxyprotocolconfig) | If present, the proxy protocol header will be prepended to the CONNECT payload sent upstream. | + + + + +--- +### ClusterNotFoundResponseCode + + + +| Name | Description | +| ----- | ----------- | +| `SERVICE_UNAVAILABLE` | HTTP status code - 503 Service Unavailable. | +| `NOT_FOUND` | HTTP status code - 404 Not Found. | + + + + +--- +### InternalRedirectAction + + +Configures internal redirect behavior. +[#next-major-version: remove this definition - it's defined in the InternalRedirectPolicy message.] + +| Name | Description | +| ----- | ----------- | +| `PASS_THROUGH_INTERNAL_REDIRECT` | | +| `HANDLE_INTERNAL_REDIRECT` | | + + + + +--- +### RetryPolicy + + +HTTP retry architecture overview. +[#next-free-field: 11] + +```yaml +"retryOn": string +"numRetries": .google.protobuf.UInt32Value +"perTryTimeout": .google.protobuf.Duration +"retryPriority": .solo.io.envoy.config.route.v3.RetryPolicy.RetryPriority +"retryHostPredicate": []solo.io.envoy.config.route.v3.RetryPolicy.RetryHostPredicate +"hostSelectionRetryMaxAttempts": int +"retriableStatusCodes": []int +"retryBackOff": .solo.io.envoy.config.route.v3.RetryPolicy.RetryBackOff +"retriableHeaders": []solo.io.envoy.config.route.v3.HeaderMatcher +"retriableRequestHeaders": []solo.io.envoy.config.route.v3.HeaderMatcher + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `retryOn` | `string` | 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`. | +| `numRetries` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | 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`. | +| `perTryTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 route timeout for the request. Consequently, when using a 5xx based retry policy, a request that times out will not be retried as the total timeout budget would have been exhausted. | +| `retryPriority` | [.solo.io.envoy.config.route.v3.RetryPolicy.RetryPriority](../route_components.proto.sk/#retrypriority) | Specifies an implementation of a RetryPriority which is used to determine the distribution of load across priorities used for retries. Refer to retry plugin configuration for more details. | +| `retryHostPredicate` | [[]solo.io.envoy.config.route.v3.RetryPolicy.RetryHostPredicate](../route_components.proto.sk/#retryhostpredicate) | 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 retry plugin configuration for more details. | +| `hostSelectionRetryMaxAttempts` | `int` | 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. | +| `retriableStatusCodes` | `[]int` | HTTP status codes that should trigger a retry in addition to those specified by retry_on. | +| `retryBackOff` | [.solo.io.envoy.config.route.v3.RetryPolicy.RetryBackOff](../route_components.proto.sk/#retrybackoff) | 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. | +| `retriableHeaders` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../route_components.proto.sk/#headermatcher) | 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. | +| `retriableRequestHeaders` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../route_components.proto.sk/#headermatcher) | HTTP headers which must be present in the request for retries to be attempted. | + + + + +--- +### RetryPriority + + + +```yaml +"name": string +"typedConfig": .google.protobuf.Any + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | | +| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | + + + + +--- +### RetryHostPredicate + + + +```yaml +"name": string +"typedConfig": .google.protobuf.Any + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | | +| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | + + + + +--- +### RetryBackOff + + + +```yaml +"baseInterval": .google.protobuf.Duration +"maxInterval": .google.protobuf.Duration + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `baseInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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. | +| `maxInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/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. | + + + + +--- +### HedgePolicy + + +HTTP request hedging architecture overview. + +```yaml +"initialRequests": .google.protobuf.UInt32Value +"additionalRequestChance": .solo.io.envoy.type.v3.FractionalPercent +"hedgeOnPerTryTimeout": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `initialRequests` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Specifies the number of initial requests that should be sent upstream. Must be at least 1. Defaults to 1. [#not-implemented-hide:]. | +| `additionalRequestChance` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../type/v3/percent.proto.sk/#fractionalpercent) | 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:]. | +| `hedgeOnPerTryTimeout` | `bool` | 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 RetryPolicy. Defaults to false. | + + + + +--- +### RedirectAction + + +[#next-free-field: 9] + +```yaml +"httpsRedirect": bool +"schemeRedirect": string +"hostRedirect": string +"portRedirect": int +"pathRedirect": string +"prefixRewrite": string +"responseCode": .solo.io.envoy.config.route.v3.RedirectAction.RedirectResponseCode +"stripQuery": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `httpsRedirect` | `bool` | The scheme portion of the URL will be swapped with "https". Only one of `httpsRedirect` or `schemeRedirect` can be set. | +| `schemeRedirect` | `string` | The scheme portion of the URL will be swapped with this value. Only one of `schemeRedirect` or `httpsRedirect` can be set. | +| `hostRedirect` | `string` | The host portion of the URL will be swapped with this value. | +| `portRedirect` | `int` | The port value of the URL will be swapped with this value. | +| `pathRedirect` | `string` | The path portion of the URL will be swapped with this value. Please note that query string in path_redirect will override the request's query string and will not be stripped. For example, let's say we have the following routes: - match: { path: "/old-path-1" } redirect: { path_redirect: "/new-path-1" } - match: { path: "/old-path-2" } redirect: { path_redirect: "/new-path-2", strip-query: "true" } - match: { path: "/old-path-3" } redirect: { path_redirect: "/new-path-3?foo=1", strip_query: "true" } 1. if request uri is "/old-path-1?bar=1", users will be redirected to "/new-path-1?bar=1" 2. if request uri is "/old-path-2?bar=1", users will be redirected to "/new-path-2" 3. if request uri is "/old-path-3?bar=1", users will be redirected to "/new-path-3?foo=1". Only one of `pathRedirect` or `prefixRewrite` can be set. | +| `prefixRewrite` | `string` | 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 RouteAction's prefix_rewrite. Only one of `prefixRewrite` or `pathRedirect` can be set. | +| `responseCode` | [.solo.io.envoy.config.route.v3.RedirectAction.RedirectResponseCode](../route_components.proto.sk/#redirectresponsecode) | The HTTP status code to use in the redirect response. The default response code is MOVED_PERMANENTLY (301). | +| `stripQuery` | `bool` | Indicates that during redirection, the query portion of the URL will be removed. Default value is false. | + + + + +--- +### RedirectResponseCode + + + +| Name | Description | +| ----- | ----------- | +| `MOVED_PERMANENTLY` | Moved Permanently HTTP Status Code - 301. | +| `FOUND` | Found HTTP Status Code - 302. | +| `SEE_OTHER` | See Other HTTP Status Code - 303. | +| `TEMPORARY_REDIRECT` | Temporary Redirect HTTP Status Code - 307. | +| `PERMANENT_REDIRECT` | Permanent Redirect HTTP Status Code - 308. | + + + + +--- +### DirectResponseAction + + + +```yaml +"status": int +"body": .solo.io.envoy.config.core.v3.DataSource + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `status` | `int` | Specifies the HTTP response status to be returned. | +| `body` | [.solo.io.envoy.config.core.v3.DataSource](../../../core/v3/base.proto.sk/#datasource) | Specifies the content of the response body. If this setting is omitted, no body is included in the generated response. **Note**: Headers can be specified using *response_headers_to_add* in the enclosing :ref:`envoy_api_msg_config.route.v3.Route`, :ref:`envoy_api_msg_config.route.v3.RouteConfiguration` or :ref:`envoy_api_msg_config.route.v3.VirtualHost`. | + + + + +--- +### Decorator + + + +```yaml +"operation": string +"propagate": .google.protobuf.BoolValue + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `operation` | `string` | The operation name associated with the request matched to this route. If tracing is enabled, this information will be used as the span name reported for this request. **Note**: For ingress (inbound) requests, or egress (outbound) responses, this value may be overridden by the :ref:`x-envoy-decorator-operation ` header. | +| `propagate` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Whether the decorated details should be propagated to the other party. The default is true. | + + + + +--- +### Tracing + + + +```yaml +"clientSampling": .solo.io.envoy.type.v3.FractionalPercent +"randomSampling": .solo.io.envoy.type.v3.FractionalPercent +"overallSampling": .solo.io.envoy.type.v3.FractionalPercent +"customTags": []solo.io.envoy.type.tracing.v3.CustomTag + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `clientSampling` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../type/v3/percent.proto.sk/#fractionalpercent) | Target percentage of requests managed by this HTTP connection manager that will be force traced if the :ref:`x-client-trace-id ` header is set. This field is a direct analog for the runtime variable 'tracing.client_sampling' in the :ref:`HTTP Connection Manager `. Default: 100%. | +| `randomSampling` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../type/v3/percent.proto.sk/#fractionalpercent) | Target percentage of requests managed by this HTTP connection manager that will be randomly selected for trace generation, if not requested by the client or not forced. This field is a direct analog for the runtime variable 'tracing.random_sampling' in the HTTP Connection Manager. Default: 100%. | +| `overallSampling` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../type/v3/percent.proto.sk/#fractionalpercent) | Target percentage of requests managed by this HTTP connection manager that will be traced after all other sampling checks have been applied (client-directed, force tracing, random sampling). This field functions as an upper limit on the total configured sampling rate. For instance, setting client_sampling to 100% but overall_sampling to 1% will result in only 1% of client requests with the appropriate headers to be force traced. This field is a direct analog for the runtime variable 'tracing.global_enabled' in the HTTP Connection Manager. Default: 100%. | +| `customTags` | [[]solo.io.envoy.type.tracing.v3.CustomTag](../../../../type/tracing/v3/custom_tag.proto.sk/#customtag) | A list of custom tags with unique tag name to create tags for the active span. It will take effect after merging with the :ref:`corresponding configuration ` configured in the HTTP connection manager. If two tags with the same name are configured each in the HTTP connection manager and the route level, the one configured here takes priority. | + + + + +--- +### VirtualCluster + + +A virtual cluster is a way of specifying a regex matching rule against +certain important endpoints such that statistics are generated explicitly for +the matched requests. The reason this is useful is that when doing +prefix/path matching Envoy does not always know what the application +considers to be an endpoint. Thus, it’s impossible for Envoy to generically +emit per endpoint statistics. However, often systems have highly critical +endpoints that they wish to get “perfect” statistics on. Virtual cluster +statistics are perfect in the sense that they are emitted on the downstream +side such that they include network level failures. + +Documentation for virtual cluster statistics. + +**Note**: + + Virtual clusters are a useful tool, but we do not recommend setting up a virtual cluster for + every application endpoint. This is both not easily maintainable and as well the matching and + statistics output are not free. + +```yaml +"headers": []solo.io.envoy.config.route.v3.HeaderMatcher +"name": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `headers` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../route_components.proto.sk/#headermatcher) | Specifies a list of header matchers to use for matching requests. Each specified header must match. The pseudo-headers `:path` and `:method` can be used to match the request path and method, respectively. | +| `name` | `string` | Specifies the name of the virtual cluster. The virtual cluster name as well as the virtual host name are used when emitting statistics. The statistics are emitted by the router filter and are documented here. | + + + + +--- +### RateLimit + + +Global rate limiting architecture overview. + +```yaml +"stage": .google.protobuf.UInt32Value +"disableKey": string +"actions": []solo.io.envoy.config.route.v3.RateLimit.Action +"limit": .solo.io.envoy.config.route.v3.RateLimit.Override + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `stage` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | 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. | +| `disableKey` | `string` | The key to be set in runtime to disable this rate limit configuration. | +| `actions` | [[]solo.io.envoy.config.route.v3.RateLimit.Action](../route_components.proto.sk/#action) | 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 ` for additional documentation. | +| `limit` | [.solo.io.envoy.config.route.v3.RateLimit.Override](../route_components.proto.sk/#override) | An optional limit override to be appended to the descriptor produced by this rate limit configuration. If the override value is invalid or cannot be resolved from metadata, no override is provided. See :ref:`rate limit override ` for more information. | + + + + +--- +### Action + + +[#next-free-field: 8] + +```yaml +"sourceCluster": .solo.io.envoy.config.route.v3.RateLimit.Action.SourceCluster +"destinationCluster": .solo.io.envoy.config.route.v3.RateLimit.Action.DestinationCluster +"requestHeaders": .solo.io.envoy.config.route.v3.RateLimit.Action.RequestHeaders +"remoteAddress": .solo.io.envoy.config.route.v3.RateLimit.Action.RemoteAddress +"genericKey": .solo.io.envoy.config.route.v3.RateLimit.Action.GenericKey +"headerValueMatch": .solo.io.envoy.config.route.v3.RateLimit.Action.HeaderValueMatch +"dynamicMetadata": .solo.io.envoy.config.route.v3.RateLimit.Action.DynamicMetaData + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `sourceCluster` | [.solo.io.envoy.config.route.v3.RateLimit.Action.SourceCluster](../route_components.proto.sk/#sourcecluster) | Rate limit on source cluster. Only one of `sourceCluster`, `destinationCluster`, `requestHeaders`, `remoteAddress`, `genericKey`, `headerValueMatch`, or `dynamicMetadata` can be set. | +| `destinationCluster` | [.solo.io.envoy.config.route.v3.RateLimit.Action.DestinationCluster](../route_components.proto.sk/#destinationcluster) | Rate limit on destination cluster. Only one of `destinationCluster`, `sourceCluster`, `requestHeaders`, `remoteAddress`, `genericKey`, `headerValueMatch`, or `dynamicMetadata` can be set. | +| `requestHeaders` | [.solo.io.envoy.config.route.v3.RateLimit.Action.RequestHeaders](../route_components.proto.sk/#requestheaders) | Rate limit on request headers. Only one of `requestHeaders`, `sourceCluster`, `destinationCluster`, `remoteAddress`, `genericKey`, `headerValueMatch`, or `dynamicMetadata` can be set. | +| `remoteAddress` | [.solo.io.envoy.config.route.v3.RateLimit.Action.RemoteAddress](../route_components.proto.sk/#remoteaddress) | Rate limit on remote address. Only one of `remoteAddress`, `sourceCluster`, `destinationCluster`, `requestHeaders`, `genericKey`, `headerValueMatch`, or `dynamicMetadata` can be set. | +| `genericKey` | [.solo.io.envoy.config.route.v3.RateLimit.Action.GenericKey](../route_components.proto.sk/#generickey) | Rate limit on a generic key. Only one of `genericKey`, `sourceCluster`, `destinationCluster`, `requestHeaders`, `remoteAddress`, `headerValueMatch`, or `dynamicMetadata` can be set. | +| `headerValueMatch` | [.solo.io.envoy.config.route.v3.RateLimit.Action.HeaderValueMatch](../route_components.proto.sk/#headervaluematch) | Rate limit on the existence of request headers. Only one of `headerValueMatch`, `sourceCluster`, `destinationCluster`, `requestHeaders`, `remoteAddress`, `genericKey`, or `dynamicMetadata` can be set. | +| `dynamicMetadata` | [.solo.io.envoy.config.route.v3.RateLimit.Action.DynamicMetaData](../route_components.proto.sk/#dynamicmetadata) | Rate limit on dynamic metadata. Only one of `dynamicMetadata`, `sourceCluster`, `destinationCluster`, `requestHeaders`, `remoteAddress`, `genericKey`, or `headerValueMatch` can be set. | + + + + +--- +### SourceCluster + + +The following descriptor entry is appended to the descriptor: + +.. code-block:: cpp + + ("source_cluster", "") + + is derived from the `--service-cluster` option. + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + +--- +### DestinationCluster + + +The following descriptor entry is appended to the descriptor: + +.. code-block:: cpp + + ("destination_cluster", "") + +Once a request matches against a route table rule, a routed cluster is determined by one of +the following :ref:`route table configuration ` +settings: + +* cluster indicates the upstream cluster + to route to. +* :ref:`weighted_clusters ` + chooses a cluster randomly from a set of clusters with attributed weight. +* cluster_header indicates which + header in the request contains the target cluster. + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + +--- +### RequestHeaders + + +The following descriptor entry is appended when a header contains a key that matches the +*header_name*: + +.. code-block:: cpp + + ("", "") + +```yaml +"headerName": string +"descriptorKey": string +"skipIfAbsent": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `headerName` | `string` | 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. | +| `descriptorKey` | `string` | The key to use in the descriptor entry. | +| `skipIfAbsent` | `bool` | If set to true, Envoy skips the descriptor while calling rate limiting service when header is not present in the request. By default it skips calling the rate limiting service if this header is not present in the request. | + + + + +--- +### RemoteAddress + + +The following descriptor entry is appended to the descriptor and is populated using the +trusted address from x-forwarded-for. + +.. code-block:: cpp + + ("remote_address", "") + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + +--- +### GenericKey + + +The following descriptor entry is appended to the descriptor: + +.. code-block:: cpp + + ("generic_key", "") + +```yaml +"descriptorValue": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `descriptorValue` | `string` | The value to use in the descriptor entry. | + + + + +--- +### HeaderValueMatch + + +The following descriptor entry is appended to the descriptor: + +.. code-block:: cpp + + ("header_match", "") + +```yaml +"descriptorValue": string +"expectMatch": .google.protobuf.BoolValue +"headers": []solo.io.envoy.config.route.v3.HeaderMatcher + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `descriptorValue` | `string` | The value to use in the descriptor entry. | +| `expectMatch` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | 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. | +| `headers` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../route_components.proto.sk/#headermatcher) | 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). | + + + + +--- +### DynamicMetaData + + +The following descriptor entry is appended when the dynamic metadata contains a key value: + +.. code-block:: cpp + + ("", "") + +```yaml +"descriptorKey": string +"metadataKey": .solo.io.envoy.type.metadata.v3.MetadataKey + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `descriptorKey` | `string` | The key to use in the descriptor entry. | +| `metadataKey` | [.solo.io.envoy.type.metadata.v3.MetadataKey](../../../../type/metadata/v3/metadata.proto.sk/#metadatakey) | Metadata struct that defines the key and path to retrieve the string value. A match will only happen if the value in the dynamic metadata is of type string. | + + + + +--- +### Override + + + +```yaml +"dynamicMetadata": .solo.io.envoy.config.route.v3.RateLimit.Override.DynamicMetadata + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `dynamicMetadata` | [.solo.io.envoy.config.route.v3.RateLimit.Override.DynamicMetadata](../route_components.proto.sk/#dynamicmetadata) | Limit override from dynamic metadata. | + + + + +--- +### DynamicMetadata + + +Fetches the override from the dynamic metadata. + +```yaml +"metadataKey": .solo.io.envoy.type.metadata.v3.MetadataKey + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `metadataKey` | [.solo.io.envoy.type.metadata.v3.MetadataKey](../../../../type/metadata/v3/metadata.proto.sk/#metadatakey) | Metadata struct that defines the key and path to retrieve the struct value. The value must be a struct containing an integer "requests_per_unit" property and a "unit" property with a value parseable to :ref:`RateLimitUnit enum `. | + + + + +--- +### HeaderMatcher + + +**Attention**: + + Internally, Envoy always uses the HTTP/2 *:authority* header to represent the HTTP/1 *Host* + header. Thus, if attempting to match on *Host*, match on *:authority* instead. + +**Attention**: + + To route on HTTP method, use the special HTTP/2 *:method* header. This works for both + HTTP/1 and HTTP/2 as Envoy normalizes headers. E.g., + + .. code-block:: json + + { + "name": ":method", + "exact_match": "POST" + } + +**Attention**: + In the absence of any header match specifier, match will default to :ref:`present_match + `. i.e, a request that has the :ref:`name + ` header will match, regardless of the header's + value. + + [#next-major-version: HeaderMatcher should be refactored to use StringMatcher.] +[#next-free-field: 12] + +```yaml +"name": string +"exactMatch": string +"safeRegexMatch": .solo.io.envoy.type.matcher.v3.RegexMatcher +"rangeMatch": .solo.io.envoy.type.v3.Int64Range +"presentMatch": bool +"prefixMatch": string +"suffixMatch": string +"invertMatch": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | Specifies the name of the header in the request. | +| `exactMatch` | `string` | If specified, header match will be performed based on the value of the header. Only one of `exactMatch`, `safeRegexMatch`, `rangeMatch`, `presentMatch`, `prefixMatch`, or `suffixMatch` can be set. | +| `safeRegexMatch` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../../../../type/matcher/v3/regex.proto.sk/#regexmatcher) | If specified, this regex string is a regular expression rule which implies the entire request header value must match the regex. The rule will not match if only a subsequence of the request header value matches the regex. Only one of `safeRegexMatch`, `exactMatch`, `rangeMatch`, `presentMatch`, `prefixMatch`, or `suffixMatch` can be set. | +| `rangeMatch` | [.solo.io.envoy.type.v3.Int64Range](../../../../type/v3/range.proto.sk/#int64range) | If specified, header match will be performed based on range. The rule will match if the request header value is within this range. The entire request header value must represent an integer in base 10 notation: consisting of an optional plus or minus sign followed by a sequence of digits. The rule will not match if the header value does not represent an integer. Match will fail for empty values, floating point numbers or if only a subsequence of the header value is an integer. Examples: * For range [-10,0), route will match for header value -1, but not for 0, "somestring", 10.9, "-1somestring". Only one of `rangeMatch`, `exactMatch`, `safeRegexMatch`, `presentMatch`, `prefixMatch`, or `suffixMatch` can be set. | +| `presentMatch` | `bool` | If specified, header match will be performed based on whether the header is in the request. Only one of `presentMatch`, `exactMatch`, `safeRegexMatch`, `rangeMatch`, `prefixMatch`, or `suffixMatch` can be set. | +| `prefixMatch` | `string` | If specified, header match will be performed based on the prefix of the header value. Note: empty prefix is not allowed, please use present_match instead. Examples: * The prefix *abcd* matches the value *abcdxyz*, but not for *abcxyz*. Only one of `prefixMatch`, `exactMatch`, `safeRegexMatch`, `rangeMatch`, `presentMatch`, or `suffixMatch` can be set. | +| `suffixMatch` | `string` | If specified, header match will be performed based on the suffix of the header value. Note: empty suffix is not allowed, please use present_match instead. Examples: * The suffix *abcd* matches the value *xyzabcd*, but not for *xyzbcd*. Only one of `suffixMatch`, `exactMatch`, `safeRegexMatch`, `rangeMatch`, `presentMatch`, or `prefixMatch` can be set. | +| `invertMatch` | `bool` | If specified, the match result will be inverted before checking. Defaults to false. Examples: * The regex `\d{3}` does not match the value *1234*, so it will match when inverted. * The range [-10,0) will match the value -1, so it will not match when inverted. | + + + + +--- +### QueryParameterMatcher + + +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] + +```yaml +"name": string +"stringMatch": .solo.io.envoy.type.matcher.v3.StringMatcher +"presentMatch": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | Specifies the name of a key that must be present in the requested *path*'s query string. | +| `stringMatch` | [.solo.io.envoy.type.matcher.v3.StringMatcher](../../../../type/matcher/v3/string.proto.sk/#stringmatcher) | Specifies whether a query parameter value should match against a string. Only one of `stringMatch` or `presentMatch` can be set. | +| `presentMatch` | `bool` | Specifies whether a query parameter should be present. Only one of `presentMatch` or `stringMatch` can be set. | + + + + +--- +### InternalRedirectPolicy + + +HTTP Internal Redirect architecture overview. + +```yaml +"maxInternalRedirects": .google.protobuf.UInt32Value +"redirectResponseCodes": []int +"predicates": []solo.io.envoy.config.core.v3.TypedExtensionConfig +"allowCrossSchemeRedirect": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `maxInternalRedirects` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | An internal redirect is not handled, unless the number of previous internal redirects that a downstream request has encountered is lower than this value. In the case where a downstream request is bounced among multiple routes by internal redirect, the first route that hits this threshold, or does not set :ref:`internal_redirect_policy ` will pass the redirect back to downstream. If not specified, at most one redirect will be followed. | +| `redirectResponseCodes` | `[]int` | Defines what upstream response codes are allowed to trigger internal redirect. If unspecified, only 302 will be treated as internal redirect. Only 301, 302, 303, 307 and 308 are valid values. Any other codes will be ignored. | +| `predicates` | [[]solo.io.envoy.config.core.v3.TypedExtensionConfig](../../../core/v3/extension.proto.sk/#typedextensionconfig) | Specifies a list of predicates that are queried when an upstream response is deemed to trigger an internal redirect by all other criteria. Any predicate in the list can reject the redirect, causing the response to be proxied to downstream. | +| `allowCrossSchemeRedirect` | `bool` | Allow internal redirect to follow a target URI with a different scheme than the value of x-forwarded-proto. The default is false. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto.sk.md new file mode 100644 index 00000000000..c46ca6c93f7 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto.sk.md @@ -0,0 +1,46 @@ + +--- +title: "grpc_output_sink.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.tap.output_sink.v3` +#### Types: + + +- [GrpcOutputSink](#grpcoutputsink) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto) + + + + + +--- +### GrpcOutputSink + + +GRPC output sink definition + +```yaml +"grpcService": .solo.io.envoy.config.core.v3.GrpcService + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `grpcService` | [.solo.io.envoy.config.core.v3.GrpcService](../../../../core/v3/grpc_service.proto.sk/#grpcservice) | Location of the GRPC service to which output traces should be submitted. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto.sk.md new file mode 100644 index 00000000000..10e0d2e06ef --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto.sk.md @@ -0,0 +1,46 @@ + +--- +title: "http_output_sink.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.tap.output_sink.v3` +#### Types: + + +- [HttpOutputSink](#httpoutputsink) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto) + + + + + +--- +### HttpOutputSink + + +HTTP output sink definition + +```yaml +"serverUri": .solo.io.envoy.config.core.v3.HttpUri + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `serverUri` | [.solo.io.envoy.config.core.v3.HttpUri](../../../../core/v3/http_uri.proto.sk/#httpuri) | URI of the HTTP server to which output traces should be submitted. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto.sk.md new file mode 100644 index 00000000000..f280d9a210e --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto.sk.md @@ -0,0 +1,76 @@ + +--- +title: "datadog.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.config.trace.v3` +#### Types: + + +- [DatadogRemoteConfig](#datadogremoteconfig) +- [DatadogConfig](#datadogconfig) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto) + + + + + +--- +### DatadogRemoteConfig + + +Configuration for the Remote Configuration feature. + +```yaml +"pollingInterval": .google.protobuf.Duration +"disabled": .google.protobuf.BoolValue + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `pollingInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Frequency at which new configuration updates are queried. If no value is provided, the default value is delegated to the Datadog tracing library. | +| `disabled` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Disabled remote config. This field does not exist in envoy's config but allow us to preserve the default behavior when upgrading to envoy v1.31. | + + + + +--- +### DatadogConfig + + +Configuration for the Datadog tracer. +[#extension: envoy.tracers.datadog] + +```yaml +"collectorUpstreamRef": .core.solo.io.ResourceRef +"clusterName": string +"serviceName": .google.protobuf.StringValue +"collectorHostname": string +"remoteConfig": .solo.io.envoy.config.trace.v3.DatadogRemoteConfig + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `collectorUpstreamRef` | [.core.solo.io.ResourceRef](../../../../../../../../../../solo-kit/api/v1/ref.proto.sk/#resourceref) | The upstream to use for submitting traces to the Datadog agent. Only one of `collectorUpstreamRef` or `clusterName` can be set. | +| `clusterName` | `string` | The name of the cluster to use for submitting traces to the Datadog agent. Note that the cluster must be defined in the :ref:`Bootstrap static cluster resources `. Only one of `clusterName` or `collectorUpstreamRef` can be set. | +| `serviceName` | [.google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/string-value) | The name used for the service when traces are generated by envoy. | +| `collectorHostname` | `string` | Optional hostname to use when sending spans to the collector_cluster. Useful for collectors that require a specific hostname. Defaults to collector_cluster above. | +| `remoteConfig` | [.solo.io.envoy.config.trace.v3.DatadogRemoteConfig](../datadog.proto.sk/#datadogremoteconfig) | Configures remote configuration. Remote Configuration allows to configure the tracer from Datadog's user interface. This feature can drastically increase the number of connections to the Datadog Agent. Each tracer regularly polls for configuration updates, and the number of tracers is the product of the number of listeners and worker threads. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto.sk.md new file mode 100644 index 00000000000..7d27f55bb99 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto.sk.md @@ -0,0 +1,204 @@ + +--- +title: "opencensus.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.config.trace.v3` +#### Types: + + +- [OpenCensusConfig](#opencensusconfig) +- [OcagentGrpcAddress](#ocagentgrpcaddress) +- [TraceContext](#tracecontext) +- [TraceConfig](#traceconfig) +- [ProbabilitySampler](#probabilitysampler) +- [ConstantSampler](#constantsampler) +- [ConstantDecision](#constantdecision) +- [RateLimitingSampler](#ratelimitingsampler) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto) + + + + + +--- +### OpenCensusConfig + + +Configuration for the OpenCensus tracer. + +The OpenCensus tracer is capable of reporting metadata to a collector using W3C-standard Trace Context: https://www.w3.org/TR/trace-context/ +WARNING: users should take care to note that this plugin has a serious limitation that can cause a configuration freeze of Envoy's dynamic listeners. This plugin can be initialised once after Envoy has started. In order to change this plugin's configuration, users must first apply the new configuration, and then restart Envoy. Users should also be aware that once the new configuration is applied, Envoy will reject any changes to its dynamic listeners configuration until after it has been restarted. +[#extension: envoy.tracers.opencensus] + +```yaml +"traceConfig": .solo.io.envoy.config.trace.v3.TraceConfig +"ocagentExporterEnabled": bool +"httpAddress": string +"grpcAddress": .solo.io.envoy.config.trace.v3.OpenCensusConfig.OcagentGrpcAddress +"incomingTraceContext": []solo.io.envoy.config.trace.v3.OpenCensusConfig.TraceContext +"outgoingTraceContext": []solo.io.envoy.config.trace.v3.OpenCensusConfig.TraceContext + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `traceConfig` | [.solo.io.envoy.config.trace.v3.TraceConfig](../opencensus.proto.sk/#traceconfig) | Configuration of when to submit traces to the collector. See https://github.com/census-instrumentation/opencensus-proto/blob/3619b5dda8bff26ff1974714c24de8f6d4953811/src/opencensus/proto/trace/v1/trace_config.proto#L29 for full documentation. | +| `ocagentExporterEnabled` | `bool` | Enables the OpenCensus agent if set to true. | +| `httpAddress` | `string` | Send to upstream over http. Only one of `httpAddress` or `grpcAddress` can be set. | +| `grpcAddress` | [.solo.io.envoy.config.trace.v3.OpenCensusConfig.OcagentGrpcAddress](../opencensus.proto.sk/#ocagentgrpcaddress) | Send to upstream over GRPC. Only one of `grpcAddress` or `httpAddress` can be set. | +| `incomingTraceContext` | [[]solo.io.envoy.config.trace.v3.OpenCensusConfig.TraceContext](../opencensus.proto.sk/#tracecontext) | List of incoming trace context headers to accept. First one found wins. | +| `outgoingTraceContext` | [[]solo.io.envoy.config.trace.v3.OpenCensusConfig.TraceContext](../opencensus.proto.sk/#tracecontext) | List of outgoing trace context headers we will produce. | + + + + +--- +### OcagentGrpcAddress + + + +```yaml +"targetUri": string +"statPrefix": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `targetUri` | `string` | URI of the target address. | +| `statPrefix` | `string` | Prefix for statistical measurements. | + + + + +--- +### TraceContext + + + +| Name | Description | +| ----- | ----------- | +| `NONE` | No-op default, no trace context is utilized. | +| `TRACE_CONTEXT` | W3C Trace-Context format "traceparent:" header. | +| `GRPC_TRACE_BIN` | Binary "grpc-trace-bin:" header. | +| `CLOUD_TRACE_CONTEXT` | "X-Cloud-Trace-Context:" header. | +| `B3` | X-B3-* headers. | + + + + +--- +### TraceConfig + + + +```yaml +"probabilitySampler": .solo.io.envoy.config.trace.v3.ProbabilitySampler +"constantSampler": .solo.io.envoy.config.trace.v3.ConstantSampler +"rateLimitingSampler": .solo.io.envoy.config.trace.v3.RateLimitingSampler +"maxNumberOfAttributes": int +"maxNumberOfAnnotations": int +"maxNumberOfMessageEvents": int +"maxNumberOfLinks": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `probabilitySampler` | [.solo.io.envoy.config.trace.v3.ProbabilitySampler](../opencensus.proto.sk/#probabilitysampler) | Only one of `probabilitySampler`, `constantSampler`, or `rateLimitingSampler` can be set. | +| `constantSampler` | [.solo.io.envoy.config.trace.v3.ConstantSampler](../opencensus.proto.sk/#constantsampler) | Only one of `constantSampler`, `probabilitySampler`, or `rateLimitingSampler` can be set. | +| `rateLimitingSampler` | [.solo.io.envoy.config.trace.v3.RateLimitingSampler](../opencensus.proto.sk/#ratelimitingsampler) | Only one of `rateLimitingSampler`, `probabilitySampler`, or `constantSampler` can be set. | +| `maxNumberOfAttributes` | `int` | The global default max number of attributes per span. | +| `maxNumberOfAnnotations` | `int` | The global default max number of annotation events per span. | +| `maxNumberOfMessageEvents` | `int` | The global default max number of message events per span. | +| `maxNumberOfLinks` | `int` | The global default max number of link entries per span. | + + + + +--- +### ProbabilitySampler + + +Sampler that tries to uniformly sample traces with a given probability. +The probability of sampling a trace is equal to that of the specified probability. + +```yaml +"samplingProbability": float + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `samplingProbability` | `float` | The desired probability of sampling. Must be within [0.0, 1.0]. | + + + + +--- +### ConstantSampler + + +Sampler that always makes a constant decision on span sampling. + +```yaml +"decision": .solo.io.envoy.config.trace.v3.ConstantSampler.ConstantDecision + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `decision` | [.solo.io.envoy.config.trace.v3.ConstantSampler.ConstantDecision](../opencensus.proto.sk/#constantdecision) | | + + + + +--- +### ConstantDecision + + +How spans should be sampled: +- Always off +- Always on +- Always follow the parent Span's decision (off if no parent). + +| Name | Description | +| ----- | ----------- | +| `ALWAYS_OFF` | | +| `ALWAYS_ON` | | +| `ALWAYS_PARENT` | | + + + + +--- +### RateLimitingSampler + + +Sampler that tries to sample with a rate per time window. + +```yaml +"qps": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `qps` | `int` | Rate per second. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto.sk.md new file mode 100644 index 00000000000..c854ace4d37 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto.sk.md @@ -0,0 +1,49 @@ + +--- +title: "opentelemetry.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.config.trace.v3` +#### Types: + + +- [OpenTelemetryConfig](#opentelemetryconfig) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto) + + + + + +--- +### OpenTelemetryConfig + + +Configuration for the OpenTelemetry tracer. +[#extension: envoy.tracers.opentelemetry] + +```yaml +"collectorUpstreamRef": .core.solo.io.ResourceRef +"clusterName": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `collectorUpstreamRef` | [.core.solo.io.ResourceRef](../../../../../../../../../../solo-kit/api/v1/ref.proto.sk/#resourceref) | The upstream to use for submitting traces to the OpenTelemetry agent. Only one of `collectorUpstreamRef` or `clusterName` can be set. | +| `clusterName` | `string` | The name of the Envoy cluster to use for submitting traces to the OpenTelemetry agent. Only one of `clusterName` or `collectorUpstreamRef` can be set. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto.sk.md new file mode 100644 index 00000000000..8a330e6e487 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto.sk.md @@ -0,0 +1,74 @@ + +--- +title: "zipkin.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.config.trace.v3` +#### Types: + + +- [ZipkinConfig](#zipkinconfig) +- [CollectorEndpointVersion](#collectorendpointversion) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto) + + + + + +--- +### ZipkinConfig + + +Configuration for the Zipkin tracer. +[#extension: envoy.tracers.zipkin] +[#next-free-field: 6] + +```yaml +"collectorUpstreamRef": .core.solo.io.ResourceRef +"clusterName": string +"collectorEndpoint": string +"traceId128Bit": .google.protobuf.BoolValue +"sharedSpanContext": .google.protobuf.BoolValue +"collectorEndpointVersion": .solo.io.envoy.config.trace.v3.ZipkinConfig.CollectorEndpointVersion + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `collectorUpstreamRef` | [.core.solo.io.ResourceRef](../../../../../../../../../../solo-kit/api/v1/ref.proto.sk/#resourceref) | The upstream that hosts the Zipkin collectors. Only one of `collectorUpstreamRef` or `clusterName` can be set. | +| `clusterName` | `string` | The name of the cluster that hosts the Zipkin collectors. Note that the Zipkin cluster must be defined in the :ref:`Bootstrap static cluster resources `. Only one of `clusterName` or `collectorUpstreamRef` can be set. | +| `collectorEndpoint` | `string` | The API endpoint of the Zipkin service where the spans will be sent. When using a standard Zipkin installation, the API endpoint is typically /api/v1/spans, which is the default value. | +| `traceId128Bit` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Determines whether a 128bit trace id will be used when creating a new trace instance. The default value is false, which will result in a 64 bit trace id being used. | +| `sharedSpanContext` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Determines whether client and server spans will share the same span context. The default value is true. | +| `collectorEndpointVersion` | [.solo.io.envoy.config.trace.v3.ZipkinConfig.CollectorEndpointVersion](../zipkin.proto.sk/#collectorendpointversion) | Determines the selected collector endpoint version. By default, the `HTTP_JSON_V1` will be used. | + + + + +--- +### CollectorEndpointVersion + + +Available Zipkin collector endpoint versions. + +| Name | Description | +| ----- | ----------- | +| `DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE` | Zipkin API v1, JSON over HTTP. [#comment: The default implementation of Zipkin client before this field is added was only v1 and the way user configure this was by not explicitly specifying the version. Consequently, before this is added, the corresponding Zipkin collector expected to receive v1 payload. Hence the motivation of adding HTTP_JSON_V1 as the default is to avoid a breaking change when user upgrading Envoy with this change. Furthermore, we also immediately deprecate this field, since in Zipkin realm this v1 version is considered to be not preferable anymore.] | +| `HTTP_JSON` | Zipkin API v2, JSON over HTTP. | +| `HTTP_PROTO` | Zipkin API v2, protobuf over HTTP. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto.sk.md new file mode 100644 index 00000000000..efc97dd789f --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto.sk.md @@ -0,0 +1,178 @@ + +--- +title: "advanced_http.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.health_checker.advanced_http.v2` +#### Types: + + +- [AdvancedHttp](#advancedhttp) +- [ResponseAssertions](#responseassertions) +- [ResponseMatcher](#responsematcher) +- [ResponseMatch](#responsematch) +- [JsonKey](#jsonkey) +- [PathSegment](#pathsegment) + + + + +##### Enums: + + + - [HealthCheckResult](#healthcheckresult) + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto) + + + + + +--- +### AdvancedHttp + + +Same as envoy's default HTTP health checker, but with some additions: +- allows a custom path and method on the health check request per endpoint. + The http path to use can be overridden using endpoint metadata. The endpoint-specific + path should be in the "io.solo.health_checkers.advanced_http" namespace, under a string + value named "path". The same can be done for the method by setting a string value + named "method". +- allows for health check responses to leverage the response body rather than just + the http status code returned. The response body can be parsed as json and complex + assertions can be made on fields parsed from the json or plaintext response body. + +```yaml +"httpHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck +"responseAssertions": .envoy.config.health_checker.advanced_http.v2.ResponseAssertions + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `httpHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck](../../../config/core/v3/health_check.proto.sk/#httphealthcheck) | Http health check. | +| `responseAssertions` | [.envoy.config.health_checker.advanced_http.v2.ResponseAssertions](../advanced_http.proto.sk/#responseassertions) | If defined, the response health check rules take precedence over the http status settings defined in `http_health_check`. | + + + + +--- +### ResponseAssertions + + + +```yaml +"responseMatchers": []envoy.config.health_checker.advanced_http.v2.ResponseMatcher +"noMatchHealth": .envoy.config.health_checker.advanced_http.v2.HealthCheckResult + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `responseMatchers` | [[]envoy.config.health_checker.advanced_http.v2.ResponseMatcher](../advanced_http.proto.sk/#responsematcher) | A bunch of match rules, the first match wins out and short-circuits. | +| `noMatchHealth` | [.envoy.config.health_checker.advanced_http.v2.HealthCheckResult](../advanced_http.proto.sk/#healthcheckresult) | The default health response if none of the response health checks were matches. If omitted, defaults to healthy. Note for devs: we'd probably prefer this default to unhealthy, but since the version of protoc we're on doesn't support optional scalars without an experimental flag, we cannot have the `no_match_health` field default to unhealthy while the `match_health` field defaults to healthy. As such, we offload this defaulting behavior to the control plane. For more reading, see https://github.com/protocolbuffers/protobuf/issues/1606#issuecomment-618687169. | + + + + +--- +### ResponseMatcher + + +Defines a transformation template. + +```yaml +"responseMatch": .envoy.config.health_checker.advanced_http.v2.ResponseMatch +"matchHealth": .envoy.config.health_checker.advanced_http.v2.HealthCheckResult + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `responseMatch` | [.envoy.config.health_checker.advanced_http.v2.ResponseMatch](../advanced_http.proto.sk/#responsematch) | Defines the parameters to determine a single match. | +| `matchHealth` | [.envoy.config.health_checker.advanced_http.v2.HealthCheckResult](../advanced_http.proto.sk/#healthcheckresult) | The health response if this response_match is a match. If omitted, defaults to healthy. | + + + + +--- +### ResponseMatch + + +ResponseMatches can be used to extract information from the request/response. + +```yaml +"jsonKey": .envoy.config.health_checker.advanced_http.v2.JsonKey +"ignoreErrorOnParse": bool +"header": string +"body": .google.protobuf.Empty +"regex": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `jsonKey` | [.envoy.config.health_checker.advanced_http.v2.JsonKey](../advanced_http.proto.sk/#jsonkey) | Configuration to get the json key. Treats the body as raw text if omitted. | +| `ignoreErrorOnParse` | `bool` | If set to true, Envoy will not throw an exception in case the json body parsing fails. | +| `header` | `string` | Extract information from headers. Only one of `header` or `body` can be set. | +| `body` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | Extract information from the request/response body. Only one of `body` or `header` can be set. | +| `regex` | `string` | Only strings matching this regular expression will be considered a match. The most simple value for this field is '.*', which matches the whole source. The field is required. | + + + + +--- +### JsonKey + + + +```yaml +"path": []envoy.config.health_checker.advanced_http.v2.JsonKey.PathSegment + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `path` | [[]envoy.config.health_checker.advanced_http.v2.JsonKey.PathSegment](../advanced_http.proto.sk/#pathsegment) | The path to retrieve the Value. | + + + + +--- +### PathSegment + + +Specifies the segment in a path to retrieve value. + +```yaml +"key": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `key` | `string` | If specified, use the key to retrieve the value. If the key is not found, the value defaults to empty string. | + + + + +### HealthCheckResult + +Description: + +| Name | Description | +| ----- | ----------- | +| healthy | | +| degraded | | +| unhealthy | | + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/aws/filter.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/aws/filter.proto.sk.md new file mode 100644 index 00000000000..c00d3e51b2b --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/aws/filter.proto.sk.md @@ -0,0 +1,156 @@ + +--- +title: "filter.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.filter.http.aws_lambda.v2` +#### Types: + + +- [AWSLambdaPerRoute](#awslambdaperroute) +- [AWSLambdaProtocolExtension](#awslambdaprotocolextension) +- [AWSLambdaConfig](#awslambdaconfig) +- [ServiceAccountCredentials](#serviceaccountcredentials) +- [ApiGatewayTransformation](#apigatewaytransformation) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/aws/filter.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/aws/filter.proto) + + + + + +--- +### AWSLambdaPerRoute + + +AWS Lambda contains the configuration necessary to perform transform regular +http calls to AWS Lambda invocations. + +```yaml +"name": string +"qualifier": string +"async": bool +"emptyBodyOverride": .google.protobuf.StringValue +"unwrapAsAlb": bool +"transformerConfig": .solo.io.envoy.config.core.v3.TypedExtensionConfig +"requestTransformerConfig": .solo.io.envoy.config.core.v3.TypedExtensionConfig + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | The name of the function. | +| `qualifier` | `string` | The qualifier of the function (defaults to $LATEST if not specified). | +| `async` | `bool` | Invocation type - async or regular. | +| `emptyBodyOverride` | [.google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/string-value) | Optional default body if the body is empty. By default on default body is used if the body empty, and an empty body will be sent upstream. | +| `unwrapAsAlb` | `bool` | Deprecated. Use transformer_config to specify an AWS Lambda response transformer instead. Unwrap responses as AWS ALB does. Expects json lambda responses to construct response. Intended to ease migration when previously using alb to invoke Lambdas. When set on a route the filter will not stream data on the encoding step. For further information see below link for the expected format when true. https://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html Defaults to false. | +| `transformerConfig` | [.solo.io.envoy.config.core.v3.TypedExtensionConfig](../../../config/core/v3/extension.proto.sk/#typedextensionconfig) | transformer configuration used to process response data cannot be configured simultaneously with unwrap_as_alb. | +| `requestTransformerConfig` | [.solo.io.envoy.config.core.v3.TypedExtensionConfig](../../../config/core/v3/extension.proto.sk/#typedextensionconfig) | This is a transformer config, as defined in api.envoy.config.filter.http.transformation.v2 used to process request data. | + + + + +--- +### AWSLambdaProtocolExtension + + + +```yaml +"host": string +"region": string +"accessKey": string +"secretKey": string +"sessionToken": string +"roleArn": string +"disableRoleChaining": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `host` | `string` | The host header for AWS this cluster. | +| `region` | `string` | The region for this cluster. | +| `accessKey` | `string` | The access_key for AWS this cluster. | +| `secretKey` | `string` | The secret_key for AWS this cluster. | +| `sessionToken` | `string` | The session_token for AWS this cluster. | +| `roleArn` | `string` | The role_arn to use when generating credentials for the mounted projected SA token. | +| `disableRoleChaining` | `bool` | Optional override to disable role chaining;. | + + + + +--- +### AWSLambdaConfig + + + +```yaml +"useDefaultCredentials": .google.protobuf.BoolValue +"serviceAccountCredentials": .envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.ServiceAccountCredentials +"propagateOriginalRouting": bool +"credentialRefreshDelay": .google.protobuf.Duration + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `useDefaultCredentials` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Use AWS default credentials chain to get credentials. This will search environment variables, ECS metadata and instance metadata to get the credentials. credentials will be rotated automatically. If credentials are provided on the cluster (using the AWSLambdaProtocolExtension), it will override these credentials. This defaults to false, but may change in the future to true. Only one of `useDefaultCredentials` or `serviceAccountCredentials` can be set. | +| `serviceAccountCredentials` | [.envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.ServiceAccountCredentials](../filter.proto.sk/#serviceaccountcredentials) | Use projected service account token, and role arn to create temporary credentials with which to authenticate lambda requests. This functionality is meant to work along side EKS service account to IAM binding functionality as outlined here: https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html If the following environment values are not present, this option cannot be used. 1. AWS_WEB_IDENTITY_TOKEN_FILE 2. AWS_ROLE_ARN If they are not specified envoy will NACK the config update, which will show up in the logs when running OS Gloo. When running Gloo enterprise it will be reflected in the prometheus stat: "glooe.solo.io/xds/nack" The role arn may also be specified in the `AWSLambdaProtocolExtension` on the cluster level, to override the environment variable. Only one of `serviceAccountCredentials` or `useDefaultCredentials` can be set. | +| `propagateOriginalRouting` | `bool` | Send downstream path and method as `x-envoy-original-path` and `x-envoy-original-method` headers on the request to AWS lambda. Defaults to false. | +| `credentialRefreshDelay` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Sets cadence for refreshing credentials for Service Account. Does nothing if Service account is not set. Does not affect the default filewatch for service account only augments it. Defaults to not refreshing on time period. Suggested is 15 minutes. | + + + + +--- +### ServiceAccountCredentials + + +In order to specify the aws sts endpoint, both the cluster and uri must be set. +This is due to an envoy limitation which cannot infer the host or path from the cluster, +and therefore must be explicitly specified via the uri + +```yaml +"cluster": string +"uri": string +"timeout": .google.protobuf.Duration +"region": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `cluster` | `string` | The name of the envoy cluster which represents the desired aws sts endpoint. | +| `uri` | `string` | The full uri of the aws sts endpoint. | +| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | timeout for the request. | +| `region` | `string` | Region for the sts endpoint. Defaults to us-east-1. | + + + + +--- +### ApiGatewayTransformation + + + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto.sk.md new file mode 100644 index 00000000000..e23200f190e --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto.sk.md @@ -0,0 +1,50 @@ + +--- +title: "config.proto" +weight: 5 +--- + + + + +### Package: `envoy.extensions.cache.grpc.v2` +#### Types: + + +- [GrpcCacheConfig](#grpccacheconfig) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto) + + + + + +--- +### GrpcCacheConfig + + +[#proto-status: experimental] + +```yaml +"service": .solo.io.envoy.config.core.v3.GrpcService +"timeout": .google.protobuf.Duration +"maxPayloadSize": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `service` | [.solo.io.envoy.config.core.v3.GrpcService](../../../../config/core/v3/grpc_service.proto.sk/#grpcservice) | A GRPC service: this maps exactly to envoy GRPC service defintions. | +| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Connection timeout for retrieval from cache. | +| `maxPayloadSize` | `int` | Max payload size to cache. This may be set to protect against large requests or responses by not caching them. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto.sk.md new file mode 100644 index 00000000000..e49331d5848 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto.sk.md @@ -0,0 +1,65 @@ + +--- +title: "sanitize.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.filter.http.sanitize.v2` +#### Types: + + +- [Sanitize](#sanitize) +- [SanitizePerRoute](#sanitizeperroute) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto) + + + + + +--- +### Sanitize + + + +```yaml +"headersToRemove": []string +"customAuthServerName": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `headersToRemove` | `[]string` | | +| `customAuthServerName` | `string` | The name of the custom ext auth server This is only set in the case where multiple auth servers exist. | + + + + +--- +### SanitizePerRoute + + + +```yaml +"customAuthServerName": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `customAuthServerName` | `string` | The name of the custom ext auth server This is only set in the case where multiple auth servers exist. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk.md new file mode 100644 index 00000000000..dabaad457f3 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk.md @@ -0,0 +1,69 @@ + +--- +title: "buffer.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.extensions.filters.http.buffer.v3` +copied from https://github.com/envoyproxy/envoy/blob/3b52fc36373272902d9817f0db97dd2fccc40784/api/envoy/extensions/filters/http/buffer/v3/buffer.proto + + + +#### Types: + + +- [Buffer](#buffer) +- [BufferPerRoute](#bufferperroute) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto) + + + + + +--- +### Buffer + + + +```yaml +"maxRequestBytes": .google.protobuf.UInt32Value + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `maxRequestBytes` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. | + + + + +--- +### BufferPerRoute + + + +```yaml +"disabled": bool +"buffer": .solo.io.envoy.extensions.filters.http.buffer.v3.Buffer + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `disabled` | `bool` | Disable the buffer filter for this particular vhost or route. Only one of `disabled` or `buffer` can be set. | +| `buffer` | [.solo.io.envoy.extensions.filters.http.buffer.v3.Buffer](../buffer.proto.sk/#buffer) | Override the global configuration of the buffer filter with this new config. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. Only one of `buffer` or `disabled` can be set. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk.md new file mode 100644 index 00000000000..529b0c37825 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk.md @@ -0,0 +1,54 @@ + +--- +title: "csrf.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.extensions.filters.http.csrf.v3` +copied from https://github.com/envoyproxy/envoy/blob/main/api/envoy/extensions/filters/http/csrf/v3/csrf.proto + + + +#### Types: + + +- [CsrfPolicy](#csrfpolicy) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto) + + + + + +--- +### CsrfPolicy + + +CSRF filter config. + +```yaml +"filterEnabled": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent +"shadowEnabled": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent +"additionalOrigins": []solo.io.envoy.type.matcher.v3.StringMatcher + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `filterEnabled` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../../../../config/core/v3/base.proto.sk/#runtimefractionalpercent) | Specifies the % of requests for which the CSRF filter is enabled. If runtime_key is specified, Envoy will lookup the runtime key to get the percentage of requests to filter. **Note**: This field defaults to 100/:ref:`HUNDRED `. | +| `shadowEnabled` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../../../../config/core/v3/base.proto.sk/#runtimefractionalpercent) | Specifies that CSRF policies will be evaluated and tracked, but not enforced. This is intended to be used when `filter_enabled` is off and will be ignored otherwise. If runtime_key is specified, Envoy will lookup the runtime key to get the percentage of requests for which it will evaluate and track the request's *Origin* and *Destination* to determine if it's valid, but will not enforce any policies. | +| `additionalOrigins` | [[]solo.io.envoy.type.matcher.v3.StringMatcher](../../../../../../type/matcher/v3/string.proto.sk/#stringmatcher) | Specifies additional source origins that will be allowed in addition to the destination origin. More information on how this can be configured via runtime can be found here. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto.sk.md new file mode 100644 index 00000000000..111cd67c021 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto.sk.md @@ -0,0 +1,93 @@ + +--- +title: "processing_mode.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.extensions.filters.http.ext_proc.v3` +copied from https://github.com/envoyproxy/envoy/blob/ad89a587aa0177bfdad6b5c968a6aead5d9be7a4/api/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto + + + +#### Types: + + +- [ProcessingMode](#processingmode) +- [HeaderSendMode](#headersendmode) +- [BodySendMode](#bodysendmode) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto) + + + + + +--- +### ProcessingMode + + +[#next-free-field: 7] + +```yaml +"requestHeaderMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode +"responseHeaderMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode +"requestBodyMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.BodySendMode +"responseBodyMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.BodySendMode +"requestTrailerMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode +"responseTrailerMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `requestHeaderMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode](../processing_mode.proto.sk/#headersendmode) | How to handle the request header. Default is "SEND". | +| `responseHeaderMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode](../processing_mode.proto.sk/#headersendmode) | How to handle the response header. Default is "SEND". | +| `requestBodyMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.BodySendMode](../processing_mode.proto.sk/#bodysendmode) | How to handle the request body. Default is "NONE". | +| `responseBodyMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.BodySendMode](../processing_mode.proto.sk/#bodysendmode) | How do handle the response body. Default is "NONE". | +| `requestTrailerMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode](../processing_mode.proto.sk/#headersendmode) | How to handle the request trailers. Default is "SKIP". | +| `responseTrailerMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode](../processing_mode.proto.sk/#headersendmode) | How to handle the response trailers. Default is "SKIP". | + + + + +--- +### HeaderSendMode + + +Control how headers and trailers are handled + +| Name | Description | +| ----- | ----------- | +| `DEFAULT` | The default HeaderSendMode depends on which part of the message is being processed. By default, request and response headers are sent, while trailers are skipped. | +| `SEND` | Send the header or trailer. | +| `SKIP` | Do not send the header or trailer. | + + + + +--- +### BodySendMode + + +Control how the request and response bodies are handled + +| Name | Description | +| ----- | ----------- | +| `NONE` | Do not send the body at all. This is the default. | +| `STREAMED` | Stream the body to the server in pieces as they arrive at the proxy. | +| `BUFFERED` | Buffer the message body in memory and send the entire body at once. If the body exceeds the configured buffer limit, then the downstream system will receive an error. | +| `BUFFERED_PARTIAL` | Buffer the message body in memory and send the entire body in one chunk. If the body exceeds the configured buffer limit, then the body contents up to the buffer limit will be sent. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto.sk.md new file mode 100644 index 00000000000..96dea070dee --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto.sk.md @@ -0,0 +1,476 @@ + +--- +title: "config.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.extensions.filters.http.jwt_authn.v3` +#### Types: + + +- [JwtProvider](#jwtprovider) +- [RemoteJwks](#remotejwks) +- [JwksAsyncFetch](#jwksasyncfetch) +- [JwtHeader](#jwtheader) +- [ProviderWithAudiences](#providerwithaudiences) +- [JwtRequirement](#jwtrequirement) +- [JwtRequirementOrList](#jwtrequirementorlist) +- [JwtRequirementAndList](#jwtrequirementandlist) +- [RequirementRule](#requirementrule) +- [FilterStateRule](#filterstaterule) +- [JwtAuthentication](#jwtauthentication) +- [PerRouteConfig](#perrouteconfig) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto) + + + + + +--- +### JwtProvider + + +Please see following for JWT authentication flow: + +* [JSON Web Token (JWT)](https://datatracker.ietf.org/doc/html/rfc7519) +* [The OAuth 2.0 Authorization Framework](https://datatracker.ietf.org/doc/html/rfc6749) +* [OpenID Connect](http://openid.net/connect) + +A JwtProvider message specifies how a JSON Web Token (JWT) can be verified. It specifies: + +* issuer: the principal that issues the JWT. If specified, it has to match the *iss* field in JWT. +* allowed audiences: the ones in the token have to be listed here. +* how to fetch public key JWKS to verify the token signature. +* how to extract JWT token in the request. +* how to pass successfully verified token payload. + +Example: + +.. code-block:: yaml + + issuer: https://example.com + audiences: + - bookstore_android.apps.googleusercontent.com + - bookstore_web.apps.googleusercontent.com + remote_jwks: + http_uri: + uri: https://example.com/.well-known/jwks.json + cluster: example_jwks_cluster + timeout: 1s + cache_duration: + seconds: 300 + +[#next-free-field: 11] + +```yaml +"issuer": string +"audiences": []string +"remoteJwks": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.RemoteJwks +"localJwks": .solo.io.envoy.config.core.v3.DataSource +"forward": bool +"fromHeaders": []solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtHeader +"fromParams": []string +"forwardPayloadHeader": string +"payloadInMetadata": string +"clockSkewSeconds": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `issuer` | `string` | Specify the [principal](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.1) that issued the JWT, usually a URL or an email address. It is optional. If specified, it has to match the *iss* field in JWT. If a JWT has *iss* field and this field is specified, they have to match, otherwise the JWT *iss* field is not checked. Note: *JwtRequirement* :ref:`allow_missing ` and :ref:`allow_missing_or_failed ` are implemented differently than other *JwtRequirements*. Hence the usage of this field is different as follows if *allow_missing* or *allow_missing_or_failed* is used: * If a JWT has *iss* field, it needs to be specified by this field in one of *JwtProviders*. * If a JWT doesn't have *iss* field, one of *JwtProviders* should fill this field empty. * Multiple *JwtProviders* should not have same value in this field. Example: https://securetoken.google.com Example: 1234567-compute@developer.gserviceaccount.com. | +| `audiences` | `[]string` | The list of JWT [audiences](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.3) are allowed to access. A JWT containing any of these audiences will be accepted. If not specified, will not check audiences in the token. Example: .. code-block:: yaml audiences: - bookstore_android.apps.googleusercontent.com - bookstore_web.apps.googleusercontent.com. | +| `remoteJwks` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.RemoteJwks](../config.proto.sk/#remotejwks) | JWKS can be fetched from remote server via HTTP/HTTPS. This field specifies the remote HTTP URI and how the fetched JWKS should be cached. Example: .. code-block:: yaml remote_jwks: http_uri: uri: https://www.googleapis.com/oauth2/v1/certs cluster: jwt.www.googleapis.com|443 timeout: 1s cache_duration: seconds: 300. Only one of `remoteJwks` or `localJwks` can be set. | +| `localJwks` | [.solo.io.envoy.config.core.v3.DataSource](../../../../../../config/core/v3/base.proto.sk/#datasource) | JWKS is in local data source. It could be either in a local file or embedded in the inline_string. Example: local file .. code-block:: yaml local_jwks: filename: /etc/envoy/jwks/jwks1.txt Example: inline_string .. code-block:: yaml local_jwks: inline_string: ACADADADADA. Only one of `localJwks` or `remoteJwks` can be set. | +| `forward` | `bool` | If false, the JWT is removed in the request after a success verification. If true, the JWT is not removed in the request. Default value is false. | +| `fromHeaders` | [[]solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtHeader](../config.proto.sk/#jwtheader) | Two fields below define where to extract the JWT from an HTTP request. If no explicit location is specified, the following default locations are tried in order: 1. The Authorization header using the [Bearer schema](https://datatracker.ietf.org/doc/html/rfc6750#section-2.1). Example:: Authorization: Bearer . 2. [access_token](https://datatracker.ietf.org/doc/html/rfc6750#section-2.3) query parameter. Multiple JWTs can be verified for a request. Each JWT has to be extracted from the locations its provider specified or from the default locations. Specify the HTTP headers to extract JWT token. For examples, following config: .. code-block:: yaml from_headers: - name: x-goog-iap-jwt-assertion can be used to extract token from header:: `x-goog-iap-jwt-assertion: `. | +| `fromParams` | `[]string` | JWT is sent in a query parameter. `jwt_params` represents the query parameter names. For example, if config is: .. code-block:: yaml from_params: - jwt_token The JWT format in query parameter is:: /path?jwt_token=. | +| `forwardPayloadHeader` | `string` | This field specifies the header name to forward a successfully verified JWT payload to the backend. The forwarded data is:: base64url_encoded(jwt_payload_in_JSON) If it is not specified, the payload will not be forwarded. | +| `payloadInMetadata` | `string` | If non empty, successfully verified JWT payloads will be written to StreamInfo DynamicMetadata in the format as: *namespace* is the jwt_authn filter name as **envoy.filters.http.jwt_authn** The value is the *protobuf::Struct*. The value of this field will be the key for its *fields* and the value is the *protobuf::Struct* converted from JWT JSON payload. For example, if payload_in_metadata is *my_payload*: .. code-block:: yaml envoy.filters.http.jwt_authn: my_payload: iss: https://example.com sub: test@example.com aud: https://example.com exp: 1501281058. | +| `clockSkewSeconds` | `int` | Specify the clock skew in seconds when verifying JWT time constraint, such as `exp`, and `nbf`. If not specified, default is 60 seconds. | + + + + +--- +### RemoteJwks + + +This message specifies how to fetch JWKS from remote and how to cache it. + +```yaml +"httpUri": .solo.io.envoy.config.core.v3.HttpUri +"cacheDuration": .google.protobuf.Duration +"asyncFetch": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwksAsyncFetch + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `httpUri` | [.solo.io.envoy.config.core.v3.HttpUri](../../../../../../config/core/v3/http_uri.proto.sk/#httpuri) | The HTTP URI to fetch the JWKS. For example: .. code-block:: yaml http_uri: uri: https://www.googleapis.com/oauth2/v1/certs cluster: jwt.www.googleapis.com|443 timeout: 1s. | +| `cacheDuration` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Duration after which the cached JWKS should be expired. If not specified, default cache duration is 5 minutes. | +| `asyncFetch` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwksAsyncFetch](../config.proto.sk/#jwksasyncfetch) | Fetch Jwks asynchronously in the main thread before the listener is activated. Fetched Jwks can be used by all worker threads. If this feature is not enabled: * The Jwks is fetched on-demand when the requests come. During the fetching, first few requests are paused until the Jwks is fetched. * Each worker thread fetches its own Jwks since Jwks cache is per worker thread. If this feature is enabled: * Fetched Jwks is done in the main thread before the listener is activated. Its fetched Jwks can be used by all worker threads. Each worker thread doesn't need to fetch its own. * Jwks is ready when the requests come, not need to wait for the Jwks fetching. | + + + + +--- +### JwksAsyncFetch + + +Fetch Jwks asynchronously in the main thread when the filter config is parsed. +The listener is activated only after the Jwks is fetched. +When the Jwks is expired in the cache, it is fetched again in the main thread. +The fetched Jwks from the main thread can be used by all worker threads. + +```yaml +"fastListener": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `fastListener` | `bool` | If false, the listener is activated after the initial fetch is completed. The initial fetch result can be either successful or failed. If true, it is activated without waiting for the initial fetch to complete. Default is false. | + + + + +--- +### JwtHeader + + +This message specifies a header location to extract JWT token. + +```yaml +"name": string +"valuePrefix": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | The HTTP header name. | +| `valuePrefix` | `string` | The value prefix. The value format is "value_prefix" For example, for "Authorization: Bearer ", value_prefix="Bearer " with a space at the end. | + + + + +--- +### ProviderWithAudiences + + +Specify a required provider with audiences. + +```yaml +"providerName": string +"audiences": []string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `providerName` | `string` | Specify a required provider name. | +| `audiences` | `[]string` | This field overrides the one specified in the JwtProvider. | + + + + +--- +### JwtRequirement + + +This message specifies a Jwt requirement. An empty message means JWT verification is not +required. Here are some config examples: + +.. code-block:: yaml + + # Example 1: not required with an empty message + + # Example 2: require A + provider_name: provider-A + + # Example 3: require A or B + requires_any: + requirements: + - provider_name: provider-A + - provider_name: provider-B + + # Example 4: require A and B + requires_all: + requirements: + - provider_name: provider-A + - provider_name: provider-B + + # Example 5: require A and (B or C) + requires_all: + requirements: + - provider_name: provider-A + - requires_any: + requirements: + - provider_name: provider-B + - provider_name: provider-C + + # Example 6: require A or (B and C) + requires_any: + requirements: + - provider_name: provider-A + - requires_all: + requirements: + - provider_name: provider-B + - provider_name: provider-C + + # Example 7: A is optional (if token from A is provided, it must be valid, but also allows + missing token.) + requires_any: + requirements: + - provider_name: provider-A + - allow_missing: {} + + # Example 8: A is optional and B is required. + requires_all: + requirements: + - requires_any: + requirements: + - provider_name: provider-A + - allow_missing: {} + - provider_name: provider-B + +[#next-free-field: 7] + +```yaml +"providerName": string +"providerAndAudiences": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.ProviderWithAudiences +"requiresAny": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementOrList +"requiresAll": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementAndList +"allowMissingOrFailed": .google.protobuf.Empty +"allowMissing": .google.protobuf.Empty + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `providerName` | `string` | Specify a required provider name. Only one of `providerName`, `providerAndAudiences`, `requiresAny`, `requiresAll`, `allowMissingOrFailed`, or `allowMissing` can be set. | +| `providerAndAudiences` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.ProviderWithAudiences](../config.proto.sk/#providerwithaudiences) | Specify a required provider with audiences. Only one of `providerAndAudiences`, `providerName`, `requiresAny`, `requiresAll`, `allowMissingOrFailed`, or `allowMissing` can be set. | +| `requiresAny` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementOrList](../config.proto.sk/#jwtrequirementorlist) | Specify list of JwtRequirement. Their results are OR-ed. If any one of them passes, the result is passed. Only one of `requiresAny`, `providerName`, `providerAndAudiences`, `requiresAll`, `allowMissingOrFailed`, or `allowMissing` can be set. | +| `requiresAll` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementAndList](../config.proto.sk/#jwtrequirementandlist) | Specify list of JwtRequirement. Their results are AND-ed. All of them must pass, if one of them fails or missing, it fails. Only one of `requiresAll`, `providerName`, `providerAndAudiences`, `requiresAny`, `allowMissingOrFailed`, or `allowMissing` can be set. | +| `allowMissingOrFailed` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | The requirement is always satisfied even if JWT is missing or the JWT verification fails. A typical usage is: this filter is used to only verify JWTs and pass the verified JWT payloads to another filter, the other filter will make decision. In this mode, all JWT tokens will be verified. Only one of `allowMissingOrFailed`, `providerName`, `providerAndAudiences`, `requiresAny`, `requiresAll`, or `allowMissing` can be set. | +| `allowMissing` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | The requirement is satisfied if JWT is missing, but failed if JWT is presented but invalid. Similar to allow_missing_or_failed, this is used to only verify JWTs and pass the verified payload to another filter. The different is this mode will reject requests with invalid tokens. Only one of `allowMissing`, `providerName`, `providerAndAudiences`, `requiresAny`, `requiresAll`, or `allowMissingOrFailed` can be set. | + + + + +--- +### JwtRequirementOrList + + +This message specifies a list of RequiredProvider. +Their results are OR-ed; if any one of them passes, the result is passed + +```yaml +"requirements": []solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `requirements` | [[]solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement](../config.proto.sk/#jwtrequirement) | Specify a list of JwtRequirement. | + + + + +--- +### JwtRequirementAndList + + +This message specifies a list of RequiredProvider. +Their results are AND-ed; all of them must pass, if one of them fails or missing, it fails. + +```yaml +"requirements": []solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `requirements` | [[]solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement](../config.proto.sk/#jwtrequirement) | Specify a list of JwtRequirement. | + + + + +--- +### RequirementRule + + +This message specifies a Jwt requirement for a specific Route condition. +Example 1: + +.. code-block:: yaml + + - match: + prefix: /healthz + +In above example, "requires" field is empty for /healthz prefix match, +it means that requests matching the path prefix don't require JWT authentication. + +Example 2: + +.. code-block:: yaml + + - match: + prefix: / + requires: { provider_name: provider-A } + +In above example, all requests matched the path prefix require jwt authentication +from "provider-A". + +```yaml +"match": .solo.io.envoy.config.route.v3.RouteMatch +"requires": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement +"requirementName": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `match` | [.solo.io.envoy.config.route.v3.RouteMatch](../../../../../../config/route/v3/route_components.proto.sk/#routematch) | The route matching parameter. Only when the match is satisfied, the "requires" field will apply. For example: following match will match all requests. .. code-block:: yaml match: prefix: /. | +| `requires` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement](../config.proto.sk/#jwtrequirement) | Specify a Jwt requirement. Please see detail comment in message JwtRequirement. Only one of `requires` or `requirementName` can be set. | +| `requirementName` | `string` | Use requirement_name to specify a Jwt requirement. This requirement_name MUST be specified at the :ref:`requirement_map ` in `JwtAuthentication`. Only one of `requirementName` or `requires` can be set. | + + + + +--- +### FilterStateRule + + +This message specifies Jwt requirements based on stream_info.filterState. +This FilterState should use `Router::StringAccessor` object to set a string value. +Other HTTP filters can use it to specify Jwt requirements dynamically. + +Example: + +.. code-block:: yaml + + name: jwt_selector + requires: + issuer_1: + provider_name: issuer1 + issuer_2: + provider_name: issuer2 + +If a filter set "jwt_selector" with "issuer_1" to FilterState for a request, +jwt_authn filter will use JwtRequirement{"provider_name": "issuer1"} to verify. + +```yaml +"name": string +"requires": map + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | The filter state name to retrieve the `Router::StringAccessor` object. | +| `requires` | `map` | A map of string keys to requirements. The string key is the string value in the FilterState with the name specified in the *name* field above. | + + + + +--- +### JwtAuthentication + + +This is the Envoy HTTP filter config for JWT authentication. + +For example: + +.. code-block:: yaml + + providers: + provider1: + issuer: issuer1 + audiences: + - audience1 + - audience2 + remote_jwks: + http_uri: + uri: https://example.com/.well-known/jwks.json + cluster: example_jwks_cluster + timeout: 1s + provider2: + issuer: issuer2 + local_jwks: + inline_string: jwks_string + + rules: + # Not jwt verification is required for /health path + - match: + prefix: /health + + # Jwt verification for provider1 is required for path prefixed with "prefix" + - match: + prefix: /prefix + requires: + provider_name: provider1 + + # Jwt verification for either provider1 or provider2 is required for all other requests. + - match: + prefix: / + requires: + requires_any: + requirements: + - provider_name: provider1 + - provider_name: provider2 + +[#next-free-field: 6] + +```yaml +"providers": map +"rules": []solo.io.envoy.extensions.filters.http.jwt_authn.v3.RequirementRule +"filterStateRules": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.FilterStateRule +"bypassCorsPreflight": bool +"requirementMap": map + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `providers` | `map` | Map of provider names to JwtProviders. .. code-block:: yaml providers: provider1: issuer: issuer1 audiences: - audience1 - audience2 remote_jwks: http_uri: uri: https://example.com/.well-known/jwks.json cluster: example_jwks_cluster timeout: 1s provider2: issuer: provider2 local_jwks: inline_string: jwks_string. | +| `rules` | [[]solo.io.envoy.extensions.filters.http.jwt_authn.v3.RequirementRule](../config.proto.sk/#requirementrule) | Specifies requirements based on the route matches. The first matched requirement will be applied. If there are overlapped match conditions, please put the most specific match first. Examples .. code-block:: yaml rules: - match: prefix: /healthz - match: prefix: /baz requires: provider_name: provider1 - match: prefix: /foo requires: requires_any: requirements: - provider_name: provider1 - provider_name: provider2 - match: prefix: /bar requires: requires_all: requirements: - provider_name: provider1 - provider_name: provider2. | +| `filterStateRules` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.FilterStateRule](../config.proto.sk/#filterstaterule) | This message specifies Jwt requirements based on stream_info.filterState. Other HTTP filters can use it to specify Jwt requirements dynamically. The *rules* field above is checked first, if it could not find any matches, check this one. | +| `bypassCorsPreflight` | `bool` | When set to true, bypass the [CORS preflight request](http://www.w3.org/TR/cors/#cross-origin-request-with-preflight) regardless of JWT requirements specified in the rules. | +| `requirementMap` | `map` | A map of unique requirement_names to JwtRequirements. :ref:`requirement_name ` in `PerRouteConfig` uses this map to specify a JwtRequirement. | + + + + +--- +### PerRouteConfig + + +Specify per-route config. + +```yaml +"disabled": bool +"requirementName": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `disabled` | `bool` | Disable Jwt Authentication for this route. Only one of `disabled` or `requirementName` can be set. | +| `requirementName` | `string` | Use requirement_name to specify a JwtRequirement. This requirement_name MUST be specified at the :ref:`requirement_map ` in `JwtAuthentication`. If no, the requests using this route will be rejected with 403. Only one of `requirementName` or `disabled` can be set. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto.sk.md new file mode 100644 index 00000000000..003599e2918 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto.sk.md @@ -0,0 +1,49 @@ + +--- +title: "wasm.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.extensions.filters.http.wasm.v3` +copied from https://github.com/envoyproxy/envoy-wasm/blob/2721ee7897207c87c6cd2d26cccda6cc805e826b/api/envoy/extensions/filters/http/wasm/v3/wasm.proto + + + +#### Types: + + +- [Wasm](#wasm) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto) + + + + + +--- +### Wasm + + + +```yaml +"config": .solo.io.envoy.extensions.wasm.v3.PluginConfig + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `config` | [.solo.io.envoy.extensions.wasm.v3.PluginConfig](../../../../../wasm/v3/wasm.proto.sk/#pluginconfig) | General Plugin configuration. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto.sk.md new file mode 100644 index 00000000000..042f9d13348 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto.sk.md @@ -0,0 +1,814 @@ + +--- +title: "graphql.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.filter.http.graphql.v2` +#### Types: + + +- [PathSegment](#pathsegment) +- [Path](#path) +- [TemplatedPath](#templatedpath) +- [ValueProvider](#valueprovider) +- [GraphQLArgExtraction](#graphqlargextraction) +- [GraphQLParentExtraction](#graphqlparentextraction) +- [TypedValueProvider](#typedvalueprovider) +- [Type](#type) +- [Provider](#provider) +- [JsonValueList](#jsonvaluelist) +- [JsonValue](#jsonvalue) +- [JsonKeyValue](#jsonkeyvalue) +- [JsonNode](#jsonnode) +- [RequestTemplate](#requesttemplate) +- [ResponseTemplate](#responsetemplate) +- [RESTResolver](#restresolver) +- [GrpcRequestTemplate](#grpcrequesttemplate) +- [GrpcDescriptorRegistry](#grpcdescriptorregistry) +- [GrpcResolver](#grpcresolver) +- [StaticResolver](#staticresolver) +- [AsyncResponse](#asyncresponse) +- [AbstractTypeResolver](#abstracttyperesolver) +- [QueryMatcher](#querymatcher) +- [FieldMatcher](#fieldmatcher) +- [Resolution](#resolution) +- [CacheControl](#cachecontrol) +- [CacheControlScope](#cachecontrolscope) +- [GraphQLConfig](#graphqlconfig) +- [GraphQLRouteConfig](#graphqlrouteconfig) +- [PersistedQueryCacheConfig](#persistedquerycacheconfig) +- [ExecutableSchema](#executableschema) +- [Executor](#executor) +- [Local](#local) +- [Remote](#remote) +- [Extraction](#extraction) +- [DynamicMetadataExtraction](#dynamicmetadataextraction) +- [RemoteSchemaRequest](#remoteschemarequest) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto) + + + + + +--- +### PathSegment + + +used to reference into json structures by key(s) + +```yaml +"key": string +"index": int +"all": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `key` | `string` | This will extract a key from a Map value. Only one of `key`, `index`, or `all` can be set. | +| `index` | `int` | Extract element at list. Only one of `index`, `key`, or `all` can be set. | +| `all` | `bool` | Extracts all elements from a map or a list. Only one of `all`, `key`, or `index` can be set. | + + + + +--- +### Path + + + +```yaml +"segments": []envoy.config.filter.http.graphql.v2.PathSegment + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `segments` | [[]envoy.config.filter.http.graphql.v2.PathSegment](../graphql.proto.sk/#pathsegment) | | + + + + +--- +### TemplatedPath + + + +```yaml +"pathTemplate": string +"namedPaths": map + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `pathTemplate` | `string` | If non-empty, Inserts named paths into a template string. For example, if the template is '/api/{apiVersionPath}/pet/{petIdPath}' and we have two named paths defined in `named_paths`, apiVersionPath and petIdPath, with extracted values 'v2' and '123' respectively, the final resulting value will be '/api/v2/pet/123' Use {PATH_NAME} as the interpolation notation (even repeated) regardless of the type of the provided value. If an undefined PATH_NAME is used in the template, this will nack during configuration. If this is empty, only the value of the first provider will be used as the resulting value. | +| `namedPaths` | `map` | | + + + + +--- +### ValueProvider + + +In the future we may add support for regex and subgroups + +```yaml +"providers": map +"providerTemplate": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `providers` | `map` | Map of provider name to provider definition. The name will be used to insert the provider value in the provider_template. | +| `providerTemplate` | `string` | If non-empty, Inserts named providers into a template string. For example, if the provider_template is '/api/{apiVersionProvider}/pet/{petIdProvider}' and we have two named providers defined in `providers`, apiVersionProvider and petIdProvider, with extracted values 'v2' and '123' respectively, the final resulting value will be '/api/v2/pet/123' Use {PROVIDER_NAME} as the interpolation notation (even repeated) regardless of the type of the provided value. If an undefined PROVIDER_NAME is used in the provider_template, this will nack during configuration. If this is empty, only the value of the first provider will be used as the resulting value. | + + + + +--- +### GraphQLArgExtraction + + + +```yaml +"argName": string +"path": []envoy.config.filter.http.graphql.v2.PathSegment + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `argName` | `string` | The argument name to fetch. The argument value fetched will have a type from the schema that we validate in envoy. If the name is invalid, returns the zero-value primitive or null. | +| `path` | [[]envoy.config.filter.http.graphql.v2.PathSegment](../graphql.proto.sk/#pathsegment) | Optional: fetches the value in the argument selected at this key. If the key is invalid, returns the zero-value primitive or null. | + + + + +--- +### GraphQLParentExtraction + + +Does not do type coercion, but instead if the type does not match the +expected primitive type we throw an error. +In the future we may add support for type coercion. + +```yaml +"path": []envoy.config.filter.http.graphql.v2.PathSegment + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `path` | [[]envoy.config.filter.http.graphql.v2.PathSegment](../graphql.proto.sk/#pathsegment) | Fetches the value in the graphql parent at this key. The value will always be accepted since the parent object is not strongly-typed. If the key is invalid, returns null. | + + + + +--- +### TypedValueProvider + + + +```yaml +"type": .envoy.config.filter.http.graphql.v2.ValueProvider.TypedValueProvider.Type +"header": string +"value": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `type` | [.envoy.config.filter.http.graphql.v2.ValueProvider.TypedValueProvider.Type](../graphql.proto.sk/#type) | Type that the value will be coerced into. For example if the extracted value is "9", and type is INT, this value will be cast to an int type. | +| `header` | `string` | Fetches the request/response header's value. If not found, uses empty string. Only one of `header` or `value` can be set. | +| `value` | `string` | inline value, use as provided rather than extracting from another source. Only one of `value` or `header` can be set. | + + + + +--- +### Type + + +if empty, defaults to string. similar to typeUrl in other envoy config + +| Name | Description | +| ----- | ----------- | +| `STRING` | | +| `INT` | | +| `FLOAT` | | +| `BOOLEAN` | | + + + + +--- +### Provider + + + +```yaml +"graphqlArg": .envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLArgExtraction +"typedProvider": .envoy.config.filter.http.graphql.v2.ValueProvider.TypedValueProvider +"graphqlParent": .envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLParentExtraction + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `graphqlArg` | [.envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLArgExtraction](../graphql.proto.sk/#graphqlargextraction) | type inferred from schema, no need to provide it. Only one of `graphqlArg`, `typedProvider`, or `graphqlParent` can be set. | +| `typedProvider` | [.envoy.config.filter.http.graphql.v2.ValueProvider.TypedValueProvider](../graphql.proto.sk/#typedvalueprovider) | Only one of `typedProvider`, `graphqlArg`, or `graphqlParent` can be set. | +| `graphqlParent` | [.envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLParentExtraction](../graphql.proto.sk/#graphqlparentextraction) | Fetch value from the graphql_parent of the current field. Only one of `graphqlParent`, `graphqlArg`, or `typedProvider` can be set. | + + + + +--- +### JsonValueList + + + +```yaml +"values": []envoy.config.filter.http.graphql.v2.JsonValue + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `values` | [[]envoy.config.filter.http.graphql.v2.JsonValue](../graphql.proto.sk/#jsonvalue) | | + + + + +--- +### JsonValue + + + +```yaml +"node": .envoy.config.filter.http.graphql.v2.JsonNode +"valueProvider": .envoy.config.filter.http.graphql.v2.ValueProvider +"list": .envoy.config.filter.http.graphql.v2.JsonValueList + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `node` | [.envoy.config.filter.http.graphql.v2.JsonNode](../graphql.proto.sk/#jsonnode) | Only one of `node`, `valueProvider`, or `list` can be set. | +| `valueProvider` | [.envoy.config.filter.http.graphql.v2.ValueProvider](../graphql.proto.sk/#valueprovider) | Only one of `valueProvider`, `node`, or `list` can be set. | +| `list` | [.envoy.config.filter.http.graphql.v2.JsonValueList](../graphql.proto.sk/#jsonvaluelist) | Only one of `list`, `node`, or `valueProvider` can be set. | + + + + +--- +### JsonKeyValue + + + +```yaml +"key": string +"value": .envoy.config.filter.http.graphql.v2.JsonValue + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `key` | `string` | PARTIALLY IMPLEMENTED if empty, the value will be parsed as json and replace the entire previously-parsed json value --> this part is only needed for gRPC and thus not implemented yet. | +| `value` | [.envoy.config.filter.http.graphql.v2.JsonValue](../graphql.proto.sk/#jsonvalue) | | + + + + +--- +### JsonNode + + +Represents a typed JSON structure + +```yaml +"keyValues": []envoy.config.filter.http.graphql.v2.JsonKeyValue + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `keyValues` | [[]envoy.config.filter.http.graphql.v2.JsonKeyValue](../graphql.proto.sk/#jsonkeyvalue) | if keys repeat, the latest one replaces any earlier values associated with that key. repeated list, rather than a map, to have ordering to allow for merge semantics within the data plane, for example: - gRPC input uses special empty string for input key to set entire body - gRPC wants to replace a certain field in parsed body from GraphQL arg. | + + + + +--- +### RequestTemplate + + +Defines a configuration for generating outgoing requests for a resolver. + +```yaml +"headers": map +"queryParams": map +"outgoingBody": .envoy.config.filter.http.graphql.v2.JsonValue + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `headers` | `map` | Use this attribute to set request headers to your REST service. It consists of a map of strings to value providers. The string key determines the name of the resulting header, the value provided will be the value. at least need ":method" and ":path". | +| `queryParams` | `map` | Use this attribute to set query parameters to your REST service. It consists of a map of strings to value providers. The string key determines the name of the query param, the provided value will be the value. This value is appended to any value set to the :path header in `headers`. Interpolation is done in envoy rather than the control plane to prevent escaped character issues. Additionally, we may be providing values not known until the request is being executed (e.g., graphql parent info). | +| `outgoingBody` | [.envoy.config.filter.http.graphql.v2.JsonValue](../graphql.proto.sk/#jsonvalue) | implementation specific, gRPC will want gRPC message and struct to instantiate. | + + + + +--- +### ResponseTemplate + + +Defines a response transformation template. +modify JSON response from upstream before it is processed by execution engine. + +```yaml +"resultRoot": []envoy.config.filter.http.graphql.v2.PathSegment +"setters": map + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `resultRoot` | [[]envoy.config.filter.http.graphql.v2.PathSegment](../graphql.proto.sk/#pathsegment) | In cases where the data to populate the graphql type is not in the root object of the result, use result root to specify the path of the response we should use as the root. If {"a": {"b": [1,2,3]}} is the response from the api, setting resultroot as `a.b` will pass on [1,2,3] to the execution engine rather than the whole api response. | +| `setters` | `map` | Example: ``` type Query { getSimple: Simple } type Simple { name String address String }``` if we do `getsimple` and the response we get back from the upstream is ``` {"data": { "people": { "name": "John Doe", "details": { "address": "123 Turnip Rd" } } } } ``` the following response transform would let the graphql execution engine correctly marshal the upstream resposne into the expected graphql response: ` responseTransform: result_root: segments: - key: data - key: people setters: address: segments: - key: details - key: address `yaml. | + + + + +--- +### RESTResolver + + + +```yaml +"serverUri": .solo.io.envoy.config.core.v3.HttpUri +"requestTransform": .envoy.config.filter.http.graphql.v2.RequestTemplate +"preExecutionTransform": .envoy.config.filter.http.graphql.v2.ResponseTemplate +"spanName": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `serverUri` | [.solo.io.envoy.config.core.v3.HttpUri](../../../config/core/v3/http_uri.proto.sk/#httpuri) | | +| `requestTransform` | [.envoy.config.filter.http.graphql.v2.RequestTemplate](../graphql.proto.sk/#requesttemplate) | configuration used to compose the outgoing request to a REST API. | +| `preExecutionTransform` | [.envoy.config.filter.http.graphql.v2.ResponseTemplate](../graphql.proto.sk/#responsetemplate) | pre-execution engine transformations Request flow: GraphQL request -> request_transform (instantiate REST request) -> REST API resp -> pre_execution_transform -> execution engine -> complete GraphQL field response. | +| `spanName` | `string` | | + + + + +--- +### GrpcRequestTemplate + + +Defines a configuration for generating outgoing requests for a resolver. + +```yaml +"outgoingMessageJson": .envoy.config.filter.http.graphql.v2.JsonValue +"serviceName": string +"methodName": string +"requestMetadata": map + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `outgoingMessageJson` | [.envoy.config.filter.http.graphql.v2.JsonValue](../graphql.proto.sk/#jsonvalue) | json representation of outgoing gRPC message to be sent to gRPC service. | +| `serviceName` | `string` | request has shape matching service with name registered in registry is the full_name(), e.g. main.Bookstore. | +| `methodName` | `string` | make request to method with this name on the grpc service defined above is just the name(), e.g. GetBook. | +| `requestMetadata` | `map` | in the future, we may want to make this a map once we know better what the use cases are. | + + + + +--- +### GrpcDescriptorRegistry + + +Defines a configuration for serializing and deserializing requests for a gRPC resolver. +Is a Schema Extension + +```yaml +"protoDescriptors": .solo.io.envoy.config.core.v3.DataSource + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `protoDescriptors` | [.solo.io.envoy.config.core.v3.DataSource](../../../config/core/v3/base.proto.sk/#datasource) | | + + + + +--- +### GrpcResolver + + + +```yaml +"serverUri": .solo.io.envoy.config.core.v3.HttpUri +"requestTransform": .envoy.config.filter.http.graphql.v2.GrpcRequestTemplate +"spanName": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `serverUri` | [.solo.io.envoy.config.core.v3.HttpUri](../../../config/core/v3/http_uri.proto.sk/#httpuri) | | +| `requestTransform` | [.envoy.config.filter.http.graphql.v2.GrpcRequestTemplate](../graphql.proto.sk/#grpcrequesttemplate) | configuration used to compose the outgoing request to a gRPC endpoint. | +| `spanName` | `string` | pre-execution engine transformations Request flow: GraphQL request -> request_transform (instantiate gRPC request) -> gRPC API resp -> pre_execution_transform -> execution engine -> complete GraphQL field response ResponseTemplate pre_execution_transform = 3;. | + + + + +--- +### StaticResolver + + +Only meant for integration testing + +```yaml +"syncResponse": string +"asyncResponse": .envoy.config.filter.http.graphql.v2.StaticResolver.AsyncResponse +"errorResponse": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `syncResponse` | `string` | Responds synchronously (on the same dispatch loop as the resolve call). Only one of `syncResponse`, `asyncResponse`, or `errorResponse` can be set. | +| `asyncResponse` | [.envoy.config.filter.http.graphql.v2.StaticResolver.AsyncResponse](../graphql.proto.sk/#asyncresponse) | Responds asynchronously after delay_ms. Only one of `asyncResponse`, `syncResponse`, or `errorResponse` can be set. | +| `errorResponse` | `string` | Only one of `errorResponse`, `syncResponse`, or `asyncResponse` can be set. | + + + + +--- +### AsyncResponse + + + +```yaml +"response": string +"delayMs": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `response` | `string` | | +| `delayMs` | `int` | | + + + + +--- +### AbstractTypeResolver + + +NOT IMPLEMENTED +Resolve an abstract type (union or interface) to a real type. +When implemented, this message will be a field in the Resolution message. + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + +--- +### QueryMatcher + + + +```yaml +"fieldMatcher": .envoy.config.filter.http.graphql.v2.QueryMatcher.FieldMatcher + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `fieldMatcher` | [.envoy.config.filter.http.graphql.v2.QueryMatcher.FieldMatcher](../graphql.proto.sk/#fieldmatcher) | | + + + + +--- +### FieldMatcher + + + +```yaml +"type": string +"field": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `type` | `string` | Object type. For example, Query. | +| `field` | `string` | Field within the object. | + + + + +--- +### Resolution + + +This is the resolver map for the schema. +For each Type.Field, we can define a resolver. +if a field does not have resolver, the default resolver will be used. +the default resolver takes the field with the same name from the parent, and +uses that value to resolve the field. if a field with the same name does not +exist in the parent, null will be used. + +```yaml +"matcher": .envoy.config.filter.http.graphql.v2.QueryMatcher +"resolver": .solo.io.envoy.config.core.v3.TypedExtensionConfig +"statPrefix": string +"cacheControl": .envoy.config.filter.http.graphql.v2.CacheControl + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `matcher` | [.envoy.config.filter.http.graphql.v2.QueryMatcher](../graphql.proto.sk/#querymatcher) | Match an object type and field. | +| `resolver` | [.solo.io.envoy.config.core.v3.TypedExtensionConfig](../../../config/core/v3/extension.proto.sk/#typedextensionconfig) | The resolver to use. | +| `statPrefix` | `string` | The stats prefix which will be used for this resolver. | +| `cacheControl` | [.envoy.config.filter.http.graphql.v2.CacheControl](../graphql.proto.sk/#cachecontrol) | caching configuration, defaults to no caching. | + + + + +--- +### CacheControl + + +Resolvers for scalar, non-root fields rarely fetch data and instead usually populate data via the parent argument. +Consequently, these fields inherit their default maxAge from their parent to reduce schema clutter. + +TODO: Talk with product -- apollo does not do this, but we could factor in upstream Cache-Control header +response into our inheritance model. + +```yaml +"maxAge": .google.protobuf.UInt32Value +"scope": .envoy.config.filter.http.graphql.v2.CacheControl.CacheControlScope +"inheritMaxAge": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `maxAge` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | number of seconds to cache result for. the max_age used for a single graphql request is the minimum of all fields requested. default max_age rules work as follows: - root fields (i.e. Query, Mutation, Subscription) default to 0s - non-root, non-scalar fields (i.e. object, interface, or union; or a list of those types) default to 0s - all other fields inherit the max_age from their parent. | +| `scope` | [.envoy.config.filter.http.graphql.v2.CacheControl.CacheControlScope](../graphql.proto.sk/#cachecontrolscope) | provide controls to which users can access cached content. | +| `inheritMaxAge` | `bool` | whether or not to inherit the caching configuration of any parent fields. | + + + + +--- +### CacheControlScope + + + +| Name | Description | +| ----- | ----------- | +| `UNSET` | | +| `PUBLIC` | Responses for requests with Authorization header fields must not be stored in a shared cache. But the public directive will cause such responses to be stored in a shared cache. In general, when pages are under Basic Auth or Digest Auth, the browser sends requests with the Authorization header. That means the response is access-controlled for restricted users (who have accounts), and it's fundamentally not shared-cacheable, even if it has max-age. You can use the public directive to unlock that restriction. | +| `PRIVATE` | You should add the private directive for user-personalized content — in particular, responses received after login, and sessions managed via cookies. If you forget to add private to a response with personalized content, then that response can be stored in a shared cache and end up being reused for multiple users, which can cause personal information to leak. | + + + + +--- +### GraphQLConfig + + +Filter Listener config. Empty as the filter must be configured on the route +level. + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + +--- +### GraphQLRouteConfig + + +Filter Route config. Routes that have this config will execute graphql +queries, and will not make it to the router filter. i.e. this filter will +terminate the request for these routes. + +```yaml +"executableSchema": .envoy.config.filter.http.graphql.v2.ExecutableSchema +"statPrefix": string +"persistedQueryCacheConfig": .envoy.config.filter.http.graphql.v2.PersistedQueryCacheConfig +"allowedQueryHashes": []string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `executableSchema` | [.envoy.config.filter.http.graphql.v2.ExecutableSchema](../graphql.proto.sk/#executableschema) | | +| `statPrefix` | `string` | The stats prefix which will be used for this route config. | +| `persistedQueryCacheConfig` | [.envoy.config.filter.http.graphql.v2.PersistedQueryCacheConfig](../graphql.proto.sk/#persistedquerycacheconfig) | Configuration settings for persisted query cache. | +| `allowedQueryHashes` | `[]string` | Safelist: only allow queries to be executed that match these sha256 hashes. The hash can be computed from the query string or provided (i.e. persisted queries). | + + + + +--- +### PersistedQueryCacheConfig + + +This message specifies Persisted Query Cache configuration. + +```yaml +"cacheSize": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `cacheSize` | `int` | The unit is number of queries to store, default to 1000. | + + + + +--- +### ExecutableSchema + + + +```yaml +"schemaDefinition": .solo.io.envoy.config.core.v3.DataSource +"executor": .envoy.config.filter.http.graphql.v2.Executor +"extensions": map +"logRequestResponseInfo": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `schemaDefinition` | [.solo.io.envoy.config.core.v3.DataSource](../../../config/core/v3/base.proto.sk/#datasource) | Schema to use in string format. | +| `executor` | [.envoy.config.filter.http.graphql.v2.Executor](../graphql.proto.sk/#executor) | how to execute the schema. | +| `extensions` | `map` | Schema extensions. | +| `logRequestResponseInfo` | `bool` | Logs request / response sensitive information By default, this is false so no request or response sensitive information is logged. | + + + + +--- +### Executor + + + +```yaml +"local": .envoy.config.filter.http.graphql.v2.Executor.Local +"remote": .envoy.config.filter.http.graphql.v2.Executor.Remote + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `local` | [.envoy.config.filter.http.graphql.v2.Executor.Local](../graphql.proto.sk/#local) | Only one of `local` or `remote` can be set. | +| `remote` | [.envoy.config.filter.http.graphql.v2.Executor.Remote](../graphql.proto.sk/#remote) | Only one of `remote` or `local` can be set. | + + + + +--- +### Local + + +Execute schema using resolvers. + +```yaml +"resolutions": []envoy.config.filter.http.graphql.v2.Resolution +"enableIntrospection": bool +"maxDepth": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `resolutions` | [[]envoy.config.filter.http.graphql.v2.Resolution](../graphql.proto.sk/#resolution) | The resolver map to use to resolve the schema. | +| `enableIntrospection` | `bool` | Do we enable introspection for the schema? general recommendation is to disable this for production and hence it defaults to false. | +| `maxDepth` | `int` | The max amount of nesting a query can be executed against this schema. e.g. the following query has these depths: query { # Depth: 0 me { # Depth: 1 friends { # Depth: 2 friends # Depth: 3 } } } If the max_depth is set to 2, then the query at depth 3 will receive an error as a response. The max_depth value of 0 (set by default) will allow an unbounded query depth. | + + + + +--- +### Remote + + +Execute schema by querying a graphql upstream. + +```yaml +"serverUri": .solo.io.envoy.config.core.v3.HttpUri +"request": .envoy.config.filter.http.graphql.v2.Executor.Remote.RemoteSchemaRequest +"spanName": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `serverUri` | [.solo.io.envoy.config.core.v3.HttpUri](../../../config/core/v3/http_uri.proto.sk/#httpuri) | Server URI of the remote graphql cluster. | +| `request` | [.envoy.config.filter.http.graphql.v2.Executor.Remote.RemoteSchemaRequest](../graphql.proto.sk/#remoteschemarequest) | | +| `spanName` | `string` | | + + + + +--- +### Extraction + + + +```yaml +"value": string +"header": string +"dynamicMetadata": .envoy.config.filter.http.graphql.v2.Executor.Remote.Extraction.DynamicMetadataExtraction + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `value` | `string` | Set the extraction type to use a static value. Only one of `value`, `header`, or `dynamicMetadata` can be set. | +| `header` | `string` | Set the extraction type to use a header value. Specify the name of the header to extract the value from on the original request. Only one of `header`, `value`, or `dynamicMetadata` can be set. | +| `dynamicMetadata` | [.envoy.config.filter.http.graphql.v2.Executor.Remote.Extraction.DynamicMetadataExtraction](../graphql.proto.sk/#dynamicmetadataextraction) | Set the extraction type to use a dynamic metadata value. Only one of `dynamicMetadata`, `value`, or `header` can be set. | + + + + +--- +### DynamicMetadataExtraction + + + +```yaml +"metadataNamespace": string +"key": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `metadataNamespace` | `string` | The namespace that the dynamic metadata is stored in. | +| `key` | `string` | The key in the namespace that the dynamic metadata is stored under. | + + + + +--- +### RemoteSchemaRequest + + + +```yaml +"headers": map +"queryParams": map + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `headers` | `map` | Map of headers to header value which will be included in the request to the remote graphql server. | +| `queryParams` | `map` | Query params to set on the request to the remote graphql server. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto.sk.md new file mode 100644 index 00000000000..3583f6de550 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto.sk.md @@ -0,0 +1,249 @@ + +--- +title: "stitching.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.resolver.stitching.v2` +#### Types: + + +- [FieldNode](#fieldnode) +- [FieldNodeMap](#fieldnodemap) +- [FieldNodes](#fieldnodes) +- [ResolverConfig](#resolverconfig) +- [Schemas](#schemas) +- [ArgPath](#argpath) +- [ResolverInfo](#resolverinfo) +- [MergedTypeConfig](#mergedtypeconfig) +- [StitchingInfo](#stitchinginfo) +- [SubschemaConfig](#subschemaconfig) +- [StitchingResolver](#stitchingresolver) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto) + + + + + +--- +### FieldNode + + + +```yaml +"name": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | | + + + + +--- +### FieldNodeMap + + + +```yaml +"nodes": map + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `nodes` | `map` | | + + + + +--- +### FieldNodes + + + +```yaml +"fieldNodes": []envoy.config.resolver.stitching.v2.FieldNode + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `fieldNodes` | [[]envoy.config.resolver.stitching.v2.FieldNode](../stitching.proto.sk/#fieldnode) | | + + + + +--- +### ResolverConfig + + + +```yaml +"selectionSet": string +"fieldName": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `selectionSet` | `string` | | +| `fieldName` | `string` | | + + + + +--- +### Schemas + + + +```yaml +"schemas": []string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `schemas` | `[]string` | | + + + + +--- +### ArgPath + + + +```yaml +"setterPath": []string +"extractionPath": []string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `setterPath` | `[]string` | Setter Path. | +| `extractionPath` | `[]string` | Extraction path. | + + + + +--- +### ResolverInfo + + + +```yaml +"fieldName": string +"args": []envoy.config.resolver.stitching.v2.ArgPath + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `fieldName` | `string` | | +| `args` | [[]envoy.config.resolver.stitching.v2.ArgPath](../stitching.proto.sk/#argpath) | | + + + + +--- +### MergedTypeConfig + + + +```yaml +"typeName": string +"selectionSets": map +"uniqueFieldsToSubschemaName": map +"nonUniqueFieldsToSubschemaNames": map +"declarativeTargetSubschemas": map +"subschemaNameToResolverInfo": map + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `typeName` | `string` | | +| `selectionSets` | `map` | map of subschema name to selection set string e.g. name_subschema: '{ id }'. | +| `uniqueFieldsToSubschemaName` | `map` | field name -> scema name. | +| `nonUniqueFieldsToSubschemaNames` | `map` | | +| `declarativeTargetSubschemas` | `map` | schema -> subschemas. | +| `subschemaNameToResolverInfo` | `map` | | + + + + +--- +### StitchingInfo + + +Data plane stitching info extension message + +```yaml +"fieldNodesByType": map +"fieldNodesByField": map +"mergedTypes": map +"subschemaNameToSubschemaConfig": map + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `fieldNodesByType` | `map` | | +| `fieldNodesByField` | `map` | | +| `mergedTypes` | `map` | | +| `subschemaNameToSubschemaConfig` | `map` | | + + + + +--- +### SubschemaConfig + + + +```yaml +"executableSchema": .envoy.config.filter.http.graphql.v2.ExecutableSchema + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `executableSchema` | [.envoy.config.filter.http.graphql.v2.ExecutableSchema](../graphql.proto.sk/#executableschema) | | + + + + +--- +### StitchingResolver + + +Config for the stitching resolver + +```yaml +"subschemaName": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `subschemaName` | `string` | Each query field comes from a specific subschema, this is the name of the subschema that the query field comes from. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto.sk.md new file mode 100644 index 00000000000..3609817cc99 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto.sk.md @@ -0,0 +1,48 @@ + +--- +title: "http_path.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.health_checker.http_path.v2` +#### Types: + + +- [HttpPath](#httppath) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto) + + + + + +--- +### HttpPath + + +Same as HTTP health checker, but allows a custom path per endpoint +The http path to use can be overriden using endpoint metadata. The endpoint specific path should +be in the "io.solo.health_checkers.http_path" namespace, under a string value named "path". + +```yaml +"httpHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `httpHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck](../../../config/core/v3/health_check.proto.sk/#httphealthcheck) | Http health check. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto.sk.md new file mode 100644 index 00000000000..6137ebc9601 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto.sk.md @@ -0,0 +1,131 @@ + +--- +title: "solo_jwt_authn.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.filter.http.solo_jwt_authn.v2` +#### Types: + + +- [JwtWithStage](#jwtwithstage) +- [SoloJwtAuthnPerRoute](#solojwtauthnperroute) +- [ClaimToHeader](#claimtoheader) +- [ClaimToHeaders](#claimtoheaders) +- [StagedJwtAuthnPerRoute](#stagedjwtauthnperroute) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto) + + + + + +--- +### JwtWithStage + + + +```yaml +"jwtAuthn": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication +"stage": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `jwtAuthn` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication](../../filters/http/jwt_authn/v3/config.proto.sk/#jwtauthentication) | The JwtAuthentication config for this filter. | +| `stage` | `int` | Only SoloJwtAuthnPerRoute.JwtAuthnPerRoute with matching stage will be used with this filter. | + + + + +--- +### SoloJwtAuthnPerRoute + + + +```yaml +"requirement": string +"claimsToHeaders": map +"clearRouteCache": bool +"payloadInMetadata": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `requirement` | `string` | | +| `claimsToHeaders` | `map` | Copy the claims from the payload field is the key. non-existant fields are ignored. | +| `clearRouteCache` | `bool` | clear the route cache if claims were added to the header. | +| `payloadInMetadata` | `string` | To easly integrate with other filters, this will copy the payload to this name in the dynamic metadata. The payload will only be copied if one payload is present (i.e. or match). | + + + + +--- +### ClaimToHeader + + +If this is specified, one of the claims will be copied to a header +and the route cache will be cleared. + +```yaml +"claim": string +"header": string +"append": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `claim` | `string` | | +| `header` | `string` | | +| `append` | `bool` | | + + + + +--- +### ClaimToHeaders + + + +```yaml +"claims": []envoy.config.filter.http.solo_jwt_authn.v2.SoloJwtAuthnPerRoute.ClaimToHeader + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `claims` | [[]envoy.config.filter.http.solo_jwt_authn.v2.SoloJwtAuthnPerRoute.ClaimToHeader](../solo_jwt_authn.proto.sk/#claimtoheader) | | + + + + +--- +### StagedJwtAuthnPerRoute + + + +```yaml +"jwtConfigs": map + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `jwtConfigs` | `map` | Map from stage number to jwt config This jwt config will only be processed by filters with the same stage number. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto.sk.md new file mode 100644 index 00000000000..9a433b33418 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto.sk.md @@ -0,0 +1,83 @@ + +--- +title: "proxylatency.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.filter.http.proxylatency.v2` +#### Types: + + +- [ProxyLatency](#proxylatency) +- [Measurement](#measurement) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto) + + + + + +--- +### ProxyLatency + + +Configure the proxy latency filter. This filter measures the latency +incurred by the filter chain in a histogram. +The filter fields are similar to the settings for [`COMMON_DURATION`](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage.html), +introduced in Envoy 1.31. +The filter also emits the following additional dynamic metadata fields, +which you can use to augment the existing upstream options for access logging: +- request_out_internal: first_byte_processed_millis +- request_out: firstUpstreamTxByteSent +- response_out: firstDownstreamTxByteSent + +```yaml +"request": .envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement +"measureRequestInternally": bool +"response": .envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement +"chargeClusterStat": .google.protobuf.BoolValue +"chargeListenerStat": .google.protobuf.BoolValue +"emitDynamicMetadata": .google.protobuf.BoolValue + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `request` | [.envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement](../proxylatency.proto.sk/#measurement) | How to measure the request. Affects the output stats. Does not affect metadata. | +| `measureRequestInternally` | `bool` | When FIRST_OUTGOING (i.e. LAST_INCOMING_FIRST_OUTGOING or FIRST_INCOMING_FIRST_OUTGOING) is instead of when the first byte is sent upstream. This has the advantage of not measuring the time selected for request measurment, finish measuring proxy latency when decodeHeader for this it takes a connection to form, which may skew the P99. filter is hit instead of when the first byte is sent upstream. This has the advantage of not for this to work the filter should be inserted last, just before the router filter. measuring the time it takes a connection to form, which may skew the P99. For this to work this filter should be inserted last, just before the router filter. This has no effect if other measurement type is selected, and has no effect on how response is measured. | +| `response` | [.envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement](../proxylatency.proto.sk/#measurement) | How measure the response. | +| `chargeClusterStat` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Charge a stat per upstream cluster. If not specified, defaults to true. | +| `chargeListenerStat` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Charge a stat per listener. If not specified, defaults to true. | +| `emitDynamicMetadata` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Whether request timing is emitted to dynamic metadata. If enabled, defaults to true. | + + + + +--- +### Measurement + + +How to perform the latency measurement. Given an incoming request from downstream and +outging request to upstream; or incoming response from upstream and outgoing repsonse to +downstream, This outlines how to measure the latency used by the proxy. + +| Name | Description | +| ----- | ----------- | +| `LAST_INCOMING_FIRST_OUTGOING` | Count from the last byte of the incoming request\response to the first byte of the outgoing request\response. | +| `FIRST_INCOMING_FIRST_OUTGOING` | Count from the first byte of the incoming request\response to the first byte of the outgoing request\response. | +| `LAST_INCOMING_LAST_OUTGOING` | Count from the last byte of the incoming request\response to the last byte of the outgoing request\response. | +| `FIRST_INCOMING_LAST_OUTGOING` | Count from the first byte of the incoming request\response to the last byte of the outgoing request\response. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md new file mode 100644 index 00000000000..2803f9270be --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md @@ -0,0 +1,547 @@ + +--- +title: "transformation.proto" +weight: 5 +--- + + + + +### Package: `envoy.api.v2.filter.http` +#### Types: + + +- [FilterTransformations](#filtertransformations) +- [TransformationRule](#transformationrule) +- [Transformations](#transformations) +- [RouteTransformations](#routetransformations) +- [RouteTransformation](#routetransformation) +- [RequestMatch](#requestmatch) +- [ResponseMatch](#responsematch) +- [ResponseMatcher](#responsematcher) +- [ResponseTransformationRule](#responsetransformationrule) +- [Transformation](#transformation) +- [Extraction](#extraction) +- [Mode](#mode) +- [TransformationTemplate](#transformationtemplate) +- [HeaderToAppend](#headertoappend) +- [DynamicMetadataValue](#dynamicmetadatavalue) +- [SpanTransformer](#spantransformer) +- [RequestBodyParse](#requestbodyparse) +- [InjaTemplate](#injatemplate) +- [Passthrough](#passthrough) +- [MergeExtractorsToBody](#mergeextractorstobody) +- [MergeJsonKeys](#mergejsonkeys) +- [OverridableTemplate](#overridabletemplate) +- [HeaderBodyTransform](#headerbodytransform) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto) + + + + + +--- +### FilterTransformations + + + +```yaml +"transformations": []envoy.api.v2.filter.http.TransformationRule +"stage": int +"logRequestResponseInfo": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `transformations` | [[]envoy.api.v2.filter.http.TransformationRule](../transformation.proto.sk/#transformationrule) | Specifies transformations based on the route matches. The first matched transformation will be applied. If there are overlapped match conditions, please put the most specific match first. | +| `stage` | `int` | Only RouteTransformations.RouteTransformation with matching stage will be used with this filter. | +| `logRequestResponseInfo` | `bool` | Logs request/response sensitive information By default, this is false so no request or response sensitive information is logged. If set to true, the filter will log the request/response body and headers before and after any transformation is applied. | + + + + +--- +### TransformationRule + + + +```yaml +"match": .solo.io.envoy.config.route.v3.RouteMatch +"routeTransformations": .envoy.api.v2.filter.http.TransformationRule.Transformations + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `match` | [.solo.io.envoy.config.route.v3.RouteMatch](../../../config/route/v3/route_components.proto.sk/#routematch) | The route matching parameter. Only when the match is satisfied, the "requires" field will apply. For example: following match will match all requests. .. code-block:: yaml match: prefix: /. | +| `routeTransformations` | [.envoy.api.v2.filter.http.TransformationRule.Transformations](../transformation.proto.sk/#transformations) | transformation to perform. | + + + + +--- +### Transformations + + + +```yaml +"requestTransformation": .envoy.api.v2.filter.http.Transformation +"clearRouteCache": bool +"responseTransformation": .envoy.api.v2.filter.http.Transformation +"onStreamCompletionTransformation": .envoy.api.v2.filter.http.Transformation + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `requestTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | Apply a transformation to requests. | +| `clearRouteCache` | `bool` | Clear the route cache if the request transformation was applied. | +| `responseTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | Apply a transformation to responses. | +| `onStreamCompletionTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | Apply a transformation in the onStreamComplete callback (for modifying headers and dynamic metadata for access logs). | + + + + +--- +### RouteTransformations + + + +```yaml +"requestTransformation": .envoy.api.v2.filter.http.Transformation +"responseTransformation": .envoy.api.v2.filter.http.Transformation +"clearRouteCache": bool +"transformations": []envoy.api.v2.filter.http.RouteTransformations.RouteTransformation + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `requestTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | deprecated. Use transformations[].request_match.request_transformation instead. | +| `responseTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | deprecated. Use transformations[].request_match.response_transformation instead. | +| `clearRouteCache` | `bool` | deprecated. Use transformations[].request_match.clear_route_cache instead. | +| `transformations` | [[]envoy.api.v2.filter.http.RouteTransformations.RouteTransformation](../transformation.proto.sk/#routetransformation) | | + + + + +--- +### RouteTransformation + + + +```yaml +"stage": int +"requestMatch": .envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.RequestMatch +"responseMatch": .envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.ResponseMatch + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `stage` | `int` | Stage number. This transformation will only be processed by filters with the same stage number. | +| `requestMatch` | [.envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.RequestMatch](../transformation.proto.sk/#requestmatch) | Only one of `requestMatch` or `responseMatch` can be set. | +| `responseMatch` | [.envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.ResponseMatch](../transformation.proto.sk/#responsematch) | Only one of `responseMatch` or `requestMatch` can be set. | + + + + +--- +### RequestMatch + + + +```yaml +"match": .solo.io.envoy.config.route.v3.RouteMatch +"requestTransformation": .envoy.api.v2.filter.http.Transformation +"responseTransformation": .envoy.api.v2.filter.http.Transformation +"clearRouteCache": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `match` | [.solo.io.envoy.config.route.v3.RouteMatch](../../../config/route/v3/route_components.proto.sk/#routematch) | if no match is specified, will match all. | +| `requestTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | transformation to perform. | +| `responseTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | | +| `clearRouteCache` | `bool` | clear the route cache if the request transformation was applied. | + + + + +--- +### ResponseMatch + + + +```yaml +"match": .envoy.api.v2.filter.http.ResponseMatcher +"responseTransformation": .envoy.api.v2.filter.http.Transformation + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `match` | [.envoy.api.v2.filter.http.ResponseMatcher](../transformation.proto.sk/#responsematcher) | | +| `responseTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | transformation to perform. | + + + + +--- +### ResponseMatcher + + + +```yaml +"headers": []solo.io.envoy.config.route.v3.HeaderMatcher +"responseCodeDetails": .solo.io.envoy.type.matcher.v3.StringMatcher + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `headers` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../../../config/route/v3/route_components.proto.sk/#headermatcher) | Specifies a set of headers that the route should match on. The router will check the response headers against all the specified headers in the route config. A match will happen if all the headers in the route are present in the request with the same values (or based on presence if the value field is not in the config). | +| `responseCodeDetails` | [.solo.io.envoy.type.matcher.v3.StringMatcher](../../../type/matcher/v3/string.proto.sk/#stringmatcher) | Only match responses with non empty response code details (this usually implies a local reply). | + + + + +--- +### ResponseTransformationRule + + + +```yaml +"match": .envoy.api.v2.filter.http.ResponseMatcher +"responseTransformation": .envoy.api.v2.filter.http.Transformation + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `match` | [.envoy.api.v2.filter.http.ResponseMatcher](../transformation.proto.sk/#responsematcher) | | +| `responseTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | transformation to perform. | + + + + +--- +### Transformation + + +This message defines a transformation. +This proto is for envoy filter config, not user-facing API. + +```yaml +"transformationTemplate": .envoy.api.v2.filter.http.TransformationTemplate +"headerBodyTransform": .envoy.api.v2.filter.http.HeaderBodyTransform +"transformerConfig": .solo.io.envoy.config.core.v3.TypedExtensionConfig +"logRequestResponseInfo": .google.protobuf.BoolValue + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `transformationTemplate` | [.envoy.api.v2.filter.http.TransformationTemplate](../transformation.proto.sk/#transformationtemplate) | Apply transformation templates. Only one of `transformationTemplate`, `headerBodyTransform`, or `transformerConfig` can be set. | +| `headerBodyTransform` | [.envoy.api.v2.filter.http.HeaderBodyTransform](../transformation.proto.sk/#headerbodytransform) | This type of transformation will make all the headers available in the response body. The resulting JSON body will consist of two attributes: 'headers', containing the headers, and 'body', containing the original body. Only one of `headerBodyTransform`, `transformationTemplate`, or `transformerConfig` can be set. | +| `transformerConfig` | [.solo.io.envoy.config.core.v3.TypedExtensionConfig](../../../config/core/v3/extension.proto.sk/#typedextensionconfig) | Configuration for an externally implemented transformer, used by envoy transformation filter. Only one of `transformerConfig`, `transformationTemplate`, or `headerBodyTransform` can be set. | +| `logRequestResponseInfo` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Logs request/response sensitive information By default, this is false so no request or response sensitive information is logged. If set to true, the filter will log the request/response body and headers before and after this transformation is applied. | + + + + +--- +### Extraction + + +Extractions can be used to extract information from the request/response. +The extracted information can then be referenced in template fields. + +```yaml +"header": string +"body": .google.protobuf.Empty +"regex": string +"subgroup": int +"replacementText": .google.protobuf.StringValue +"mode": .envoy.api.v2.filter.http.Extraction.Mode + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `header` | `string` | Extract information from headers. Only one of `header` or `body` can be set. | +| `body` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | Extract information from the request/response body. Only one of `body` or `header` can be set. | +| `regex` | `string` | The regex field specifies the regular expression used for matching against the source content. - In EXTRACT mode, the entire source must match the regex. `subgroup` selects the n-th capturing group, which determines the part of the match that you want to extract. If the regex does not match the source, the result of the extraction will be an empty value. - In SINGLE_REPLACE mode, the regex also needs to match the entire source. `subgroup` selects the n-th capturing group that is replaced with the content of `replacement_text`. If the regex does not match the source, the result of the replacement will be the source itself. - In REPLACE_ALL mode, the regex is applied repeatedly to find all occurrences within the source that match. Each matching occurrence is replaced with the value in `replacement_text`. In this mode, the configuration is rejected if `subgroup` is set. If the regex does not match the source, the result of the replacement will be the source itself. | +| `subgroup` | `int` | If your regex contains capturing groups, use this field to determine the group that you want to select. Defaults to 0. If set in `EXTRACT` and `SINGLE_REPLACE` modes, the subgroup represents the capturing group that you want to extract or replace in the source. The configuration is rejected if you set subgroup to a non-zero value when using thev `REPLACE_ALL` mode. | +| `replacementText` | [.google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/string-value) | The value `replacement_text` is used to format the substitution for matched sequences in in an input string. This value is only legal in `SINGLE_REPLACE` and `REPLACE_ALL` modes. - In `SINGLE_REPLACE` mode, the `subgroup` selects the n-th capturing group, which represents the value that you want to replace with the string provided in `replacement_text`. - In `REPLACE_ALL` mode, each sequence that matches the specified regex in the input is replaced with the value in`replacement_text`. The `replacement_text` can include special syntax, such as $1, $2, etc., to refer to capturing groups within the regular expression. The value that is specified in `replacement_text` is treated as a string, and is passed to `std::regex_replace` as the replacement string. For more informatino, see https://en.cppreference.com/w/cpp/regex/regex_replace. | +| `mode` | [.envoy.api.v2.filter.http.Extraction.Mode](../transformation.proto.sk/#mode) | The mode of operation for the extraction. Defaults to EXTRACT. | + + + + +--- +### Mode + + +The mode of operation for the extraction. + +| Name | Description | +| ----- | ----------- | +| `EXTRACT` | Default mode. Extract the content of a specified capturing group. In this mode, `subgroup` selects the n-th capturing group, which represents the value that you want to extract. | +| `SINGLE_REPLACE` | Replace the content of a specified capturing group. In this mode, `subgroup` selects the n-th capturing group, which represents the value that you want to replace with the string provided in `replacement_text`. Note: `replacement_text` must be set for this mode. | +| `REPLACE_ALL` | Replace all regex matches with the value provided in `replacement_text`. Note: `replacement_text` must be set for this mode. Note: The configuration fails if `subgroup` is set to a non-zero value. Note: restrictions on the regex are different for this mode. See the regex field for more details. | + + + + +--- +### TransformationTemplate + + +Defines a transformation template. + +```yaml +"advancedTemplates": bool +"extractors": map +"headers": map +"headersToAppend": []envoy.api.v2.filter.http.TransformationTemplate.HeaderToAppend +"headersToRemove": []string +"body": .envoy.api.v2.filter.http.InjaTemplate +"passthrough": .envoy.api.v2.filter.http.Passthrough +"mergeExtractorsToBody": .envoy.api.v2.filter.http.MergeExtractorsToBody +"mergeJsonKeys": .envoy.api.v2.filter.http.MergeJsonKeys +"parseBodyBehavior": .envoy.api.v2.filter.http.TransformationTemplate.RequestBodyParse +"ignoreErrorOnParse": bool +"dynamicMetadataValues": []envoy.api.v2.filter.http.TransformationTemplate.DynamicMetadataValue +"escapeCharacters": bool +"spanTransformer": .envoy.api.v2.filter.http.TransformationTemplate.SpanTransformer + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `advancedTemplates` | `bool` | If set to true, use JSON pointer notation (e.g. "time/start") instead of dot notation (e.g. "time.start") to access JSON elements. Defaults to false. Please note that, if set to 'true', you will need to use the `extraction` function to access extractors in the template (e.g. '{{ extraction("my_extractor") }}'); if the default value of 'false' is used, extractors will simply be available by their name (e.g. '{{ my_extractor }}'). | +| `extractors` | `map` | Use this attribute to extract information from the request. It consists of a map of strings to extractors. The extractor will defines which information will be extracted, while the string key will provide the extractor with a name. You can reference extractors by their name in templates, e.g. "{{ my-extractor }}" will render to the value of the "my-extractor" extractor. | +| `headers` | `map` | Use this attribute to transform request/response headers. It consists of a map of strings to templates. The string key determines the name of the resulting header, the rendered template will determine the value. Any existing headers with the same header name will be replaced by the transformed header. If a header name is included in `headers` and `headers_to_append`, it will first be replaced the template in `headers`, then additional header values will be appended by the templates defined in `headers_to_append`. For example, the following header transformation configuration: ```yaml headers: x-header-one: {"text": "first {{inja}} template"} x-header-one: {"text": "second {{inja}} template"} headersToAppend: - key: x-header-one value: {"text": "first appended {{inja}} template"} - key: x-header-one value: {"text": "second appended {{inja}} template"} ``` will result in the following headers on the HTTP message: ``` x-header-one: first inja template x-header-one: first appended inja template x-header-one: second appended inja template ```. | +| `headersToAppend` | [[]envoy.api.v2.filter.http.TransformationTemplate.HeaderToAppend](../transformation.proto.sk/#headertoappend) | Use this attribute to transform request/response headers. It consists of an array of string/template objects. Use this attribute to define multiple templates for a single header. Header template(s) defined here will be appended to any existing headers with the same header name, not replace existing ones. See `headers` documentation to see an example of usage. | +| `headersToRemove` | `[]string` | Attribute to remove headers from requests. If a header is present multiple times, all instances of the header will be removed. | +| `body` | [.envoy.api.v2.filter.http.InjaTemplate](../transformation.proto.sk/#injatemplate) | Apply a template to the body. Only one of `body`, `passthrough`, `mergeExtractorsToBody`, or `mergeJsonKeys` can be set. | +| `passthrough` | [.envoy.api.v2.filter.http.Passthrough](../transformation.proto.sk/#passthrough) | This will cause the transformation filter not to buffer the body. Use this setting if the response body is large and you don't need to transform nor extract information from it. Only one of `passthrough`, `body`, `mergeExtractorsToBody`, or `mergeJsonKeys` can be set. | +| `mergeExtractorsToBody` | [.envoy.api.v2.filter.http.MergeExtractorsToBody](../transformation.proto.sk/#mergeextractorstobody) | Merge all defined extractors to the request/response body. If you want to nest elements inside the body, use dot separator in the extractor name. Only one of `mergeExtractorsToBody`, `body`, `passthrough`, or `mergeJsonKeys` can be set. | +| `mergeJsonKeys` | [.envoy.api.v2.filter.http.MergeJsonKeys](../transformation.proto.sk/#mergejsonkeys) | A set of key-value pairs to merge into the JSON body. Each value will be rendered separately, and then placed into the JSON body at the specified key. There are a number of important caveats to using this feature: * This can only be used when the body is parsed as JSON. * This option does NOT work with advanced templates currently. Only one of `mergeJsonKeys`, `body`, `passthrough`, or `mergeExtractorsToBody` can be set. | +| `parseBodyBehavior` | [.envoy.api.v2.filter.http.TransformationTemplate.RequestBodyParse](../transformation.proto.sk/#requestbodyparse) | Determines how the body will be parsed. Defaults to ParseAsJson. | +| `ignoreErrorOnParse` | `bool` | If set to true, Envoy will not throw an exception in case the body parsing fails. | +| `dynamicMetadataValues` | [[]envoy.api.v2.filter.http.TransformationTemplate.DynamicMetadataValue](../transformation.proto.sk/#dynamicmetadatavalue) | Use this field to set Dynamic Metadata. | +| `escapeCharacters` | `bool` | Use this field to set Inja behavior when rendering strings which contain characters that would need to be escaped to be valid JSON. Note that this sets the behavior for the entire transformation. Use raw_strings function for fine-grained control within a template. | +| `spanTransformer` | [.envoy.api.v2.filter.http.TransformationTemplate.SpanTransformer](../transformation.proto.sk/#spantransformer) | Use this field to modify the span of the trace. | + + + + +--- +### HeaderToAppend + + +Defines a header-template pair to be used in `headers_to_append` + +```yaml +"key": string +"value": .envoy.api.v2.filter.http.InjaTemplate + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `key` | `string` | Header name. | +| `value` | [.envoy.api.v2.filter.http.InjaTemplate](../transformation.proto.sk/#injatemplate) | Apply a template to the header value. | + + + + +--- +### DynamicMetadataValue + + +Defines an [Envoy Dynamic +Metadata](https://www.envoyproxy.io/docs/envoy/latest/configuration/advanced/well_known_dynamic_metadata) +entry. + +```yaml +"metadataNamespace": string +"key": string +"value": .envoy.api.v2.filter.http.InjaTemplate +"jsonToProto": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `metadataNamespace` | `string` | The metadata namespace. Defaults to the filter namespace. | +| `key` | `string` | The metadata key. | +| `value` | [.envoy.api.v2.filter.http.InjaTemplate](../transformation.proto.sk/#injatemplate) | A template that determines the metadata value. | +| `jsonToProto` | `bool` | Instruct the filter to parse the rendered value as a proto Struct message before setting it as the metadata value. | + + + + +--- +### SpanTransformer + + + +```yaml +"name": .envoy.api.v2.filter.http.InjaTemplate + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | [.envoy.api.v2.filter.http.InjaTemplate](../transformation.proto.sk/#injatemplate) | A template that sets the span name. | + + + + +--- +### RequestBodyParse + + +Determines how the body will be parsed. + +| Name | Description | +| ----- | ----------- | +| `ParseAsJson` | Will attempt to parse the request/response body as JSON | +| `DontParse` | The request/response body will be treated as plain text | + + + + +--- +### InjaTemplate + + +Defines an [Inja template](https://github.com/pantor/inja) that will be +rendered by Gloo. In addition to the core template functions, the Gloo +transformation filter defines the following custom functions: +- header(header_name): returns the value of the header with the given name. +- extraction(extractor_name): returns the value of the extractor with the +given name. +- env(env_var_name): returns the value of the environment variable with the +given name. +- body(): returns the request/response body. +- context(): returns the base JSON context (allowing for example to range on +a JSON body that is an array). +- request_header(header_name): returns the value of the request header with +the given name. Use this option when you want to include request header values in response +transformations. +- base64_encode(string): encodes the input string to base64. +- base64_decode(string): decodes the input string from base64. +- substring(string, start_pos, substring_len): returns a substring of the +input string, starting at `start_pos` and extending for `substring_len` +characters. If no `substring_len` is provided or `substring_len` is <= 0, the +substring extends to the end of the input string. + +```yaml +"text": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `text` | `string` | | + + + + +--- +### Passthrough + + + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + +--- +### MergeExtractorsToBody + + + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + +--- +### MergeJsonKeys + + + +```yaml +"jsonKeys": map + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `jsonKeys` | `map` | Map of key name -> template to render into the JSON body. Specified keys which don't exist in the JSON body will be set, keys which do exist will be overriden. For example, given the following JSON body: { "key1": "value1" } and the following MergeJsonKeys: { "key1": "{{ header("header1") }}", "key2": "{{ header("header2") }}" } The resulting JSON body will be: { "key1": "header1_value", "key2": "header2_value" }. | + + + + +--- +### OverridableTemplate + + + +```yaml +"tmpl": .envoy.api.v2.filter.http.InjaTemplate +"overrideEmpty": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `tmpl` | [.envoy.api.v2.filter.http.InjaTemplate](../transformation.proto.sk/#injatemplate) | Template to render. | +| `overrideEmpty` | `bool` | If set to true, the template will be set even if the rendered value is empty. | + + + + +--- +### HeaderBodyTransform + + + +```yaml +"addRequestMetadata": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `addRequestMetadata` | `bool` | When transforming a request, setting this to true will additionally add "queryString", "queryStringParameters", "multiValueQueryStringParameters", "httpMethod", "path", and "multiValueHeaders" to the body. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto.sk.md new file mode 100644 index 00000000000..23762b3de53 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto.sk.md @@ -0,0 +1,244 @@ + +--- +title: "transformation.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.filter.http.transformation_ee.v2` +#### Types: + + +- [FilterTransformations](#filtertransformations) +- [TransformationRule](#transformationrule) +- [RouteTransformations](#routetransformations) +- [Transformation](#transformation) +- [DlpTransformation](#dlptransformation) +- [Action](#action) +- [RegexMatcher](#regexmatcher) +- [KeyValueMatcher](#keyvaluematcher) +- [DlpMatcher](#dlpmatcher) +- [RegexAction](#regexaction) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto) + + + + + +--- +### FilterTransformations + + + +```yaml +"transformations": []envoy.config.filter.http.transformation_ee.v2.TransformationRule + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `transformations` | [[]envoy.config.filter.http.transformation_ee.v2.TransformationRule](../transformation.proto.sk/#transformationrule) | Specifies transformations based on the route matches. The first matched transformation will be applied. If there are overlapped match conditions, please put the most specific match first. | + + + + +--- +### TransformationRule + + + +```yaml +"match": .solo.io.envoy.api.v2.route.RouteMatch +"matchV3": .solo.io.envoy.config.route.v3.RouteMatch +"routeTransformations": .envoy.config.filter.http.transformation_ee.v2.RouteTransformations + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `match` | [.solo.io.envoy.api.v2.route.RouteMatch](../../../../../../../../../../../envoy/api/v2/route/route.proto.sk/#routematch) | The route matching parameter. Only when the match is satisfied, the "requires" field will apply. For example: following match will match all requests. .. code-block:: yaml match: prefix: /. | +| `matchV3` | [.solo.io.envoy.config.route.v3.RouteMatch](../../../config/route/v3/route_components.proto.sk/#routematch) | | +| `routeTransformations` | [.envoy.config.filter.http.transformation_ee.v2.RouteTransformations](../transformation.proto.sk/#routetransformations) | transformation to perform. | + + + + +--- +### RouteTransformations + + + +```yaml +"requestTransformation": .envoy.config.filter.http.transformation_ee.v2.Transformation +"clearRouteCache": bool +"responseTransformation": .envoy.config.filter.http.transformation_ee.v2.Transformation +"onStreamCompletionTransformation": .envoy.config.filter.http.transformation_ee.v2.Transformation + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `requestTransformation` | [.envoy.config.filter.http.transformation_ee.v2.Transformation](../transformation.proto.sk/#transformation) | | +| `clearRouteCache` | `bool` | clear the route cache if the request transformation was applied. | +| `responseTransformation` | [.envoy.config.filter.http.transformation_ee.v2.Transformation](../transformation.proto.sk/#transformation) | | +| `onStreamCompletionTransformation` | [.envoy.config.filter.http.transformation_ee.v2.Transformation](../transformation.proto.sk/#transformation) | Apply a transformation in the onStreamComplete callback (for modifying headers and dynamic metadata for access logs). | + + + + +--- +### Transformation + + + +```yaml +"dlpTransformation": .envoy.config.filter.http.transformation_ee.v2.DlpTransformation + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `dlpTransformation` | [.envoy.config.filter.http.transformation_ee.v2.DlpTransformation](../transformation.proto.sk/#dlptransformation) | | + + + + +--- +### DlpTransformation + + + +```yaml +"actions": []envoy.config.filter.http.transformation_ee.v2.Action +"enableHeaderTransformation": bool +"enableDynamicMetadataTransformation": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `actions` | [[]envoy.config.filter.http.transformation_ee.v2.Action](../transformation.proto.sk/#action) | list of actions to apply. | +| `enableHeaderTransformation` | `bool` | If true, headers will be transformed. Should only be true for the on_stream_complete_transformation route transformation type. | +| `enableDynamicMetadataTransformation` | `bool` | If true, dynamic metadata will be transformed. Should only be used for the on_stream_complete_transformation route transformation type. | + + + + +--- +### Action + + + +```yaml +"name": string +"regex": []string +"regexActions": []envoy.config.filter.http.transformation_ee.v2.RegexAction +"shadow": bool +"percent": .solo.io.envoy.type.Percent +"maskChar": string +"matcher": .envoy.config.filter.http.transformation_ee.v2.Action.DlpMatcher + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | Identifier for this action. Used mostly to help ID specific actions in logs. If left null will default to unknown. | +| `regex` | `[]string` | Deprecated in favor of DlpMatcher List of regexes to apply to the response body to match data which should be masked They will be applied iteratively in the order which they are specified. | +| `regexActions` | [[]envoy.config.filter.http.transformation_ee.v2.RegexAction](../transformation.proto.sk/#regexaction) | Deprecated in favor of DlpMatcher List of regexes to apply to the response body to match data which should be masked. They will be applied iteratively in the order which they are specified. If this field and `regex` are both provided, all the regexes will be applied iteratively in the order provided, starting with the ones from `regex`. | +| `shadow` | `bool` | If specified, this rule will not actually be applied, but only logged. | +| `percent` | [.solo.io.envoy.type.Percent](../../../../../../../../../solo-kit/api/external/envoy/type/percent.proto.sk/#percent) | The percent of the string which should be masked. If not set, defaults to 75%. | +| `maskChar` | `string` | The character which should overwrite the masked data If left empty, defaults to "X". | +| `matcher` | [.envoy.config.filter.http.transformation_ee.v2.Action.DlpMatcher](../transformation.proto.sk/#dlpmatcher) | The matcher used to determine which values will be masked by this action. | + + + + +--- +### RegexMatcher + + +List of regexes to apply to the response body to match data which should be +masked. They will be applied iteratively in the order which they are +specified. + +```yaml +"regexActions": []envoy.config.filter.http.transformation_ee.v2.RegexAction + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `regexActions` | [[]envoy.config.filter.http.transformation_ee.v2.RegexAction](../transformation.proto.sk/#regexaction) | | + + + + +--- +### KeyValueMatcher + + +List of headers for which associated values will be masked. +Note that enable_header_transformation must be set for this to take effect. +Note that if enable_dynamic_metadata_transformation is set, proto struct dynamic metadata +(i.e., the values matching any JSON keys specified in `keys`; primarily for json-formatted WAF audit logs) will also be masked accordingly. + +```yaml +"keys": []string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `keys` | `[]string` | | + + + + +--- +### DlpMatcher + + + +```yaml +"regexMatcher": .envoy.config.filter.http.transformation_ee.v2.Action.RegexMatcher +"keyValueMatcher": .envoy.config.filter.http.transformation_ee.v2.Action.KeyValueMatcher + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `regexMatcher` | [.envoy.config.filter.http.transformation_ee.v2.Action.RegexMatcher](../transformation.proto.sk/#regexmatcher) | Only one of `regexMatcher` or `keyValueMatcher` can be set. | +| `keyValueMatcher` | [.envoy.config.filter.http.transformation_ee.v2.Action.KeyValueMatcher](../transformation.proto.sk/#keyvaluematcher) | Only one of `keyValueMatcher` or `regexMatcher` can be set. | + + + + +--- +### RegexAction + + + +```yaml +"regex": string +"subgroup": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `regex` | `string` | The regex to match for masking. | +| `subgroup` | `int` | If provided and not 0, only this specific subgroup of the regex will be masked. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto.sk.md new file mode 100644 index 00000000000..fadfe6592b4 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto.sk.md @@ -0,0 +1,50 @@ + +--- +title: "xslt_transformer.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.transformer.xslt.v2` +#### Types: + + +- [XsltTransformation](#xslttransformation) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto) + + + + + +--- +### XsltTransformation + + +Defines an XSLT Transformation. + +```yaml +"xslt": string +"setContentType": string +"nonXmlTransform": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `xslt` | `string` | XSLT transformation template which you want to transform requests/responses with. Invalid XSLT transformation templates will result will result in a NACK during envoy configuration-time and the configuration will not be loaded. | +| `setContentType` | `string` | Changes the content-type header of the HTTP request/response to what is set here. This is useful in situations where an XSLT transformation is used to transform XML to JSON and the content-type should be changed from `application/xml` to `application/json`. If left empty, the content-type header remains unmodified by default. | +| `nonXmlTransform` | `bool` | This should be set to true if the content being transformed is not XML. For example, if the content being transformed is from JSON to XML, this should be set to true. XSLT transformations can only take valid XML as input to be transformed. If the body is not a valid XML (e.g. using JSON as input in a JSON-to-XML transformation), setting `non_xml_transform` to true will allow the XSLT to accept the non-XML input without throwing an error by passing the input as XML CDATA. defaults to false. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto.sk.md new file mode 100644 index 00000000000..59f368869ac --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto.sk.md @@ -0,0 +1,43 @@ + +--- +title: "upstream_wait_filter.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.filter.http.upstream_wait.v2` +#### Types: + + +- [UpstreamWaitFilterConfig](#upstreamwaitfilterconfig) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto) + + + + + +--- +### UpstreamWaitFilterConfig + + + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto.sk.md new file mode 100644 index 00000000000..e056e2ad55a --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto.sk.md @@ -0,0 +1,160 @@ + +--- +title: "waf.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.filter.http.modsecurity.v2` +#### Types: + + +- [AuditLogging](#auditlogging) +- [AuditLogAction](#auditlogaction) +- [AuditLogLocation](#auditloglocation) +- [ModSecurity](#modsecurity) +- [RuleSet](#ruleset) +- [ModSecurityPerRoute](#modsecurityperroute) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/waf/waf.proto) + + + + + +--- +### AuditLogging + + + +```yaml +"action": .envoy.config.filter.http.modsecurity.v2.AuditLogging.AuditLogAction +"location": .envoy.config.filter.http.modsecurity.v2.AuditLogging.AuditLogLocation + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `action` | [.envoy.config.filter.http.modsecurity.v2.AuditLogging.AuditLogAction](../waf.proto.sk/#auditlogaction) | | +| `location` | [.envoy.config.filter.http.modsecurity.v2.AuditLogging.AuditLogLocation](../waf.proto.sk/#auditloglocation) | | + + + + +--- +### AuditLogAction + + + +| Name | Description | +| ----- | ----------- | +| `NEVER` | Never generate audit logs. | +| `RELEVANT_ONLY` | When set to RELEVANT_ONLY, this will have similar behavior to `SecAuditEngine RelevantOnly`. | +| `ALWAYS` | Always generate an audit log entry (as long as the filter is not disabled). | + + + + +--- +### AuditLogLocation + + + +| Name | Description | +| ----- | ----------- | +| `FILTER_STATE` | Add the audit log to the filter state. it will be under the key "io.solo.modsecurity.audit_log". You can use this formatter in the access log: %FILTER_STATE(io.solo.modsecurity.audit_log)% | +| `DYNAMIC_METADATA` | Add the audit log to the dynamic metadata. it will be under the filter name "io.solo.filters.http.modsecurity". with "audit_log" as the key. You can use this formatter in the access log: %DYNAMIC_METADATA("io.solo.filters.http.modsecurity:audit_log")% | + + + + +--- +### ModSecurity + + + +```yaml +"disabled": bool +"ruleSets": []envoy.config.filter.http.modsecurity.v2.RuleSet +"customInterventionMessage": string +"auditLogging": .envoy.config.filter.http.modsecurity.v2.AuditLogging +"requestHeadersOnly": bool +"responseHeadersOnly": bool +"regressionLogs": bool +"dlpTransformation": .envoy.config.filter.http.transformation_ee.v2.DlpTransformation + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `disabled` | `bool` | Disable all rules on the current route. | +| `ruleSets` | [[]envoy.config.filter.http.modsecurity.v2.RuleSet](../waf.proto.sk/#ruleset) | Global rule sets for the current http connection manager. | +| `customInterventionMessage` | `string` | Custom message to display when an intervention occurs. | +| `auditLogging` | [.envoy.config.filter.http.modsecurity.v2.AuditLogging](../waf.proto.sk/#auditlogging) | This instructs the filter what to do with the transaction's audit log. | +| `requestHeadersOnly` | `bool` | If set, the body will not be buffered and fed to ModSecurity. Only the headers will. This can help improve performance. | +| `responseHeadersOnly` | `bool` | | +| `regressionLogs` | `bool` | log in a format suited for the OWASP regression tests. this format is a multiline log format, so it is disabled for regular use. do not enable this in production!. | +| `dlpTransformation` | [.envoy.config.filter.http.transformation_ee.v2.DlpTransformation](../../transformation_ee/transformation.proto.sk/#dlptransformation) | | + + + + +--- +### RuleSet + + + +```yaml +"ruleStr": string +"files": []string +"directory": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `ruleStr` | `string` | String of rules which are added directly. | +| `files` | `[]string` | Array of files with rules to include. Any subsequent changes to the rules in these files are not automatically updated. To update rules from files, version and update the file name. If you want dynamically updated rules, use the `configMapRuleSets` option instead. | +| `directory` | `string` | A directory to include. all *.conf files in this directory will be included. sub directories will NOT be checked. | + + + + +--- +### ModSecurityPerRoute + + + +```yaml +"disabled": bool +"ruleSets": []envoy.config.filter.http.modsecurity.v2.RuleSet +"customInterventionMessage": string +"auditLogging": .envoy.config.filter.http.modsecurity.v2.AuditLogging +"requestHeadersOnly": bool +"responseHeadersOnly": bool +"dlpTransformation": .envoy.config.filter.http.transformation_ee.v2.DlpTransformation + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `disabled` | `bool` | Disable all rules on the current route. | +| `ruleSets` | [[]envoy.config.filter.http.modsecurity.v2.RuleSet](../waf.proto.sk/#ruleset) | Overwrite the global rules on this route. | +| `customInterventionMessage` | `string` | Custom message to display when an intervention occurs. | +| `auditLogging` | [.envoy.config.filter.http.modsecurity.v2.AuditLogging](../waf.proto.sk/#auditlogging) | This instructs the filter what to do with the transaction's audit log. | +| `requestHeadersOnly` | `bool` | If set, the body will not be buffered and fed to ModSecurity. Only the headers will. This can help improve performance. | +| `responseHeadersOnly` | `bool` | | +| `dlpTransformation` | [.envoy.config.filter.http.transformation_ee.v2.DlpTransformation](../../transformation_ee/transformation.proto.sk/#dlptransformation) | | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto.sk.md new file mode 100644 index 00000000000..f70df564401 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto.sk.md @@ -0,0 +1,111 @@ + +--- +title: "wasm.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.extensions.wasm.v3` +Copied from https://github.com/envoyproxy/envoy/blob/26eaa2e85cee69e5c32ab6bf4c5ae3d338fa462f/api/envoy/extensions/wasm/v3/wasm.proto + + + +#### Types: + + +- [VmConfig](#vmconfig) +- [PluginConfig](#pluginconfig) +- [WasmService](#wasmservice) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto) + + + + + +--- +### VmConfig + + +Configuration for a Wasm VM. +[#next-free-field: 7] + +```yaml +"vmId": string +"runtime": string +"code": .solo.io.envoy.config.core.v3.AsyncDataSource +"configuration": .google.protobuf.Any +"allowPrecompiled": bool +"nackOnCodeCacheMiss": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `vmId` | `string` | An ID which will be used along with a hash of the wasm code (or the name of the registered Null VM plugin) to determine which VM will be used for the plugin. All plugins which use the same *vm_id* and code will use the same VM. May be left blank. Sharing a VM between plugins can reduce memory utilization and make sharing of data easier which may have security implications. See ref: "TODO: add ref" for details. | +| `runtime` | `string` | The Wasm runtime type (either "v8" or "null" for code compiled into Envoy). | +| `code` | [.solo.io.envoy.config.core.v3.AsyncDataSource](../../../../config/core/v3/base.proto.sk/#asyncdatasource) | The Wasm code that Envoy will execute. | +| `configuration` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | The Wasm configuration used in initialization of a new VM (proxy_on_start). `google.protobuf.Struct` is serialized as JSON before passing it to the plugin. `google.protobuf.BytesValue` and `google.protobuf.StringValue` are passed directly without the wrapper. | +| `allowPrecompiled` | `bool` | Allow the wasm file to include pre-compiled code on VMs which support it. Warning: this should only be enable for trusted sources as the precompiled code is not verified. | +| `nackOnCodeCacheMiss` | `bool` | If true and the code needs to be remotely fetched and it is not in the cache then NACK the configuration update and do a background fetch to fill the cache, otherwise fetch the code asynchronously and enter warming state. | + + + + +--- +### PluginConfig + + +Base Configuration for Wasm Plugins e.g. filters and services. +[#next-free-field: 6] + +```yaml +"name": string +"rootId": string +"vmConfig": .solo.io.envoy.extensions.wasm.v3.VmConfig +"configuration": .google.protobuf.Any +"failOpen": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | A unique name for a filters/services in a VM for use in identifying the filter/service if multiple filters/services are handled by the same *vm_id* and *root_id* and for logging/debugging. | +| `rootId` | `string` | A unique ID for a set of filters/services in a VM which will share a RootContext and Contexts if applicable (e.g. an Wasm HttpFilter and an Wasm AccessLog). If left blank, all filters/services with a blank root_id with the same *vm_id* will share Context(s). | +| `vmConfig` | [.solo.io.envoy.extensions.wasm.v3.VmConfig](../wasm.proto.sk/#vmconfig) | | +| `configuration` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | Filter/service configuration used to configure or reconfigure a plugin (proxy_on_configuration). `google.protobuf.Struct` is serialized as JSON before passing it to the plugin. `google.protobuf.BytesValue` and `google.protobuf.StringValue` are passed directly without the wrapper. | +| `failOpen` | `bool` | If there is a fatal error on the VM (e.g. exception, abort(), on_start or on_configure return false), then all plugins associated with the VM will either fail closed (by default), e.g. by returning an HTTP 503 error, or fail open (if 'fail_open' is set to true) by bypassing the filter. Note: when on_start or on_configure return false during xDS updates the xDS configuration will be rejected and when on_start or on_configuration return false on initial startup the proxy will not start. | + + + + +--- +### WasmService + + +WasmService is configured as a built-in *envoy.wasm_service* :ref:`WasmService +` This opaque configuration will be used to create a Wasm Service. + +```yaml +"config": .solo.io.envoy.extensions.wasm.v3.PluginConfig +"singleton": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `config` | [.solo.io.envoy.extensions.wasm.v3.PluginConfig](../wasm.proto.sk/#pluginconfig) | General plugin configuration. | +| `singleton` | `bool` | If true, create a single VM rather than creating one VM per worker. Such a singleton can not be used with filters. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto.sk.md new file mode 100644 index 00000000000..2a1cacb912b --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto.sk.md @@ -0,0 +1,46 @@ + +--- +title: "solo_xff_offset_filter.proto" +weight: 5 +--- + + + + +### Package: `envoy.config.filter.http.solo_xff_offset.v2` +#### Types: + + +- [SoloXffOffset](#soloxffoffset) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto) + + + + + +--- +### SoloXffOffset + + +Envoy filter configuration for the solo_xff_offset filter, not set by the user. + +```yaml +"offset": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `offset` | `int` | The amount of addresses from the left of x-forwarded-for (xff) header which should be skipped to get the client address. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto.sk.md new file mode 100644 index 00000000000..06fa1253038 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto.sk.md @@ -0,0 +1,362 @@ + +--- +title: "external_processor.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.service.ext_proc.v3` +#### Types: + + +- [ProcessingRequest](#processingrequest) +- [ProcessingResponse](#processingresponse) +- [HttpHeaders](#httpheaders) +- [HttpBody](#httpbody) +- [HttpTrailers](#httptrailers) +- [HeadersResponse](#headersresponse) +- [TrailersResponse](#trailersresponse) +- [BodyResponse](#bodyresponse) +- [CommonResponse](#commonresponse) +- [ResponseStatus](#responsestatus) +- [ImmediateResponse](#immediateresponse) +- [GrpcStatus](#grpcstatus) +- [HeaderMutation](#headermutation) +- [BodyMutation](#bodymutation) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto) + + + + + +--- +### ProcessingRequest + + +This represents the different types of messages that Envoy can send +to an external processing server. +[#next-free-field: 11] + +```yaml +"requestHeaders": .solo.io.envoy.service.ext_proc.v3.HttpHeaders +"responseHeaders": .solo.io.envoy.service.ext_proc.v3.HttpHeaders +"requestBody": .solo.io.envoy.service.ext_proc.v3.HttpBody +"responseBody": .solo.io.envoy.service.ext_proc.v3.HttpBody +"requestTrailers": .solo.io.envoy.service.ext_proc.v3.HttpTrailers +"responseTrailers": .solo.io.envoy.service.ext_proc.v3.HttpTrailers +"metadataContext": .solo.io.envoy.config.core.v3.Metadata +"attributes": map +"observabilityMode": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `requestHeaders` | [.solo.io.envoy.service.ext_proc.v3.HttpHeaders](../external_processor.proto.sk/#httpheaders) | Information about the HTTP request headers, as well as peer info and additional properties. Unless `observability_mode` is `true`, the server must send back a HeaderResponse message, an ImmediateResponse message, or close the stream. Only one of `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, `requestTrailers`, or `responseTrailers` can be set. | +| `responseHeaders` | [.solo.io.envoy.service.ext_proc.v3.HttpHeaders](../external_processor.proto.sk/#httpheaders) | Information about the HTTP response headers, as well as peer info and additional properties. Unless `observability_mode` is `true`, the server must send back a HeaderResponse message or close the stream. Only one of `responseHeaders`, `requestHeaders`, `requestBody`, `responseBody`, `requestTrailers`, or `responseTrailers` can be set. | +| `requestBody` | [.solo.io.envoy.service.ext_proc.v3.HttpBody](../external_processor.proto.sk/#httpbody) | A chunk of the HTTP request body. Unless `observability_mode` is true, the server must send back a BodyResponse message, an ImmediateResponse message, or close the stream. Only one of `requestBody`, `requestHeaders`, `responseHeaders`, `responseBody`, `requestTrailers`, or `responseTrailers` can be set. | +| `responseBody` | [.solo.io.envoy.service.ext_proc.v3.HttpBody](../external_processor.proto.sk/#httpbody) | A chunk of the HTTP response body. Unless `observability_mode` is `true`, the server must send back a BodyResponse message or close the stream. Only one of `responseBody`, `requestHeaders`, `responseHeaders`, `requestBody`, `requestTrailers`, or `responseTrailers` can be set. | +| `requestTrailers` | [.solo.io.envoy.service.ext_proc.v3.HttpTrailers](../external_processor.proto.sk/#httptrailers) | The HTTP trailers for the request path. Unless `observability_mode` is `true`, the server must send back a TrailerResponse message or close the stream. This message is only sent if the trailers processing mode is set to `SEND` and the original downstream request has trailers. Only one of `requestTrailers`, `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, or `responseTrailers` can be set. | +| `responseTrailers` | [.solo.io.envoy.service.ext_proc.v3.HttpTrailers](../external_processor.proto.sk/#httptrailers) | The HTTP trailers for the response path. Unless `observability_mode` is `true`, the server must send back a TrailerResponse message or close the stream. This message is only sent if the trailers processing mode is set to `SEND` and the original upstream response has trailers. Only one of `responseTrailers`, `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, or `requestTrailers` can be set. | +| `metadataContext` | [.solo.io.envoy.config.core.v3.Metadata](../../../../config/core/v3/base.proto.sk/#metadata) | Dynamic metadata associated with the request. | +| `attributes` | `map` | The values of properties selected by the `request_attributes` or `response_attributes` list in the configuration. Each entry in the list is populated from the standard attributes supported across Envoy. | +| `observabilityMode` | `bool` | Specify whether the filter that sent this request is running in :ref:`observability_mode ` and defaults to false. * A value of `false` indicates that the server must respond to this message by either sending back a matching ProcessingResponse message, or by closing the stream. * A value of `true` indicates that the server should not respond to this message, as any responses will be ignored. However, it may still close the stream to indicate that no more messages are needed. | + + + + +--- +### ProcessingResponse + + +For every ProcessingRequest received by the server with the `observability_mode` field +set to false, the server must send back exactly one ProcessingResponse message. +[#next-free-field: 11] + +```yaml +"requestHeaders": .solo.io.envoy.service.ext_proc.v3.HeadersResponse +"responseHeaders": .solo.io.envoy.service.ext_proc.v3.HeadersResponse +"requestBody": .solo.io.envoy.service.ext_proc.v3.BodyResponse +"responseBody": .solo.io.envoy.service.ext_proc.v3.BodyResponse +"requestTrailers": .solo.io.envoy.service.ext_proc.v3.TrailersResponse +"responseTrailers": .solo.io.envoy.service.ext_proc.v3.TrailersResponse +"immediateResponse": .solo.io.envoy.service.ext_proc.v3.ImmediateResponse +"dynamicMetadata": .google.protobuf.Struct +"modeOverride": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode +"overrideMessageTimeout": .google.protobuf.Duration + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `requestHeaders` | [.solo.io.envoy.service.ext_proc.v3.HeadersResponse](../external_processor.proto.sk/#headersresponse) | The server must send back this message in response to a message with the `request_headers` field set. Only one of `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, `requestTrailers`, `responseTrailers`, or `immediateResponse` can be set. | +| `responseHeaders` | [.solo.io.envoy.service.ext_proc.v3.HeadersResponse](../external_processor.proto.sk/#headersresponse) | The server must send back this message in response to a message with the `response_headers` field set. Only one of `responseHeaders`, `requestHeaders`, `requestBody`, `responseBody`, `requestTrailers`, `responseTrailers`, or `immediateResponse` can be set. | +| `requestBody` | [.solo.io.envoy.service.ext_proc.v3.BodyResponse](../external_processor.proto.sk/#bodyresponse) | The server must send back this message in response to a message with the `request_body` field set. Only one of `requestBody`, `requestHeaders`, `responseHeaders`, `responseBody`, `requestTrailers`, `responseTrailers`, or `immediateResponse` can be set. | +| `responseBody` | [.solo.io.envoy.service.ext_proc.v3.BodyResponse](../external_processor.proto.sk/#bodyresponse) | The server must send back this message in response to a message with the `response_body` field set. Only one of `responseBody`, `requestHeaders`, `responseHeaders`, `requestBody`, `requestTrailers`, `responseTrailers`, or `immediateResponse` can be set. | +| `requestTrailers` | [.solo.io.envoy.service.ext_proc.v3.TrailersResponse](../external_processor.proto.sk/#trailersresponse) | The server must send back this message in response to a message with the `request_trailers` field set. Only one of `requestTrailers`, `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, `responseTrailers`, or `immediateResponse` can be set. | +| `responseTrailers` | [.solo.io.envoy.service.ext_proc.v3.TrailersResponse](../external_processor.proto.sk/#trailersresponse) | The server must send back this message in response to a message with the `response_trailers` field set. Only one of `responseTrailers`, `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, `requestTrailers`, or `immediateResponse` can be set. | +| `immediateResponse` | [.solo.io.envoy.service.ext_proc.v3.ImmediateResponse](../external_processor.proto.sk/#immediateresponse) | If specified, attempt to create a locally generated response, send it downstream, and stop processing additional filters and ignore any additional messages received from the remote server for this request or response. If a response has already started -- for example, if this message is sent response to a `response_body` message -- then this will either ship the reply directly to the downstream codec, or reset the stream. Only one of `immediateResponse`, `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, `requestTrailers`, or `responseTrailers` can be set. | +| `dynamicMetadata` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Optional metadata that will be emitted as dynamic metadata to be consumed by following filters. This metadata will be placed in the namespace(s) specified by the top-level field name(s) of the struct. | +| `modeOverride` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode](../../../../extensions/filters/http/ext_proc/v3/processing_mode.proto.sk/#processingmode) | Override how parts of the HTTP request and response are processed for the duration of this particular request/response only. Servers may use this to intelligently control how requests are processed based on the headers and other metadata that they see. This field is only applicable when servers responding to the header requests. If it is set in the response to the body or trailer requests, it will be ignored by Envoy. It is also ignored by Envoy when the ext_proc filter config :ref:`allow_mode_override ` is set to false. | +| `overrideMessageTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | When ext_proc server receives a request message, in case it needs more time to process the message, it sends back a ProcessingResponse message with a new timeout value. When Envoy receives this response message, it ignores other fields in the response, just stop the original timer, which has the timeout value specified in :ref:`message_timeout ` and start a new timer with this `override_message_timeout` value and keep the Envoy ext_proc filter state machine intact. Has to be >= 1ms and <= :ref:`max_message_timeout ` Such message can be sent at most once in a particular Envoy ext_proc filter processing state. To enable this API, one has to set `max_message_timeout` to a number >= 1ms. | + + + + +--- +### HttpHeaders + + +This message is sent to the external server when the HTTP request and responses +are first received. + +```yaml +"headers": .solo.io.envoy.config.core.v3.HeaderMap +"attributes": map +"endOfStream": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `headers` | [.solo.io.envoy.config.core.v3.HeaderMap](../../../../config/core/v3/base.proto.sk/#headermap) | The HTTP request headers. All header keys will be lower-cased, because HTTP header keys are case-insensitive. The `headers` encoding is based on the runtime guard envoy_reloadable_features_send_header_raw_value setting. When it is true, the header value is encoded in the raw_value field. When it is false, the header value is encoded in the value field. | +| `attributes` | `map` | [#not-implemented-hide:] This field is deprecated and not implemented. Attributes will be sent in the top-level :ref:`attributes ` is set to CONTINUE_AND_REPLACE. | +| `trailers` | [.solo.io.envoy.config.core.v3.HeaderMap](../../../../config/core/v3/base.proto.sk/#headermap) | [#not-implemented-hide:] Add new trailers to the message. This may be used when responding to either a HttpHeaders or HttpBody message, but only if this message is returned along with the CONTINUE_AND_REPLACE status. The `trailers` encoding is based on the runtime guard envoy_reloadable_features_send_header_raw_value setting. When it is true, the header value is encoded in the raw_value field. When it is false, the header value is encoded in the value field. | +| `clearRouteCache` | `bool` | Clear the route cache for the current client request. This is necessary if the remote server modified headers that are used to calculate the route. This field is ignored in the response direction. This field is also ignored if the Envoy ext_proc filter is in the upstream filter chain. | + + + + +--- +### ResponseStatus + + + +| Name | Description | +| ----- | ----------- | +| `CONTINUE` | Apply the mutation instructions in this message to the request or response, and then continue processing the filter stream as normal. This is the default. | +| `CONTINUE_AND_REPLACE` | Apply the specified header mutation, replace the body with the body specified in the body mutation (if present), and do not send any further messages for this request or response even if the processing mode is configured to do so. When used in response to a request_headers or response_headers message, this status makes it possible to either completely replace the body while discarding the original body, or to add a body to a message that formerly did not have one. In other words, this response makes it possible to turn an HTTP GET into a POST, PUT, or PATCH. | + + + + +--- +### ImmediateResponse + + +This message causes the filter to attempt to create a locally +generated response, send it downstream, stop processing +additional filters, and ignore any additional messages received +from the remote server for this request or response. If a response +has already started, then this will either ship the reply directly +to the downstream codec, or reset the stream. +[#next-free-field: 6] + +```yaml +"status": .solo.io.envoy.type.v3.HttpStatus +"headers": .solo.io.envoy.service.ext_proc.v3.HeaderMutation +"body": bytes +"grpcStatus": .solo.io.envoy.service.ext_proc.v3.GrpcStatus +"details": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `status` | [.solo.io.envoy.type.v3.HttpStatus](../../../../type/v3/http_status.proto.sk/#httpstatus) | The response code to return. | +| `headers` | [.solo.io.envoy.service.ext_proc.v3.HeaderMutation](../external_processor.proto.sk/#headermutation) | Apply changes to the default headers, which will include content-type. | +| `body` | `bytes` | The message body to return with the response which is sent using the text/plain content type, or encoded in the grpc-message header. | +| `grpcStatus` | [.solo.io.envoy.service.ext_proc.v3.GrpcStatus](../external_processor.proto.sk/#grpcstatus) | If set, then include a gRPC status trailer. | +| `details` | `string` | A string detailing why this local reply was sent, which may be included in log and debug output (e.g. this populates the %RESPONSE_CODE_DETAILS% command operator field for use in access logging). | + + + + +--- +### GrpcStatus + + +This message specifies a gRPC status for an ImmediateResponse message. + +```yaml +"status": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `status` | `int` | The actual gRPC status. | + + + + +--- +### HeaderMutation + + +Change HTTP headers or trailers by appending, replacing, or removing +headers. + +```yaml +"setHeaders": []solo.io.envoy.config.core.v3.HeaderValueOption +"removeHeaders": []string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `setHeaders` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../../config/core/v3/base.proto.sk/#headervalueoption) | Add or replace HTTP headers. Attempts to set the value of any `x-envoy` header, and attempts to set the `:method`, `:authority`, `:scheme`, or `host` headers will be ignored. The `set_headers` encoding is based on the runtime guard envoy_reloadable_features_send_header_raw_value setting. When it is true, the header value is encoded in the raw_value field. When it is false, the header value is encoded in the value field. | +| `removeHeaders` | `[]string` | Remove these HTTP headers. Attempts to remove system headers -- any header starting with `:`, plus `host` -- will be ignored. | + + + + +--- +### BodyMutation + + +Replace the entire message body chunk received in the corresponding +HttpBody message with this new body, or clear the body. + +```yaml +"body": bytes +"clearBody": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `body` | `bytes` | The entire body to replace. Only one of `body` or `clearBody` can be set. | +| `clearBody` | `bool` | Clear the corresponding body chunk. Only one of `clearBody` or `body` can be set. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto.sk.md new file mode 100644 index 00000000000..b21f7570e87 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto.sk.md @@ -0,0 +1,101 @@ + +--- +title: "regex.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.type.matcher.v3` +#### Types: + + +- [RegexMatcher](#regexmatcher) +- [GoogleRE2](#googlere2) +- [RegexMatchAndSubstitute](#regexmatchandsubstitute) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto) + + + + + +--- +### RegexMatcher + + +A regex matcher designed for safety when used with untrusted input. + +```yaml +"googleRe2": .solo.io.envoy.type.matcher.v3.RegexMatcher.GoogleRE2 +"regex": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `googleRe2` | [.solo.io.envoy.type.matcher.v3.RegexMatcher.GoogleRE2](../regex.proto.sk/#googlere2) | Google's RE2 regex engine. | +| `regex` | `string` | The regex match string. The string must be supported by the configured engine. | + + + + +--- +### GoogleRE2 + + +Google's [RE2](https://github.com/google/re2) regex engine. The regex string must adhere to +the documented [syntax](https://github.com/google/re2/wiki/Syntax). The engine is designed +to complete execution in linear time as well as limit the amount of memory used. + +Envoy supports program size checking via runtime. The runtime keys `re2.max_program_size.error_level` +and `re2.max_program_size.warn_level` can be set to integers as the maximum program size or +complexity that a compiled regex can have before an exception is thrown or a warning is +logged, respectively. `re2.max_program_size.error_level` defaults to 100, and +`re2.max_program_size.warn_level` has no default if unset (will not check/log a warning). + +Envoy emits two stats for tracking the program size of regexes: the histogram `re2.program_size`, +which records the program size, and the counter `re2.exceeded_warn_level`, which is incremented +each time the program size exceeds the warn level threshold. + +```yaml +"maxProgramSize": .google.protobuf.UInt32Value + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `maxProgramSize` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | This field controls the RE2 "program size" which is a rough estimate of how complex a compiled regex is to evaluate. A regex that has a program size greater than the configured value will fail to compile. In this case, the configured max program size can be increased or the regex can be simplified. If not specified, the default is 100. This field is deprecated; regexp validation should be performed on the management server instead of being done by each individual client. | + + + + +--- +### RegexMatchAndSubstitute + + +Describes how to match a string and then produce a new string using a regular +expression and a substitution string. + +```yaml +"pattern": .solo.io.envoy.type.matcher.v3.RegexMatcher +"substitution": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `pattern` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../regex.proto.sk/#regexmatcher) | The regular expression used to find portions of a string (hereafter called the "subject string") that should be replaced. When a new string is produced during the substitution operation, the new string is initially the same as the subject string, but then all matches in the subject string are replaced by the substitution string. If replacing all matches isn't desired, regular expression anchors can be used to ensure a single match, so as to replace just one occurrence of a pattern. Capture groups can be used in the pattern to extract portions of the subject string, and then referenced in the substitution string. | +| `substitution` | `string` | The string that should be substituted into matching portions of the subject string during a substitution operation to produce a new string. Capture groups in the pattern can be referenced in the substitution string. Note, however, that the syntax for referring to capture groups is defined by the chosen regular expression engine. Google's [RE2](https://github.com/google/re2) regular expression engine uses a backslash followed by the capture group number to denote a numbered capture group. E.g., `\1` refers to capture group 1, and `\2` refers to capture group 2. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/string.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/string.proto.sk.md new file mode 100644 index 00000000000..080f67510d9 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/string.proto.sk.md @@ -0,0 +1,74 @@ + +--- +title: "string.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.type.matcher.v3` +#### Types: + + +- [StringMatcher](#stringmatcher) +- [ListStringMatcher](#liststringmatcher) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/string.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/matcher/v3/string.proto) + + + + + +--- +### StringMatcher + + +Specifies the way to match a string. +[#next-free-field: 7] + +```yaml +"exact": string +"prefix": string +"suffix": string +"safeRegex": .solo.io.envoy.type.matcher.v3.RegexMatcher +"ignoreCase": bool + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `exact` | `string` | The input string must match exactly the string specified here. Examples: * *abc* only matches the value *abc*. Only one of `exact`, `prefix`, `suffix`, or `safeRegex` can be set. | +| `prefix` | `string` | The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * *abc* matches the value *abc.xyz*. Only one of `prefix`, `exact`, `suffix`, or `safeRegex` can be set. | +| `suffix` | `string` | The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * *abc* matches the value *xyz.abc*. Only one of `suffix`, `exact`, `prefix`, or `safeRegex` can be set. | +| `safeRegex` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../regex.proto.sk/#regexmatcher) | The input string must match the regular expression specified here. Only one of `safeRegex`, `exact`, `prefix`, or `suffix` can be set. | +| `ignoreCase` | `bool` | If true, indicates the exact/prefix/suffix matching should be case insensitive. This has no effect for the safe_regex match. For example, the matcher *data* will match both input string *Data* and *data* if set to true. | + + + + +--- +### ListStringMatcher + + +Specifies a list of ways to match a string. + +```yaml +"patterns": []solo.io.envoy.type.matcher.v3.StringMatcher + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `patterns` | [[]solo.io.envoy.type.matcher.v3.StringMatcher](../string.proto.sk/#stringmatcher) | | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto.sk.md new file mode 100644 index 00000000000..7f3d9898d03 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto.sk.md @@ -0,0 +1,183 @@ + +--- +title: "metadata.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.type.metadata.v3` +#### Types: + + +- [MetadataKey](#metadatakey) +- [PathSegment](#pathsegment) +- [MetadataKind](#metadatakind) +- [Request](#request) +- [Route](#route) +- [Cluster](#cluster) +- [Host](#host) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto) + + + + + +--- +### MetadataKey + + +MetadataKey provides a general interface using `key` and `path` to retrieve value from +Metadata. + +For example, for the following Metadata: + +.. code-block:: yaml + + filter_metadata: + envoy.xxx: + prop: + foo: bar + xyz: + hello: envoy + +The following MetadataKey will retrieve a string value "bar" from the Metadata. + +.. code-block:: yaml + + key: envoy.xxx + path: + - key: prop + - key: foo + +```yaml +"key": string +"path": []solo.io.envoy.type.metadata.v3.MetadataKey.PathSegment + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `key` | `string` | The key name of Metadata to retrieve the Struct from the metadata. Typically, it represents a builtin subsystem or custom extension. | +| `path` | [[]solo.io.envoy.type.metadata.v3.MetadataKey.PathSegment](../metadata.proto.sk/#pathsegment) | The path to retrieve the Value from the Struct. It can be a prefix or a full path, e.g. `[prop, xyz]` for a struct or `[prop, foo]` for a string in the example, which depends on the particular scenario. Note: Due to that only the key type segment is supported, the path can not specify a list unless the list is the last segment. | + + + + +--- +### PathSegment + + +Specifies the segment in a path to retrieve value from Metadata. +Currently it is only supported to specify the key, i.e. field name, as one segment of a path. + +```yaml +"key": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `key` | `string` | If specified, use the key to retrieve the value in a Struct. | + + + + +--- +### MetadataKind + + +Describes what kind of metadata. + +```yaml +"request": .solo.io.envoy.type.metadata.v3.MetadataKind.Request +"route": .solo.io.envoy.type.metadata.v3.MetadataKind.Route +"cluster": .solo.io.envoy.type.metadata.v3.MetadataKind.Cluster +"host": .solo.io.envoy.type.metadata.v3.MetadataKind.Host + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `request` | [.solo.io.envoy.type.metadata.v3.MetadataKind.Request](../metadata.proto.sk/#request) | Request kind of metadata. Only one of `request`, `route`, `cluster`, or `host` can be set. | +| `route` | [.solo.io.envoy.type.metadata.v3.MetadataKind.Route](../metadata.proto.sk/#route) | Route kind of metadata. Only one of `route`, `request`, `cluster`, or `host` can be set. | +| `cluster` | [.solo.io.envoy.type.metadata.v3.MetadataKind.Cluster](../metadata.proto.sk/#cluster) | Cluster kind of metadata. Only one of `cluster`, `request`, `route`, or `host` can be set. | +| `host` | [.solo.io.envoy.type.metadata.v3.MetadataKind.Host](../metadata.proto.sk/#host) | Host kind of metadata. Only one of `host`, `request`, `route`, or `cluster` can be set. | + + + + +--- +### Request + + +Represents dynamic metadata associated with the request. + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + +--- +### Route + + +Represents metadata from :ref:`the route`. + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + +--- +### Cluster + + +Represents metadata from :ref:`the upstream cluster`. + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + +--- +### Host + + +Represents metadata from :ref:`the upstream +host`. + +```yaml + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/range.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/range.proto.sk.md new file mode 100644 index 00000000000..7232b0eb14a --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/range.proto.sk.md @@ -0,0 +1,71 @@ + +--- +title: "range.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.type` +#### Types: + + +- [Int64Range](#int64range) +- [DoubleRange](#doublerange) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/range.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/range.proto) + + + + + +--- +### Int64Range + + +Specifies the int64 start and end of the range using half-open interval semantics [start, +end). + +```yaml +"start": int +"end": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `start` | `int` | start of the range (inclusive). | +| `end` | `int` | end of the range (exclusive). | + + + + +--- +### DoubleRange + + +Specifies the double start and end of the range using half-open interval semantics [start, +end). + +```yaml +"start": float +"end": float + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `start` | `float` | start of the range (inclusive). | +| `end` | `float` | end of the range (exclusive). | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto.sk.md new file mode 100644 index 00000000000..f3e866e97d8 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto.sk.md @@ -0,0 +1,143 @@ + +--- +title: "custom_tag.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.type.tracing.v3` +#### Types: + + +- [CustomTag](#customtag) +- [Literal](#literal) +- [Environment](#environment) +- [Header](#header) +- [Metadata](#metadata) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto) + + + + + +--- +### CustomTag + + +Describes custom tags for the active span. +[#next-free-field: 6] + +```yaml +"tag": string +"literal": .solo.io.envoy.type.tracing.v3.CustomTag.Literal +"environment": .solo.io.envoy.type.tracing.v3.CustomTag.Environment +"requestHeader": .solo.io.envoy.type.tracing.v3.CustomTag.Header +"metadata": .solo.io.envoy.type.tracing.v3.CustomTag.Metadata + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `tag` | `string` | Used to populate the tag name. | +| `literal` | [.solo.io.envoy.type.tracing.v3.CustomTag.Literal](../custom_tag.proto.sk/#literal) | A literal custom tag. Only one of `literal`, `environment`, `requestHeader`, or `metadata` can be set. | +| `environment` | [.solo.io.envoy.type.tracing.v3.CustomTag.Environment](../custom_tag.proto.sk/#environment) | An environment custom tag. Only one of `environment`, `literal`, `requestHeader`, or `metadata` can be set. | +| `requestHeader` | [.solo.io.envoy.type.tracing.v3.CustomTag.Header](../custom_tag.proto.sk/#header) | A request header custom tag. Only one of `requestHeader`, `literal`, `environment`, or `metadata` can be set. | +| `metadata` | [.solo.io.envoy.type.tracing.v3.CustomTag.Metadata](../custom_tag.proto.sk/#metadata) | A custom tag to obtain tag value from the metadata. Only one of `metadata`, `literal`, `environment`, or `requestHeader` can be set. | + + + + +--- +### Literal + + +Literal type custom tag with static value for the tag value. + +```yaml +"value": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `value` | `string` | Static literal value to populate the tag value. | + + + + +--- +### Environment + + +Environment type custom tag with environment name and default value. + +```yaml +"name": string +"defaultValue": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | Environment variable name to obtain the value to populate the tag value. | +| `defaultValue` | `string` | When the environment variable is not found, the tag value will be populated with this default value if specified, otherwise no tag will be populated. | + + + + +--- +### Header + + +Header type custom tag with header name and default value. + +```yaml +"name": string +"defaultValue": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `name` | `string` | Header name to obtain the value to populate the tag value. | +| `defaultValue` | `string` | When the header does not exist, the tag value will be populated with this default value if specified, otherwise no tag will be populated. | + + + + +--- +### Metadata + + +Metadata type custom tag using +MetadataKey to retrieve the protobuf value +from Metadata, and populate the tag value with +[the canonical JSON](https://developers.google.com/protocol-buffers/docs/proto3#json) +representation of it. + +```yaml +"kind": .solo.io.envoy.type.metadata.v3.MetadataKind +"metadataKey": .solo.io.envoy.type.metadata.v3.MetadataKey +"defaultValue": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `kind` | [.solo.io.envoy.type.metadata.v3.MetadataKind](../../../metadata/v3/metadata.proto.sk/#metadatakind) | Specify what kind of metadata to obtain tag value from. | +| `metadataKey` | [.solo.io.envoy.type.metadata.v3.MetadataKey](../../../metadata/v3/metadata.proto.sk/#metadatakey) | Metadata key to define the path to retrieve the tag value. | +| `defaultValue` | `string` | When no valid metadata is found, the tag value would be populated with this default value if specified, otherwise no tag would be populated. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http.proto.sk.md new file mode 100644 index 00000000000..a2a15b80993 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http.proto.sk.md @@ -0,0 +1,38 @@ + +--- +title: "http.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.type.v3` + +##### Enums: + + + - [CodecClientType](#codecclienttype) + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/v3/http.proto) + + + + + +### CodecClientType + +Description: + +| Name | Description | +| ----- | ----------- | +| HTTP1 | | +| HTTP2 | | +| HTTP3 | [#not-implemented-hide:] QUIC implementation is not production ready yet. Use this enum with caution to prevent accidental execution of QUIC code. I.e. `!= HTTP2` is no longer sufficient to distinguish HTTP1 and HTTP2 traffic. | + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http_status.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http_status.proto.sk.md new file mode 100644 index 00000000000..8d817e06fb9 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http_status.proto.sk.md @@ -0,0 +1,118 @@ + +--- +title: "http_status.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.type.v3` +#### Types: + + +- [HttpStatus](#httpstatus) + + + + +##### Enums: + + + - [StatusCode](#statuscode) + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http_status.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/v3/http_status.proto) + + + + + +--- +### HttpStatus + + +HTTP status. + +```yaml +"code": .solo.io.envoy.type.v3.StatusCode + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `code` | [.solo.io.envoy.type.v3.StatusCode](../http_status.proto.sk/#statuscode) | Supplies HTTP response code. | + + + + +### StatusCode + +Description: HTTP response codes supported in Envoy. +For more details: https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml + +| Name | Description | +| ----- | ----------- | +| Empty | Empty - This code not part of the HTTP status code specification, but it is needed for proto `enum` type. | +| Continue | | +| OK | | +| Created | | +| Accepted | | +| NonAuthoritativeInformation | | +| NoContent | | +| ResetContent | | +| PartialContent | | +| MultiStatus | | +| AlreadyReported | | +| IMUsed | | +| MultipleChoices | | +| MovedPermanently | | +| Found | | +| SeeOther | | +| NotModified | | +| UseProxy | | +| TemporaryRedirect | | +| PermanentRedirect | | +| BadRequest | | +| Unauthorized | | +| PaymentRequired | | +| Forbidden | | +| NotFound | | +| MethodNotAllowed | | +| NotAcceptable | | +| ProxyAuthenticationRequired | | +| RequestTimeout | | +| Conflict | | +| Gone | | +| LengthRequired | | +| PreconditionFailed | | +| PayloadTooLarge | | +| URITooLong | | +| UnsupportedMediaType | | +| RangeNotSatisfiable | | +| ExpectationFailed | | +| MisdirectedRequest | | +| UnprocessableEntity | | +| Locked | | +| FailedDependency | | +| UpgradeRequired | | +| PreconditionRequired | | +| TooManyRequests | | +| RequestHeaderFieldsTooLarge | | +| InternalServerError | | +| NotImplemented | | +| BadGateway | | +| ServiceUnavailable | | +| GatewayTimeout | | +| HTTPVersionNotSupported | | +| VariantAlsoNegotiates | | +| InsufficientStorage | | +| LoopDetected | | +| NotExtended | | +| NetworkAuthenticationRequired | | + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/percent.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/percent.proto.sk.md new file mode 100644 index 00000000000..5eb7afb180b --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/percent.proto.sk.md @@ -0,0 +1,88 @@ + +--- +title: "percent.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.type.v3` +#### Types: + + +- [Percent](#percent) +- [FractionalPercent](#fractionalpercent) +- [DenominatorType](#denominatortype) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/percent.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/v3/percent.proto) + + + + + +--- +### Percent + + +Identifies a percentage, in the range [0.0, 100.0]. + +```yaml +"value": float + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `value` | `float` | | + + + + +--- +### FractionalPercent + + +A fractional percentage is used in cases in which for performance reasons performing floating +point to integer conversions during randomness calculations is undesirable. The message includes +both a numerator and denominator that together determine the final fractional value. + +* **Example**: 1/100 = 1%. +* **Example**: 3/10000 = 0.03%. + +```yaml +"numerator": int +"denominator": .solo.io.envoy.type.v3.FractionalPercent.DenominatorType + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `numerator` | `int` | Specifies the numerator. Defaults to 0. | +| `denominator` | [.solo.io.envoy.type.v3.FractionalPercent.DenominatorType](../percent.proto.sk/#denominatortype) | Specifies the denominator. If the denominator specified is less than the numerator, the final fractional percentage is capped at 1 (100%). | + + + + +--- +### DenominatorType + + +Fraction percentages support several fixed denominator values. + +| Name | Description | +| ----- | ----------- | +| `HUNDRED` | 100. **Example**: 1/100 = 1%. | +| `TEN_THOUSAND` | 10,000. **Example**: 1/10000 = 0.01%. | +| `MILLION` | 1,000,000. **Example**: 1/1000000 = 0.0001%. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/range.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/range.proto.sk.md new file mode 100644 index 00000000000..5ed220509f6 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/range.proto.sk.md @@ -0,0 +1,93 @@ + +--- +title: "range.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.type.v3` +#### Types: + + +- [Int64Range](#int64range) +- [Int32Range](#int32range) +- [DoubleRange](#doublerange) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/range.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/v3/range.proto) + + + + + +--- +### Int64Range + + +Specifies the int64 start and end of the range using half-open interval semantics [start, +end). + +```yaml +"start": int +"end": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `start` | `int` | start of the range (inclusive). | +| `end` | `int` | end of the range (exclusive). | + + + + +--- +### Int32Range + + +Specifies the int32 start and end of the range using half-open interval semantics [start, +end). + +```yaml +"start": int +"end": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `start` | `int` | start of the range (inclusive). | +| `end` | `int` | end of the range (exclusive). | + + + + +--- +### DoubleRange + + +Specifies the double start and end of the range using half-open interval semantics [start, +end). + +```yaml +"start": float +"end": float + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `start` | `float` | start of the range (inclusive). | +| `end` | `float` | end of the range (exclusive). | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/semantic_version.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/semantic_version.proto.sk.md new file mode 100644 index 00000000000..47d872d97b6 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/semantic_version.proto.sk.md @@ -0,0 +1,52 @@ + +--- +title: "semantic_version.proto" +weight: 5 +--- + + + + +### Package: `solo.io.envoy.type.v3` +#### Types: + + +- [SemanticVersion](#semanticversion) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/semantic_version.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/v3/semantic_version.proto) + + + + + +--- +### SemanticVersion + + +Envoy uses SemVer (https://semver.org/). Major/minor versions indicate +expected behaviors and APIs, the patch version field is used only +for security fixes and can be generally ignored. + +```yaml +"majorNumber": int +"minorNumber": int +"patch": int + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `majorNumber` | `int` | | +| `minorNumber` | `int` | | +| `patch` | `int` | | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/migrate.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/migrate.proto.sk.md new file mode 100644 index 00000000000..9b3554d2e66 --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/migrate.proto.sk.md @@ -0,0 +1,83 @@ + +--- +title: "migrate.proto" +weight: 5 +--- + + + + +### Package: `solo.io.udpa.annotations` +#### Types: + + +- [MigrateAnnotation](#migrateannotation) +- [FieldMigrateAnnotation](#fieldmigrateannotation) +- [FileMigrateAnnotation](#filemigrateannotation) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/migrate.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/udpa/annotations/migrate.proto) + + + + + +--- +### MigrateAnnotation + + + +```yaml +"rename": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `rename` | `string` | Rename the message/enum/enum value in next version. | + + + + +--- +### FieldMigrateAnnotation + + + +```yaml +"rename": string +"oneofPromotion": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `rename` | `string` | Rename the field in next version. | +| `oneofPromotion` | `string` | Add the field to a named oneof in next version. If this already exists, the field will join its siblings under the oneof, otherwise a new oneof will be created with the given name. | + + + + +--- +### FileMigrateAnnotation + + + +```yaml +"moveToPackage": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `moveToPackage` | `string` | Move all types in the file to another package, this implies changing proto file path. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/sensitive.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/sensitive.proto.sk.md new file mode 100644 index 00000000000..5bd370a4afa --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/sensitive.proto.sk.md @@ -0,0 +1,21 @@ + +--- +title: "sensitive.proto" +weight: 5 +--- + + + + +### Package: `solo.io.udpa.annotations` + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/sensitive.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/udpa/annotations/sensitive.proto) + + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/status.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/status.proto.sk.md new file mode 100644 index 00000000000..5044bc5ab9f --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/status.proto.sk.md @@ -0,0 +1,65 @@ + +--- +title: "status.proto" +weight: 5 +--- + + + + +### Package: `solo.io.udpa.annotations` +#### Types: + + +- [StatusAnnotation](#statusannotation) + + + + +##### Enums: + + + - [PackageVersionStatus](#packageversionstatus) + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/status.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/udpa/annotations/status.proto) + + + + + +--- +### StatusAnnotation + + + +```yaml +"workInProgress": bool +"packageVersionStatus": .solo.io.udpa.annotations.PackageVersionStatus + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `workInProgress` | `bool` | The entity is work-in-progress and subject to breaking changes. | +| `packageVersionStatus` | [.solo.io.udpa.annotations.PackageVersionStatus](../status.proto.sk/#packageversionstatus) | The entity belongs to a package with the given version status. | + + + + +### PackageVersionStatus + +Description: + +| Name | Description | +| ----- | ----------- | +| UNKNOWN | Unknown package version status. | +| FROZEN | This version of the package is frozen. | +| ACTIVE | This version of the package is the active development version. | +| NEXT_MAJOR_VERSION_CANDIDATE | This version of the package is the candidate for the next major version. It is typically machine generated from the active development version. | + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/versioning.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/versioning.proto.sk.md new file mode 100644 index 00000000000..12c8f7ce83b --- /dev/null +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/versioning.proto.sk.md @@ -0,0 +1,45 @@ + +--- +title: "versioning.proto" +weight: 5 +--- + + + + +### Package: `solo.io.udpa.annotations` +#### Types: + + +- [VersioningAnnotation](#versioningannotation) + + + + +##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/versioning.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/udpa/annotations/versioning.proto) + + + + + +--- +### VersioningAnnotation + + + +```yaml +"previousMessageType": string + +``` + +| Field | Type | Description | +| ----- | ---- | ----------- | +| `previousMessageType` | `string` | Track the previous message type. E.g. this message might be udpa.foo.v3alpha.Foo and it was previously udpa.bar.v2.Bar. This information is consumed by UDPA via proto descriptors. | + + + + + + + + diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/caching/caching.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/caching/caching.proto.sk.md index 6253b5409bc..285a871b7a4 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/caching/caching.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/caching/caching.proto.sk.md @@ -38,7 +38,7 @@ weight: 5 | Field | Type | Description | | ----- | ---- | ----------- | | `cachingServiceRef` | [.core.solo.io.ResourceRef](../../../../../../../../../solo-kit/api/v1/ref.proto.sk/#resourceref) | The basic reference for the service. Details name and namespace. | -| `allowedVaryHeaders` | []solo.io.envoy.type.matcher.v3.StringMatcher | A list of string matchers that state what headers are allowed to vary and still be cached. Per upstream envoy allowed vary headers. | +| `allowedVaryHeaders` | [[]solo.io.envoy.type.matcher.v3.StringMatcher](../../../../../external/envoy/type/matcher/v3/string.proto.sk/#stringmatcher) | A list of string matchers that state what headers are allowed to vary and still be cached. Per upstream envoy allowed vary headers. | | `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Connection timeout for retrieval from an sync cache. | | `maxPayloadSize` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Max payload size to cache. If unset defaults to a reasonable value. If explicitly set to 0 will prevent anything with a body from being cached. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/dlp/dlp.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/dlp/dlp.proto.sk.md index df12d0d737e..84f5bd1a7c4 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/dlp/dlp.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/dlp/dlp.proto.sk.md @@ -270,7 +270,7 @@ If the mask_char, and percent were left to default, the result would be: | `regex` | `[]string` | The list of regex strings which will be applied in order. | | `maskChar` | `string` | The masking character for the sensitive data. default value: X. | | `percent` | [.solo.io.envoy.type.Percent](../../../../../../../../../solo-kit/api/external/envoy/type/percent.proto.sk/#percent) | The percent of the string which will be masked by the mask_char default value: 75% rounds ratio (percent/100) by std::round http://www.cplusplus.com/reference/cmath/round/. | -| `regexActions` | []envoy.config.filter.http.transformation_ee.v2.RegexAction | List of regexes to apply to the response body to match data which should be masked. They will be applied iteratively in the order which they are specified. If this field and `regex` are both provided, all the regexes will be applied iteratively in the order provided, starting with the ones from `regex`. | +| `regexActions` | [[]envoy.config.filter.http.transformation_ee.v2.RegexAction](../../../../../external/envoy/extensions/transformation_ee/transformation.proto.sk/#regexaction) | List of regexes to apply to the response body to match data which should be masked. They will be applied iteratively in the order which they are specified. If this field and `regex` are both provided, all the regexes will be applied iteratively in the order provided, starting with the ones from `regex`. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/extproc/extproc.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/extproc/extproc.proto.sk.md index 23c7e0df958..de49a683ff8 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/extproc/extproc.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/extproc/extproc.proto.sk.md @@ -63,13 +63,13 @@ Users should take care to understand the risks of using this extension before pr | `grpcService` | [.extproc.options.gloo.solo.io.GrpcService](../extproc.proto.sk/#grpcservice) | Required. Configuration for the gRPC service that the filter will communicate with. | | `filterStage` | [.filters.gloo.solo.io.FilterStage](../../../../filters/stages.proto.sk/#filterstage) | Required. Where in the HTTP filter chain to insert the filter. | | `failureModeAllow` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | By default, if the gRPC stream cannot be established, or if it is closed prematurely with an error, the filter will fail. Specifically, if the response headers have not yet been delivered, then it will return a 500 error downstream. If they have been delivered, then instead the HTTP stream to the downstream client will be reset. With this parameter set to true, however, then if the gRPC stream is prematurely closed or could not be opened, processing continues without error. | -| `processingMode` | .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode | Specifies default options for how HTTP headers, trailers, and bodies are sent. | +| `processingMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode](../../../../../external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto.sk/#processingmode) | Specifies default options for how HTTP headers, trailers, and bodies are sent. | | `asyncMode` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | NOT CURRENTLY IMPLEMENTED. If true, send each part of the HTTP request or response specified by ProcessingMode asynchronously -- in other words, send the message on the gRPC stream and then continue filter processing. If false, which is the default, suspend filter execution after each message is sent to the remote service and wait up to "message_timeout" for a reply. | | `requestAttributes` | `[]string` | NOT CURRENTLY IMPLEMENTED. Envoy provides a number of [attributes](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/attributes#arch-overview-attributes) for expressive policies. Each attribute name provided in this field will be matched against that list and populated in the request_headers message. See the [request attribute documentation](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/attributes#request-attributes) for the list of supported attributes and their types. | | `responseAttributes` | `[]string` | NOT CURRENTLY IMPLEMENTED. Envoy provides a number of [attributes](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/attributes#arch-overview-attributes) for expressive policies. Each attribute name provided in this field will be matched against that list and populated in the response_headers message. See the [response attribute documentation](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/attributes#response-attributes) for the list of supported attributes and their types. | | `messageTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Specifies the timeout for each individual message sent on the stream when the filter is running in synchronous mode. Whenever the proxy sends a message on the stream that requires a response, it will reset this timer, and will stop processing and return an error (subject to the processing mode) if the timer expires before a matching response is received. There is no timeout when the filter is running in asynchronous mode. Value must be at least 0 seconds, and less than or equal to 3600 seconds. Zero is a valid value which means the timer will be triggered immediately. If not configured, default is 200 milliseconds. | | `statPrefix` | [.google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/string-value) | Optional additional prefix to use when emitting statistics. This allows distinguishing between statistics emitted by multiple *ext_proc* filters in an HTTP filter chain. | -| `mutationRules` | .solo.io.envoy.config.common.mutation_rules.v3.HeaderMutationRules | Rules that determine what modifications an external processing server may make to message headers. If not set, all headers may be modified except for "host", ":authority", ":scheme", ":method", and headers that start with the header prefix set via [header_prefix](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/bootstrap/v3/bootstrap.proto#envoy-v3-api-field-config-bootstrap-v3-bootstrap-header-prefix) (which is usually "x-envoy"). Note that changing headers such as "host" or ":authority" may not in itself change Envoy's routing decision, as routes can be cached. To also force the route to be recomputed, set the [clear_route_cache](https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/ext_proc/v3/external_processor.proto#envoy-v3-api-field-service-ext-proc-v3-commonresponse-clear-route-cache) field to true in the same response. | +| `mutationRules` | [.solo.io.envoy.config.common.mutation_rules.v3.HeaderMutationRules](../../../../../external/envoy/config/common/mutation_rules/v3/mutation_rules.proto.sk/#headermutationrules) | Rules that determine what modifications an external processing server may make to message headers. If not set, all headers may be modified except for "host", ":authority", ":scheme", ":method", and headers that start with the header prefix set via [header_prefix](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/bootstrap/v3/bootstrap.proto#envoy-v3-api-field-config-bootstrap-v3-bootstrap-header-prefix) (which is usually "x-envoy"). Note that changing headers such as "host" or ":authority" may not in itself change Envoy's routing decision, as routes can be cached. To also force the route to be recomputed, set the [clear_route_cache](https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/ext_proc/v3/external_processor.proto#envoy-v3-api-field-service-ext-proc-v3-commonresponse-clear-route-cache) field to true in the same response. | | `maxMessageTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Specify the upper bound of [override_message_timeout](https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/ext_proc/v3/external_processor.proto#envoy-v3-api-field-service-ext-proc-v3-processingresponse-override-message-timeout). If not specified, by default it is 0, which will effectively disable the `override_message_timeout` API. Value must be greater than or equal to the `messageTimeout` and less than or equal to 3600 seconds. | | `disableClearRouteCache` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Prevents clearing the route-cache when the [clear_route_cache](https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/ext_proc/v3/external_processor.proto#envoy-v3-api-field-service-ext-proc-v3-commonresponse-clear-route-cache) field is set in an external processor response. | | `forwardRules` | [.extproc.options.gloo.solo.io.HeaderForwardingRules](../extproc.proto.sk/#headerforwardingrules) | Allow headers matching the `forward_rules` to be forwarded to the external processing server. If not set, all headers are forwarded to the external processing server. | @@ -119,9 +119,9 @@ External processor settings that can be configured on a virtual host or route. | ----- | ---- | ----------- | | `extProcServerRef` | [.core.solo.io.ResourceRef](../../../../../../../../../solo-kit/api/v1/ref.proto.sk/#resourceref) | A reference to the Upstream representing the external processor gRPC server. See https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/ext_proc/v3/external_processor.proto for details. | | `authority` | [.google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/string-value) | The `:authority` header in the grpc request. If this field is not set, the authority header value will be the cluster name. Note that this authority does not override the SNI. The SNI is provided by the transport socket of the cluster. | -| `retryPolicy` | .solo.io.envoy.config.core.v3.RetryPolicy | Indicates the retry policy for re-establishing the gRPC stream This field is optional. If max interval is not provided, it will be set to ten times the provided base interval. Currently only supported for xDS gRPC streams. If not set, xDS gRPC streams default base interval:500ms, maximum interval:30s will be applied. | +| `retryPolicy` | [.solo.io.envoy.config.core.v3.RetryPolicy](../../../../../external/envoy/config/core/v3/base.proto.sk/#retrypolicy) | Indicates the retry policy for re-establishing the gRPC stream This field is optional. If max interval is not provided, it will be set to ten times the provided base interval. Currently only supported for xDS gRPC streams. If not set, xDS gRPC streams default base interval:500ms, maximum interval:30s will be applied. | | `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The timeout for the gRPC request. This is the timeout for a specific request. | -| `initialMetadata` | []solo.io.envoy.config.core.v3.HeaderValue | 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 [custom request headers](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/headers#config-http-conn-man-headers-custom-request-headers). | +| `initialMetadata` | [[]solo.io.envoy.config.core.v3.HeaderValue](../../../../../external/envoy/config/core/v3/base.proto.sk/#headervalue) | 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 [custom request headers](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/headers#config-http-conn-man-headers-custom-request-headers). | @@ -144,7 +144,7 @@ External processor settings that can be configured on a virtual host or route. | Field | Type | Description | | ----- | ---- | ----------- | -| `processingMode` | .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode | Set a different processing mode for this virtual host or route than the default. | +| `processingMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode](../../../../../external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto.sk/#processingmode) | Set a different processing mode for this virtual host or route than the default. | | `asyncMode` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | NOT CURRENTLY IMPLEMENTED. Set a different asynchronous processing option than the default. | | `requestAttributes` | `[]string` | NOT FINALIZED UPSTREAM use at your own upgrade risk Set different optional attributes than the default setting of the `request_attributes` field. | | `responseAttributes` | `[]string` | NOT FINALIZED UPSTREAM use at your own upgrade risk Set different optional properties than the default setting of the `response_attributes` field. | @@ -172,8 +172,8 @@ for details. | Field | Type | Description | | ----- | ---- | ----------- | -| `allowedHeaders` | .solo.io.envoy.type.matcher.v3.ListStringMatcher | If set, specifically allow any header in this list to be forwarded to the external processing server. This can be overridden by the below `disallowed_headers`. | -| `disallowedHeaders` | .solo.io.envoy.type.matcher.v3.ListStringMatcher | If set, specifically disallow any header in this list to be forwarded to the external processing server. This overrides the above `allowed_headers` if a header matches both. NOT CURRENTLY IMPLEMENTED. | +| `allowedHeaders` | [.solo.io.envoy.type.matcher.v3.ListStringMatcher](../../../../../external/envoy/type/matcher/v3/string.proto.sk/#liststringmatcher) | If set, specifically allow any header in this list to be forwarded to the external processing server. This can be overridden by the below `disallowed_headers`. | +| `disallowedHeaders` | [.solo.io.envoy.type.matcher.v3.ListStringMatcher](../../../../../external/envoy/type/matcher/v3/string.proto.sk/#liststringmatcher) | If set, specifically disallow any header in this list to be forwarded to the external processing server. This overrides the above `allowed_headers` if a header matches both. NOT CURRENTLY IMPLEMENTED. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/jwt/jwt.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/jwt/jwt.proto.sk.md index b55f2354f34..d938f07e645 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/jwt/jwt.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/jwt/jwt.proto.sk.md @@ -209,7 +209,7 @@ weight: 5 | `url` | `string` | The url used when accessing the upstream for Json Web Key Set. This is used to set the host and path in the request. | | `upstreamRef` | [.core.solo.io.ResourceRef](../../../../../../../../../solo-kit/api/v1/ref.proto.sk/#resourceref) | The Upstream representing the Json Web Key Set server. | | `cacheDuration` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Duration after which the cached JWKS should be expired. If not specified, default cache duration is 5 minutes. | -| `asyncFetch` | .solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwksAsyncFetch | Fetch Jwks asynchronously in the main thread before the listener is activated. Fetched Jwks can be used by all worker threads. If this feature is not enabled: * The Jwks is fetched on-demand when the requests come. During the fetching, first few requests are paused until the Jwks is fetched. * Each worker thread fetches its own Jwks since Jwks cache is per worker thread. If this feature is enabled: * Fetched Jwks is done in the main thread before the listener is activated. Its fetched Jwks can be used by all worker threads. Each worker thread doesn't need to fetch its own. * Jwks is ready when the requests come, not need to wait for the Jwks fetching. | +| `asyncFetch` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwksAsyncFetch](../../../../../external/envoy/extensions/filters/http/jwt_authn/v3/config.proto.sk/#jwksasyncfetch) | Fetch Jwks asynchronously in the main thread before the listener is activated. Fetched Jwks can be used by all worker threads. If this feature is not enabled: * The Jwks is fetched on-demand when the requests come. During the fetching, first few requests are paused until the Jwks is fetched. * Each worker thread fetches its own Jwks since Jwks cache is per worker thread. If this feature is enabled: * Fetched Jwks is done in the main thread before the listener is activated. Its fetched Jwks can be used by all worker threads. Each worker thread doesn't need to fetch its own. * Jwks is ready when the requests come, not need to wait for the Jwks fetching. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/waf/waf.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/waf/waf.proto.sk.md index 4b36a3ddebb..35766803b23 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/waf/waf.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/waf/waf.proto.sk.md @@ -46,9 +46,9 @@ weight: 5 | `disabled` | `bool` | Disable waf on this resource (if omitted defaults to false). If a route/virtual host is configured with WAF, you must explicitly disable its WAF, i.e., it will not inherit the disabled status of its parent. | | `customInterventionMessage` | `string` | Custom massage to display if an intervention occurs. | | `coreRuleSet` | [.waf.options.gloo.solo.io.CoreRuleSet](../waf.proto.sk/#coreruleset) | Add OWASP core rule set if nil will not be added. | -| `ruleSets` | []envoy.config.filter.http.modsecurity.v2.RuleSet | Custom rule sets to add. Any subsequent changes to the rules in these files are not automatically updated. To update rules from files, version and update the file name. If you want dynamically updated rules, use the `configMapRuleSets` option instead. | +| `ruleSets` | [[]envoy.config.filter.http.modsecurity.v2.RuleSet](../../../../../external/envoy/extensions/waf/waf.proto.sk/#ruleset) | Custom rule sets to add. Any subsequent changes to the rules in these files are not automatically updated. To update rules from files, version and update the file name. If you want dynamically updated rules, use the `configMapRuleSets` option instead. | | `configMapRuleSets` | [[]waf.options.gloo.solo.io.RuleSetFromConfigMap](../waf.proto.sk/#rulesetfromconfigmap) | Kubernetes configmaps with the rule sets that you want to use. The rules must be in the value of the key-value mappings in the `data` field of the configmap. Subsequent updates to the configmap values are dynamically updated in the configuration. | -| `auditLogging` | .envoy.config.filter.http.modsecurity.v2.AuditLogging | Audit Log settings. | +| `auditLogging` | [.envoy.config.filter.http.modsecurity.v2.AuditLogging](../../../../../external/envoy/extensions/waf/waf.proto.sk/#auditlogging) | Audit Log settings. | | `requestHeadersOnly` | `bool` | Only process request headers, not buffering the request body. | | `responseHeadersOnly` | `bool` | Only process response headers, not buffering the response body. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/http_listener_options.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/http_listener_options.proto.sk.md index a31fa279b72..4154e54cfda 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/http_listener_options.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/http_listener_options.proto.sk.md @@ -73,10 +73,10 @@ Optional, feature-specific configuration that lives on http listeners | `caching` | [.caching.options.gloo.solo.io.Settings](../enterprise/options/caching/caching.proto.sk/#settings) | Enterprise-only: Settings for the cache server itself. | | `disableExtProc` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Enterprise-only: Set to true to disable the External Processing filter for this listener. This can be overridden by child VirtualHostOptions or RouteOptions. Only one of `disableExtProc` or `extProc` can be set. | | `extProc` | [.extproc.options.gloo.solo.io.Settings](../enterprise/options/extproc/extproc.proto.sk/#settings) | Enterprise-only: External Processing filter settings for the listener. This can be used to override the defaults from the global settings (via shallow merge). Some of the settings on the listener can be overridden by child VirtualHostOptions or RouteOptions. Only one of `extProc` or `disableExtProc` can be set. | -| `gzip` | .solo.io.envoy.config.filter.http.gzip.v2.Gzip | Gzip is an HTTP option which enables Gloo to compress data returned from an upstream service upon client request. Compression is useful in situations where large payloads need to be transmitted without compromising the response time. Example: ``` gzip: contentType: - "application/json" compressionLevel: BEST ```. | -| `proxyLatency` | .envoy.config.filter.http.proxylatency.v2.ProxyLatency | Enterprise-only: Proxy latency. | -| `buffer` | .solo.io.envoy.extensions.filters.http.buffer.v3.Buffer | Buffer can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. | -| `csrf` | .solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | +| `gzip` | [.solo.io.envoy.config.filter.http.gzip.v2.Gzip](../../external/envoy/config/filter/http/gzip/v2/gzip.proto.sk/#gzip) | Gzip is an HTTP option which enables Gloo to compress data returned from an upstream service upon client request. Compression is useful in situations where large payloads need to be transmitted without compromising the response time. Example: ``` gzip: contentType: - "application/json" compressionLevel: BEST ```. | +| `proxyLatency` | [.envoy.config.filter.http.proxylatency.v2.ProxyLatency](../../external/envoy/extensions/proxylatency/proxylatency.proto.sk/#proxylatency) | Enterprise-only: Proxy latency. | +| `buffer` | [.solo.io.envoy.extensions.filters.http.buffer.v3.Buffer](../../external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk/#buffer) | Buffer can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. | +| `csrf` | [.solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy](../../external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk/#csrfpolicy) | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | | `grpcJsonTranscoder` | [.grpc_json.options.gloo.solo.io.GrpcJsonTranscoder](../options/grpc_json/grpc_json.proto.sk/#grpcjsontranscoder) | Exposed envoy config for the gRPC to JSON transcoding filter, envoy.filters.http.grpc_json_transcoder. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/grpc_json_transcoder/v3/transcoder.proto. | | `sanitizeClusterHeader` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Enterprise-only: If using the HTTP header specified by cluster_header to direct traffic to a cluster, this option will sanitize that header from downstream traffic. Defaults to false. | | `leftmostXffAddress` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Enterprise-only: Setting this value to true will grab the leftmost IP address from the x-forwarded-for header and set it as the downstream address. It is worth noting that the x-forwarded-for header can be tampered with by clients and should therefore be sanitized by any preceding proxies / load balancers if this option is to be used. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/als/als.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/als/als.proto.sk.md index b92d3ffaf02..171755815ab 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/als/als.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/als/als.proto.sk.md @@ -175,7 +175,7 @@ Filter on an integer comparison. | Field | Type | Description | | ----- | ---- | ----------- | | `op` | [.als.options.gloo.solo.io.ComparisonFilter.Op](../als.proto.sk/#op) | Comparison operator. | -| `value` | .solo.io.envoy.config.core.v3.RuntimeUInt32 | Value to compare against. Note that the `defaultValue` field must be defined unless the `runtimeKey` matches a key that is defined in Envoy's [runtime configuration layer](https://www.envoyproxy.io/docs/envoy/v1.30.0/configuration/operations/runtime#config-runtime-bootstrap). Gloo Gateway does not include a key by default. To specify a key-value pair, use the [gatewayProxies.NAME.customStaticLayer]({{< versioned_link_path fromRoot="/reference/helm_chart_values/" >}}) Helm value or set the key at runtime by using the gateway proxy admin interface. | +| `value` | [.solo.io.envoy.config.core.v3.RuntimeUInt32](../../../../external/envoy/config/core/v3/base.proto.sk/#runtimeuint32) | Value to compare against. Note that the `defaultValue` field must be defined unless the `runtimeKey` matches a key that is defined in Envoy's [runtime configuration layer](https://www.envoyproxy.io/docs/envoy/v1.30.0/configuration/operations/runtime#config-runtime-bootstrap). Gloo Gateway does not include a key by default. To specify a key-value pair, use the [gatewayProxies.NAME.customStaticLayer]({{< versioned_link_path fromRoot="/reference/helm_chart_values/" >}}) Helm value or set the key at runtime by using the gateway proxy admin interface. | @@ -280,7 +280,7 @@ Filters for random sampling of requests. | Field | Type | Description | | ----- | ---- | ----------- | | `runtimeKey` | `string` | 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. | -| `percentSampled` | .solo.io.envoy.type.v3.FractionalPercent | The default sampling percentage. If not specified, defaults to 0% with denominator of 100. | +| `percentSampled` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../external/envoy/type/v3/percent.proto.sk/#fractionalpercent) | The default sampling percentage. If not specified, defaults to 0% with denominator of 100. | | `useIndependentRandomness` | `bool` | By default, sampling pivots on the header :ref:`x-request-id` being present. If :ref:`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`. 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 ` and :ref:`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). | @@ -339,7 +339,7 @@ Filters requests based on the presence or value of a request header. | Field | Type | Description | | ----- | ---- | ----------- | -| `header` | .solo.io.envoy.config.route.v3.HeaderMatcher | Only requests with a header which matches the specified HeaderMatcher will pass the filter check. | +| `header` | [.solo.io.envoy.config.route.v3.HeaderMatcher](../../../../external/envoy/config/route/v3/route_components.proto.sk/#headermatcher) | Only requests with a header which matches the specified HeaderMatcher will pass the filter check. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/dynamic_forward_proxy/dynamic_forward_proxy.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/dynamic_forward_proxy/dynamic_forward_proxy.proto.sk.md index 25fc4a0d0fc..c02d37c1947 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/dynamic_forward_proxy/dynamic_forward_proxy.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/dynamic_forward_proxy/dynamic_forward_proxy.proto.sk.md @@ -110,7 +110,7 @@ Configuration for the dynamic forward proxy DNS cache. See the :ref:`architectur | `dnsCacheCircuitBreaker` | [.dfp.options.gloo.solo.io.DnsCacheCircuitBreakers](../dynamic_forward_proxy.proto.sk/#dnscachecircuitbreakers) | The config of circuit breakers for resolver. It provides a configurable threshold. Envoy will use dns cache circuit breakers with default settings even if this value is not set. | | `caresDns` | [.dfp.options.gloo.solo.io.CaresDnsResolverConfig](../dynamic_forward_proxy.proto.sk/#caresdnsresolverconfig) | Only one of `caresDns` or `appleDns` can be set. | | `appleDns` | [.dfp.options.gloo.solo.io.AppleDnsResolverConfig](../dynamic_forward_proxy.proto.sk/#applednsresolverconfig) | Only one of `appleDns` or `caresDns` can be set. | -| `preresolveHostnames` | []solo.io.envoy.config.core.v3.SocketAddress | Hostnames that should be preresolved into the cache upon creation. This might provide a performance improvement, in the form of cache hits, for hostnames that are going to be resolved during steady state and are known at config load time. | +| `preresolveHostnames` | [[]solo.io.envoy.config.core.v3.SocketAddress](../../../../external/envoy/config/core/v3/address.proto.sk/#socketaddress) | Hostnames that should be preresolved into the cache upon creation. This might provide a performance improvement, in the form of cache hits, for hostnames that are going to be resolved during steady state and are known at config load time. | | `dnsQueryTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The timeout used for DNS queries. This timeout is independent of any timeout and retry policy used by the underlying DNS implementation (e.g., c-areas and Apple DNS) which are opaque. Setting this timeout will ensure that queries succeed or fail within the specified time frame and are then retried using the standard refresh rates. Defaults to 5s if not set. | @@ -189,7 +189,7 @@ Configuration for c-ares DNS resolver. | Field | Type | Description | | ----- | ---- | ----------- | -| `resolvers` | []solo.io.envoy.config.core.v3.Address | A list of dns resolver addresses. :ref:`use_resolvers_as_fallback` below dictates if the DNS client should override system defaults or only use the provided resolvers if the system defaults are not available, i.e., as a fallback. | +| `resolvers` | [[]solo.io.envoy.config.core.v3.Address](../../../../external/envoy/config/core/v3/address.proto.sk/#address) | A list of dns resolver addresses. :ref:`use_resolvers_as_fallback` below dictates if the DNS client should override system defaults or only use the provided resolvers if the system defaults are not available, i.e., as a fallback. | | `dnsResolverOptions` | [.dfp.options.gloo.solo.io.DnsResolverOptions](../dynamic_forward_proxy.proto.sk/#dnsresolveroptions) | Configuration of DNS resolver option flags which control the behavior of the DNS resolver. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/rest/rest.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/rest/rest.proto.sk.md index dd0c9697471..7e48a793946 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/rest/rest.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/rest/rest.proto.sk.md @@ -79,7 +79,7 @@ This is only for upstream with REST service spec | ----- | ---- | ----------- | | `functionName` | `string` | | | `parameters` | [.transformation.options.gloo.solo.io.Parameters](../../transformation/parameters.proto.sk/#parameters) | | -| `responseTransformation` | .envoy.api.v2.filter.http.TransformationTemplate | | +| `responseTransformation` | [.envoy.api.v2.filter.http.TransformationTemplate](../../../../external/envoy/extensions/transformation/transformation.proto.sk/#transformationtemplate) | | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/tracing/tracing.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/tracing/tracing.proto.sk.md index a9329f9b88e..4e1adef1f5e 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/tracing/tracing.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/tracing/tracing.proto.sk.md @@ -52,10 +52,10 @@ See [here](https://docs.solo.io/gloo-edge/latest/guides/observability/tracing/) | `requestHeadersForTags` | [[]google.protobuf.StringValue](../../../../../../../../protoc-gen-ext/external/google/protobuf/wrappers.proto.sk/#stringvalue) | Optional. If specified, Envoy will include the headers and header values for any matching request headers. | | `verbose` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Optional. If true, Envoy will include logs for streaming events. Default: false. | | `tracePercentages` | [.tracing.options.gloo.solo.io.TracePercentages](../tracing.proto.sk/#tracepercentages) | Requests can produce traces by random sampling or when the `x-client-trace-id` header is provided. TracePercentages defines the limits for random, forced, and overall tracing percentages. | -| `zipkinConfig` | .solo.io.envoy.config.trace.v3.ZipkinConfig | Only one of `zipkinConfig`, `datadogConfig`, `openTelemetryConfig`, or `openCensusConfig` can be set. | -| `datadogConfig` | .solo.io.envoy.config.trace.v3.DatadogConfig | Only one of `datadogConfig`, `zipkinConfig`, `openTelemetryConfig`, or `openCensusConfig` can be set. | -| `openTelemetryConfig` | .solo.io.envoy.config.trace.v3.OpenTelemetryConfig | Only one of `openTelemetryConfig`, `zipkinConfig`, `datadogConfig`, or `openCensusConfig` can be set. | -| `openCensusConfig` | .solo.io.envoy.config.trace.v3.OpenCensusConfig | Only one of `openCensusConfig`, `zipkinConfig`, `datadogConfig`, or `openTelemetryConfig` can be set. | +| `zipkinConfig` | [.solo.io.envoy.config.trace.v3.ZipkinConfig](../../../../external/envoy/config/trace/v3/zipkin.proto.sk/#zipkinconfig) | Only one of `zipkinConfig`, `datadogConfig`, `openTelemetryConfig`, or `openCensusConfig` can be set. | +| `datadogConfig` | [.solo.io.envoy.config.trace.v3.DatadogConfig](../../../../external/envoy/config/trace/v3/datadog.proto.sk/#datadogconfig) | Only one of `datadogConfig`, `zipkinConfig`, `openTelemetryConfig`, or `openCensusConfig` can be set. | +| `openTelemetryConfig` | [.solo.io.envoy.config.trace.v3.OpenTelemetryConfig](../../../../external/envoy/config/trace/v3/opentelemetry.proto.sk/#opentelemetryconfig) | Only one of `openTelemetryConfig`, `zipkinConfig`, `datadogConfig`, or `openCensusConfig` can be set. | +| `openCensusConfig` | [.solo.io.envoy.config.trace.v3.OpenCensusConfig](../../../../external/envoy/config/trace/v3/opencensus.proto.sk/#opencensusconfig) | Only one of `openCensusConfig`, `zipkinConfig`, `datadogConfig`, or `openTelemetryConfig` can be set. | | `environmentVariablesForTags` | [[]tracing.options.gloo.solo.io.TracingTagEnvironmentVariable](../tracing.proto.sk/#tracingtagenvironmentvariable) | Optional. If specified, Envoy will include the environment variables with the given tag as tracing tags. | | `literalsForTags` | [[]tracing.options.gloo.solo.io.TracingTagLiteral](../tracing.proto.sk/#tracingtagliteral) | Optional. If specified, Envoy will include the literals with the given tag as tracing tags. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/transformation/transformation.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/transformation/transformation.proto.sk.md index 7b166a86138..30f2db4b67a 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/transformation/transformation.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/transformation/transformation.proto.sk.md @@ -169,7 +169,7 @@ User-facing API for transformation. | ----- | ---- | ----------- | | `transformationTemplate` | [.transformation.options.gloo.solo.io.TransformationTemplate](../transformation.proto.sk/#transformationtemplate) | Apply transformation templates. Only one of `transformationTemplate`, `headerBodyTransform`, or `xsltTransformation` can be set. | | `headerBodyTransform` | [.transformation.options.gloo.solo.io.HeaderBodyTransform](../transformation.proto.sk/#headerbodytransform) | This type of transformation will make all the headers available in the response body. The resulting JSON body will consist of two attributes: 'headers', containing the headers, and 'body', containing the original body. Only one of `headerBodyTransform`, `transformationTemplate`, or `xsltTransformation` can be set. | -| `xsltTransformation` | .envoy.config.transformer.xslt.v2.XsltTransformation | (Enterprise Only): Xslt Transformation. Only one of `xsltTransformation`, `transformationTemplate`, or `headerBodyTransform` can be set. | +| `xsltTransformation` | [.envoy.config.transformer.xslt.v2.XsltTransformation](../../../../external/envoy/extensions/transformers/xslt/xslt_transformer.proto.sk/#xslttransformation) | (Enterprise Only): Xslt Transformation. Only one of `xsltTransformation`, `transformationTemplate`, or `headerBodyTransform` can be set. | | `logRequestResponseInfo` | `bool` | When enabled, log request/response body and headers before and after this transformation is applied. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/proxy.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/proxy.proto.sk.md index 2facdb1edcf..62673d97800 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/proxy.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/proxy.proto.sk.md @@ -300,8 +300,8 @@ Some traffic policies can be configured to work both on the listener and virtual | Field | Type | Description | | ----- | ---- | ----------- | | `sslConfig` | [.gloo.solo.io.SslConfig](../ssl/ssl.proto.sk/#sslconfig) | Gloo use SNI domains as matching criteria for Gateway selection The other ssl_config properties will be applied to the outputFilterChain's transport socket SslConfig from VirtualServices will be ignored in a MatchedGateway. | -| `sourcePrefixRanges` | []solo.io.envoy.config.core.v3.CidrRange | Source addresses to match. This value is either the actual addresses used to connect, or addresses that are overridden by using PROXY protocol or original_src. | -| `prefixRanges` | []solo.io.envoy.config.core.v3.CidrRange | Destination addresses to match. This value is either the actual addresses used to connect, or addresses that are overridden by using PROXY protocol or original_dst. | +| `sourcePrefixRanges` | [[]solo.io.envoy.config.core.v3.CidrRange](../../external/envoy/config/core/v3/address.proto.sk/#cidrrange) | Source addresses to match. This value is either the actual addresses used to connect, or addresses that are overridden by using PROXY protocol or original_src. | +| `prefixRanges` | [[]solo.io.envoy.config.core.v3.CidrRange](../../external/envoy/config/core/v3/address.proto.sk/#cidrrange) | Destination addresses to match. This value is either the actual addresses used to connect, or addresses that are overridden by using PROXY protocol or original_dst. | | `destinationPort` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Optional destination port to consider in determining a filter chain match. Filter chains that specify the destination port of incoming traffic are the most specific match. If no filter chain specifies the exact destination port, the filter chains which do not specify ports are the most specific match. | | `passthroughCipherSuites` | `[]string` | | @@ -623,7 +623,7 @@ Notice: RedirectAction is copied directly from https://github.com/envoyproxy/env | `hostRedirect` | `string` | The host portion of the URL will be swapped with this value. | | `pathRedirect` | `string` | The path portion of the URL will be swapped with this value. Only one of `pathRedirect`, `prefixRewrite`, or `regexRewrite` can be set. | | `prefixRewrite` | `string` | 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. Pay attention to the use of trailing slashes as mentioned in `RouteAction`'s `prefix_rewrite`. Only one of `prefixRewrite`, `pathRedirect`, or `regexRewrite` can be set. | -| `regexRewrite` | .solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute | Indicates that during forwarding, portions of the path that match the pattern should be rewritten, even allowing the substitution of capture groups from the pattern into the new path as specified by the rewrite substitution string. This is useful to allow application paths to be rewritten in a way that is aware of segments with variable content like identifiers. The router filter will place the original path as it was before the rewrite into the :ref:`x-envoy-original-path ` header. Only one of :ref:`prefix_rewrite ` or *regex_rewrite* may be specified. Examples using Google's [RE2](https://github.com/google/re2) engine: * The path pattern `^/service/([^/]+)(/.*)$` paired with a substitution string of `\2/instance/\1` would transform `/service/foo/v1/api` into `/v1/api/instance/foo`. * The pattern `one` paired with a substitution string of `two` would transform `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/two/zzz`. * The pattern `^(.*?)one(.*)$` paired with a substitution string of `\1two\2` would replace only the first occurrence of `one`, transforming path `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/one/zzz`. * The pattern `(?i)/xxx/` paired with a substitution string of `/yyy/` would do a case-insensitive match and transform path `/aaa/XxX/bbb` to `/aaa/yyy/bbb`. Only one of `regexRewrite`, `pathRedirect`, or `prefixRewrite` can be set. | +| `regexRewrite` | [.solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute](../../external/envoy/type/matcher/v3/regex.proto.sk/#regexmatchandsubstitute) | Indicates that during forwarding, portions of the path that match the pattern should be rewritten, even allowing the substitution of capture groups from the pattern into the new path as specified by the rewrite substitution string. This is useful to allow application paths to be rewritten in a way that is aware of segments with variable content like identifiers. The router filter will place the original path as it was before the rewrite into the :ref:`x-envoy-original-path ` header. Only one of :ref:`prefix_rewrite ` or *regex_rewrite* may be specified. Examples using Google's [RE2](https://github.com/google/re2) engine: * The path pattern `^/service/([^/]+)(/.*)$` paired with a substitution string of `\2/instance/\1` would transform `/service/foo/v1/api` into `/v1/api/instance/foo`. * The pattern `one` paired with a substitution string of `two` would transform `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/two/zzz`. * The pattern `^(.*?)one(.*)$` paired with a substitution string of `\1two\2` would replace only the first occurrence of `one`, transforming path `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/one/zzz`. * The pattern `(?i)/xxx/` paired with a substitution string of `/yyy/` would do a case-insensitive match and transform path `/aaa/XxX/bbb` to `/aaa/yyy/bbb`. Only one of `regexRewrite`, `pathRedirect`, or `prefixRewrite` can be set. | | `responseCode` | [.gloo.solo.io.RedirectAction.RedirectResponseCode](../proxy.proto.sk/#redirectresponsecode) | The HTTP status code to use in the redirect response. The default response code is MOVED_PERMANENTLY (301). | | `httpsRedirect` | `bool` | The scheme portion of the URL will be swapped with "https". | | `stripQuery` | `bool` | Indicates that during redirection, the query portion of the URL will be removed. Default value is false. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/route_options.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/route_options.proto.sk.md index 3e7df2bab92..ce463d5963e 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/route_options.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/route_options.proto.sk.md @@ -89,7 +89,7 @@ to be usable by Gloo. (plugins currently need to be compiled into Gloo) | `headerManipulation` | [.headers.options.gloo.solo.io.HeaderManipulation](../options/headers/headers.proto.sk/#headermanipulation) | Append/Remove headers on Requests or Responses on this Route. | | `hostRewrite` | `string` | Indicates that during forwarding, the host header will be swapped with this value. Only one of `hostRewrite`, `autoHostRewrite`, `hostRewritePathRegex`, or `hostRewriteHeader` can be set. | | `autoHostRewrite` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Enable/Disable auto host re-write. Indicates that the host header will be swapped with the hostname of the upstream host. This setting is only honored for upstreams that use DNS resolution (i.e., their generated Envoy cluster is of type STRICT_DNS or LOGICAL_DNS -- think aws, azure, or static upstreams with hostnames). Only one of `autoHostRewrite`, `hostRewrite`, `hostRewritePathRegex`, or `hostRewriteHeader` can be set. | -| `hostRewritePathRegex` | .solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute | Indicates that during forwarding, the host header will be swapped with the result of the regex substitution executed on path value with query and fragment removed. Only one of `hostRewritePathRegex`, `hostRewrite`, `autoHostRewrite`, or `hostRewriteHeader` can be set. | +| `hostRewritePathRegex` | [.solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute](../../external/envoy/type/matcher/v3/regex.proto.sk/#regexmatchandsubstitute) | Indicates that during forwarding, the host header will be swapped with the result of the regex substitution executed on path value with query and fragment removed. Only one of `hostRewritePathRegex`, `hostRewrite`, `autoHostRewrite`, or `hostRewriteHeader` can be set. | | `hostRewriteHeader` | [.google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/string-value) | Indicates that during forwarding, the host header will be swapped with the content of given downstream or custom header. If header value is empty, host header is left intact. Using this option will append the x-forwarded-host header if append_x_forwarded_host is set. Only one of `hostRewriteHeader`, `hostRewrite`, `autoHostRewrite`, or `hostRewritePathRegex` can be set. | | `appendXForwardedHost` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If true and there is a host rewrite, appends the x-forwarded-host header to requests. | | `cors` | [.cors.options.gloo.solo.io.CorsPolicy](../options/cors/cors.proto.sk/#corspolicy) | Defines a CORS policy for the route. If a CORS policy is defined on both the route and the virtual host, the merge behavior for these policies is determined by the CorsPolicyMergeSettings defined on the VirtualHost. | @@ -109,11 +109,11 @@ to be usable by Gloo. (plugins currently need to be compiled into Gloo) | `rbac` | [.rbac.options.gloo.solo.io.ExtensionSettings](../enterprise/options/rbac/rbac.proto.sk/#extensionsettings) | Enterprise-only: Config for RBAC (currently only supports RBAC based on JWT claims). | | `extauth` | [.enterprise.gloo.solo.io.ExtAuthExtension](../enterprise/options/extauth/v1/extauth.proto.sk/#extauthextension) | Enterprise-only: Authentication configuration. | | `dlp` | [.dlp.options.gloo.solo.io.Config](../enterprise/options/dlp/dlp.proto.sk/#config) | Enterprise-only: Config for data loss prevention. | -| `bufferPerRoute` | .solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | -| `csrf` | .solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | +| `bufferPerRoute` | [.solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute](../../external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk/#bufferperroute) | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | +| `csrf` | [.solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy](../../external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk/#csrfpolicy) | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | | `stagedTransformations` | [.transformation.options.gloo.solo.io.TransformationStages](../options/transformation/transformation.proto.sk/#transformationstages) | Early transformations stage. These transformations run before most other options are processed. If the `regular` field is set in here, the `transformations` field is ignored. | | `envoyMetadata` | `map` | This field can be used to provide additional information about the route. This metadata can be consumed by the Envoy filters that process requests that match the route. For more info about metadata, see [here](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/data_sharing_between_filters#metadata). The value of this field will be propagated to the `metadata` attribute of the corresponding Envoy route. Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#config-route-v3-route) for more details about the `metadata` attribute. | -| `regexRewrite` | .solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute | For requests matched on this route, rewrite the HTTP request path according to the provided regex pattern before forwarding upstream Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/v1.14.1/api-v3/config/route/v3/route_components.proto#envoy-v3-api-field-config-route-v3-routeaction-regex-rewrite) for more details about the `regex_rewrite` attribute. | +| `regexRewrite` | [.solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute](../../external/envoy/type/matcher/v3/regex.proto.sk/#regexmatchandsubstitute) | For requests matched on this route, rewrite the HTTP request path according to the provided regex pattern before forwarding upstream Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/v1.14.1/api-v3/config/route/v3/route_components.proto#envoy-v3-api-field-config-route-v3-routeaction-regex-rewrite) for more details about the `regex_rewrite` attribute. | | `maxStreamDuration` | [.gloo.solo.io.RouteOptions.MaxStreamDuration](../route_options.proto.sk/#maxstreamduration) | Settings for maximum durations and timeouts for streams on the route. Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-msg-config-route-v3-routeaction-maxstreamduration). | | `idleTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout, although the Gateway's [httpConnectionManagerSettings](https://docs.solo.io/gloo-edge/latest/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/hcm/hcm.proto.sk/#httpconnectionmanagersettings) wide stream_idle_timeout will still apply. A value of 0 will completely disable the route’s idle timeout, even if a connection manager stream idle timeout is configured. Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-field-config-route-v3-routeaction-idle-timeout). | | `extProc` | [.extproc.options.gloo.solo.io.RouteSettings](../enterprise/options/extproc/extproc.proto.sk/#routesettings) | Enterprise-only: External Processing filter settings for the route. This can be used to override certain HttpListenerOptions or VirtualHostOptions settings. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.sk.md index e43fe6fa1df..cc582853163 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.sk.md @@ -806,7 +806,7 @@ Settings specific to the gloo (Envoy xDS server) controller | Field | Type | Description | | ----- | ---- | ----------- | | `enableCredentialsDiscovey` | `bool` | Enable credential discovery via IAM; when this is set, there's no need provide a secret on the upstream when running on AWS environment. Note: This should **ONLY** be enabled when running in an AWS environment, as the AWS code blocks the envoy main thread. This should be negligible when running inside AWS. Only one of `enableCredentialsDiscovey` or `serviceAccountCredentials` can be set. | -| `serviceAccountCredentials` | .envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.ServiceAccountCredentials | Use projected service account token, and role arn to create temporary credentials with which to authenticate lambda requests. This functionality is meant to work along side EKS service account to IAM binding functionality as outlined here: https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html If the following environment values are not present in the gateway-proxy, this option cannot be used. 1. AWS_WEB_IDENTITY_TOKEN_FILE 2. AWS_ROLE_ARN The role which will be assumed by the credentials will be the one specified by AWS_ROLE_ARN, however, this can also be overwritten in the AWS Upstream spec via the role_arn field If they are not specified envoy will NACK the config update, which will show up in the logs when running OS Gloo. When running Gloo enterprise it will be reflected in the prometheus stat: "glooe.solo.io/xds/nack" In order to specify the aws sts endpoint, both the cluster and uri must be set. This is due to an envoy limitation which cannot infer the host or path from the cluster, and therefore must be explicitly specified via the uri. Only one of `serviceAccountCredentials` or `enableCredentialsDiscovey` can be set. | +| `serviceAccountCredentials` | [.envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.ServiceAccountCredentials](../../external/envoy/extensions/aws/filter.proto.sk/#serviceaccountcredentials) | Use projected service account token, and role arn to create temporary credentials with which to authenticate lambda requests. This functionality is meant to work along side EKS service account to IAM binding functionality as outlined here: https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html If the following environment values are not present in the gateway-proxy, this option cannot be used. 1. AWS_WEB_IDENTITY_TOKEN_FILE 2. AWS_ROLE_ARN The role which will be assumed by the credentials will be the one specified by AWS_ROLE_ARN, however, this can also be overwritten in the AWS Upstream spec via the role_arn field If they are not specified envoy will NACK the config update, which will show up in the logs when running OS Gloo. When running Gloo enterprise it will be reflected in the prometheus stat: "glooe.solo.io/xds/nack" In order to specify the aws sts endpoint, both the cluster and uri must be set. This is due to an envoy limitation which cannot infer the host or path from the cluster, and therefore must be explicitly specified via the uri. Only one of `serviceAccountCredentials` or `enableCredentialsDiscovey` can be set. | | `propagateOriginalRouting` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Send downstream path and method as `x-envoy-original-path` and `x-envoy-original-method` headers on the request to AWS lambda. Defaults to false. | | `credentialRefreshDelay` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Sets cadence for refreshing credentials for Service Account. Does nothing if Service account is not set. Does not affect the default filewatch for service account only augments it. Defaults to not refreshing on time period. Suggested is 15 minutes. | | `fallbackToFirstFunction` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Sets the unsafe behavior where a route can specify a lambda upstream but not set the function to target. It will use the first function which if discovery is enabled the first function is the first function name alphabetically from the last discovery run. This means that the lambda being pointed to could change. Defaults to false. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/upstream.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/upstream.proto.sk.md index 8e4c606a35c..44918575013 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/upstream.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/upstream.proto.sk.md @@ -81,8 +81,8 @@ Each upstream type is handled by a corresponding Gloo plugin. (plugins currently | `sslConfig` | [.gloo.solo.io.UpstreamSslConfig](../ssl/ssl.proto.sk/#upstreamsslconfig) | SslConfig contains the options necessary to configure envoy to originate TLS to an upstream. | | `circuitBreakers` | [.gloo.solo.io.CircuitBreakerConfig](../circuit_breaker.proto.sk/#circuitbreakerconfig) | Circuit breakers for this upstream. if not set, the defaults ones from the Gloo settings will be used. if those are not set, [envoy's defaults](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/circuit_breaker.proto#envoy-api-msg-cluster-circuitbreakers) will be used. | | `loadBalancerConfig` | [.gloo.solo.io.LoadBalancerConfig](../load_balancer.proto.sk/#loadbalancerconfig) | Settings for the load balancer that sends requests to the Upstream. The load balancing method is set to round robin by default. | -| `healthChecks` | []solo.io.envoy.api.v2.core.HealthCheck | | -| `outlierDetection` | .solo.io.envoy.api.v2.cluster.OutlierDetection | | +| `healthChecks` | [[]solo.io.envoy.api.v2.core.HealthCheck](../../external/envoy/api/v2/core/health_check.proto.sk/#healthcheck) | | +| `outlierDetection` | [.solo.io.envoy.api.v2.cluster.OutlierDetection](../../external/envoy/api/v2/cluster/outlier_detection.proto.sk/#outlierdetection) | | | `kube` | [.kubernetes.options.gloo.solo.io.UpstreamSpec](../options/kubernetes/kubernetes.proto.sk/#upstreamspec) | Only one of `kube`, `static`, `pipe`, `aws`, `azure`, `consul`, `awsEc2`, `gcp`, or `ai` can be set. | | `static` | [.static.options.gloo.solo.io.UpstreamSpec](../options/static/static.proto.sk/#upstreamspec) | Only one of `static`, `kube`, `pipe`, `aws`, `azure`, `consul`, `awsEc2`, `gcp`, or `ai` can be set. | | `pipe` | [.pipe.options.gloo.solo.io.UpstreamSpec](../options/pipe/pipe.proto.sk/#upstreamspec) | Only one of `pipe`, `kube`, `static`, `aws`, `azure`, `consul`, `awsEc2`, `gcp`, or `ai` can be set. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/virtual_host_options.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/virtual_host_options.proto.sk.md index db2e94ee2cb..45801835f27 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/virtual_host_options.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/virtual_host_options.proto.sk.md @@ -82,8 +82,8 @@ to be usable by Gloo. (plugins currently need to be compiled into Gloo) | `rbac` | [.rbac.options.gloo.solo.io.ExtensionSettings](../enterprise/options/rbac/rbac.proto.sk/#extensionsettings) | Enterprise-only: Config for RBAC (currently only supports RBAC based on JWT claims). | | `extauth` | [.enterprise.gloo.solo.io.ExtAuthExtension](../enterprise/options/extauth/v1/extauth.proto.sk/#extauthextension) | Enterprise-only: Authentication configuration. | | `dlp` | [.dlp.options.gloo.solo.io.Config](../enterprise/options/dlp/dlp.proto.sk/#config) | Enterprise-only: Config for data loss prevention. | -| `bufferPerRoute` | .solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | -| `csrf` | .solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | +| `bufferPerRoute` | [.solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute](../../external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk/#bufferperroute) | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | +| `csrf` | [.solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy](../../external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk/#csrfpolicy) | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | | `includeRequestAttemptCount` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | IncludeRequestAttemptCount decides whether the x-envoy-attempt-count header should be included in the upstream request. Setting this option will cause it to override any existing header value, so in the case of two Envoys on the request path with this option enabled, the upstream will see the attempt count as perceived by the second Envoy. Defaults to false. | | `includeAttemptCountInResponse` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | IncludeAttemptCountInResponse decides whether the x-envoy-attempt-count header should be included in the downstream response. Setting this option will cause the router to override any existing header value, so in the case of two Envoys on the request path with this option enabled, the downstream will see the attempt count as perceived by the Envoy closest upstream from itself. Defaults to false. | | `stagedTransformations` | [.transformation.options.gloo.solo.io.TransformationStages](../options/transformation/transformation.proto.sk/#transformationstages) | Early transformations stage. These transformations run before most other options are processed. If the `regular` field is set in here, the `transformations` field is ignored. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/weighted_destination_options.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/weighted_destination_options.proto.sk.md index e4f26f4b9af..108e55bb0a7 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/weighted_destination_options.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/weighted_destination_options.proto.sk.md @@ -46,8 +46,8 @@ is selected for routing. | `transformations` | [.transformation.options.gloo.solo.io.Transformations](../options/transformation/transformation.proto.sk/#transformations) | Transformations to apply. Note: this field is superseded by `staged_transformations`. If `staged_transformations.regular` is set, this field will be ignored. | | `extensions` | [.gloo.solo.io.Extensions](../extensions.proto.sk/#extensions) | Extensions will be passed along from Listeners, Gateways, VirtualServices, Routes, and Route tables to the underlying Proxy, making them useful for controllers, validation tools, etc. which interact with kubernetes yaml. Some sample use cases: * controllers, deployment pipelines, helm charts, etc. which wish to use extensions as a kind of opaque metadata. * In the future, Gloo may support gRPC-based plugins which communicate with the Gloo translator out-of-process. Opaque Extensions enables development of out-of-process plugins without requiring recompiling & redeploying Gloo's API. | | `extauth` | [.enterprise.gloo.solo.io.ExtAuthExtension](../enterprise/options/extauth/v1/extauth.proto.sk/#extauthextension) | Enterprise-only: Authentication configuration. | -| `bufferPerRoute` | .solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | -| `csrf` | .solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | +| `bufferPerRoute` | [.solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute](../../external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk/#bufferperroute) | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | +| `csrf` | [.solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy](../../external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk/#csrfpolicy) | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | | `stagedTransformations` | [.transformation.options.gloo.solo.io.TransformationStages](../options/transformation/transformation.proto.sk/#transformationstages) | Early transformations stage. These transformations run before most other options are processed. If the `regular` field is set in here, the `transformations` field is ignored. | diff --git a/generate.go b/generate.go index b5372b01e10..747f5282358 100644 --- a/generate.go +++ b/generate.go @@ -57,7 +57,7 @@ func main() { }, RenderOptions: &options.RenderOptions{ SkipLinksForPathPrefixes: []string{ - "github.com/solo-io/gloo/projects/gloo/api/external", + "github.com/solo-io/gloo/projects/gloo/api/external/xds", }, }, }, @@ -98,6 +98,6 @@ func main() { } func removeExternalApiDocs() error { - const externalApiDocsPath = "docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/" + const externalApiDocsPath = "docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds" return os.RemoveAll(externalApiDocsPath) } diff --git a/go.mod b/go.mod index 648967ce7b3..a5fee09521c 100644 --- a/go.mod +++ b/go.mod @@ -58,7 +58,7 @@ require ( // Ref: https://github.com/solo-io/gloo/pull/9463/files#r1594409655 && https://solo-io-corp.slack.com/archives/C03MFATU265/p1716913420716729?thread_ts=1716476992.938679&cid=C03MFATU265 // as to why it is now based off `gloo-main` and not `gloo-repo-branch` github.com/solo-io/solo-apis v0.0.0-20240917212400-9103ca169358 - github.com/solo-io/solo-kit v0.36.2-0.20241114214342-0c728acac7ca + github.com/solo-io/solo-kit v0.36.2 github.com/spf13/afero v1.11.0 github.com/spf13/cobra v1.8.1 github.com/spf13/pflag v1.0.5 diff --git a/go.sum b/go.sum index a186c2b9ce3..055b719a622 100644 --- a/go.sum +++ b/go.sum @@ -2711,6 +2711,8 @@ github.com/solo-io/solo-kit v0.36.2-0.20241114201934-415c33bf096d h1:mYz26Bgjvk4 github.com/solo-io/solo-kit v0.36.2-0.20241114201934-415c33bf096d/go.mod h1:tLK3BllHZZUZsvgG3paVzux8ccmItKadqLSg7nOltDw= github.com/solo-io/solo-kit v0.36.2-0.20241114214342-0c728acac7ca h1:BsEUT8gtR/iqr9YNdYgoyYygxYE2pID2kMPNR6HX3QI= github.com/solo-io/solo-kit v0.36.2-0.20241114214342-0c728acac7ca/go.mod h1:tLK3BllHZZUZsvgG3paVzux8ccmItKadqLSg7nOltDw= +github.com/solo-io/solo-kit v0.36.2 h1:oZCrgseICHC2j88TCHeS9y8p5ffRRsXspy3jwWcZewY= +github.com/solo-io/solo-kit v0.36.2/go.mod h1:tLK3BllHZZUZsvgG3paVzux8ccmItKadqLSg7nOltDw= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= From 98f43cd615da1ab1f1649089590b2d311c23ce3e Mon Sep 17 00:00:00 2001 From: sheidkamp Date: Fri, 15 Nov 2024 09:50:08 -0500 Subject: [PATCH 12/14] keep scope to all "external" --- .../api/envoy/api/v2/route/route.proto.sk.md | 2 +- .../gateway/api/v1/gateway.proto.sk.md | 2 +- .../api/v1/matchable_http_gateway.proto.sk.md | 2 +- .../api/v1/matchable_tcp_gateway.proto.sk.md | 2 +- .../v2/cluster/outlier_detection.proto.sk.md | 75 - .../api/v2/core/health_check.proto.sk.md | 239 --- .../v3/mutation_rules.proto.sk.md | 109 -- .../envoy/config/core/v3/address.proto.sk.md | 179 --- .../envoy/config/core/v3/backoff.proto.sk.md | 48 - .../envoy/config/core/v3/base.proto.sk.md | 516 ------- .../core/v3/event_service_config.proto.sk.md | 47 - .../config/core/v3/extension.proto.sk.md | 49 - .../config/core/v3/grpc_service.proto.sk.md | 343 ----- .../config/core/v3/health_check.proto.sk.md | 270 ---- .../envoy/config/core/v3/http_uri.proto.sk.md | 50 - .../config/core/v3/proxy_protocol.proto.sk.md | 95 -- .../config/core/v3/socket_option.proto.sk.md | 73 - .../filter/http/gzip/v2/gzip.proto.sk.md | 111 -- .../v3/tls_cipher_inspector.proto.sk.md | 43 - .../v3/server_name_matcher.proto.sk.md | 67 - .../v3/cipher_detection_input.proto.sk.md | 49 - .../route/v3/route_components.proto.sk.md | 1332 ----------------- .../v3/grpc_output_sink.proto.sk.md | 46 - .../v3/http_output_sink.proto.sk.md | 46 - .../envoy/config/trace/v3/datadog.proto.sk.md | 76 - .../config/trace/v3/opencensus.proto.sk.md | 204 --- .../config/trace/v3/opentelemetry.proto.sk.md | 49 - .../envoy/config/trace/v3/zipkin.proto.sk.md | 74 - .../advanced_http/advanced_http.proto.sk.md | 178 --- .../envoy/extensions/aws/filter.proto.sk.md | 156 -- .../extensions/cache/grpc/config.proto.sk.md | 50 - .../extensions/extauth/sanitize.proto.sk.md | 65 - .../filters/http/buffer/v3/buffer.proto.sk.md | 69 - .../filters/http/csrf/v3/csrf.proto.sk.md | 54 - .../ext_proc/v3/processing_mode.proto.sk.md | 93 -- .../http/jwt_authn/v3/config.proto.sk.md | 476 ------ .../filters/http/wasm/v3/wasm.proto.sk.md | 49 - .../extensions/graphql/graphql.proto.sk.md | 814 ---------- .../extensions/graphql/stitching.proto.sk.md | 249 --- .../http_path/http_path.proto.sk.md | 48 - .../extensions/jwt/solo_jwt_authn.proto.sk.md | 131 -- .../proxylatency/proxylatency.proto.sk.md | 83 - .../transformation/transformation.proto.sk.md | 547 ------- .../transformation.proto.sk.md | 244 --- .../xslt/xslt_transformer.proto.sk.md | 50 - .../upstream_wait_filter.proto.sk.md | 43 - .../envoy/extensions/waf/waf.proto.sk.md | 160 -- .../envoy/extensions/wasm/v3/wasm.proto.sk.md | 111 -- .../solo_xff_offset_filter.proto.sk.md | 46 - .../v3/external_processor.proto.sk.md | 362 ----- .../envoy/type/matcher/v3/regex.proto.sk.md | 101 -- .../envoy/type/matcher/v3/string.proto.sk.md | 74 - .../type/metadata/v3/metadata.proto.sk.md | 183 --- .../api/external/envoy/type/range.proto.sk.md | 71 - .../type/tracing/v3/custom_tag.proto.sk.md | 143 -- .../external/envoy/type/v3/http.proto.sk.md | 38 - .../envoy/type/v3/http_status.proto.sk.md | 118 -- .../envoy/type/v3/percent.proto.sk.md | 88 -- .../external/envoy/type/v3/range.proto.sk.md | 93 -- .../type/v3/semantic_version.proto.sk.md | 52 - .../udpa/annotations/migrate.proto.sk.md | 83 - .../udpa/annotations/sensitive.proto.sk.md | 21 - .../udpa/annotations/status.proto.sk.md | 65 - .../udpa/annotations/versioning.proto.sk.md | 45 - .../options/caching/caching.proto.sk.md | 2 +- .../v1/enterprise/options/dlp/dlp.proto.sk.md | 2 +- .../options/extproc/extproc.proto.sk.md | 14 +- .../v1/enterprise/options/jwt/jwt.proto.sk.md | 2 +- .../v1/enterprise/options/waf/waf.proto.sk.md | 4 +- .../api/v1/http_listener_options.proto.sk.md | 8 +- .../gloo/api/v1/options/als/als.proto.sk.md | 6 +- .../dynamic_forward_proxy.proto.sk.md | 4 +- .../gloo/api/v1/options/rest/rest.proto.sk.md | 2 +- .../v1/options/tracing/tracing.proto.sk.md | 8 +- .../transformation/transformation.proto.sk.md | 2 +- .../projects/gloo/api/v1/proxy.proto.sk.md | 6 +- .../gloo/api/v1/route_options.proto.sk.md | 8 +- .../projects/gloo/api/v1/settings.proto.sk.md | 2 +- .../projects/gloo/api/v1/upstream.proto.sk.md | 4 +- .../api/v1/virtual_host_options.proto.sk.md | 4 +- .../weighted_destination_options.proto.sk.md | 4 +- generate.go | 4 +- 82 files changed, 47 insertions(+), 9490 deletions(-) delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/address.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/backoff.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/base.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/extension.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/health_check.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/route/v3/route_components.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/aws/filter.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/string.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/range.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http_status.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/percent.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/range.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/semantic_version.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/migrate.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/sensitive.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/status.proto.sk.md delete mode 100644 docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/versioning.proto.sk.md diff --git a/docs/content/reference/api/envoy/api/v2/route/route.proto.sk.md b/docs/content/reference/api/envoy/api/v2/route/route.proto.sk.md index 519775ec9ae..2d8c4f0e864 100644 --- a/docs/content/reference/api/envoy/api/v2/route/route.proto.sk.md +++ b/docs/content/reference/api/envoy/api/v2/route/route.proto.sk.md @@ -1060,7 +1060,7 @@ Internally, Envoy always uses the HTTP/2 *:authority* header to represent the HT | `name` | `string` | Specifies the name of the header in the request. | | `exactMatch` | `string` | If specified, header match will be performed based on the value of the header. Only one of `exactMatch`, `regexMatch`, `rangeMatch`, `presentMatch`, `prefixMatch`, or `suffixMatch` can be set. | | `regexMatch` | `string` | If specified, this regex string is a regular expression rule which implies the entire request header value must match the regex. The rule will not match if only a subsequence of the request header value matches the regex. The regex grammar used in the value field is defined [here](https://en.cppreference.com/w/cpp/regex/ecmascript). Examples: * The regex *\d{3}* matches the value *123* * The regex *\d{3}* does not match the value *1234* * The regex *\d{3}* does not match the value *123.456*. Only one of `regexMatch`, `exactMatch`, `rangeMatch`, `presentMatch`, `prefixMatch`, or `suffixMatch` can be set. | -| `rangeMatch` | [.solo.io.envoy.type.Int64Range](../../../../../github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/range.proto.sk/#int64range) | If specified, header match will be performed based on range. The rule will match if the request header value is within this range. The entire request header value must represent an integer in base 10 notation: consisting of an optional plus or minus sign followed by a sequence of digits. The rule will not match if the header value does not represent an integer. Match will fail for empty values, floating point numbers or if only a subsequence of the header value is an integer. Examples: * For range [-10,0), route will match for header value -1, but not for 0, "somestring", 10.9, "-1somestring". Only one of `rangeMatch`, `exactMatch`, `regexMatch`, `presentMatch`, `prefixMatch`, or `suffixMatch` can be set. | +| `rangeMatch` | .solo.io.envoy.type.Int64Range | If specified, header match will be performed based on range. The rule will match if the request header value is within this range. The entire request header value must represent an integer in base 10 notation: consisting of an optional plus or minus sign followed by a sequence of digits. The rule will not match if the header value does not represent an integer. Match will fail for empty values, floating point numbers or if only a subsequence of the header value is an integer. Examples: * For range [-10,0), route will match for header value -1, but not for 0, "somestring", 10.9, "-1somestring". Only one of `rangeMatch`, `exactMatch`, `regexMatch`, `presentMatch`, `prefixMatch`, or `suffixMatch` can be set. | | `presentMatch` | `bool` | If specified, header match will be performed based on whether the header is in the request. Only one of `presentMatch`, `exactMatch`, `regexMatch`, `rangeMatch`, `prefixMatch`, or `suffixMatch` can be set. | | `prefixMatch` | `string` | If specified, header match will be performed based on the prefix of the header value. Note: empty prefix is not allowed, please use present_match instead. Examples: * The prefix *abcd* matches the value *abcdxyz*, but not for *abcxyz*. Only one of `prefixMatch`, `exactMatch`, `regexMatch`, `rangeMatch`, `presentMatch`, or `suffixMatch` can be set. | | `suffixMatch` | `string` | If specified, header match will be performed based on the suffix of the header value. Note: empty suffix is not allowed, please use present_match instead. Examples: * The suffix *abcd* matches the value *xyzabcd*, but not for *xyzbcd*. Only one of `suffixMatch`, `exactMatch`, `regexMatch`, `rangeMatch`, `presentMatch`, or `prefixMatch` can be set. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/gateway.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/gateway.proto.sk.md index cf6d898bd56..e7e5122c447 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/gateway.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/gateway.proto.sk.md @@ -189,7 +189,7 @@ and the routing configuration to upstreams that are reachable via a specific por | Field | Type | Description | | ----- | ---- | ----------- | | `sslConfig` | [.gloo.solo.io.SslConfig](../../../../gloo/api/v1/ssl/ssl.proto.sk/#sslconfig) | Gloo use SNI domains as matching criteria for Gateway selection The other ssl_config properties will be applied to the outputFilterChain's transport socket SslConfig from VirtualServices will be ignored in a MatchedGateway. | -| `sourcePrefixRanges` | [[]solo.io.envoy.config.core.v3.CidrRange](../../../../gloo/api/external/envoy/config/core/v3/address.proto.sk/#cidrrange) | CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a CIDR range. See https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#envoy-v3-api-msg-config-core-v3-cidrrange. | +| `sourcePrefixRanges` | []solo.io.envoy.config.core.v3.CidrRange | CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a CIDR range. See https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#envoy-v3-api-msg-config-core-v3-cidrrange. | | `passthroughCipherSuites` | `[]string` | Enterprise-only: Passthrough cipher suites is an allow-list of OpenSSL cipher suite names for which TLS passthrough will be enabled. If a client does not support any ciphers that are natively supported by Envoy, but does support one of the ciphers in the passthrough list, then traffic will be routed via TCP Proxy to a destination specified by the TcpGateway, where TLS can then be terminated. This field is only applicable to TcpGateways. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/matchable_http_gateway.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/matchable_http_gateway.proto.sk.md index 274e49f52c3..733fd1aef12 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/matchable_http_gateway.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/matchable_http_gateway.proto.sk.md @@ -66,7 +66,7 @@ and FilterChain configuration (MatchableHttpGateway CR) | Field | Type | Description | | ----- | ---- | ----------- | -| `sourcePrefixRanges` | [[]solo.io.envoy.config.core.v3.CidrRange](../../../../gloo/api/external/envoy/config/core/v3/address.proto.sk/#cidrrange) | CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a CIDR range. See https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#envoy-v3-api-msg-config-core-v3-cidrrange. | +| `sourcePrefixRanges` | []solo.io.envoy.config.core.v3.CidrRange | CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a CIDR range. See https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#envoy-v3-api-msg-config-core-v3-cidrrange. | | `sslConfig` | [.gloo.solo.io.SslConfig](../../../../gloo/api/v1/ssl/ssl.proto.sk/#sslconfig) | Ssl configuration applied to the FilterChain: - FilterChainMatch: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/listener/v3/listener_components.proto#config-listener-v3-filterchainmatch) - TransportSocket: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/base.proto#envoy-v3-api-msg-config-core-v3-transportsocket. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/matchable_tcp_gateway.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/matchable_tcp_gateway.proto.sk.md index e033e6b49ba..a8bf5d8edf9 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/matchable_tcp_gateway.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/matchable_tcp_gateway.proto.sk.md @@ -65,7 +65,7 @@ and FilterChain configuration (MatchableTcpGateway CR). | Field | Type | Description | | ----- | ---- | ----------- | -| `sourcePrefixRanges` | [[]solo.io.envoy.config.core.v3.CidrRange](../../../../gloo/api/external/envoy/config/core/v3/address.proto.sk/#cidrrange) | CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a CIDR range. See https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#envoy-v3-api-msg-config-core-v3-cidrrange. | +| `sourcePrefixRanges` | []solo.io.envoy.config.core.v3.CidrRange | CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a CIDR range. See https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#envoy-v3-api-msg-config-core-v3-cidrrange. | | `sslConfig` | [.gloo.solo.io.SslConfig](../../../../gloo/api/v1/ssl/ssl.proto.sk/#sslconfig) | Ssl configuration applied to the FilterChain, if using passthrough should not include secrets : - FilterChainMatch: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/listener/v3/listener_components.proto#config-listener-v3-filterchainmatch) - TransportSocket: https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/base.proto#envoy-v3-api-msg-config-core-v3-transportsocket. | | `passthroughCipherSuites` | `[]string` | Enterprise-only: Passthrough cipher suites is an allow-list of OpenSSL cipher suite names for which TLS passthrough will be enabled. If a client does not support any ciphers that are natively supported by Envoy, but does support one of the ciphers in the passthrough list, then traffic will be routed via TCP Proxy to a destination specified by the TcpGateway, where TLS can then be terminated. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto.sk.md deleted file mode 100644 index 87ae60dc8b9..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto.sk.md +++ /dev/null @@ -1,75 +0,0 @@ - ---- -title: "outlier_detection.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.api.v2.cluster` -#### Types: - - -- [OutlierDetection](#outlierdetection) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/api/v2/cluster/outlier_detection.proto) - - - - - ---- -### OutlierDetection - - -See the `architecture overview (arch_overview_outlier_detection)` for -more information on outlier detection. - -```yaml -"consecutive5Xx": .google.protobuf.UInt32Value -"interval": .google.protobuf.Duration -"baseEjectionTime": .google.protobuf.Duration -"maxEjectionPercent": .google.protobuf.UInt32Value -"enforcingConsecutive5Xx": .google.protobuf.UInt32Value -"enforcingSuccessRate": .google.protobuf.UInt32Value -"successRateMinimumHosts": .google.protobuf.UInt32Value -"successRateRequestVolume": .google.protobuf.UInt32Value -"successRateStdevFactor": .google.protobuf.UInt32Value -"consecutiveGatewayFailure": .google.protobuf.UInt32Value -"enforcingConsecutiveGatewayFailure": .google.protobuf.UInt32Value -"splitExternalLocalOriginErrors": bool -"consecutiveLocalOriginFailure": .google.protobuf.UInt32Value -"enforcingConsecutiveLocalOriginFailure": .google.protobuf.UInt32Value -"enforcingLocalOriginSuccessRate": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `consecutive5Xx` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of consecutive 5xx responses or local origin errors that are mapped to 5xx error codes before a consecutive 5xx ejection occurs. Defaults to 5. | -| `interval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The time interval between ejection analysis sweeps. This can result in both new ejections as well as hosts being returned to service. Defaults to 10000ms or 10s. | -| `baseEjectionTime` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/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. Defaults to 30000ms or 30s. | -| `maxEjectionPercent` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The maximum % of an upstream cluster that can be ejected due to outlier detection. Defaults to 10% but will eject at least one host regardless of the value. | -| `enforcingConsecutive5Xx` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The % chance that a host will be actually ejected when an outlier status is detected through consecutive 5xx. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. | -| `enforcingSuccessRate` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The % chance that a host will be actually ejected when an outlier status is detected through success rate statistics. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 100. | -| `successRateMinimumHosts` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. Defaults to 5. | -| `successRateRequestVolume` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. Defaults to 100. | -| `successRateStdevFactor` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided by a thousand to get a double. That is, if the desired factor is 1.9, the runtime value should be 1900. Defaults to 1900. | -| `consecutiveGatewayFailure` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of consecutive gateway failures (502, 503, 504 status codes) before a consecutive gateway failure ejection occurs. Defaults to 5. | -| `enforcingConsecutiveGatewayFailure` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The % chance that a host will be actually ejected when an outlier status is detected through consecutive gateway failures. This setting can be used to disable ejection or to ramp it up slowly. Defaults to 0. | -| `splitExternalLocalOriginErrors` | `bool` | Determines whether to distinguish local origin failures from external errors. If set to true the following configuration parameters are taken into account: `consecutive_local_origin_failure (envoy_api_field_cluster.OutlierDetection.consecutive_local_origin_failure)`, `enforcing_consecutive_local_origin_failure (envoy_api_field_cluster.OutlierDetection.enforcing_consecutive_local_origin_failure)` and `enforcing_local_origin_success_rate (envoy_api_field_cluster.OutlierDetection.enforcing_local_origin_success_rate)`. Defaults to false. | -| `consecutiveLocalOriginFailure` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of consecutive locally originated failures before ejection occurs. Defaults to 5. Parameter takes effect only when `split_external_local_origin_errors (envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors)` is set to true. | -| `enforcingConsecutiveLocalOriginFailure` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The % chance that a host will be actually ejected when an outlier status 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 `split_external_local_origin_errors (envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors)` is set to true. | -| `enforcingLocalOriginSuccessRate` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The % chance that a host will be actually ejected when an outlier status 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 `split_external_local_origin_errors (envoy_api_field_cluster.OutlierDetection.split_external_local_origin_errors)` is set to true. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto.sk.md deleted file mode 100644 index da672fa11a1..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto.sk.md +++ /dev/null @@ -1,239 +0,0 @@ - ---- -title: "health_check.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.api.v2.core` -#### Types: - - -- [HealthCheck](#healthcheck) -- [Payload](#payload) -- [HttpHealthCheck](#httphealthcheck) -- [TcpHealthCheck](#tcphealthcheck) -- [RedisHealthCheck](#redishealthcheck) -- [GrpcHealthCheck](#grpchealthcheck) -- [CustomHealthCheck](#customhealthcheck) - - - - -##### Enums: - - - - [HealthStatus](#healthstatus) - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/api/v2/core/health_check.proto) - - - - - ---- -### HealthCheck - - - -```yaml -"timeout": .google.protobuf.Duration -"interval": .google.protobuf.Duration -"initialJitter": .google.protobuf.Duration -"intervalJitter": .google.protobuf.Duration -"intervalJitterPercent": int -"unhealthyThreshold": .google.protobuf.UInt32Value -"healthyThreshold": .google.protobuf.UInt32Value -"reuseConnection": .google.protobuf.BoolValue -"httpHealthCheck": .solo.io.envoy.api.v2.core.HealthCheck.HttpHealthCheck -"tcpHealthCheck": .solo.io.envoy.api.v2.core.HealthCheck.TcpHealthCheck -"grpcHealthCheck": .solo.io.envoy.api.v2.core.HealthCheck.GrpcHealthCheck -"customHealthCheck": .solo.io.envoy.api.v2.core.HealthCheck.CustomHealthCheck -"noTrafficInterval": .google.protobuf.Duration -"unhealthyInterval": .google.protobuf.Duration -"unhealthyEdgeInterval": .google.protobuf.Duration -"healthyEdgeInterval": .google.protobuf.Duration -"eventLogPath": string -"alwaysLogHealthCheckFailures": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The time to wait for a health check response. If the timeout is reached the health check attempt will be considered a failure. | -| `interval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The interval between health checks. | -| `initialJitter` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | An optional jitter amount in milliseconds. If specified, Envoy will start health checking after for a random time in ms between 0 and initial_jitter. This only applies to the first health check. | -| `intervalJitter` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | An optional jitter amount in milliseconds. If specified, during every interval Envoy will add interval_jitter to the wait time. | -| `intervalJitterPercent` | `int` | An optional jitter amount as a percentage of interval_ms. If specified, during every interval Envoy will add interval_ms * interval_jitter_percent / 100 to the wait time. If interval_jitter_ms and interval_jitter_percent are both set, both of them will be used to increase the wait time. | -| `unhealthyThreshold` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of unhealthy health checks required before a host is marked unhealthy. Note that for *http* health checking if a host responds with 503 this threshold is ignored and the host is considered unhealthy immediately. | -| `healthyThreshold` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of healthy health checks required before a host is marked healthy. Note that during startup, only a single successful health check is required to mark a host healthy. | -| `reuseConnection` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Reuse health check connection between health checks. Default is true. | -| `httpHealthCheck` | [.solo.io.envoy.api.v2.core.HealthCheck.HttpHealthCheck](../health_check.proto.sk/#httphealthcheck) | HTTP health check. Only one of `httpHealthCheck`, `tcpHealthCheck`, `grpcHealthCheck`, or `customHealthCheck` can be set. | -| `tcpHealthCheck` | [.solo.io.envoy.api.v2.core.HealthCheck.TcpHealthCheck](../health_check.proto.sk/#tcphealthcheck) | TCP health check. Only one of `tcpHealthCheck`, `httpHealthCheck`, `grpcHealthCheck`, or `customHealthCheck` can be set. | -| `grpcHealthCheck` | [.solo.io.envoy.api.v2.core.HealthCheck.GrpcHealthCheck](../health_check.proto.sk/#grpchealthcheck) | gRPC health check. Only one of `grpcHealthCheck`, `httpHealthCheck`, `tcpHealthCheck`, or `customHealthCheck` can be set. | -| `customHealthCheck` | [.solo.io.envoy.api.v2.core.HealthCheck.CustomHealthCheck](../health_check.proto.sk/#customhealthcheck) | Custom health check. Only one of `customHealthCheck`, `httpHealthCheck`, `tcpHealthCheck`, or `grpcHealthCheck` can be set. | -| `noTrafficInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 date, without sending a potentially large amount of active health checking traffic for no reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the standard health check interval that is defined. Note that this interval takes precedence over any other. The default value for "no traffic interval" is 60 seconds. | -| `unhealthyInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 standard health check interval that is defined. The default value for "unhealthy interval" is the same as "interval". | -| `unhealthyEdgeInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The "unhealthy edge interval" is a special health check interval that is used for the first health check right after a host is marked as unhealthy. For subsequent health checks Envoy will shift back to using either "unhealthy interval" if present or the standard health check interval that is defined. The default value for "unhealthy edge interval" is the same as "unhealthy interval". | -| `healthyEdgeInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The "healthy edge interval" is a special health check interval that is used for the first health check right after a host is marked as healthy. For subsequent health checks Envoy will shift back to using the standard health check interval that is defined. The default value for "healthy edge interval" is the same as the default interval. | -| `eventLogPath` | `string` | Specifies the path to the `health check event log (arch_overview_health_check_logging)`. If empty, no event log will be written. | -| `alwaysLogHealthCheckFailures` | `bool` | If set to true, health check failure events will always be logged. If set to false, only the initial health check failure event will be logged. The default value is false. | - - - - ---- -### Payload - - -Describes the encoding of the payload bytes in the payload. - -```yaml -"text": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `text` | `string` | Hex encoded payload. E.g., "000000FF". | - - - - ---- -### HttpHealthCheck - - -[#comment:next free field: 11] - -```yaml -"host": string -"path": string -"serviceName": string -"requestHeadersToAdd": []solo.io.envoy.api.v2.core.HeaderValueOption -"requestHeadersToRemove": []string -"useHttp2": bool -"expectedStatuses": []solo.io.envoy.type.Int64Range -"responseAssertions": .advancedhttp.options.gloo.solo.io.ResponseAssertions -"method": .solo.io.envoy.config.core.v3.RequestMethod - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `host` | `string` | 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. | -| `path` | `string` | Specifies the HTTP path that will be requested during health checking. For example */healthcheck*. | -| `serviceName` | `string` | An optional service name parameter which is used to validate the identity of the health checked cluster. See the `architecture overview (arch_overview_health_checking_identity)` for more information. | -| `requestHeadersToAdd` | [[]solo.io.envoy.api.v2.core.HeaderValueOption](../../../../../../../../../../solo-kit/api/external/envoy/api/v2/core/base.proto.sk/#headervalueoption) | 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 `custom request headers (config_http_conn_man_headers_custom_request_headers)`. | -| `requestHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each request that is sent to the health checked cluster. | -| `useHttp2` | `bool` | If set, health checks will be made using http/2. | -| `expectedStatuses` | [[]solo.io.envoy.type.Int64Range](../../../../type/range.proto.sk/#int64range) | 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 `Int64Range (envoy_api_msg_type.Int64Range)`. | -| `responseAssertions` | [.advancedhttp.options.gloo.solo.io.ResponseAssertions](../../../../../../v1/options/advanced_http/advanced_http.proto.sk/#responseassertions) | (Enterprise Only): If defined, the response health check rules take precedence over the http `expected_statuses`. | -| `method` | [.solo.io.envoy.config.core.v3.RequestMethod](../../../../config/core/v3/base.proto.sk/#requestmethod) | HTTP Method that will be used for health checking, default is "GET". GET, HEAD, POST, PUT, DELETE, OPTIONS, TRACE, PATCH methods are supported, but making request body is not supported. CONNECT method is disallowed because it is not appropriate for health check request. If a non-200 response is expected by the method, it needs to be set in expected_statuses. | - - - - ---- -### TcpHealthCheck - - - -```yaml -"send": .solo.io.envoy.api.v2.core.HealthCheck.Payload -"receive": []solo.io.envoy.api.v2.core.HealthCheck.Payload - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `send` | [.solo.io.envoy.api.v2.core.HealthCheck.Payload](../health_check.proto.sk/#payload) | Empty payloads imply a connect-only health check. | -| `receive` | [[]solo.io.envoy.api.v2.core.HealthCheck.Payload](../health_check.proto.sk/#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. | - - - - ---- -### RedisHealthCheck - - - -```yaml -"key": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | If set, optionally perform `EXISTS ` instead of `PING`. A return value from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance by setting the specified key to any value and waiting for traffic to drain. | - - - - ---- -### GrpcHealthCheck - - -[grpc.health.v1.Health](https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto)-based -healthcheck. See [gRPC doc](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) -for details. - -```yaml -"serviceName": string -"authority": string -"initialMetadata": []solo.io.envoy.api.v2.core.HeaderValueOption - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `serviceName` | `string` | An optional service name parameter which will be sent to gRPC service in [grpc.health.v1.HealthCheckRequest](https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20) message. See [gRPC health-checking overview](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) for more information. | -| `authority` | `string` | 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. | -| `initialMetadata` | [[]solo.io.envoy.api.v2.core.HeaderValueOption](../../../../../../../../../../solo-kit/api/external/envoy/api/v2/core/base.proto.sk/#headervalueoption) | Specifies a list of key-value pairs that should be added to the metadata of each GRPC call that is sent to the health checked cluster. | - - - - ---- -### CustomHealthCheck - - -Custom health check. - -```yaml -"name": string -"config": .google.protobuf.Struct -"typedConfig": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The registered name of the custom health checker. | -| `config` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Only one of `config` or `typedConfig` can be set. | -| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | Only one of `typedConfig` or `config` can be set. | - - - - -### HealthStatus - -Description: Endpoint health status. - -| Name | Description | -| ----- | ----------- | -| UNKNOWN | The health status is not known. This is interpreted by Envoy as *HEALTHY*. | -| HEALTHY | Healthy. | -| UNHEALTHY | Unhealthy. | -| DRAINING | Connection draining in progress. E.g., https://aws.amazon.com/blogs/aws/elb-connection-draining-remove-instances-from-service-with-care/ or https://cloud.google.com/compute/docs/load-balancing/enabling-connection-draining. This is interpreted by Envoy as *UNHEALTHY*. | -| TIMEOUT | Health check timed out. This is part of HDS and is interpreted by Envoy as *UNHEALTHY*. | -| DEGRADED | Degraded. | - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto.sk.md deleted file mode 100644 index 0479a5be108..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto.sk.md +++ /dev/null @@ -1,109 +0,0 @@ - ---- -title: "mutation_rules.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.common.mutation_rules.v3` -copied from https://github.com/envoyproxy/envoy/blob/ad89a587aa0177bfdad6b5c968a6aead5d9be7a4/api/envoy/config/common/mutation_rules/v3/mutation_rules.proto - - - -#### Types: - - -- [HeaderMutationRules](#headermutationrules) -- [HeaderMutation](#headermutation) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/common/mutation_rules/v3/mutation_rules.proto) - - - - - ---- -### HeaderMutationRules - - -The HeaderMutationRules structure specifies what headers may be -manipulated by a processing filter. This set of rules makes it -possible to control which modifications a filter may make. - -By default, an external processing server may add, modify, or remove -any header except for an "Envoy internal" header (which is typically -denoted by an x-envoy prefix) or specific headers that may affect -further filter processing: - -* `host` -* `:authority` -* `:scheme` -* `:method` - -Every attempt to add, change, append, or remove a header will be -tested against the rules here. Disallowed header mutations will be -ignored unless `disallow_is_error` is set to true. - -Attempts to remove headers are further constrained -- regardless of the -settings, system-defined headers (that start with `:`) and the `host` -header may never be removed. - -In addition, a counter will be incremented whenever a mutation is -rejected. In the ext_proc filter, that counter is named -`rejected_header_mutations`. -[#next-free-field: 8] - -```yaml -"allowAllRouting": .google.protobuf.BoolValue -"allowEnvoy": .google.protobuf.BoolValue -"disallowSystem": .google.protobuf.BoolValue -"disallowAll": .google.protobuf.BoolValue -"allowExpression": .solo.io.envoy.type.matcher.v3.RegexMatcher -"disallowExpression": .solo.io.envoy.type.matcher.v3.RegexMatcher -"disallowIsError": .google.protobuf.BoolValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `allowAllRouting` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | By default, certain headers that could affect processing of subsequent filters or request routing cannot be modified. These headers are `host`, `:authority`, `:scheme`, and `:method`. Setting this parameter to true allows these headers to be modified as well. | -| `allowEnvoy` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If true, allow modification of envoy internal headers. By default, these start with `x-envoy` but this may be overridden in the `Bootstrap` configuration using the :ref:`header_prefix ` field. Default is false. | -| `disallowSystem` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If true, prevent modification of any system header, defined as a header that starts with a `:` character, regardless of any other settings. A processing server may still override the `:status` of an HTTP response using an `ImmediateResponse` message. Default is false. | -| `disallowAll` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If true, prevent modifications of all header values, regardless of any other settings. A processing server may still override the `:status` of an HTTP response using an `ImmediateResponse` message. Default is false. | -| `allowExpression` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../../../../../type/matcher/v3/regex.proto.sk/#regexmatcher) | If set, specifically allow any header that matches this regular expression. This overrides all other settings except for `disallow_expression`. | -| `disallowExpression` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../../../../../type/matcher/v3/regex.proto.sk/#regexmatcher) | If set, specifically disallow any header that matches this regular expression regardless of any other settings. | -| `disallowIsError` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If true, and if the rules in this list cause a header mutation to be disallowed, then the filter using this configuration will terminate the request with a 500 error. In addition, regardless of the setting of this parameter, any attempt to set, add, or modify a disallowed header will cause the `rejected_header_mutations` counter to be incremented. Default is false. | - - - - ---- -### HeaderMutation - - -The HeaderMutation structure specifies an action that may be taken on HTTP -headers. - -```yaml -"remove": string -"append": .solo.io.envoy.config.core.v3.HeaderValueOption - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `remove` | `string` | Remove the specified header if it exists. Only one of `remove` or `append` can be set. | -| `append` | [.solo.io.envoy.config.core.v3.HeaderValueOption](../../../../core/v3/base.proto.sk/#headervalueoption) | Append new header by the specified HeaderValueOption. Only one of `append` or `remove` can be set. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/address.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/address.proto.sk.md deleted file mode 100644 index 5c2b4de3304..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/address.proto.sk.md +++ /dev/null @@ -1,179 +0,0 @@ - ---- -title: "address.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [Pipe](#pipe) -- [SocketAddress](#socketaddress) -- [Protocol](#protocol) -- [TcpKeepalive](#tcpkeepalive) -- [BindConfig](#bindconfig) -- [Address](#address) -- [CidrRange](#cidrrange) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/address.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/address.proto) - - - - - ---- -### Pipe - - - -```yaml -"path": string -"mode": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `path` | `string` | 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. | -| `mode` | `int` | The mode for the Pipe. Not applicable for abstract sockets. | - - - - ---- -### SocketAddress - - -[#next-free-field: 7] - -```yaml -"protocol": .solo.io.envoy.config.core.v3.SocketAddress.Protocol -"address": string -"portValue": int -"namedPort": string -"resolverName": string -"ipv4Compat": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `protocol` | [.solo.io.envoy.config.core.v3.SocketAddress.Protocol](../address.proto.sk/#protocol) | | -| `address` | `string` | The address for this socket. Listeners will bind to the address. An empty address is not allowed. Specify `0.0.0.0` or `::` to bind to any address. [#comment:TODO(zuercher) reinstate when implemented: It is possible to distinguish a Listener address via the prefix/suffix matching in FilterChainMatch.] When used within an upstream BindConfig, the address controls the source address of outbound connections. For :ref:`clusters `, the cluster type determines whether the address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized via resolver_name. | -| `portValue` | `int` | Only one of `portValue` or `namedPort` can be set. | -| `namedPort` | `string` | This is only valid if :ref:`resolver_name ` is specified below and the named resolver is capable of named port resolution. Only one of `namedPort` or `portValue` can be set. | -| `resolverName` | `string` | The name of the custom resolver. This must have been registered with Envoy. If this is empty, a context dependent default applies. If the address is a concrete IP address, no resolution will occur. If address is a hostname this should be set for resolution other than DNS. Specifying a custom resolver with *STRICT_DNS* or *LOGICAL_DNS* will generate an error at runtime. | -| `ipv4Compat` | `bool` | When binding to an IPv6 address above, this enables [IPv4 compatibility](https://datatracker.ietf.org/doc/html/rfc3493#page-11). Binding to `::` will allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into IPv6 space as `::FFFF:`. | - - - - ---- -### Protocol - - - -| Name | Description | -| ----- | ----------- | -| `TCP` | | -| `UDP` | | - - - - ---- -### TcpKeepalive - - - -```yaml -"keepaliveProbes": .google.protobuf.UInt32Value -"keepaliveTime": .google.protobuf.UInt32Value -"keepaliveInterval": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `keepaliveProbes` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Maximum number of keepalive probes to send without response before deciding the connection is dead. Default is to use the OS level configuration (unless overridden, Linux defaults to 9.). | -| `keepaliveTime` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of seconds a connection needs to be idle before keep-alive probes start being sent. Default is to use the OS level configuration (unless overridden, Linux defaults to 7200s (i.e., 2 hours.). | -| `keepaliveInterval` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of seconds between keep-alive probes. Default is to use the OS level configuration (unless overridden, Linux defaults to 75s.). | - - - - ---- -### BindConfig - - - -```yaml -"sourceAddress": .solo.io.envoy.config.core.v3.SocketAddress -"freebind": .google.protobuf.BoolValue -"socketOptions": []solo.io.envoy.config.core.v3.SocketOption - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `sourceAddress` | [.solo.io.envoy.config.core.v3.SocketAddress](../address.proto.sk/#socketaddress) | The address to bind to when creating a socket. | -| `freebind` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Whether to set the *IP_FREEBIND* option when creating the socket. When this flag is set to true, allows the :ref:`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. | -| `socketOptions` | [[]solo.io.envoy.config.core.v3.SocketOption](../socket_option.proto.sk/#socketoption) | Additional socket options that may not be present in Envoy source code or precompiled binaries. | - - - - ---- -### 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. - -```yaml -"socketAddress": .solo.io.envoy.config.core.v3.SocketAddress -"pipe": .solo.io.envoy.config.core.v3.Pipe - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `socketAddress` | [.solo.io.envoy.config.core.v3.SocketAddress](../address.proto.sk/#socketaddress) | Only one of `socketAddress` or `pipe` can be set. | -| `pipe` | [.solo.io.envoy.config.core.v3.Pipe](../address.proto.sk/#pipe) | Only one of `pipe` or `socketAddress` can be set. | - - - - ---- -### CidrRange - - -CidrRange specifies an IP Address and a prefix length to construct -the subnet mask for a [CIDR](https://datatracker.ietf.org/doc/html/rfc4632) range. - -```yaml -"addressPrefix": string -"prefixLen": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `addressPrefix` | `string` | IPv4 or IPv6 address, e.g. `192.0.0.0` or `2001:db8::`. | -| `prefixLen` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Length of prefix, e.g. 0, 32. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/backoff.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/backoff.proto.sk.md deleted file mode 100644 index 4fe30370b79..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/backoff.proto.sk.md +++ /dev/null @@ -1,48 +0,0 @@ - ---- -title: "backoff.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [BackoffStrategy](#backoffstrategy) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/backoff.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/backoff.proto) - - - - - ---- -### BackoffStrategy - - -Configuration defining a jittered exponential back off strategy. - -```yaml -"baseInterval": .google.protobuf.Duration -"maxInterval": .google.protobuf.Duration - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `baseInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 `. | -| `maxInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Specifies the maximum interval between retries. This parameter is optional, but must be greater than or equal to the :ref:`base_interval ` if set. The default is 10 times the :ref:`base_interval `. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/base.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/base.proto.sk.md deleted file mode 100644 index 07c4318d076..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/base.proto.sk.md +++ /dev/null @@ -1,516 +0,0 @@ - ---- -title: "base.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [Locality](#locality) -- [BuildVersion](#buildversion) -- [Extension](#extension) -- [Node](#node) -- [Metadata](#metadata) -- [RuntimeUInt32](#runtimeuint32) -- [RuntimeDouble](#runtimedouble) -- [RuntimeFeatureFlag](#runtimefeatureflag) -- [HeaderValue](#headervalue) -- [HeaderValueOption](#headervalueoption) -- [HeaderMap](#headermap) -- [DataSource](#datasource) -- [RetryPolicy](#retrypolicy) -- [RemoteDataSource](#remotedatasource) -- [AsyncDataSource](#asyncdatasource) -- [TransportSocket](#transportsocket) -- [RuntimeFractionalPercent](#runtimefractionalpercent) -- [ControlPlane](#controlplane) - - - - -##### Enums: - - - - [RoutingPriority](#routingpriority) - - [RequestMethod](#requestmethod) - - [TrafficDirection](#trafficdirection) - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/base.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/base.proto) - - - - - ---- -### Locality - - -Identifies location of where either Envoy runs or where upstream hosts run. - -```yaml -"region": string -"zone": string -"subZone": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `region` | `string` | Region this zone belongs to. | -| `zone` | `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 zone data, either in this message or via `--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. | -| `subZone` | `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. | - - - - ---- -### BuildVersion - - -BuildVersion combines SemVer version of extension with free-form build information -(i.e. 'alpha', 'private-build') as a set of strings. - -```yaml -"version": .solo.io.envoy.type.v3.SemanticVersion -"metadata": .google.protobuf.Struct - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `version` | [.solo.io.envoy.type.v3.SemanticVersion](../../../../type/v3/semantic_version.proto.sk/#semanticversion) | SemVer version of extension. | -| `metadata` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Free-form build information. Envoy defines several well known keys in the source/common/common/version.h file. | - - - - ---- -### Extension - - -Version and identification for an Envoy extension. -[#next-free-field: 6] - -```yaml -"name": string -"category": string -"typeDescriptor": string -"version": .solo.io.envoy.config.core.v3.BuildVersion -"disabled": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | This is the name of the Envoy filter as specified in the Envoy configuration, e.g. envoy.filters.http.router, com.acme.widget. | -| `category` | `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.]. | -| `typeDescriptor` | `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.]. | -| `version` | [.solo.io.envoy.config.core.v3.BuildVersion](../base.proto.sk/#buildversion) | 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. | -| `disabled` | `bool` | Indicates that the extension is present but was disabled via dynamic configuration. | - - - - ---- -### Node - - -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] - -```yaml -"id": string -"cluster": string -"metadata": .google.protobuf.Struct -"locality": .solo.io.envoy.config.core.v3.Locality -"userAgentName": string -"userAgentVersion": string -"userAgentBuildVersion": .solo.io.envoy.config.core.v3.BuildVersion -"extensions": []solo.io.envoy.config.core.v3.Extension -"clientFeatures": []string -"listeningAddresses": []solo.io.envoy.config.core.v3.Address - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `id` | `string` | 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: statsd, :ref:`CDS `, and :ref:`HTTP tracing `, either in this message or via `--service-node`. | -| `cluster` | `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: statsd, :ref:`health check cluster verification `, runtime override directory, :ref:`user agent addition `, HTTP global rate limiting, CDS, and :ref:`HTTP tracing `, either in this message or via `--service-cluster`. | -| `metadata` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Opaque metadata extending the node identifier. Envoy will pass this directly to the management server. | -| `locality` | [.solo.io.envoy.config.core.v3.Locality](../base.proto.sk/#locality) | Locality specifying where the Envoy instance is running. | -| `userAgentName` | `string` | Free-form string that identifies the entity requesting config. E.g. "envoy" or "grpc". | -| `userAgentVersion` | `string` | Free-form string that identifies the version of the entity requesting config. E.g. "1.12.2" or "abcd1234", or "SpecialEnvoyBuild". Only one of `userAgentVersion` or `userAgentBuildVersion` can be set. | -| `userAgentBuildVersion` | [.solo.io.envoy.config.core.v3.BuildVersion](../base.proto.sk/#buildversion) | Structured version of the entity requesting config. Only one of `userAgentBuildVersion` or `userAgentVersion` can be set. | -| `extensions` | [[]solo.io.envoy.config.core.v3.Extension](../base.proto.sk/#extension) | List of extensions and their versions supported by the node. | -| `clientFeatures` | `[]string` | 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 the list of features that xDS client may support. | -| `listeningAddresses` | [[]solo.io.envoy.config.core.v3.Address](../address.proto.sk/#address) | Known listening ports on the node as a generic hint to the management server for filtering 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. | - - - - ---- -### Metadata - - -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": }}` 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] - -```yaml -"filterMetadata": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `filterMetadata` | `map` | Key is the reverse DNS filter name, e.g. com.acme.widget. The envoy.* namespace is reserved for Envoy's built-in filters. | - - - - ---- -### RuntimeUInt32 - - -Runtime derived uint32 with a default when not specified. - -```yaml -"defaultValue": int -"runtimeKey": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `defaultValue` | `int` | Default value if runtime value is not available. | -| `runtimeKey` | `string` | Runtime key to get value for comparison. This value is used if defined. | - - - - ---- -### RuntimeDouble - - -Runtime derived double with a default when not specified. - -```yaml -"defaultValue": float -"runtimeKey": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `defaultValue` | `float` | Default value if runtime value is not available. | -| `runtimeKey` | `string` | Runtime key to get value for comparison. This value is used if defined. | - - - - ---- -### RuntimeFeatureFlag - - -Runtime derived bool with a default when not specified. - -```yaml -"defaultValue": .google.protobuf.BoolValue -"runtimeKey": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `defaultValue` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Default value if runtime value is not available. | -| `runtimeKey` | `string` | 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). | - - - - ---- -### HeaderValue - - -Header name/value pair. - -```yaml -"key": string -"value": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | Header name. | -| `value` | `string` | Header value. The same format specifier as used for HTTP access logging applies here, however unknown header values are replaced with the empty string instead of `-`. | - - - - ---- -### HeaderValueOption - - -Header name/value pair plus option to control append behavior. - -```yaml -"header": .solo.io.envoy.config.core.v3.HeaderValue -"append": .google.protobuf.BoolValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `header` | [.solo.io.envoy.config.core.v3.HeaderValue](../base.proto.sk/#headervalue) | Header name/value pair that this option applies to. | -| `append` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Should the value be appended? If true (default), the value is appended to existing values. | - - - - ---- -### HeaderMap - - -Wrapper for a set of headers. - -```yaml -"headers": []solo.io.envoy.config.core.v3.HeaderValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headers` | [[]solo.io.envoy.config.core.v3.HeaderValue](../base.proto.sk/#headervalue) | | - - - - ---- -### DataSource - - -Data source consisting of either a file or an inline value. - -```yaml -"filename": string -"inlineBytes": bytes -"inlineString": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `filename` | `string` | Local filesystem data source. Only one of `filename`, `inlineBytes`, or `inlineString` can be set. | -| `inlineBytes` | `bytes` | Bytes inlined in the configuration. Only one of `inlineBytes`, `filename`, or `inlineString` can be set. | -| `inlineString` | `string` | String inlined in the configuration. Only one of `inlineString`, `filename`, or `inlineBytes` can be set. | - - - - ---- -### RetryPolicy - - -The message specifies the retry policy of remote data source when fetching fails. - -```yaml -"retryBackOff": .solo.io.envoy.config.core.v3.BackoffStrategy -"numRetries": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `retryBackOff` | [.solo.io.envoy.config.core.v3.BackoffStrategy](../backoff.proto.sk/#backoffstrategy) | Specifies parameters that control retry backoff strategy. This parameter is optional, in which case the default base interval is 1000 milliseconds. The default maximum interval is 10 times the base interval. | -| `numRetries` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Specifies the allowed number of retries. This parameter is optional and defaults to 1. | - - - - ---- -### RemoteDataSource - - -The message specifies how to fetch data from remote and how to verify it. - -```yaml -"httpUri": .solo.io.envoy.config.core.v3.HttpUri -"sha256": string -"retryPolicy": .solo.io.envoy.config.core.v3.RetryPolicy - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `httpUri` | [.solo.io.envoy.config.core.v3.HttpUri](../http_uri.proto.sk/#httpuri) | The HTTP URI to fetch the remote data. | -| `sha256` | `string` | SHA256 string for verifying data. | -| `retryPolicy` | [.solo.io.envoy.config.core.v3.RetryPolicy](../base.proto.sk/#retrypolicy) | Retry policy for fetching remote data. | - - - - ---- -### AsyncDataSource - - -Async data source which support async data fetch. - -```yaml -"local": .solo.io.envoy.config.core.v3.DataSource -"remote": .solo.io.envoy.config.core.v3.RemoteDataSource - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `local` | [.solo.io.envoy.config.core.v3.DataSource](../base.proto.sk/#datasource) | Local async data source. Only one of `local` or `remote` can be set. | -| `remote` | [.solo.io.envoy.config.core.v3.RemoteDataSource](../base.proto.sk/#remotedatasource) | Remote async data source. Only one of `remote` or `local` can be set. | - - - - ---- -### TransportSocket - - -Configuration for transport socket in listeners and -clusters. If the configuration is -empty, a default transport socket implementation and configuration will be -chosen based on the platform and existence of tls_context. - -```yaml -"name": string -"typedConfig": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The name of the transport socket to instantiate. The name must match a supported transport socket implementation. | -| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | - - - - ---- -### RuntimeFractionalPercent - - -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 - 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. - -```yaml -"defaultValue": .solo.io.envoy.type.v3.FractionalPercent -"runtimeKey": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `defaultValue` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../type/v3/percent.proto.sk/#fractionalpercent) | Default value if the runtime value's for the numerator/denominator keys are not available. | -| `runtimeKey` | `string` | Runtime key for a YAML representation of a FractionalPercent. | - - - - ---- -### ControlPlane - - -Identifies a specific ControlPlane instance that Envoy is connected to. - -```yaml -"identifier": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `identifier` | `string` | 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. | - - - - -### RoutingPriority - -Description: Envoy supports :ref:`upstream priority routing -` 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. - -| Name | Description | -| ----- | ----------- | -| DEFAULT | | -| HIGH | | - -### RequestMethod - -Description: HTTP request method. - -| Name | Description | -| ----- | ----------- | -| METHOD_UNSPECIFIED | | -| GET | | -| HEAD | | -| POST | | -| PUT | | -| DELETE | | -| CONNECT | | -| OPTIONS | | -| TRACE | | -| PATCH | | - -### TrafficDirection - -Description: Identifies the direction of the traffic relative to the local Envoy. - -| Name | Description | -| ----- | ----------- | -| UNSPECIFIED | Default option is unspecified. | -| INBOUND | The transport is used for incoming traffic. | -| OUTBOUND | The transport is used for outgoing traffic. | - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto.sk.md deleted file mode 100644 index 09dbc6b4c80..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto.sk.md +++ /dev/null @@ -1,47 +0,0 @@ - ---- -title: "event_service_config.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [EventServiceConfig](#eventserviceconfig) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/event_service_config.proto) - - - - - ---- -### EventServiceConfig - - -[#not-implemented-hide:] -Configuration of the event reporting service endpoint. - -```yaml -"grpcService": .solo.io.envoy.config.core.v3.GrpcService - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `grpcService` | [.solo.io.envoy.config.core.v3.GrpcService](../grpc_service.proto.sk/#grpcservice) | Specifies the gRPC service that hosts the event reporting service. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/extension.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/extension.proto.sk.md deleted file mode 100644 index 2b8115a580c..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/extension.proto.sk.md +++ /dev/null @@ -1,49 +0,0 @@ - ---- -title: "extension.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [TypedExtensionConfig](#typedextensionconfig) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/extension.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/extension.proto) - - - - - ---- -### TypedExtensionConfig - - -Message type for extension configuration. -[#next-major-version: revisit all existing typed_config that doesn't use this wrapper.]. - -```yaml -"name": string -"typedConfig": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The name of an extension. This is not used to select the extension, instead it serves the role of an opaque identifier. | -| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | The typed config for the extension. The type URL will be used to identify the extension. In the case that the type URL is *udpa.type.v1.TypedStruct*, the inner type URL of *TypedStruct* will be utilized. See the :ref:`extension configuration overview ` for further details. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto.sk.md deleted file mode 100644 index 20d42bdebfe..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto.sk.md +++ /dev/null @@ -1,343 +0,0 @@ - ---- -title: "grpc_service.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [GrpcService](#grpcservice) -- [EnvoyGrpc](#envoygrpc) -- [GoogleGrpc](#googlegrpc) -- [SslCredentials](#sslcredentials) -- [GoogleLocalCredentials](#googlelocalcredentials) -- [ChannelCredentials](#channelcredentials) -- [CallCredentials](#callcredentials) -- [ServiceAccountJWTAccessCredentials](#serviceaccountjwtaccesscredentials) -- [GoogleIAMCredentials](#googleiamcredentials) -- [MetadataCredentialsFromPlugin](#metadatacredentialsfromplugin) -- [StsService](#stsservice) -- [ChannelArgs](#channelargs) -- [Value](#value) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/grpc_service.proto) - - - - - ---- -### GrpcService - - -gRPC service configuration. This is used by :ref:`ApiConfigSource -` and filter configurations. -[#next-free-field: 6] - -```yaml -"envoyGrpc": .solo.io.envoy.config.core.v3.GrpcService.EnvoyGrpc -"googleGrpc": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc -"timeout": .google.protobuf.Duration -"initialMetadata": []solo.io.envoy.config.core.v3.HeaderValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `envoyGrpc` | [.solo.io.envoy.config.core.v3.GrpcService.EnvoyGrpc](../grpc_service.proto.sk/#envoygrpc) | Envoy's in-built gRPC client. See the :ref:`gRPC services overview ` documentation for discussion on gRPC client selection. Only one of `envoyGrpc` or `googleGrpc` can be set. | -| `googleGrpc` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc](../grpc_service.proto.sk/#googlegrpc) | [Google C++ gRPC client](https://github.com/grpc/grpc) See the :ref:`gRPC services overview ` documentation for discussion on gRPC client selection. Only one of `googleGrpc` or `envoyGrpc` can be set. | -| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The timeout for the gRPC request. This is the timeout for a specific request. | -| `initialMetadata` | [[]solo.io.envoy.config.core.v3.HeaderValue](../base.proto.sk/#headervalue) | 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. | - - - - ---- -### EnvoyGrpc - - - -```yaml -"clusterName": string -"authority": string -"retryPolicy": .solo.io.envoy.config.core.v3.RetryPolicy - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `clusterName` | `string` | The name of the upstream gRPC cluster. SSL credentials will be supplied in the Cluster :ref:`transport_socket `. | -| `authority` | `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. | -| `retryPolicy` | [.solo.io.envoy.config.core.v3.RetryPolicy](../base.proto.sk/#retrypolicy) | Indicates the retry policy for re-establishing the gRPC stream This field is optional. If max interval is not provided, it will be set to ten times the provided base interval. Currently only supported for xDS gRPC streams. If not set, xDS gRPC streams default base interval:500ms, maximum interval:30s will be applied. | - - - - ---- -### GoogleGrpc - - -[#next-free-field: 9] - -```yaml -"targetUri": string -"channelCredentials": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials -"callCredentials": []solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials -"statPrefix": string -"credentialsFactoryName": string -"config": .google.protobuf.Struct -"perStreamBufferLimitBytes": .google.protobuf.UInt32Value -"channelArgs": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `targetUri` | `string` | The target URI when using the [Google C++ gRPC client](https://github.com/grpc/grpc). SSL credentials will be supplied in channel_credentials. | -| `channelCredentials` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelCredentials](../grpc_service.proto.sk/#channelcredentials) | | -| `callCredentials` | [[]solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials](../grpc_service.proto.sk/#callcredentials) | A set of call credentials that can be composed with [channel credentials](https://grpc.io/docs/guides/auth.html#credential-types). | -| `statPrefix` | `string` | The human readable prefix to use when emitting statistics for the gRPC service. .. csv-table:: :header: Name, Type, Description :widths: 1, 1, 2 streams_total, Counter, Total number of streams opened streams_closed_, Counter, Total streams closed with . | -| `credentialsFactoryName` | `string` | The name of the Google gRPC credentials factory to use. This must have been registered with Envoy. If this is empty, a default credentials factory will be used that sets up channel credentials based on other configuration parameters. | -| `config` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Additional configuration for site-specific customizations of the Google gRPC library. | -| `perStreamBufferLimitBytes` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | How many bytes each stream can buffer internally. If not set an implementation defined default is applied (1MiB). | -| `channelArgs` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.ChannelArgs](../grpc_service.proto.sk/#channelargs) | Custom channels args. | - - - - ---- -### SslCredentials - - -See https://grpc.io/grpc/cpp/structgrpc_1_1_ssl_credentials_options.html. - -```yaml -"rootCerts": .solo.io.envoy.config.core.v3.DataSource -"privateKey": .solo.io.envoy.config.core.v3.DataSource -"certChain": .solo.io.envoy.config.core.v3.DataSource - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `rootCerts` | [.solo.io.envoy.config.core.v3.DataSource](../base.proto.sk/#datasource) | PEM encoded server root certificates. | -| `privateKey` | [.solo.io.envoy.config.core.v3.DataSource](../base.proto.sk/#datasource) | PEM encoded client private key. | -| `certChain` | [.solo.io.envoy.config.core.v3.DataSource](../base.proto.sk/#datasource) | PEM encoded client certificate chain. | - - - - ---- -### GoogleLocalCredentials - - -Local channel credentials. Only UDS is supported for now. -See https://github.com/grpc/grpc/pull/15909. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### ChannelCredentials - - -See https://grpc.io/docs/guides/auth.html#credential-types to understand Channel and Call -credential types. - -```yaml -"sslCredentials": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials -"googleDefault": .google.protobuf.Empty -"localCredentials": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.GoogleLocalCredentials - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `sslCredentials` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.SslCredentials](../grpc_service.proto.sk/#sslcredentials) | Only one of `sslCredentials`, `googleDefault`, or `localCredentials` can be set. | -| `googleDefault` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61. Only one of `googleDefault`, `sslCredentials`, or `localCredentials` can be set. | -| `localCredentials` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.GoogleLocalCredentials](../grpc_service.proto.sk/#googlelocalcredentials) | Only one of `localCredentials`, `sslCredentials`, or `googleDefault` can be set. | - - - - ---- -### CallCredentials - - -[#next-free-field: 8] - -```yaml -"accessToken": string -"googleComputeEngine": .google.protobuf.Empty -"googleRefreshToken": string -"serviceAccountJwtAccess": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials -"googleIam": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials -"fromPlugin": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin -"stsService": .solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.StsService - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `accessToken` | `string` | Access token credentials. https://grpc.io/grpc/cpp/namespacegrpc.html#ad3a80da696ffdaea943f0f858d7a360d. Only one of `accessToken`, `googleComputeEngine`, `googleRefreshToken`, `serviceAccountJwtAccess`, `googleIam`, `fromPlugin`, or `stsService` can be set. | -| `googleComputeEngine` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | Google Compute Engine credentials. https://grpc.io/grpc/cpp/namespacegrpc.html#a6beb3ac70ff94bd2ebbd89b8f21d1f61. Only one of `googleComputeEngine`, `accessToken`, `googleRefreshToken`, `serviceAccountJwtAccess`, `googleIam`, `fromPlugin`, or `stsService` can be set. | -| `googleRefreshToken` | `string` | Google refresh token credentials. https://grpc.io/grpc/cpp/namespacegrpc.html#a96901c997b91bc6513b08491e0dca37c. Only one of `googleRefreshToken`, `accessToken`, `googleComputeEngine`, `serviceAccountJwtAccess`, `googleIam`, `fromPlugin`, or `stsService` can be set. | -| `serviceAccountJwtAccess` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.ServiceAccountJWTAccessCredentials](../grpc_service.proto.sk/#serviceaccountjwtaccesscredentials) | Service Account JWT Access credentials. https://grpc.io/grpc/cpp/namespacegrpc.html#a92a9f959d6102461f66ee973d8e9d3aa. Only one of `serviceAccountJwtAccess`, `accessToken`, `googleComputeEngine`, `googleRefreshToken`, `googleIam`, `fromPlugin`, or `stsService` can be set. | -| `googleIam` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.GoogleIAMCredentials](../grpc_service.proto.sk/#googleiamcredentials) | Google IAM credentials. https://grpc.io/grpc/cpp/namespacegrpc.html#a9fc1fc101b41e680d47028166e76f9d0. Only one of `googleIam`, `accessToken`, `googleComputeEngine`, `googleRefreshToken`, `serviceAccountJwtAccess`, `fromPlugin`, or `stsService` can be set. | -| `fromPlugin` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.MetadataCredentialsFromPlugin](../grpc_service.proto.sk/#metadatacredentialsfromplugin) | 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. Only one of `fromPlugin`, `accessToken`, `googleComputeEngine`, `googleRefreshToken`, `serviceAccountJwtAccess`, `googleIam`, or `stsService` can be set. | -| `stsService` | [.solo.io.envoy.config.core.v3.GrpcService.GoogleGrpc.CallCredentials.StsService](../grpc_service.proto.sk/#stsservice) | Custom security token service which implements OAuth 2.0 token exchange. https://datatracker.ietf.org/doc/html/draft-ietf-oauth-token-exchange-16 See https://github.com/grpc/grpc/pull/19587. Only one of `stsService`, `accessToken`, `googleComputeEngine`, `googleRefreshToken`, `serviceAccountJwtAccess`, `googleIam`, or `fromPlugin` can be set. | - - - - ---- -### ServiceAccountJWTAccessCredentials - - - -```yaml -"jsonKey": string -"tokenLifetimeSeconds": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `jsonKey` | `string` | | -| `tokenLifetimeSeconds` | `int` | | - - - - ---- -### GoogleIAMCredentials - - - -```yaml -"authorizationToken": string -"authoritySelector": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `authorizationToken` | `string` | | -| `authoritySelector` | `string` | | - - - - ---- -### MetadataCredentialsFromPlugin - - - -```yaml -"name": string -"typedConfig": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | | -| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | - - - - ---- -### StsService - - -Security token service configuration that allows Google gRPC to -fetch security token from an OAuth 2.0 authorization server. -See https://datatracker.ietf.org/doc/html/draft-ietf-oauth-token-exchange-16 and -https://github.com/grpc/grpc/pull/19587. -[#next-free-field: 10] - -```yaml -"tokenExchangeServiceUri": string -"resource": string -"audience": string -"scope": string -"requestedTokenType": string -"subjectTokenPath": string -"subjectTokenType": string -"actorTokenPath": string -"actorTokenType": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `tokenExchangeServiceUri` | `string` | URI of the token exchange service that handles token exchange requests. [#comment:TODO(asraa): Add URI validation when implemented. Tracked by https://github.com/envoyproxy/protoc-gen-validate/issues/303]. | -| `resource` | `string` | Location of the target service or resource where the client intends to use the requested security token. | -| `audience` | `string` | Logical name of the target service where the client intends to use the requested security token. | -| `scope` | `string` | The desired scope of the requested security token in the context of the service or resource where the token will be used. | -| `requestedTokenType` | `string` | Type of the requested security token. | -| `subjectTokenPath` | `string` | The path of subject token, a security token that represents the identity of the party on behalf of whom the request is being made. | -| `subjectTokenType` | `string` | Type of the subject token. | -| `actorTokenPath` | `string` | The path of actor token, a security token that represents the identity of the acting party. The acting party is authorized to use the requested security token and act on behalf of the subject. | -| `actorTokenType` | `string` | Type of the actor token. | - - - - ---- -### ChannelArgs - - -Channel arguments. - -```yaml -"args": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `args` | `map` | See grpc_types.h GRPC_ARG #defines for keys that work here. | - - - - ---- -### Value - - - -```yaml -"stringValue": string -"intValue": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `stringValue` | `string` | Only one of `stringValue` or `intValue` can be set. | -| `intValue` | `int` | Only one of `intValue` or `stringValue` can be set. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/health_check.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/health_check.proto.sk.md deleted file mode 100644 index 958dc4282ad..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/health_check.proto.sk.md +++ /dev/null @@ -1,270 +0,0 @@ - ---- -title: "health_check.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [HealthCheck](#healthcheck) -- [Payload](#payload) -- [HttpHealthCheck](#httphealthcheck) -- [TcpHealthCheck](#tcphealthcheck) -- [RedisHealthCheck](#redishealthcheck) -- [GrpcHealthCheck](#grpchealthcheck) -- [CustomHealthCheck](#customhealthcheck) -- [TlsOptions](#tlsoptions) - - - - -##### Enums: - - - - [HealthStatus](#healthstatus) - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/health_check.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/health_check.proto) - - - - - ---- -### HealthCheck - - -[#next-free-field: 24] - -```yaml -"timeout": .google.protobuf.Duration -"interval": .google.protobuf.Duration -"initialJitter": .google.protobuf.Duration -"intervalJitter": .google.protobuf.Duration -"intervalJitterPercent": int -"unhealthyThreshold": .google.protobuf.UInt32Value -"healthyThreshold": .google.protobuf.UInt32Value -"altPort": .google.protobuf.UInt32Value -"reuseConnection": .google.protobuf.BoolValue -"httpHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck -"tcpHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.TcpHealthCheck -"grpcHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.GrpcHealthCheck -"customHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.CustomHealthCheck -"noTrafficInterval": .google.protobuf.Duration -"unhealthyInterval": .google.protobuf.Duration -"unhealthyEdgeInterval": .google.protobuf.Duration -"healthyEdgeInterval": .google.protobuf.Duration -"eventLogPath": string -"eventService": .solo.io.envoy.config.core.v3.EventServiceConfig -"alwaysLogHealthCheckFailures": bool -"tlsOptions": .solo.io.envoy.config.core.v3.HealthCheck.TlsOptions -"transportSocketMatchCriteria": .google.protobuf.Struct - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The time to wait for a health check response. If the timeout is reached the health check attempt will be considered a failure. | -| `interval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The interval between health checks. | -| `initialJitter` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | An optional jitter amount in milliseconds. If specified, Envoy will start health checking after for a random time in ms between 0 and initial_jitter. This only applies to the first health check. | -| `intervalJitter` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | An optional jitter amount in milliseconds. If specified, during every interval Envoy will add interval_jitter to the wait time. | -| `intervalJitterPercent` | `int` | An optional jitter amount as a percentage of interval_ms. If specified, during every interval Envoy will add interval_ms * interval_jitter_percent / 100 to the wait time. If interval_jitter_ms and interval_jitter_percent are both set, both of them will be used to increase the wait time. | -| `unhealthyThreshold` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of unhealthy health checks required before a host is marked unhealthy. Note that for *http* health checking if a host responds with 503 this threshold is ignored and the host is considered unhealthy immediately. | -| `healthyThreshold` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The number of healthy health checks required before a host is marked healthy. Note that during startup, only a single successful health check is required to mark a host healthy. | -| `altPort` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | [#not-implemented-hide:] Non-serving port for health checking. | -| `reuseConnection` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Reuse health check connection between health checks. Default is true. | -| `httpHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck](../health_check.proto.sk/#httphealthcheck) | HTTP health check. Only one of `httpHealthCheck`, `tcpHealthCheck`, `grpcHealthCheck`, or `customHealthCheck` can be set. | -| `tcpHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.TcpHealthCheck](../health_check.proto.sk/#tcphealthcheck) | TCP health check. Only one of `tcpHealthCheck`, `httpHealthCheck`, `grpcHealthCheck`, or `customHealthCheck` can be set. | -| `grpcHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.GrpcHealthCheck](../health_check.proto.sk/#grpchealthcheck) | gRPC health check. Only one of `grpcHealthCheck`, `httpHealthCheck`, `tcpHealthCheck`, or `customHealthCheck` can be set. | -| `customHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.CustomHealthCheck](../health_check.proto.sk/#customhealthcheck) | Custom health check. Only one of `customHealthCheck`, `httpHealthCheck`, `tcpHealthCheck`, or `grpcHealthCheck` can be set. | -| `noTrafficInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 date, without sending a potentially large amount of active health checking traffic for no reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the standard health check interval that is defined. Note that this interval takes precedence over any other. The default value for "no traffic interval" is 60 seconds. | -| `unhealthyInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 standard health check interval that is defined. The default value for "unhealthy interval" is the same as "interval". | -| `unhealthyEdgeInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The "unhealthy edge interval" is a special health check interval that is used for the first health check right after a host is marked as unhealthy. For subsequent health checks Envoy will shift back to using either "unhealthy interval" if present or the standard health check interval that is defined. The default value for "unhealthy edge interval" is the same as "unhealthy interval". | -| `healthyEdgeInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The "healthy edge interval" is a special health check interval that is used for the first health check right after a host is marked as healthy. For subsequent health checks Envoy will shift back to using the standard health check interval that is defined. The default value for "healthy edge interval" is the same as the default interval. | -| `eventLogPath` | `string` | Specifies the path to the health check event log. If empty, no event log will be written. | -| `eventService` | [.solo.io.envoy.config.core.v3.EventServiceConfig](../event_service_config.proto.sk/#eventserviceconfig) | [#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. | -| `alwaysLogHealthCheckFailures` | `bool` | If set to true, health check failure events will always be logged. If set to false, only the initial health check failure event will be logged. The default value is false. | -| `tlsOptions` | [.solo.io.envoy.config.core.v3.HealthCheck.TlsOptions](../health_check.proto.sk/#tlsoptions) | This allows overriding the cluster TLS settings, just for health check connections. | -| `transportSocketMatchCriteria` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Optional key/value pairs that will be used to match a transport socket from those specified in the cluster's tranport 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 ` .. 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 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 transport socket matches, the cluster's :ref:`transport socket ` will be used for health check socket configuration. | - - - - ---- -### Payload - - -Describes the encoding of the payload bytes in the payload. - -```yaml -"text": string -"binary": bytes - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `text` | `string` | Hex encoded payload. E.g., "000000FF". Only one of `text` or `binary` can be set. | -| `binary` | `bytes` | [#not-implemented-hide:] Binary payload. Only one of `binary` or `text` can be set. | - - - - ---- -### HttpHealthCheck - - -[#next-free-field: 13] - -```yaml -"host": string -"path": string -"send": .solo.io.envoy.config.core.v3.HealthCheck.Payload -"receive": .solo.io.envoy.config.core.v3.HealthCheck.Payload -"requestHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption -"requestHeadersToRemove": []string -"expectedStatuses": []solo.io.envoy.type.v3.Int64Range -"codecClientType": .solo.io.envoy.type.v3.CodecClientType -"serviceNameMatcher": .solo.io.envoy.type.matcher.v3.StringMatcher -"responseAssertions": .advancedhttp.options.gloo.solo.io.ResponseAssertions - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `host` | `string` | 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 hostname field. | -| `path` | `string` | Specifies the HTTP path that will be requested during health checking. For example */healthcheck*. | -| `send` | [.solo.io.envoy.config.core.v3.HealthCheck.Payload](../health_check.proto.sk/#payload) | [#not-implemented-hide:] HTTP specific payload. | -| `receive` | [.solo.io.envoy.config.core.v3.HealthCheck.Payload](../health_check.proto.sk/#payload) | [#not-implemented-hide:] HTTP specific response. | -| `requestHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../base.proto.sk/#headervalueoption) | 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 `. | -| `requestHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each request that is sent to the health checked cluster. | -| `expectedStatuses` | [[]solo.io.envoy.type.v3.Int64Range](../../../../type/v3/range.proto.sk/#int64range) | 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 Int64Range. The start and end of each range are required. Only statuses in the range [100, 600) are allowed. | -| `codecClientType` | [.solo.io.envoy.type.v3.CodecClientType](../../../../type/v3/http.proto.sk/#codecclienttype) | Use specified application protocol for health checks. | -| `serviceNameMatcher` | [.solo.io.envoy.type.matcher.v3.StringMatcher](../../../../type/matcher/v3/string.proto.sk/#stringmatcher) | An optional service name parameter which is used to validate the identity of the health checked cluster using a :ref:`StringMatcher `. See the :ref:`architecture overview ` for more information. | -| `responseAssertions` | [.advancedhttp.options.gloo.solo.io.ResponseAssertions](../../../../../../v1/options/advanced_http/advanced_http.proto.sk/#responseassertions) | (Enterprise Only): If defined, the response health check rules take precedence over the http `expected_statuses`. | - - - - ---- -### TcpHealthCheck - - - -```yaml -"send": .solo.io.envoy.config.core.v3.HealthCheck.Payload -"receive": []solo.io.envoy.config.core.v3.HealthCheck.Payload - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `send` | [.solo.io.envoy.config.core.v3.HealthCheck.Payload](../health_check.proto.sk/#payload) | Empty payloads imply a connect-only health check. | -| `receive` | [[]solo.io.envoy.config.core.v3.HealthCheck.Payload](../health_check.proto.sk/#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. | - - - - ---- -### RedisHealthCheck - - - -```yaml -"key": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | If set, optionally perform `EXISTS ` instead of `PING`. A return value from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other than 0 is considered a failure. This allows the user to mark a Redis instance for maintenance by setting the specified key to any value and waiting for traffic to drain. | - - - - ---- -### GrpcHealthCheck - - -[grpc.health.v1.Health](https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto)-based -healthcheck. See [gRPC doc](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) -for details. - -```yaml -"serviceName": string -"authority": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `serviceName` | `string` | An optional service name parameter which will be sent to gRPC service in [grpc.health.v1.HealthCheckRequest](https://github.com/grpc/grpc/blob/master/src/proto/grpc/health/v1/health.proto#L20). message. See [gRPC health-checking overview](https://github.com/grpc/grpc/blob/master/doc/health-checking.md) for more information. | -| `authority` | `string` | 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 hostname field. | - - - - ---- -### CustomHealthCheck - - -Custom health check. - -```yaml -"name": string -"typedConfig": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The registered name of the custom health checker. | -| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | - - - - ---- -### TlsOptions - - -Health checks occur over the transport socket specified for the cluster. This implies that if a -cluster is using a TLS-enabled transport socket, the health check will also occur over TLS. - -This allows overriding the cluster TLS settings, just for health check connections. - -```yaml -"alpnProtocols": []string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `alpnProtocols` | `[]string` | Specifies the ALPN protocols for health check connections. This is useful if the corresponding upstream is using ALPN-based :ref:`FilterChainMatch ` along with different protocols for health checks versus data connections. If empty, no ALPN protocols will be set on health check connections. | - - - - -### HealthStatus - -Description: Endpoint health status. - -| Name | Description | -| ----- | ----------- | -| UNKNOWN | The health status is not known. This is interpreted by Envoy as *HEALTHY*. | -| HEALTHY | Healthy. | -| UNHEALTHY | Unhealthy. | -| DRAINING | Connection draining in progress. E.g., https://aws.amazon.com/blogs/aws/elb-connection-draining-remove-instances-from-service-with-care/ or https://cloud.google.com/compute/docs/load-balancing/enabling-connection-draining. This is interpreted by Envoy as *UNHEALTHY*. | -| TIMEOUT | Health check timed out. This is part of HDS and is interpreted by Envoy as *UNHEALTHY*. | -| DEGRADED | Degraded. | - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto.sk.md deleted file mode 100644 index a05282d6a63..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto.sk.md +++ /dev/null @@ -1,50 +0,0 @@ - ---- -title: "http_uri.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [HttpUri](#httpuri) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/http_uri.proto) - - - - - ---- -### HttpUri - - -Envoy external URI descriptor - -```yaml -"uri": string -"cluster": string -"timeout": .google.protobuf.Duration - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `uri` | `string` | 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. | -| `cluster` | `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. | -| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Sets the maximum duration in milliseconds that a response can take to arrive upon request. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto.sk.md deleted file mode 100644 index 8cb30452725..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto.sk.md +++ /dev/null @@ -1,95 +0,0 @@ - ---- -title: "proxy_protocol.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [ProxyProtocolPassThroughTLVs](#proxyprotocolpassthroughtlvs) -- [PassTLVsMatchType](#passtlvsmatchtype) -- [ProxyProtocolConfig](#proxyprotocolconfig) -- [Version](#version) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/proxy_protocol.proto) - - - - - ---- -### ProxyProtocolPassThroughTLVs - - - -```yaml -"matchType": .solo.io.envoy.config.core.v3.ProxyProtocolPassThroughTLVs.PassTLVsMatchType -"tlvType": []int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `matchType` | [.solo.io.envoy.config.core.v3.ProxyProtocolPassThroughTLVs.PassTLVsMatchType](../proxy_protocol.proto.sk/#passtlvsmatchtype) | The strategy to pass through TLVs. Default is INCLUDE_ALL. If INCLUDE_ALL is set, all TLVs will be passed through no matter the tlv_type field. | -| `tlvType` | `[]int` | The TLV types that are applied based on match_type. TLV type is defined as uint8_t in proxy protocol. See [the spec](https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt) for details. | - - - - ---- -### PassTLVsMatchType - - - -| Name | Description | -| ----- | ----------- | -| `INCLUDE_ALL` | Pass all TLVs. | -| `INCLUDE` | Pass specific TLVs defined in tlv_type. | - - - - ---- -### ProxyProtocolConfig - - - -```yaml -"version": .solo.io.envoy.config.core.v3.ProxyProtocolConfig.Version -"passThroughTlvs": .solo.io.envoy.config.core.v3.ProxyProtocolPassThroughTLVs - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `version` | [.solo.io.envoy.config.core.v3.ProxyProtocolConfig.Version](../proxy_protocol.proto.sk/#version) | The PROXY protocol version to use. See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details. | -| `passThroughTlvs` | [.solo.io.envoy.config.core.v3.ProxyProtocolPassThroughTLVs](../proxy_protocol.proto.sk/#proxyprotocolpassthroughtlvs) | This config controls which TLVs can be passed to filter state if it is Proxy Protocol V2 header. If there is no setting for this field, no TLVs will be passed through. | - - - - ---- -### Version - - - -| Name | Description | -| ----- | ----------- | -| `V1` | PROXY protocol version 1. Human readable format. | -| `V2` | PROXY protocol version 2. Binary format. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto.sk.md deleted file mode 100644 index fb497935ca0..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto.sk.md +++ /dev/null @@ -1,73 +0,0 @@ - ---- -title: "socket_option.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.core.v3` -#### Types: - - -- [SocketOption](#socketoption) -- [SocketState](#socketstate) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/core/v3/socket_option.proto) - - - - - ---- -### SocketOption - - -Generic socket option message. This would be used to set socket options that -might not exist in upstream kernels or precompiled Envoy binaries. -[#next-free-field: 7] - -```yaml -"description": string -"level": int -"name": int -"intValue": int -"bufValue": bytes -"state": .solo.io.envoy.config.core.v3.SocketOption.SocketState - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `description` | `string` | An optional name to give this socket option for debugging, etc. Uniqueness is not required and no special meaning is assumed. | -| `level` | `int` | Corresponding to the level value passed to setsockopt, such as IPPROTO_TCP. | -| `name` | `int` | The numeric name as passed to setsockopt. | -| `intValue` | `int` | Because many sockopts take an int value. Only one of `intValue` or `bufValue` can be set. | -| `bufValue` | `bytes` | Otherwise it's a byte buffer. Only one of `bufValue` or `intValue` can be set. | -| `state` | [.solo.io.envoy.config.core.v3.SocketOption.SocketState](../socket_option.proto.sk/#socketstate) | The state in which the option will be applied. When used in BindConfig STATE_PREBIND is currently the only valid value. | - - - - ---- -### SocketState - - - -| Name | Description | -| ----- | ----------- | -| `STATE_PREBIND` | Socket options are applied after socket creation but before binding the socket to a port | -| `STATE_BOUND` | Socket options are applied after binding the socket to a port but before calling listen() | -| `STATE_LISTENING` | Socket options are applied after calling listen() | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto.sk.md deleted file mode 100644 index 1501050667e..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto.sk.md +++ /dev/null @@ -1,111 +0,0 @@ - ---- -title: "gzip.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.filter.http.gzip.v2` -copied from https://raw.githubusercontent.com/envoyproxy/envoy/bd637fc7aab5de06707e3e478f507c2e7aacad75/api/envoy/config/filter/http/gzip/v2/gzip.proto - - - -#### Types: - - -- [Gzip](#gzip) -- [CompressionLevel](#compressionlevel) -- [Enum](#enum) -- [CompressionStrategy](#compressionstrategy) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto) - - - - - ---- -### Gzip - - -[#next-free-field: 10] - -```yaml -"memoryLevel": .google.protobuf.UInt32Value -"contentLength": .google.protobuf.UInt32Value -"compressionLevel": .solo.io.envoy.config.filter.http.gzip.v2.Gzip.CompressionLevel.Enum -"compressionStrategy": .solo.io.envoy.config.filter.http.gzip.v2.Gzip.CompressionStrategy -"contentType": []string -"disableOnEtagHeader": bool -"removeAcceptEncodingHeader": bool -"windowBits": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `memoryLevel` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Value from 1 to 9 that controls the amount of internal memory used by zlib. Higher values use more memory, but are faster and produce better compression results. The default value is 5. | -| `contentLength` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Minimum response length, in bytes, which will trigger compression. The default value is 30. | -| `compressionLevel` | [.solo.io.envoy.config.filter.http.gzip.v2.Gzip.CompressionLevel.Enum](../gzip.proto.sk/#enum) | A value used for selecting the zlib compression level. This setting will affect speed and amount of compression applied to the content. "BEST" provides higher compression at the cost of higher latency, "SPEED" provides lower compression with minimum impact on response time. "DEFAULT" provides an optimal result between speed and compression. This field will be set to "DEFAULT" if not specified. | -| `compressionStrategy` | [.solo.io.envoy.config.filter.http.gzip.v2.Gzip.CompressionStrategy](../gzip.proto.sk/#compressionstrategy) | A value used for selecting the zlib compression strategy which is directly related to the characteristics of the content. Most of the time "DEFAULT" will be the best choice, though there are situations which changing this parameter might produce better results. For example, run-length encoding (RLE) is typically used when the content is known for having sequences which same data occurs many consecutive times. For more information about each strategy, please refer to zlib manual. | -| `contentType` | `[]string` | Set of strings that allows specifying which mime-types yield compression; e.g., application/json, text/html, etc. When this field is not defined, compression will be applied to the following mime-types: "application/javascript", "application/json", "application/xhtml+xml", "image/svg+xml", "text/css", "text/html", "text/plain", "text/xml". | -| `disableOnEtagHeader` | `bool` | If true, disables compression when the response contains an etag header. When it is false, the filter will preserve weak etags and remove the ones that require strong validation. | -| `removeAcceptEncodingHeader` | `bool` | If true, removes accept-encoding from the request headers before dispatching it to the upstream so that responses do not get compressed before reaching the filter. | -| `windowBits` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Value from 9 to 15 that represents the base two logarithmic of the compressor's window size. Larger window results in better compression at the expense of memory usage. The default is 12 which will produce a 4096 bytes window. For more details about this parameter, please refer to zlib manual > deflateInit2. | - - - - ---- -### CompressionLevel - - - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### Enum - - - -| Name | Description | -| ----- | ----------- | -| `DEFAULT` | | -| `BEST` | | -| `SPEED` | | - - - - ---- -### CompressionStrategy - - - -| Name | Description | -| ----- | ----------- | -| `DEFAULT` | | -| `FILTERED` | | -| `HUFFMAN` | | -| `RLE` | | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto.sk.md deleted file mode 100644 index a8964782cb1..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto.sk.md +++ /dev/null @@ -1,43 +0,0 @@ - ---- -title: "tls_cipher_inspector.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.listener.tls_cipher_inspector.v3` -#### Types: - - -- [TlsCipherInspector](#tlscipherinspector) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/filter/listener/tls_cipher_inspector/v3/tls_cipher_inspector.proto) - - - - - ---- -### TlsCipherInspector - - - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto.sk.md deleted file mode 100644 index b078d779d6a..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto.sk.md +++ /dev/null @@ -1,67 +0,0 @@ - ---- -title: "server_name_matcher.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.matching.custom_matchers.server_name.v3` -#### Types: - - -- [ServerNameMatcher](#servernamematcher) -- [ServerNameSetMatcher](#servernamesetmatcher) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/matching/custom_matchers/server_name/v3/server_name_matcher.proto) - - - - - ---- -### ServerNameMatcher - - -Matches a specific server name provided in the client request against a set server names configured for the matcher to handle, with possible prefix wildcard. - -```yaml -"serverNameMatchers": []envoy.config.matching.custom_matchers.server_name.v3.ServerNameMatcher.ServerNameSetMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `serverNameMatchers` | [[]envoy.config.matching.custom_matchers.server_name.v3.ServerNameMatcher.ServerNameSetMatcher](../server_name_matcher.proto.sk/#servernamesetmatcher) | Match server names. Order doesn't matter, the most specific server name is matched. | - - - - ---- -### ServerNameSetMatcher - - -Specifies a list of server names and a match action. - -```yaml -"serverNames": []string -"onMatch": .xds.type.matcher.v3.Matcher.OnMatch - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `serverNames` | `[]string` | A non-empty set of server names. Server name can start with a wildcard prefix, e.g. "*.example.com". | -| `onMatch` | .xds.type.matcher.v3.Matcher.OnMatch | Match action to apply when the input matches the server name. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto.sk.md deleted file mode 100644 index 2ef5c2d047d..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto.sk.md +++ /dev/null @@ -1,49 +0,0 @@ - ---- -title: "cipher_detection_input.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.matching.cipher_detection_input.v3` -#### Types: - - -- [CipherDetectionInput](#cipherdetectioninput) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/matching/inputs/cipher_detection_input/v3/cipher_detection_input.proto) - - - - - ---- -### CipherDetectionInput - - -Specifies that matching should be performed by the destination IP address. -[#extension: io.solo.matching.inputs.cipher_detection_input] - -```yaml -"passthroughCiphers": []int -"terminatingCiphers": []int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `passthroughCiphers` | `[]int` | List of TLS ciphers to send to the passthrough cipher chain. Ciphers must be provided using their 16-bit value. These numbers of IANA standardised values for all possible cipher suites and can be found here: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml example: to select the following cipher 0x00,0x3c TLS_RSA_WITH_AES_128_CBC_SHA256 this field should be set to 0x003c. | -| `terminatingCiphers` | `[]int` | Terminating ciphers are those that should be considered as supported. If not specified, defaults to whatever the current envoy implementation finds to be the default set of ciphers. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/route/v3/route_components.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/route/v3/route_components.proto.sk.md deleted file mode 100644 index 1a3360dded7..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/route/v3/route_components.proto.sk.md +++ /dev/null @@ -1,1332 +0,0 @@ - ---- -title: "route_components.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.route.v3` -#### Types: - - -- [VirtualHost](#virtualhost) -- [TlsRequirementType](#tlsrequirementtype) -- [FilterAction](#filteraction) -- [Route](#route) -- [WeightedCluster](#weightedcluster) -- [ClusterWeight](#clusterweight) -- [RouteMatch](#routematch) -- [GrpcRouteMatchOptions](#grpcroutematchoptions) -- [TlsContextMatchOptions](#tlscontextmatchoptions) -- [ConnectMatcher](#connectmatcher) -- [CorsPolicy](#corspolicy) -- [RouteAction](#routeaction) -- [RequestMirrorPolicy](#requestmirrorpolicy) -- [HashPolicy](#hashpolicy) -- [Header](#header) -- [Cookie](#cookie) -- [ConnectionProperties](#connectionproperties) -- [QueryParameter](#queryparameter) -- [FilterState](#filterstate) -- [UpgradeConfig](#upgradeconfig) -- [ConnectConfig](#connectconfig) -- [ClusterNotFoundResponseCode](#clusternotfoundresponsecode) -- [InternalRedirectAction](#internalredirectaction) -- [RetryPolicy](#retrypolicy) -- [RetryPriority](#retrypriority) -- [RetryHostPredicate](#retryhostpredicate) -- [RetryBackOff](#retrybackoff) -- [HedgePolicy](#hedgepolicy) -- [RedirectAction](#redirectaction) -- [RedirectResponseCode](#redirectresponsecode) -- [DirectResponseAction](#directresponseaction) -- [Decorator](#decorator) -- [Tracing](#tracing) -- [VirtualCluster](#virtualcluster) -- [RateLimit](#ratelimit) -- [Action](#action) -- [SourceCluster](#sourcecluster) -- [DestinationCluster](#destinationcluster) -- [RequestHeaders](#requestheaders) -- [RemoteAddress](#remoteaddress) -- [GenericKey](#generickey) -- [HeaderValueMatch](#headervaluematch) -- [DynamicMetaData](#dynamicmetadata) -- [Override](#override) -- [DynamicMetadata](#dynamicmetadata) -- [HeaderMatcher](#headermatcher) -- [QueryParameterMatcher](#queryparametermatcher) -- [InternalRedirectPolicy](#internalredirectpolicy) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/route/v3/route_components.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/route/v3/route_components.proto) - - - - - ---- -### VirtualHost - - -The top level element in the routing configuration is a virtual host. Each virtual host has -a logical name as well as a set of domains that get routed to it based on the incoming request's -host header. This allows a single listener to service multiple top level domain path trees. Once -a virtual host is selected based on the domain, the routes are processed in order to see which -upstream cluster to route to or whether to perform a redirect. -[#next-free-field: 21] - -```yaml -"name": string -"domains": []string -"routes": []solo.io.envoy.config.route.v3.Route -"requireTls": .solo.io.envoy.config.route.v3.VirtualHost.TlsRequirementType -"virtualClusters": []solo.io.envoy.config.route.v3.VirtualCluster -"rateLimits": []solo.io.envoy.config.route.v3.RateLimit -"requestHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption -"requestHeadersToRemove": []string -"responseHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption -"responseHeadersToRemove": []string -"cors": .solo.io.envoy.config.route.v3.CorsPolicy -"typedPerFilterConfig": map -"includeRequestAttemptCount": bool -"includeAttemptCountInResponse": bool -"retryPolicy": .solo.io.envoy.config.route.v3.RetryPolicy -"retryPolicyTypedConfig": .google.protobuf.Any -"hedgePolicy": .solo.io.envoy.config.route.v3.HedgePolicy -"perRequestBufferLimitBytes": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The logical name of the virtual host. This is used when emitting certain statistics but is not relevant for routing. | -| `domains` | `[]string` | A list of domains (host/authority header) that will be matched to this virtual host. Wildcard hosts are supported in the suffix or prefix form. Domain search order: 1. Exact domain names: `www.foo.com`. 2. Suffix domain wildcards: `*.foo.com` or `*-bar.foo.com`. 3. Prefix domain wildcards: `foo.*` or `foo-*`. 4. Special wildcard `*` matching any domain. **Note**: The wildcard will not match the empty string. e.g. `*-bar.foo.com` will match `baz-bar.foo.com` but not `-bar.foo.com`. The longest wildcards match first. Only a single virtual host in the entire route configuration can match on `*`. A domain must be unique across all virtual hosts or the config will fail to load. Domains cannot contain control characters. This is validated by the well_known_regex HTTP_HEADER_VALUE. | -| `routes` | [[]solo.io.envoy.config.route.v3.Route](../route_components.proto.sk/#route) | The list of routes that will be matched, in order, for incoming requests. The first route that matches will be used. | -| `requireTls` | [.solo.io.envoy.config.route.v3.VirtualHost.TlsRequirementType](../route_components.proto.sk/#tlsrequirementtype) | Specifies the type of TLS enforcement the virtual host expects. If this option is not specified, there is no TLS requirement for the virtual host. | -| `virtualClusters` | [[]solo.io.envoy.config.route.v3.VirtualCluster](../route_components.proto.sk/#virtualcluster) | A list of virtual clusters defined for this virtual host. Virtual clusters are used for additional statistics gathering. | -| `rateLimits` | [[]solo.io.envoy.config.route.v3.RateLimit](../route_components.proto.sk/#ratelimit) | Specifies a set of rate limit configurations that will be applied to the virtual host. | -| `requestHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a list of HTTP headers that should be added to each request handled by this virtual host. Headers specified at this level are applied after headers from enclosed :ref:`envoy_api_msg_config.route.v3.Route` and before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on :ref:`custom request headers `. | -| `requestHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each request handled by this virtual host. | -| `responseHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a list of HTTP headers that should be added to each response handled by this virtual host. Headers specified at this level are applied after headers from enclosed :ref:`envoy_api_msg_config.route.v3.Route` and before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on :ref:`custom request headers `. | -| `responseHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each response handled by this virtual host. | -| `cors` | [.solo.io.envoy.config.route.v3.CorsPolicy](../route_components.proto.sk/#corspolicy) | Indicates that the virtual host has a CORS policy. | -| `typedPerFilterConfig` | `map` | The per_filter_config field can be used to provide virtual host-specific configurations for filters. The key should match the filter name, such as *envoy.filters.http.buffer* for the HTTP buffer filter. Use of this field is filter specific; see the :ref:`HTTP filter documentation ` for if and how it is utilized. | -| `includeRequestAttemptCount` | `bool` | Decides whether the :ref:`x-envoy-attempt-count ` header should be included in the upstream request. Setting this option will cause it to override any existing header value, so in the case of two Envoys on the request path with this option enabled, the upstream will see the attempt count as perceived by the second Envoy. Defaults to false. This header is unaffected by the :ref:`suppress_envoy_headers ` flag. [#next-major-version: rename to include_attempt_count_in_request.]. | -| `includeAttemptCountInResponse` | `bool` | Decides whether the :ref:`x-envoy-attempt-count ` header should be included in the downstream response. Setting this option will cause the router to override any existing header value, so in the case of two Envoys on the request path with this option enabled, the downstream will see the attempt count as perceived by the Envoy closest upstream from itself. Defaults to false. This header is unaffected by the :ref:`suppress_envoy_headers ` flag. | -| `retryPolicy` | [.solo.io.envoy.config.route.v3.RetryPolicy](../route_components.proto.sk/#retrypolicy) | Indicates the retry policy for all routes in this virtual host. Note that setting a route level entry will take precedence over this config and it'll be treated independently (e.g.: values are not inherited). | -| `retryPolicyTypedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | [#not-implemented-hide:] Specifies the configuration for retry policy extension. Note that setting a route level entry will take precedence over this config and it'll be treated independently (e.g.: values are not inherited). Retry policy should not be set if this field is used. | -| `hedgePolicy` | [.solo.io.envoy.config.route.v3.HedgePolicy](../route_components.proto.sk/#hedgepolicy) | Indicates the hedge policy for all routes in this virtual host. Note that setting a route level entry will take precedence over this config and it'll be treated independently (e.g.: values are not inherited). | -| `perRequestBufferLimitBytes` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The maximum bytes which will be buffered for retries and shadowing. If set and a route-specific limit is not set, the bytes actually buffered will be the minimum value of this and the listener per_connection_buffer_limit_bytes. | - - - - ---- -### TlsRequirementType - - - -| Name | Description | -| ----- | ----------- | -| `NONE` | No TLS requirement for the virtual host. | -| `EXTERNAL_ONLY` | External requests must use TLS. If a request is external and it is not using TLS, a 301 redirect will be sent telling the client to use HTTPS. | -| `ALL` | All requests must use TLS. If a request is not using TLS, a 301 redirect will be sent telling the client to use HTTPS. | - - - - ---- -### FilterAction - - -A filter-defined action type. - -```yaml -"action": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `action` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | - - - - ---- -### Route - - -A route is both a specification of how to match a request as well as an indication of what to do -next (e.g., redirect, forward, rewrite, etc.). - -**Attention**: - - Envoy supports routing on HTTP method via :ref:`header matching - `. -[#next-free-field: 18] - -```yaml -"name": string -"match": .solo.io.envoy.config.route.v3.RouteMatch -"route": .solo.io.envoy.config.route.v3.RouteAction -"redirect": .solo.io.envoy.config.route.v3.RedirectAction -"directResponse": .solo.io.envoy.config.route.v3.DirectResponseAction -"filterAction": .solo.io.envoy.config.route.v3.FilterAction -"metadata": .solo.io.envoy.config.core.v3.Metadata -"decorator": .solo.io.envoy.config.route.v3.Decorator -"typedPerFilterConfig": map -"requestHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption -"requestHeadersToRemove": []string -"responseHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption -"responseHeadersToRemove": []string -"tracing": .solo.io.envoy.config.route.v3.Tracing -"perRequestBufferLimitBytes": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | Name for the route. | -| `match` | [.solo.io.envoy.config.route.v3.RouteMatch](../route_components.proto.sk/#routematch) | Route matching parameters. | -| `route` | [.solo.io.envoy.config.route.v3.RouteAction](../route_components.proto.sk/#routeaction) | Route request to some upstream cluster. Only one of `route`, `redirect`, `directResponse`, or `filterAction` can be set. | -| `redirect` | [.solo.io.envoy.config.route.v3.RedirectAction](../route_components.proto.sk/#redirectaction) | Return a redirect. Only one of `redirect`, `route`, `directResponse`, or `filterAction` can be set. | -| `directResponse` | [.solo.io.envoy.config.route.v3.DirectResponseAction](../route_components.proto.sk/#directresponseaction) | Return an arbitrary HTTP response directly, without proxying. Only one of `directResponse`, `route`, `redirect`, or `filterAction` can be set. | -| `filterAction` | [.solo.io.envoy.config.route.v3.FilterAction](../route_components.proto.sk/#filteraction) | [#not-implemented-hide:] If true, a filter will define the action (e.g., it could dynamically generate the RouteAction). [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when implemented]. Only one of `filterAction`, `route`, `redirect`, or `directResponse` can be set. | -| `metadata` | [.solo.io.envoy.config.core.v3.Metadata](../../../core/v3/base.proto.sk/#metadata) | The Metadata field can be used to provide additional information about the route. It can be used for configuration, stats, and logging. The metadata should go under the filter namespace that will need it. For instance, if the metadata is intended for the Router filter, the filter name should be specified as *envoy.filters.http.router*. | -| `decorator` | [.solo.io.envoy.config.route.v3.Decorator](../route_components.proto.sk/#decorator) | Decorator for the matched route. | -| `typedPerFilterConfig` | `map` | The typed_per_filter_config field can be used to provide route-specific configurations for filters. The key should match the filter name, such as *envoy.filters.http.buffer* for the HTTP buffer filter. Use of this field is filter specific; see the HTTP filter documentation for if and how it is utilized. | -| `requestHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a set of headers that will be added to requests matching this route. Headers specified at this level are applied before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.VirtualHost` and :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on :ref:`custom request headers `. | -| `requestHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each request matching this route. | -| `responseHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a set of headers that will be added to responses to requests matching this route. Headers specified at this level are applied before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.VirtualHost` and :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on custom request headers. | -| `responseHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each response to requests matching this route. | -| `tracing` | [.solo.io.envoy.config.route.v3.Tracing](../route_components.proto.sk/#tracing) | Presence of the object defines whether the connection manager's tracing configuration is overridden by this route specific instance. | -| `perRequestBufferLimitBytes` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The maximum bytes which will be buffered for retries and shadowing. If set, the bytes actually buffered will be the minimum value of this and the listener per_connection_buffer_limit_bytes. | - - - - ---- -### WeightedCluster - - -Compared to the cluster field that specifies a -single upstream cluster as the target of a request, the :ref:`weighted_clusters -` option allows for specification of -multiple upstream clusters along with weights that indicate the percentage of -traffic to be forwarded to each cluster. The router selects an upstream cluster based on the -weights. - -```yaml -"clusters": []solo.io.envoy.config.route.v3.WeightedCluster.ClusterWeight -"totalWeight": .google.protobuf.UInt32Value -"runtimeKeyPrefix": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `clusters` | [[]solo.io.envoy.config.route.v3.WeightedCluster.ClusterWeight](../route_components.proto.sk/#clusterweight) | Specifies one or more upstream clusters associated with the route. | -| `totalWeight` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Specifies the total weight across all clusters. The sum of all cluster weights must equal this value, which must be greater than 0. Defaults to 100. | -| `runtimeKeyPrefix` | `string` | Specifies the runtime key prefix that should be used to construct the runtime keys associated with each cluster. When the *runtime_key_prefix* is specified, the router will look for weights associated with each upstream cluster under the key *runtime_key_prefix* + "." + *cluster[i].name* where *cluster[i]* denotes an entry in the clusters array field. If the runtime key for the cluster does not exist, the value specified in the configuration file will be used as the default weight. See the :ref:`runtime documentation ` for how key names map to the underlying implementation. | - - - - ---- -### ClusterWeight - - -[#next-free-field: 11] - -```yaml -"name": string -"weight": .google.protobuf.UInt32Value -"metadataMatch": .solo.io.envoy.config.core.v3.Metadata -"requestHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption -"requestHeadersToRemove": []string -"responseHeadersToAdd": []solo.io.envoy.config.core.v3.HeaderValueOption -"responseHeadersToRemove": []string -"typedPerFilterConfig": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | Name of the upstream cluster. The cluster must exist in the cluster manager configuration. | -| `weight` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | An integer between 0 and :ref:`total_weight `. When a request matches the route, the choice of an upstream cluster is determined by its weight. The sum of weights across all entries in the clusters array must add up to the total_weight, which defaults to 100. | -| `metadataMatch` | [.solo.io.envoy.config.core.v3.Metadata](../../../core/v3/base.proto.sk/#metadata) | Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in the upstream cluster with metadata matching what is set in this field will be considered for load balancing. Note that this will be merged with what's provided in RouteAction.metadata_match, with values here taking precedence. The filter name should be specified as *envoy.lb*. | -| `requestHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a list of headers to be added to requests when this cluster is selected through the enclosing :ref:`envoy_api_msg_config.route.v3.RouteAction`. Headers specified at this level are applied before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.Route`, :ref:`envoy_api_msg_config.route.v3.VirtualHost`, and :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on :ref:`custom request headers `. | -| `requestHeadersToRemove` | `[]string` | Specifies a list of HTTP headers that should be removed from each request when this cluster is selected through the enclosing :ref:`envoy_api_msg_config.route.v3.RouteAction`. | -| `responseHeadersToAdd` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../core/v3/base.proto.sk/#headervalueoption) | Specifies a list of headers to be added to responses when this cluster is selected through the enclosing :ref:`envoy_api_msg_config.route.v3.RouteAction`. Headers specified at this level are applied before headers from the enclosing :ref:`envoy_api_msg_config.route.v3.Route`, :ref:`envoy_api_msg_config.route.v3.VirtualHost`, and :ref:`envoy_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on header value syntax, see the documentation on :ref:`custom request headers `. | -| `responseHeadersToRemove` | `[]string` | Specifies a list of headers to be removed from responses when this cluster is selected through the enclosing :ref:`envoy_api_msg_config.route.v3.RouteAction`. | -| `typedPerFilterConfig` | `map` | The per_filter_config field can be used to provide weighted cluster-specific configurations for filters. The key should match the filter name, such as *envoy.filters.http.buffer* for the HTTP buffer filter. Use of this field is filter specific; see the :ref:`HTTP filter documentation ` for if and how it is utilized. | - - - - ---- -### RouteMatch - - -[#next-free-field: 13] - -```yaml -"prefix": string -"path": string -"safeRegex": .solo.io.envoy.type.matcher.v3.RegexMatcher -"connectMatcher": .solo.io.envoy.config.route.v3.RouteMatch.ConnectMatcher -"caseSensitive": .google.protobuf.BoolValue -"runtimeFraction": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent -"headers": []solo.io.envoy.config.route.v3.HeaderMatcher -"queryParameters": []solo.io.envoy.config.route.v3.QueryParameterMatcher -"grpc": .solo.io.envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions -"tlsContext": .solo.io.envoy.config.route.v3.RouteMatch.TlsContextMatchOptions - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `prefix` | `string` | If specified, the route is a prefix rule meaning that the prefix must match the beginning of the *:path* header. Only one of `prefix`, `path`, `safeRegex`, or `connectMatcher` can be set. | -| `path` | `string` | If specified, the route is an exact path rule meaning that the path must exactly match the *:path* header once the query string is removed. Only one of `path`, `prefix`, `safeRegex`, or `connectMatcher` can be set. | -| `safeRegex` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../../../../type/matcher/v3/regex.proto.sk/#regexmatcher) | If specified, the route is a regular expression rule meaning that the regex must match the *:path* header once the query string is removed. The entire path (without the query string) must match the regex. The rule will not match if only a subsequence of the *:path* header matches the regex. [#next-major-version: In the v3 API we should redo how path specification works such that we utilize StringMatcher, and additionally have consistent options around whether we strip query strings, do a case sensitive match, etc. In the interim it will be too disruptive to deprecate the existing options. We should even consider whether we want to do away with path_specifier entirely and just rely on a set of header matchers which can already match on :path, etc. The issue with that is it is unclear how to generically deal with query string stripping. This needs more thought.]. Only one of `safeRegex`, `prefix`, `path`, or `connectMatcher` can be set. | -| `connectMatcher` | [.solo.io.envoy.config.route.v3.RouteMatch.ConnectMatcher](../route_components.proto.sk/#connectmatcher) | If this is used as the matcher, the matcher will only match CONNECT requests. Note that this will not match HTTP/2 upgrade-style CONNECT requests (WebSocket and the like) as they are normalized in Envoy as HTTP/1.1 style upgrades. This is the only way to match CONNECT requests for HTTP/1.1. For HTTP/2, where CONNECT requests may have a path, the path matchers will work if there is a path present. Note that CONNECT support is currently considered alpha in Envoy. [#comment:TODO(htuch): Replace the above comment with an alpha tag. Only one of `connectMatcher`, `prefix`, `path`, or `safeRegex` can be set. | -| `caseSensitive` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Indicates that prefix/path matching should be case insensitive. The default is true. | -| `runtimeFraction` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../core/v3/base.proto.sk/#runtimefractionalpercent) | Indicates that the route should additionally match on a runtime key. Every time the route is considered for a match, it must also fall under the percentage of matches indicated by this field. For some fraction N/D, a random number in the range [0,D) is selected. If the number is <= the value of the numerator N, or if the key is not present, the default value, the router continues to evaluate the remaining match criteria. A runtime_fraction route configuration can be used to roll out route changes in a gradual manner without full code/config deploys. Refer to the :ref:`traffic shifting ` docs for additional documentation. **Note**: Parsing this field is implemented such that the runtime key's data may be represented as a 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. This preserves legacy semantics. | -| `headers` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../route_components.proto.sk/#headermatcher) | Specifies a set of headers that the route should match on. The router will check the request’s headers against all the specified headers in the route config. A match will happen if all the headers in the route are present in the request with the same values (or based on presence if the value field is not in the config). | -| `queryParameters` | [[]solo.io.envoy.config.route.v3.QueryParameterMatcher](../route_components.proto.sk/#queryparametermatcher) | Specifies a set of URL query parameters on which the route should match. The router will check the query string from the *path* header against all the specified query parameters. If the number of specified query parameters is nonzero, they all must match the *path* header's query string for a match to occur. | -| `grpc` | [.solo.io.envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions](../route_components.proto.sk/#grpcroutematchoptions) | If specified, only gRPC requests will be matched. The router will check that the content-type header has a application/grpc or one of the various application/grpc+ values. | -| `tlsContext` | [.solo.io.envoy.config.route.v3.RouteMatch.TlsContextMatchOptions](../route_components.proto.sk/#tlscontextmatchoptions) | If specified, the client tls context will be matched against the defined match options. [#next-major-version: unify with RBAC]. | - - - - ---- -### GrpcRouteMatchOptions - - - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### TlsContextMatchOptions - - - -```yaml -"presented": .google.protobuf.BoolValue -"validated": .google.protobuf.BoolValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `presented` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If specified, the route will match against whether or not a certificate is presented. If not specified, certificate presentation status (true or false) will not be considered when route matching. | -| `validated` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If specified, the route will match against whether or not a certificate is validated. If not specified, certificate validation status (true or false) will not be considered when route matching. | - - - - ---- -### ConnectMatcher - - -An extensible message for matching CONNECT requests. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### CorsPolicy - - -[#next-free-field: 12] - -```yaml -"allowOriginStringMatch": []solo.io.envoy.type.matcher.v3.StringMatcher -"allowMethods": string -"allowHeaders": string -"exposeHeaders": string -"maxAge": string -"allowCredentials": .google.protobuf.BoolValue -"filterEnabled": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent -"shadowEnabled": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `allowOriginStringMatch` | [[]solo.io.envoy.type.matcher.v3.StringMatcher](../../../../type/matcher/v3/string.proto.sk/#stringmatcher) | Specifies string patterns that match allowed origins. An origin is allowed if any of the string matchers match. | -| `allowMethods` | `string` | Specifies the content for the *access-control-allow-methods* header. | -| `allowHeaders` | `string` | Specifies the content for the *access-control-allow-headers* header. | -| `exposeHeaders` | `string` | Specifies the content for the *access-control-expose-headers* header. | -| `maxAge` | `string` | Specifies the content for the *access-control-max-age* header. | -| `allowCredentials` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Specifies whether the resource allows credentials. | -| `filterEnabled` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../core/v3/base.proto.sk/#runtimefractionalpercent) | Specifies the % of requests for which the CORS filter is enabled. If neither `enabled`, `filter_enabled`, nor `shadow_enabled` are specified, the CORS filter will be enabled for 100% of the requests. If runtime_key is specified, Envoy will lookup the runtime key to get the percentage of requests to filter. | -| `shadowEnabled` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../core/v3/base.proto.sk/#runtimefractionalpercent) | Specifies the % of requests for which the CORS policies will be evaluated and tracked, but not enforced. This field is intended to be used when `filter_enabled` and `enabled` are off. One of those fields have to explicitly disable the filter in order for this setting to take effect. If runtime_key is specified, Envoy will lookup the runtime key to get the percentage of requests for which it will evaluate and track the request's *Origin* to determine if it's valid but will not enforce any policies. | - - - - ---- -### RouteAction - - -[#next-free-field: 35] - -```yaml -"cluster": string -"clusterHeader": string -"weightedClusters": .solo.io.envoy.config.route.v3.WeightedCluster -"clusterNotFoundResponseCode": .solo.io.envoy.config.route.v3.RouteAction.ClusterNotFoundResponseCode -"metadataMatch": .solo.io.envoy.config.core.v3.Metadata -"prefixRewrite": string -"regexRewrite": .solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute -"hostRewriteLiteral": string -"autoHostRewrite": .google.protobuf.BoolValue -"hostRewriteHeader": string -"timeout": .google.protobuf.Duration -"idleTimeout": .google.protobuf.Duration -"retryPolicy": .solo.io.envoy.config.route.v3.RetryPolicy -"retryPolicyTypedConfig": .google.protobuf.Any -"requestMirrorPolicies": []solo.io.envoy.config.route.v3.RouteAction.RequestMirrorPolicy -"priority": .solo.io.envoy.config.core.v3.RoutingPriority -"rateLimits": []solo.io.envoy.config.route.v3.RateLimit -"includeVhRateLimits": .google.protobuf.BoolValue -"hashPolicy": []solo.io.envoy.config.route.v3.RouteAction.HashPolicy -"cors": .solo.io.envoy.config.route.v3.CorsPolicy -"maxGrpcTimeout": .google.protobuf.Duration -"grpcTimeoutOffset": .google.protobuf.Duration -"upgradeConfigs": []solo.io.envoy.config.route.v3.RouteAction.UpgradeConfig -"internalRedirectPolicy": .solo.io.envoy.config.route.v3.InternalRedirectPolicy -"internalRedirectAction": .solo.io.envoy.config.route.v3.RouteAction.InternalRedirectAction -"maxInternalRedirects": .google.protobuf.UInt32Value -"hedgePolicy": .solo.io.envoy.config.route.v3.HedgePolicy - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `cluster` | `string` | Indicates the upstream cluster to which the request should be routed to. Only one of `cluster`, `clusterHeader`, or `weightedClusters` can be set. | -| `clusterHeader` | `string` | Envoy will determine the cluster to route to by reading the value of the HTTP header named by cluster_header from the request headers. If the header is not found or the referenced cluster does not exist, Envoy will return a 404 response. **Attention**: Internally, Envoy always uses the HTTP/2 *:authority* header to represent the HTTP/1 *Host* header. Thus, if attempting to match on *Host*, match on *:authority* instead. Only one of `clusterHeader`, `cluster`, or `weightedClusters` can be set. | -| `weightedClusters` | [.solo.io.envoy.config.route.v3.WeightedCluster](../route_components.proto.sk/#weightedcluster) | Multiple upstream clusters can be specified for a given route. The request is routed to one of the upstream clusters based on weights assigned to each cluster. See :ref:`traffic splitting ` for additional documentation. Only one of `weightedClusters`, `cluster`, or `clusterHeader` can be set. | -| `clusterNotFoundResponseCode` | [.solo.io.envoy.config.route.v3.RouteAction.ClusterNotFoundResponseCode](../route_components.proto.sk/#clusternotfoundresponsecode) | The HTTP status code to use when configured cluster is not found. The default response code is 503 Service Unavailable. | -| `metadataMatch` | [.solo.io.envoy.config.core.v3.Metadata](../../../core/v3/base.proto.sk/#metadata) | Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in the upstream cluster with metadata matching what's set in this field will be considered for load balancing. If using :ref:`weighted_clusters `, metadata will be merged, with values provided there taking precedence. The filter name should be specified as *envoy.lb*. | -| `prefixRewrite` | `string` | Indicates that during forwarding, the matched prefix (or path) should be swapped with this value. This option allows application URLs to be rooted at a different path from those exposed at the reverse proxy layer. The router filter will place the original path before rewrite into the :ref:`x-envoy-original-path ` header. Only one of *prefix_rewrite* or :ref:`regex_rewrite ` may be specified. **Attention**: Pay careful attention to the use of trailing slashes in the route's match prefix value. Stripping a prefix from a path requires multiple Routes to handle all cases. For example, rewriting */prefix* to */* and */prefix/etc* to */etc* cannot be done in a single Route, as shown by the below config entries: .. code-block:: yaml - match: prefix: "/prefix/" route: prefix_rewrite: "/" - match: prefix: "/prefix" route: prefix_rewrite: "/" Having above entries in the config, requests to */prefix* will be stripped to */*, while requests to */prefix/etc* will be stripped to */etc*. | -| `regexRewrite` | [.solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute](../../../../type/matcher/v3/regex.proto.sk/#regexmatchandsubstitute) | Indicates that during forwarding, portions of the path that match the pattern should be rewritten, even allowing the substitution of capture groups from the pattern into the new path as specified by the rewrite substitution string. This is useful to allow application paths to be rewritten in a way that is aware of segments with variable content like identifiers. The router filter will place the original path as it was before the rewrite into the :ref:`x-envoy-original-path ` header. Only one of :ref:`prefix_rewrite ` or *regex_rewrite* may be specified. Examples using Google's [RE2](https://github.com/google/re2) engine: * The path pattern `^/service/([^/]+)(/.*)$` paired with a substitution string of `\2/instance/\1` would transform `/service/foo/v1/api` into `/v1/api/instance/foo`. * The pattern `one` paired with a substitution string of `two` would transform `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/two/zzz`. * The pattern `^(.*?)one(.*)$` paired with a substitution string of `\1two\2` would replace only the first occurrence of `one`, transforming path `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/one/zzz`. * The pattern `(?i)/xxx/` paired with a substitution string of `/yyy/` would do a case-insensitive match and transform path `/aaa/XxX/bbb` to `/aaa/yyy/bbb`. | -| `hostRewriteLiteral` | `string` | Indicates that during forwarding, the host header will be swapped with this value. Only one of `hostRewriteLiteral`, `autoHostRewrite`, or `hostRewriteHeader` can be set. | -| `autoHostRewrite` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Indicates that during forwarding, the host header will be swapped with the hostname of the upstream host chosen by the cluster manager. This option is applicable only when the destination cluster for a route is of type *strict_dns* or *logical_dns*. Setting this to true with other cluster types has no effect. Only one of `autoHostRewrite`, `hostRewriteLiteral`, or `hostRewriteHeader` can be set. | -| `hostRewriteHeader` | `string` | Indicates that during forwarding, the host header will be swapped with the content of given downstream or custom header. If header value is empty, host header is left intact. **Attention**: Pay attention to the potential security implications of using this option. Provided header must come from trusted source. Only one of `hostRewriteHeader`, `hostRewriteLiteral`, or `autoHostRewrite` can be set. | -| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Specifies the upstream timeout for the route. If not specified, the default is 15s. This spans between the point at which the entire downstream request (i.e. end-of-stream) has been processed and when the upstream response has been completely processed. A value of 0 will disable the route's timeout. **Note**: This timeout includes all retries. See also :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the retry overview. | -| `idleTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout, although the connection manager wide :ref:`stream_idle_timeout ` will still apply. A value of 0 will completely disable the route's idle timeout, even if a connection manager stream idle timeout is configured. The idle timeout is distinct to :ref:`timeout `, which provides an upper bound on the upstream response time; :ref:`idle_timeout ` instead bounds the amount of time the request's stream may be idle. After header decoding, the idle timeout will apply on downstream and upstream request events. Each time an encode/decode event for headers or data is processed for the stream, the timer will be reset. If the timeout fires, the stream is terminated with a 408 Request Timeout error code if no upstream response header has been received, otherwise a stream reset occurs. | -| `retryPolicy` | [.solo.io.envoy.config.route.v3.RetryPolicy](../route_components.proto.sk/#retrypolicy) | Indicates that the route has a retry policy. Note that if this is set, it'll take precedence over the virtual host level retry policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy). | -| `retryPolicyTypedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | [#not-implemented-hide:] Specifies the configuration for retry policy extension. Note that if this is set, it'll take precedence over the virtual host level retry policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy). :ref:`Retry policy ` should not be set if this field is used. | -| `requestMirrorPolicies` | [[]solo.io.envoy.config.route.v3.RouteAction.RequestMirrorPolicy](../route_components.proto.sk/#requestmirrorpolicy) | Indicates that the route has request mirroring policies. | -| `priority` | [.solo.io.envoy.config.core.v3.RoutingPriority](../../../core/v3/base.proto.sk/#routingpriority) | Optionally specifies the routing priority. | -| `rateLimits` | [[]solo.io.envoy.config.route.v3.RateLimit](../route_components.proto.sk/#ratelimit) | Specifies a set of rate limit configurations that could be applied to the route. | -| `includeVhRateLimits` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Specifies if the rate limit filter should include the virtual host rate limits. By default, if the route configured rate limits, the virtual host rate_limits are not applied to the request. | -| `hashPolicy` | [[]solo.io.envoy.config.route.v3.RouteAction.HashPolicy](../route_components.proto.sk/#hashpolicy) | Specifies a list of hash policies to use for ring hash load balancing. Each hash policy is evaluated individually and the combined result is used to route the request. The method of combination is deterministic such that identical lists of hash policies will produce the same hash. Since a hash policy examines specific parts of a request, it can fail to produce a hash (i.e. if the hashed header is not present). If (and only if) all configured hash policies fail to generate a hash, no hash will be produced for the route. In this case, the behavior is the same as if no hash policies were specified (i.e. the ring hash load balancer will choose a random backend). If a hash policy has the "terminal" attribute set to true, and there is already a hash generated, the hash is returned immediately, ignoring the rest of the hash policy list. | -| `cors` | [.solo.io.envoy.config.route.v3.CorsPolicy](../route_components.proto.sk/#corspolicy) | Indicates that the route has a CORS policy. | -| `maxGrpcTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | If present, and the request is a gRPC request, use the [grpc-timeout header](https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md), or its default value (infinity) instead of timeout, but limit the applied timeout to the maximum value specified here. If configured as 0, the maximum allowed timeout for gRPC requests is infinity. If not configured at all, the `grpc-timeout` header is not used and gRPC requests time out like any other requests using timeout or its default. This can be used to prevent unexpected upstream request timeouts due to potentially long time gaps between gRPC request and response in gRPC streaming mode. **Note**: If a timeout is specified using :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, it takes precedence over [grpc-timeout header](https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md), when both are present. See also :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`, :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the retry overview. | -| `grpcTimeoutOffset` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by subtracting the provided duration from the header. This is useful in allowing Envoy to set its global timeout to be less than that of the deadline imposed by the calling client, which makes it more likely that Envoy will handle the timeout instead of having the call canceled by the client. The offset will only be applied if the provided grpc_timeout is greater than the offset. This ensures that the offset will only ever decrease the timeout and never set it to 0 (meaning infinity). | -| `upgradeConfigs` | [[]solo.io.envoy.config.route.v3.RouteAction.UpgradeConfig](../route_components.proto.sk/#upgradeconfig) | | -| `internalRedirectPolicy` | [.solo.io.envoy.config.route.v3.InternalRedirectPolicy](../route_components.proto.sk/#internalredirectpolicy) | If present, Envoy will try to follow an upstream redirect response instead of proxying the response back to the downstream. An upstream redirect response is defined by :ref:`redirect_response_codes `. | -| `internalRedirectAction` | [.solo.io.envoy.config.route.v3.RouteAction.InternalRedirectAction](../route_components.proto.sk/#internalredirectaction) | | -| `maxInternalRedirects` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | An internal redirect is handled, iff the number of previous internal redirects that a downstream request has encountered is lower than this value, and :ref:`internal_redirect_action ` is set to :ref:`HANDLE_INTERNAL_REDIRECT ` In the case where a downstream request is bounced among multiple routes by internal redirect, the first route that hits this threshold, or has :ref:`internal_redirect_action ` set to :ref:`PASS_THROUGH_INTERNAL_REDIRECT ` will pass the redirect back to downstream. If not specified, at most one redirect will be followed. | -| `hedgePolicy` | [.solo.io.envoy.config.route.v3.HedgePolicy](../route_components.proto.sk/#hedgepolicy) | Indicates that the route has a hedge policy. Note that if this is set, it'll take precedence over the virtual host level hedge policy entirely (e.g.: policies are not merged, most internal one becomes the enforced policy). | - - - - ---- -### RequestMirrorPolicy - - -The router is capable of shadowing traffic from one cluster to another. The current -implementation is "fire and forget," meaning Envoy will not wait for the shadow cluster to -respond before returning the response from the primary cluster. All normal statistics are -collected for the shadow cluster making this feature useful for testing. - -During shadowing, the host/authority header is altered such that *-shadow* is appended. This is -useful for logging. For example, *cluster1* becomes *cluster1-shadow*. - -**Note**: - - Shadowing will not be triggered if the primary cluster does not exist. - -```yaml -"cluster": string -"runtimeFraction": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent -"traceSampled": .google.protobuf.BoolValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `cluster` | `string` | Specifies the cluster that requests will be mirrored to. The cluster must exist in the cluster manager configuration. | -| `runtimeFraction` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../core/v3/base.proto.sk/#runtimefractionalpercent) | If not specified, all requests to the target cluster will be mirrored. If specified, this field takes precedence over the `runtime_key` field and requests must also fall under the percentage of matches indicated by this field. For some fraction N/D, a random number in the range [0,D) is selected. If the number is <= the value of the numerator N, or if the key is not present, the default value, the request will be mirrored. | -| `traceSampled` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Determines if the trace span should be sampled. Defaults to true. | - - - - ---- -### HashPolicy - - -Specifies the route's hashing policy if the upstream cluster uses a hashing :ref:`load balancer -`. -[#next-free-field: 7] - -```yaml -"header": .solo.io.envoy.config.route.v3.RouteAction.HashPolicy.Header -"cookie": .solo.io.envoy.config.route.v3.RouteAction.HashPolicy.Cookie -"connectionProperties": .solo.io.envoy.config.route.v3.RouteAction.HashPolicy.ConnectionProperties -"queryParameter": .solo.io.envoy.config.route.v3.RouteAction.HashPolicy.QueryParameter -"filterState": .solo.io.envoy.config.route.v3.RouteAction.HashPolicy.FilterState -"terminal": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `header` | [.solo.io.envoy.config.route.v3.RouteAction.HashPolicy.Header](../route_components.proto.sk/#header) | Header hash policy. Only one of `header`, `cookie`, `connectionProperties`, `queryParameter`, or `filterState` can be set. | -| `cookie` | [.solo.io.envoy.config.route.v3.RouteAction.HashPolicy.Cookie](../route_components.proto.sk/#cookie) | Cookie hash policy. Only one of `cookie`, `header`, `connectionProperties`, `queryParameter`, or `filterState` can be set. | -| `connectionProperties` | [.solo.io.envoy.config.route.v3.RouteAction.HashPolicy.ConnectionProperties](../route_components.proto.sk/#connectionproperties) | Connection properties hash policy. Only one of `connectionProperties`, `header`, `cookie`, `queryParameter`, or `filterState` can be set. | -| `queryParameter` | [.solo.io.envoy.config.route.v3.RouteAction.HashPolicy.QueryParameter](../route_components.proto.sk/#queryparameter) | Query parameter hash policy. Only one of `queryParameter`, `header`, `cookie`, `connectionProperties`, or `filterState` can be set. | -| `filterState` | [.solo.io.envoy.config.route.v3.RouteAction.HashPolicy.FilterState](../route_components.proto.sk/#filterstate) | Filter state hash policy. Only one of `filterState`, `header`, `cookie`, `connectionProperties`, or `queryParameter` can be set. | -| `terminal` | `bool` | The flag that short-circuits the hash computing. This field provides a 'fallback' style of configuration: "if a terminal policy doesn't work, fallback to rest of the policy list", it saves time when the terminal policy works. If true, and there is already a hash computed, ignore rest of the list of hash polices. For example, if the following hash methods are configured: ========= ======== specifier terminal ========= ======== Header A true Header B false Header C false ========= ======== The generateHash process ends if policy "header A" generates a hash, as it's a terminal policy. | - - - - ---- -### Header - - - -```yaml -"headerName": string -"regexRewrite": .solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headerName` | `string` | The name of the request header that will be used to obtain the hash key. If the request header is not present, no hash will be produced. | -| `regexRewrite` | [.solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute](../../../../type/matcher/v3/regex.proto.sk/#regexmatchandsubstitute) | If specified, the request header value will be rewritten and used to produce the hash key. | - - - - ---- -### Cookie - - -Envoy supports two types of cookie affinity: - -1. Passive. Envoy takes a cookie that's present in the cookies header and - hashes on its value. - -2. Generated. Envoy generates and sets a cookie with an expiration (TTL) - on the first request from the client in its response to the client, - based on the endpoint the request gets sent to. The client then - presents this on the next and all subsequent requests. The hash of - this is sufficient to ensure these requests get sent to the same - endpoint. The cookie is generated by hashing the source and - destination ports and addresses so that multiple independent HTTP2 - streams on the same connection will independently receive the same - cookie, even if they arrive at the Envoy simultaneously. - -```yaml -"name": string -"ttl": .google.protobuf.Duration -"path": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The name of the cookie that will be used to obtain the hash key. If the cookie is not present and ttl below is not set, no hash will be produced. | -| `ttl` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | If specified, a cookie with the TTL will be generated if the cookie is not present. If the TTL is present and zero, the generated cookie will be a session cookie. | -| `path` | `string` | The name of the path for the cookie. If no path is specified here, no path will be set for the cookie. | - - - - ---- -### ConnectionProperties - - - -```yaml -"sourceIp": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `sourceIp` | `bool` | Hash on source IP address. | - - - - ---- -### QueryParameter - - - -```yaml -"name": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The name of the URL query parameter that will be used to obtain the hash key. If the parameter is not present, no hash will be produced. Query parameter names are case-sensitive. | - - - - ---- -### FilterState - - - -```yaml -"key": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | The name of the Object in the per-request filterState, which is an Envoy::Http::Hashable object. If there is no data associated with the key, or the stored object is not Envoy::Http::Hashable, no hash will be produced. | - - - - ---- -### UpgradeConfig - - -Allows enabling and disabling upgrades on a per-route basis. -This overrides any enabled/disabled upgrade filter chain specified in the -HttpConnectionManager -:ref:`upgrade_configs -` -but does not affect any custom filter chain specified there. - -```yaml -"upgradeType": string -"enabled": .google.protobuf.BoolValue -"connectConfig": .solo.io.envoy.config.route.v3.RouteAction.UpgradeConfig.ConnectConfig - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `upgradeType` | `string` | The case-insensitive name of this upgrade, e.g. "websocket". For each upgrade type present in upgrade_configs, requests with Upgrade: [upgrade_type] will be proxied upstream. | -| `enabled` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Determines if upgrades are available on this route. Defaults to true. | -| `connectConfig` | [.solo.io.envoy.config.route.v3.RouteAction.UpgradeConfig.ConnectConfig](../route_components.proto.sk/#connectconfig) | Configuration for sending data upstream as a raw data payload. This is used for CONNECT requests, when forwarding CONNECT payload as raw TCP. Note that CONNECT support is currently considered alpha in Envoy. [#comment:TODO(htuch): Replace the above comment with an alpha tag. | - - - - ---- -### ConnectConfig - - -Configuration for sending data upstream as a raw data payload. This is used for -CONNECT requests, when forwarding CONNECT payload as raw TCP. - -```yaml -"proxyProtocolConfig": .solo.io.envoy.config.core.v3.ProxyProtocolConfig - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `proxyProtocolConfig` | [.solo.io.envoy.config.core.v3.ProxyProtocolConfig](../../../core/v3/proxy_protocol.proto.sk/#proxyprotocolconfig) | If present, the proxy protocol header will be prepended to the CONNECT payload sent upstream. | - - - - ---- -### ClusterNotFoundResponseCode - - - -| Name | Description | -| ----- | ----------- | -| `SERVICE_UNAVAILABLE` | HTTP status code - 503 Service Unavailable. | -| `NOT_FOUND` | HTTP status code - 404 Not Found. | - - - - ---- -### InternalRedirectAction - - -Configures internal redirect behavior. -[#next-major-version: remove this definition - it's defined in the InternalRedirectPolicy message.] - -| Name | Description | -| ----- | ----------- | -| `PASS_THROUGH_INTERNAL_REDIRECT` | | -| `HANDLE_INTERNAL_REDIRECT` | | - - - - ---- -### RetryPolicy - - -HTTP retry architecture overview. -[#next-free-field: 11] - -```yaml -"retryOn": string -"numRetries": .google.protobuf.UInt32Value -"perTryTimeout": .google.protobuf.Duration -"retryPriority": .solo.io.envoy.config.route.v3.RetryPolicy.RetryPriority -"retryHostPredicate": []solo.io.envoy.config.route.v3.RetryPolicy.RetryHostPredicate -"hostSelectionRetryMaxAttempts": int -"retriableStatusCodes": []int -"retryBackOff": .solo.io.envoy.config.route.v3.RetryPolicy.RetryBackOff -"retriableHeaders": []solo.io.envoy.config.route.v3.HeaderMatcher -"retriableRequestHeaders": []solo.io.envoy.config.route.v3.HeaderMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `retryOn` | `string` | 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`. | -| `numRetries` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | 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`. | -| `perTryTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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 route timeout for the request. Consequently, when using a 5xx based retry policy, a request that times out will not be retried as the total timeout budget would have been exhausted. | -| `retryPriority` | [.solo.io.envoy.config.route.v3.RetryPolicy.RetryPriority](../route_components.proto.sk/#retrypriority) | Specifies an implementation of a RetryPriority which is used to determine the distribution of load across priorities used for retries. Refer to retry plugin configuration for more details. | -| `retryHostPredicate` | [[]solo.io.envoy.config.route.v3.RetryPolicy.RetryHostPredicate](../route_components.proto.sk/#retryhostpredicate) | 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 retry plugin configuration for more details. | -| `hostSelectionRetryMaxAttempts` | `int` | 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. | -| `retriableStatusCodes` | `[]int` | HTTP status codes that should trigger a retry in addition to those specified by retry_on. | -| `retryBackOff` | [.solo.io.envoy.config.route.v3.RetryPolicy.RetryBackOff](../route_components.proto.sk/#retrybackoff) | 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. | -| `retriableHeaders` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../route_components.proto.sk/#headermatcher) | 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. | -| `retriableRequestHeaders` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../route_components.proto.sk/#headermatcher) | HTTP headers which must be present in the request for retries to be attempted. | - - - - ---- -### RetryPriority - - - -```yaml -"name": string -"typedConfig": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | | -| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | - - - - ---- -### RetryHostPredicate - - - -```yaml -"name": string -"typedConfig": .google.protobuf.Any - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | | -| `typedConfig` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | | - - - - ---- -### RetryBackOff - - - -```yaml -"baseInterval": .google.protobuf.Duration -"maxInterval": .google.protobuf.Duration - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `baseInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | 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. | -| `maxInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/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. | - - - - ---- -### HedgePolicy - - -HTTP request hedging architecture overview. - -```yaml -"initialRequests": .google.protobuf.UInt32Value -"additionalRequestChance": .solo.io.envoy.type.v3.FractionalPercent -"hedgeOnPerTryTimeout": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `initialRequests` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Specifies the number of initial requests that should be sent upstream. Must be at least 1. Defaults to 1. [#not-implemented-hide:]. | -| `additionalRequestChance` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../type/v3/percent.proto.sk/#fractionalpercent) | 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:]. | -| `hedgeOnPerTryTimeout` | `bool` | 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 RetryPolicy. Defaults to false. | - - - - ---- -### RedirectAction - - -[#next-free-field: 9] - -```yaml -"httpsRedirect": bool -"schemeRedirect": string -"hostRedirect": string -"portRedirect": int -"pathRedirect": string -"prefixRewrite": string -"responseCode": .solo.io.envoy.config.route.v3.RedirectAction.RedirectResponseCode -"stripQuery": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `httpsRedirect` | `bool` | The scheme portion of the URL will be swapped with "https". Only one of `httpsRedirect` or `schemeRedirect` can be set. | -| `schemeRedirect` | `string` | The scheme portion of the URL will be swapped with this value. Only one of `schemeRedirect` or `httpsRedirect` can be set. | -| `hostRedirect` | `string` | The host portion of the URL will be swapped with this value. | -| `portRedirect` | `int` | The port value of the URL will be swapped with this value. | -| `pathRedirect` | `string` | The path portion of the URL will be swapped with this value. Please note that query string in path_redirect will override the request's query string and will not be stripped. For example, let's say we have the following routes: - match: { path: "/old-path-1" } redirect: { path_redirect: "/new-path-1" } - match: { path: "/old-path-2" } redirect: { path_redirect: "/new-path-2", strip-query: "true" } - match: { path: "/old-path-3" } redirect: { path_redirect: "/new-path-3?foo=1", strip_query: "true" } 1. if request uri is "/old-path-1?bar=1", users will be redirected to "/new-path-1?bar=1" 2. if request uri is "/old-path-2?bar=1", users will be redirected to "/new-path-2" 3. if request uri is "/old-path-3?bar=1", users will be redirected to "/new-path-3?foo=1". Only one of `pathRedirect` or `prefixRewrite` can be set. | -| `prefixRewrite` | `string` | 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 RouteAction's prefix_rewrite. Only one of `prefixRewrite` or `pathRedirect` can be set. | -| `responseCode` | [.solo.io.envoy.config.route.v3.RedirectAction.RedirectResponseCode](../route_components.proto.sk/#redirectresponsecode) | The HTTP status code to use in the redirect response. The default response code is MOVED_PERMANENTLY (301). | -| `stripQuery` | `bool` | Indicates that during redirection, the query portion of the URL will be removed. Default value is false. | - - - - ---- -### RedirectResponseCode - - - -| Name | Description | -| ----- | ----------- | -| `MOVED_PERMANENTLY` | Moved Permanently HTTP Status Code - 301. | -| `FOUND` | Found HTTP Status Code - 302. | -| `SEE_OTHER` | See Other HTTP Status Code - 303. | -| `TEMPORARY_REDIRECT` | Temporary Redirect HTTP Status Code - 307. | -| `PERMANENT_REDIRECT` | Permanent Redirect HTTP Status Code - 308. | - - - - ---- -### DirectResponseAction - - - -```yaml -"status": int -"body": .solo.io.envoy.config.core.v3.DataSource - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `status` | `int` | Specifies the HTTP response status to be returned. | -| `body` | [.solo.io.envoy.config.core.v3.DataSource](../../../core/v3/base.proto.sk/#datasource) | Specifies the content of the response body. If this setting is omitted, no body is included in the generated response. **Note**: Headers can be specified using *response_headers_to_add* in the enclosing :ref:`envoy_api_msg_config.route.v3.Route`, :ref:`envoy_api_msg_config.route.v3.RouteConfiguration` or :ref:`envoy_api_msg_config.route.v3.VirtualHost`. | - - - - ---- -### Decorator - - - -```yaml -"operation": string -"propagate": .google.protobuf.BoolValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `operation` | `string` | The operation name associated with the request matched to this route. If tracing is enabled, this information will be used as the span name reported for this request. **Note**: For ingress (inbound) requests, or egress (outbound) responses, this value may be overridden by the :ref:`x-envoy-decorator-operation ` header. | -| `propagate` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Whether the decorated details should be propagated to the other party. The default is true. | - - - - ---- -### Tracing - - - -```yaml -"clientSampling": .solo.io.envoy.type.v3.FractionalPercent -"randomSampling": .solo.io.envoy.type.v3.FractionalPercent -"overallSampling": .solo.io.envoy.type.v3.FractionalPercent -"customTags": []solo.io.envoy.type.tracing.v3.CustomTag - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `clientSampling` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../type/v3/percent.proto.sk/#fractionalpercent) | Target percentage of requests managed by this HTTP connection manager that will be force traced if the :ref:`x-client-trace-id ` header is set. This field is a direct analog for the runtime variable 'tracing.client_sampling' in the :ref:`HTTP Connection Manager `. Default: 100%. | -| `randomSampling` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../type/v3/percent.proto.sk/#fractionalpercent) | Target percentage of requests managed by this HTTP connection manager that will be randomly selected for trace generation, if not requested by the client or not forced. This field is a direct analog for the runtime variable 'tracing.random_sampling' in the HTTP Connection Manager. Default: 100%. | -| `overallSampling` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../type/v3/percent.proto.sk/#fractionalpercent) | Target percentage of requests managed by this HTTP connection manager that will be traced after all other sampling checks have been applied (client-directed, force tracing, random sampling). This field functions as an upper limit on the total configured sampling rate. For instance, setting client_sampling to 100% but overall_sampling to 1% will result in only 1% of client requests with the appropriate headers to be force traced. This field is a direct analog for the runtime variable 'tracing.global_enabled' in the HTTP Connection Manager. Default: 100%. | -| `customTags` | [[]solo.io.envoy.type.tracing.v3.CustomTag](../../../../type/tracing/v3/custom_tag.proto.sk/#customtag) | A list of custom tags with unique tag name to create tags for the active span. It will take effect after merging with the :ref:`corresponding configuration ` configured in the HTTP connection manager. If two tags with the same name are configured each in the HTTP connection manager and the route level, the one configured here takes priority. | - - - - ---- -### VirtualCluster - - -A virtual cluster is a way of specifying a regex matching rule against -certain important endpoints such that statistics are generated explicitly for -the matched requests. The reason this is useful is that when doing -prefix/path matching Envoy does not always know what the application -considers to be an endpoint. Thus, it’s impossible for Envoy to generically -emit per endpoint statistics. However, often systems have highly critical -endpoints that they wish to get “perfect” statistics on. Virtual cluster -statistics are perfect in the sense that they are emitted on the downstream -side such that they include network level failures. - -Documentation for virtual cluster statistics. - -**Note**: - - Virtual clusters are a useful tool, but we do not recommend setting up a virtual cluster for - every application endpoint. This is both not easily maintainable and as well the matching and - statistics output are not free. - -```yaml -"headers": []solo.io.envoy.config.route.v3.HeaderMatcher -"name": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headers` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../route_components.proto.sk/#headermatcher) | Specifies a list of header matchers to use for matching requests. Each specified header must match. The pseudo-headers `:path` and `:method` can be used to match the request path and method, respectively. | -| `name` | `string` | Specifies the name of the virtual cluster. The virtual cluster name as well as the virtual host name are used when emitting statistics. The statistics are emitted by the router filter and are documented here. | - - - - ---- -### RateLimit - - -Global rate limiting architecture overview. - -```yaml -"stage": .google.protobuf.UInt32Value -"disableKey": string -"actions": []solo.io.envoy.config.route.v3.RateLimit.Action -"limit": .solo.io.envoy.config.route.v3.RateLimit.Override - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `stage` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | 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. | -| `disableKey` | `string` | The key to be set in runtime to disable this rate limit configuration. | -| `actions` | [[]solo.io.envoy.config.route.v3.RateLimit.Action](../route_components.proto.sk/#action) | 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 ` for additional documentation. | -| `limit` | [.solo.io.envoy.config.route.v3.RateLimit.Override](../route_components.proto.sk/#override) | An optional limit override to be appended to the descriptor produced by this rate limit configuration. If the override value is invalid or cannot be resolved from metadata, no override is provided. See :ref:`rate limit override ` for more information. | - - - - ---- -### Action - - -[#next-free-field: 8] - -```yaml -"sourceCluster": .solo.io.envoy.config.route.v3.RateLimit.Action.SourceCluster -"destinationCluster": .solo.io.envoy.config.route.v3.RateLimit.Action.DestinationCluster -"requestHeaders": .solo.io.envoy.config.route.v3.RateLimit.Action.RequestHeaders -"remoteAddress": .solo.io.envoy.config.route.v3.RateLimit.Action.RemoteAddress -"genericKey": .solo.io.envoy.config.route.v3.RateLimit.Action.GenericKey -"headerValueMatch": .solo.io.envoy.config.route.v3.RateLimit.Action.HeaderValueMatch -"dynamicMetadata": .solo.io.envoy.config.route.v3.RateLimit.Action.DynamicMetaData - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `sourceCluster` | [.solo.io.envoy.config.route.v3.RateLimit.Action.SourceCluster](../route_components.proto.sk/#sourcecluster) | Rate limit on source cluster. Only one of `sourceCluster`, `destinationCluster`, `requestHeaders`, `remoteAddress`, `genericKey`, `headerValueMatch`, or `dynamicMetadata` can be set. | -| `destinationCluster` | [.solo.io.envoy.config.route.v3.RateLimit.Action.DestinationCluster](../route_components.proto.sk/#destinationcluster) | Rate limit on destination cluster. Only one of `destinationCluster`, `sourceCluster`, `requestHeaders`, `remoteAddress`, `genericKey`, `headerValueMatch`, or `dynamicMetadata` can be set. | -| `requestHeaders` | [.solo.io.envoy.config.route.v3.RateLimit.Action.RequestHeaders](../route_components.proto.sk/#requestheaders) | Rate limit on request headers. Only one of `requestHeaders`, `sourceCluster`, `destinationCluster`, `remoteAddress`, `genericKey`, `headerValueMatch`, or `dynamicMetadata` can be set. | -| `remoteAddress` | [.solo.io.envoy.config.route.v3.RateLimit.Action.RemoteAddress](../route_components.proto.sk/#remoteaddress) | Rate limit on remote address. Only one of `remoteAddress`, `sourceCluster`, `destinationCluster`, `requestHeaders`, `genericKey`, `headerValueMatch`, or `dynamicMetadata` can be set. | -| `genericKey` | [.solo.io.envoy.config.route.v3.RateLimit.Action.GenericKey](../route_components.proto.sk/#generickey) | Rate limit on a generic key. Only one of `genericKey`, `sourceCluster`, `destinationCluster`, `requestHeaders`, `remoteAddress`, `headerValueMatch`, or `dynamicMetadata` can be set. | -| `headerValueMatch` | [.solo.io.envoy.config.route.v3.RateLimit.Action.HeaderValueMatch](../route_components.proto.sk/#headervaluematch) | Rate limit on the existence of request headers. Only one of `headerValueMatch`, `sourceCluster`, `destinationCluster`, `requestHeaders`, `remoteAddress`, `genericKey`, or `dynamicMetadata` can be set. | -| `dynamicMetadata` | [.solo.io.envoy.config.route.v3.RateLimit.Action.DynamicMetaData](../route_components.proto.sk/#dynamicmetadata) | Rate limit on dynamic metadata. Only one of `dynamicMetadata`, `sourceCluster`, `destinationCluster`, `requestHeaders`, `remoteAddress`, `genericKey`, or `headerValueMatch` can be set. | - - - - ---- -### SourceCluster - - -The following descriptor entry is appended to the descriptor: - -.. code-block:: cpp - - ("source_cluster", "") - - is derived from the `--service-cluster` option. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### DestinationCluster - - -The following descriptor entry is appended to the descriptor: - -.. code-block:: cpp - - ("destination_cluster", "") - -Once a request matches against a route table rule, a routed cluster is determined by one of -the following :ref:`route table configuration ` -settings: - -* cluster indicates the upstream cluster - to route to. -* :ref:`weighted_clusters ` - chooses a cluster randomly from a set of clusters with attributed weight. -* cluster_header indicates which - header in the request contains the target cluster. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### RequestHeaders - - -The following descriptor entry is appended when a header contains a key that matches the -*header_name*: - -.. code-block:: cpp - - ("", "") - -```yaml -"headerName": string -"descriptorKey": string -"skipIfAbsent": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headerName` | `string` | 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. | -| `descriptorKey` | `string` | The key to use in the descriptor entry. | -| `skipIfAbsent` | `bool` | If set to true, Envoy skips the descriptor while calling rate limiting service when header is not present in the request. By default it skips calling the rate limiting service if this header is not present in the request. | - - - - ---- -### RemoteAddress - - -The following descriptor entry is appended to the descriptor and is populated using the -trusted address from x-forwarded-for. - -.. code-block:: cpp - - ("remote_address", "") - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### GenericKey - - -The following descriptor entry is appended to the descriptor: - -.. code-block:: cpp - - ("generic_key", "") - -```yaml -"descriptorValue": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `descriptorValue` | `string` | The value to use in the descriptor entry. | - - - - ---- -### HeaderValueMatch - - -The following descriptor entry is appended to the descriptor: - -.. code-block:: cpp - - ("header_match", "") - -```yaml -"descriptorValue": string -"expectMatch": .google.protobuf.BoolValue -"headers": []solo.io.envoy.config.route.v3.HeaderMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `descriptorValue` | `string` | The value to use in the descriptor entry. | -| `expectMatch` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | 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. | -| `headers` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../route_components.proto.sk/#headermatcher) | 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). | - - - - ---- -### DynamicMetaData - - -The following descriptor entry is appended when the dynamic metadata contains a key value: - -.. code-block:: cpp - - ("", "") - -```yaml -"descriptorKey": string -"metadataKey": .solo.io.envoy.type.metadata.v3.MetadataKey - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `descriptorKey` | `string` | The key to use in the descriptor entry. | -| `metadataKey` | [.solo.io.envoy.type.metadata.v3.MetadataKey](../../../../type/metadata/v3/metadata.proto.sk/#metadatakey) | Metadata struct that defines the key and path to retrieve the string value. A match will only happen if the value in the dynamic metadata is of type string. | - - - - ---- -### Override - - - -```yaml -"dynamicMetadata": .solo.io.envoy.config.route.v3.RateLimit.Override.DynamicMetadata - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `dynamicMetadata` | [.solo.io.envoy.config.route.v3.RateLimit.Override.DynamicMetadata](../route_components.proto.sk/#dynamicmetadata) | Limit override from dynamic metadata. | - - - - ---- -### DynamicMetadata - - -Fetches the override from the dynamic metadata. - -```yaml -"metadataKey": .solo.io.envoy.type.metadata.v3.MetadataKey - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `metadataKey` | [.solo.io.envoy.type.metadata.v3.MetadataKey](../../../../type/metadata/v3/metadata.proto.sk/#metadatakey) | Metadata struct that defines the key and path to retrieve the struct value. The value must be a struct containing an integer "requests_per_unit" property and a "unit" property with a value parseable to :ref:`RateLimitUnit enum `. | - - - - ---- -### HeaderMatcher - - -**Attention**: - - Internally, Envoy always uses the HTTP/2 *:authority* header to represent the HTTP/1 *Host* - header. Thus, if attempting to match on *Host*, match on *:authority* instead. - -**Attention**: - - To route on HTTP method, use the special HTTP/2 *:method* header. This works for both - HTTP/1 and HTTP/2 as Envoy normalizes headers. E.g., - - .. code-block:: json - - { - "name": ":method", - "exact_match": "POST" - } - -**Attention**: - In the absence of any header match specifier, match will default to :ref:`present_match - `. i.e, a request that has the :ref:`name - ` header will match, regardless of the header's - value. - - [#next-major-version: HeaderMatcher should be refactored to use StringMatcher.] -[#next-free-field: 12] - -```yaml -"name": string -"exactMatch": string -"safeRegexMatch": .solo.io.envoy.type.matcher.v3.RegexMatcher -"rangeMatch": .solo.io.envoy.type.v3.Int64Range -"presentMatch": bool -"prefixMatch": string -"suffixMatch": string -"invertMatch": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | Specifies the name of the header in the request. | -| `exactMatch` | `string` | If specified, header match will be performed based on the value of the header. Only one of `exactMatch`, `safeRegexMatch`, `rangeMatch`, `presentMatch`, `prefixMatch`, or `suffixMatch` can be set. | -| `safeRegexMatch` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../../../../type/matcher/v3/regex.proto.sk/#regexmatcher) | If specified, this regex string is a regular expression rule which implies the entire request header value must match the regex. The rule will not match if only a subsequence of the request header value matches the regex. Only one of `safeRegexMatch`, `exactMatch`, `rangeMatch`, `presentMatch`, `prefixMatch`, or `suffixMatch` can be set. | -| `rangeMatch` | [.solo.io.envoy.type.v3.Int64Range](../../../../type/v3/range.proto.sk/#int64range) | If specified, header match will be performed based on range. The rule will match if the request header value is within this range. The entire request header value must represent an integer in base 10 notation: consisting of an optional plus or minus sign followed by a sequence of digits. The rule will not match if the header value does not represent an integer. Match will fail for empty values, floating point numbers or if only a subsequence of the header value is an integer. Examples: * For range [-10,0), route will match for header value -1, but not for 0, "somestring", 10.9, "-1somestring". Only one of `rangeMatch`, `exactMatch`, `safeRegexMatch`, `presentMatch`, `prefixMatch`, or `suffixMatch` can be set. | -| `presentMatch` | `bool` | If specified, header match will be performed based on whether the header is in the request. Only one of `presentMatch`, `exactMatch`, `safeRegexMatch`, `rangeMatch`, `prefixMatch`, or `suffixMatch` can be set. | -| `prefixMatch` | `string` | If specified, header match will be performed based on the prefix of the header value. Note: empty prefix is not allowed, please use present_match instead. Examples: * The prefix *abcd* matches the value *abcdxyz*, but not for *abcxyz*. Only one of `prefixMatch`, `exactMatch`, `safeRegexMatch`, `rangeMatch`, `presentMatch`, or `suffixMatch` can be set. | -| `suffixMatch` | `string` | If specified, header match will be performed based on the suffix of the header value. Note: empty suffix is not allowed, please use present_match instead. Examples: * The suffix *abcd* matches the value *xyzabcd*, but not for *xyzbcd*. Only one of `suffixMatch`, `exactMatch`, `safeRegexMatch`, `rangeMatch`, `presentMatch`, or `prefixMatch` can be set. | -| `invertMatch` | `bool` | If specified, the match result will be inverted before checking. Defaults to false. Examples: * The regex `\d{3}` does not match the value *1234*, so it will match when inverted. * The range [-10,0) will match the value -1, so it will not match when inverted. | - - - - ---- -### QueryParameterMatcher - - -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] - -```yaml -"name": string -"stringMatch": .solo.io.envoy.type.matcher.v3.StringMatcher -"presentMatch": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | Specifies the name of a key that must be present in the requested *path*'s query string. | -| `stringMatch` | [.solo.io.envoy.type.matcher.v3.StringMatcher](../../../../type/matcher/v3/string.proto.sk/#stringmatcher) | Specifies whether a query parameter value should match against a string. Only one of `stringMatch` or `presentMatch` can be set. | -| `presentMatch` | `bool` | Specifies whether a query parameter should be present. Only one of `presentMatch` or `stringMatch` can be set. | - - - - ---- -### InternalRedirectPolicy - - -HTTP Internal Redirect architecture overview. - -```yaml -"maxInternalRedirects": .google.protobuf.UInt32Value -"redirectResponseCodes": []int -"predicates": []solo.io.envoy.config.core.v3.TypedExtensionConfig -"allowCrossSchemeRedirect": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `maxInternalRedirects` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | An internal redirect is not handled, unless the number of previous internal redirects that a downstream request has encountered is lower than this value. In the case where a downstream request is bounced among multiple routes by internal redirect, the first route that hits this threshold, or does not set :ref:`internal_redirect_policy ` will pass the redirect back to downstream. If not specified, at most one redirect will be followed. | -| `redirectResponseCodes` | `[]int` | Defines what upstream response codes are allowed to trigger internal redirect. If unspecified, only 302 will be treated as internal redirect. Only 301, 302, 303, 307 and 308 are valid values. Any other codes will be ignored. | -| `predicates` | [[]solo.io.envoy.config.core.v3.TypedExtensionConfig](../../../core/v3/extension.proto.sk/#typedextensionconfig) | Specifies a list of predicates that are queried when an upstream response is deemed to trigger an internal redirect by all other criteria. Any predicate in the list can reject the redirect, causing the response to be proxied to downstream. | -| `allowCrossSchemeRedirect` | `bool` | Allow internal redirect to follow a target URI with a different scheme than the value of x-forwarded-proto. The default is false. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto.sk.md deleted file mode 100644 index c46ca6c93f7..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto.sk.md +++ /dev/null @@ -1,46 +0,0 @@ - ---- -title: "grpc_output_sink.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.tap.output_sink.v3` -#### Types: - - -- [GrpcOutputSink](#grpcoutputsink) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/tap/output_sink/v3/grpc_output_sink.proto) - - - - - ---- -### GrpcOutputSink - - -GRPC output sink definition - -```yaml -"grpcService": .solo.io.envoy.config.core.v3.GrpcService - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `grpcService` | [.solo.io.envoy.config.core.v3.GrpcService](../../../../core/v3/grpc_service.proto.sk/#grpcservice) | Location of the GRPC service to which output traces should be submitted. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto.sk.md deleted file mode 100644 index 10e0d2e06ef..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto.sk.md +++ /dev/null @@ -1,46 +0,0 @@ - ---- -title: "http_output_sink.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.tap.output_sink.v3` -#### Types: - - -- [HttpOutputSink](#httpoutputsink) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/tap/output_sink/v3/http_output_sink.proto) - - - - - ---- -### HttpOutputSink - - -HTTP output sink definition - -```yaml -"serverUri": .solo.io.envoy.config.core.v3.HttpUri - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `serverUri` | [.solo.io.envoy.config.core.v3.HttpUri](../../../../core/v3/http_uri.proto.sk/#httpuri) | URI of the HTTP server to which output traces should be submitted. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto.sk.md deleted file mode 100644 index f280d9a210e..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto.sk.md +++ /dev/null @@ -1,76 +0,0 @@ - ---- -title: "datadog.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.trace.v3` -#### Types: - - -- [DatadogRemoteConfig](#datadogremoteconfig) -- [DatadogConfig](#datadogconfig) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/trace/v3/datadog.proto) - - - - - ---- -### DatadogRemoteConfig - - -Configuration for the Remote Configuration feature. - -```yaml -"pollingInterval": .google.protobuf.Duration -"disabled": .google.protobuf.BoolValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `pollingInterval` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Frequency at which new configuration updates are queried. If no value is provided, the default value is delegated to the Datadog tracing library. | -| `disabled` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Disabled remote config. This field does not exist in envoy's config but allow us to preserve the default behavior when upgrading to envoy v1.31. | - - - - ---- -### DatadogConfig - - -Configuration for the Datadog tracer. -[#extension: envoy.tracers.datadog] - -```yaml -"collectorUpstreamRef": .core.solo.io.ResourceRef -"clusterName": string -"serviceName": .google.protobuf.StringValue -"collectorHostname": string -"remoteConfig": .solo.io.envoy.config.trace.v3.DatadogRemoteConfig - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `collectorUpstreamRef` | [.core.solo.io.ResourceRef](../../../../../../../../../../solo-kit/api/v1/ref.proto.sk/#resourceref) | The upstream to use for submitting traces to the Datadog agent. Only one of `collectorUpstreamRef` or `clusterName` can be set. | -| `clusterName` | `string` | The name of the cluster to use for submitting traces to the Datadog agent. Note that the cluster must be defined in the :ref:`Bootstrap static cluster resources `. Only one of `clusterName` or `collectorUpstreamRef` can be set. | -| `serviceName` | [.google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/string-value) | The name used for the service when traces are generated by envoy. | -| `collectorHostname` | `string` | Optional hostname to use when sending spans to the collector_cluster. Useful for collectors that require a specific hostname. Defaults to collector_cluster above. | -| `remoteConfig` | [.solo.io.envoy.config.trace.v3.DatadogRemoteConfig](../datadog.proto.sk/#datadogremoteconfig) | Configures remote configuration. Remote Configuration allows to configure the tracer from Datadog's user interface. This feature can drastically increase the number of connections to the Datadog Agent. Each tracer regularly polls for configuration updates, and the number of tracers is the product of the number of listeners and worker threads. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto.sk.md deleted file mode 100644 index 7d27f55bb99..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto.sk.md +++ /dev/null @@ -1,204 +0,0 @@ - ---- -title: "opencensus.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.trace.v3` -#### Types: - - -- [OpenCensusConfig](#opencensusconfig) -- [OcagentGrpcAddress](#ocagentgrpcaddress) -- [TraceContext](#tracecontext) -- [TraceConfig](#traceconfig) -- [ProbabilitySampler](#probabilitysampler) -- [ConstantSampler](#constantsampler) -- [ConstantDecision](#constantdecision) -- [RateLimitingSampler](#ratelimitingsampler) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/trace/v3/opencensus.proto) - - - - - ---- -### OpenCensusConfig - - -Configuration for the OpenCensus tracer. - -The OpenCensus tracer is capable of reporting metadata to a collector using W3C-standard Trace Context: https://www.w3.org/TR/trace-context/ -WARNING: users should take care to note that this plugin has a serious limitation that can cause a configuration freeze of Envoy's dynamic listeners. This plugin can be initialised once after Envoy has started. In order to change this plugin's configuration, users must first apply the new configuration, and then restart Envoy. Users should also be aware that once the new configuration is applied, Envoy will reject any changes to its dynamic listeners configuration until after it has been restarted. -[#extension: envoy.tracers.opencensus] - -```yaml -"traceConfig": .solo.io.envoy.config.trace.v3.TraceConfig -"ocagentExporterEnabled": bool -"httpAddress": string -"grpcAddress": .solo.io.envoy.config.trace.v3.OpenCensusConfig.OcagentGrpcAddress -"incomingTraceContext": []solo.io.envoy.config.trace.v3.OpenCensusConfig.TraceContext -"outgoingTraceContext": []solo.io.envoy.config.trace.v3.OpenCensusConfig.TraceContext - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `traceConfig` | [.solo.io.envoy.config.trace.v3.TraceConfig](../opencensus.proto.sk/#traceconfig) | Configuration of when to submit traces to the collector. See https://github.com/census-instrumentation/opencensus-proto/blob/3619b5dda8bff26ff1974714c24de8f6d4953811/src/opencensus/proto/trace/v1/trace_config.proto#L29 for full documentation. | -| `ocagentExporterEnabled` | `bool` | Enables the OpenCensus agent if set to true. | -| `httpAddress` | `string` | Send to upstream over http. Only one of `httpAddress` or `grpcAddress` can be set. | -| `grpcAddress` | [.solo.io.envoy.config.trace.v3.OpenCensusConfig.OcagentGrpcAddress](../opencensus.proto.sk/#ocagentgrpcaddress) | Send to upstream over GRPC. Only one of `grpcAddress` or `httpAddress` can be set. | -| `incomingTraceContext` | [[]solo.io.envoy.config.trace.v3.OpenCensusConfig.TraceContext](../opencensus.proto.sk/#tracecontext) | List of incoming trace context headers to accept. First one found wins. | -| `outgoingTraceContext` | [[]solo.io.envoy.config.trace.v3.OpenCensusConfig.TraceContext](../opencensus.proto.sk/#tracecontext) | List of outgoing trace context headers we will produce. | - - - - ---- -### OcagentGrpcAddress - - - -```yaml -"targetUri": string -"statPrefix": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `targetUri` | `string` | URI of the target address. | -| `statPrefix` | `string` | Prefix for statistical measurements. | - - - - ---- -### TraceContext - - - -| Name | Description | -| ----- | ----------- | -| `NONE` | No-op default, no trace context is utilized. | -| `TRACE_CONTEXT` | W3C Trace-Context format "traceparent:" header. | -| `GRPC_TRACE_BIN` | Binary "grpc-trace-bin:" header. | -| `CLOUD_TRACE_CONTEXT` | "X-Cloud-Trace-Context:" header. | -| `B3` | X-B3-* headers. | - - - - ---- -### TraceConfig - - - -```yaml -"probabilitySampler": .solo.io.envoy.config.trace.v3.ProbabilitySampler -"constantSampler": .solo.io.envoy.config.trace.v3.ConstantSampler -"rateLimitingSampler": .solo.io.envoy.config.trace.v3.RateLimitingSampler -"maxNumberOfAttributes": int -"maxNumberOfAnnotations": int -"maxNumberOfMessageEvents": int -"maxNumberOfLinks": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `probabilitySampler` | [.solo.io.envoy.config.trace.v3.ProbabilitySampler](../opencensus.proto.sk/#probabilitysampler) | Only one of `probabilitySampler`, `constantSampler`, or `rateLimitingSampler` can be set. | -| `constantSampler` | [.solo.io.envoy.config.trace.v3.ConstantSampler](../opencensus.proto.sk/#constantsampler) | Only one of `constantSampler`, `probabilitySampler`, or `rateLimitingSampler` can be set. | -| `rateLimitingSampler` | [.solo.io.envoy.config.trace.v3.RateLimitingSampler](../opencensus.proto.sk/#ratelimitingsampler) | Only one of `rateLimitingSampler`, `probabilitySampler`, or `constantSampler` can be set. | -| `maxNumberOfAttributes` | `int` | The global default max number of attributes per span. | -| `maxNumberOfAnnotations` | `int` | The global default max number of annotation events per span. | -| `maxNumberOfMessageEvents` | `int` | The global default max number of message events per span. | -| `maxNumberOfLinks` | `int` | The global default max number of link entries per span. | - - - - ---- -### ProbabilitySampler - - -Sampler that tries to uniformly sample traces with a given probability. -The probability of sampling a trace is equal to that of the specified probability. - -```yaml -"samplingProbability": float - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `samplingProbability` | `float` | The desired probability of sampling. Must be within [0.0, 1.0]. | - - - - ---- -### ConstantSampler - - -Sampler that always makes a constant decision on span sampling. - -```yaml -"decision": .solo.io.envoy.config.trace.v3.ConstantSampler.ConstantDecision - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `decision` | [.solo.io.envoy.config.trace.v3.ConstantSampler.ConstantDecision](../opencensus.proto.sk/#constantdecision) | | - - - - ---- -### ConstantDecision - - -How spans should be sampled: -- Always off -- Always on -- Always follow the parent Span's decision (off if no parent). - -| Name | Description | -| ----- | ----------- | -| `ALWAYS_OFF` | | -| `ALWAYS_ON` | | -| `ALWAYS_PARENT` | | - - - - ---- -### RateLimitingSampler - - -Sampler that tries to sample with a rate per time window. - -```yaml -"qps": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `qps` | `int` | Rate per second. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto.sk.md deleted file mode 100644 index c854ace4d37..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto.sk.md +++ /dev/null @@ -1,49 +0,0 @@ - ---- -title: "opentelemetry.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.trace.v3` -#### Types: - - -- [OpenTelemetryConfig](#opentelemetryconfig) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/trace/v3/opentelemetry.proto) - - - - - ---- -### OpenTelemetryConfig - - -Configuration for the OpenTelemetry tracer. -[#extension: envoy.tracers.opentelemetry] - -```yaml -"collectorUpstreamRef": .core.solo.io.ResourceRef -"clusterName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `collectorUpstreamRef` | [.core.solo.io.ResourceRef](../../../../../../../../../../solo-kit/api/v1/ref.proto.sk/#resourceref) | The upstream to use for submitting traces to the OpenTelemetry agent. Only one of `collectorUpstreamRef` or `clusterName` can be set. | -| `clusterName` | `string` | The name of the Envoy cluster to use for submitting traces to the OpenTelemetry agent. Only one of `clusterName` or `collectorUpstreamRef` can be set. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto.sk.md deleted file mode 100644 index 8a330e6e487..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto.sk.md +++ /dev/null @@ -1,74 +0,0 @@ - ---- -title: "zipkin.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.config.trace.v3` -#### Types: - - -- [ZipkinConfig](#zipkinconfig) -- [CollectorEndpointVersion](#collectorendpointversion) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/config/trace/v3/zipkin.proto) - - - - - ---- -### ZipkinConfig - - -Configuration for the Zipkin tracer. -[#extension: envoy.tracers.zipkin] -[#next-free-field: 6] - -```yaml -"collectorUpstreamRef": .core.solo.io.ResourceRef -"clusterName": string -"collectorEndpoint": string -"traceId128Bit": .google.protobuf.BoolValue -"sharedSpanContext": .google.protobuf.BoolValue -"collectorEndpointVersion": .solo.io.envoy.config.trace.v3.ZipkinConfig.CollectorEndpointVersion - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `collectorUpstreamRef` | [.core.solo.io.ResourceRef](../../../../../../../../../../solo-kit/api/v1/ref.proto.sk/#resourceref) | The upstream that hosts the Zipkin collectors. Only one of `collectorUpstreamRef` or `clusterName` can be set. | -| `clusterName` | `string` | The name of the cluster that hosts the Zipkin collectors. Note that the Zipkin cluster must be defined in the :ref:`Bootstrap static cluster resources `. Only one of `clusterName` or `collectorUpstreamRef` can be set. | -| `collectorEndpoint` | `string` | The API endpoint of the Zipkin service where the spans will be sent. When using a standard Zipkin installation, the API endpoint is typically /api/v1/spans, which is the default value. | -| `traceId128Bit` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Determines whether a 128bit trace id will be used when creating a new trace instance. The default value is false, which will result in a 64 bit trace id being used. | -| `sharedSpanContext` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Determines whether client and server spans will share the same span context. The default value is true. | -| `collectorEndpointVersion` | [.solo.io.envoy.config.trace.v3.ZipkinConfig.CollectorEndpointVersion](../zipkin.proto.sk/#collectorendpointversion) | Determines the selected collector endpoint version. By default, the `HTTP_JSON_V1` will be used. | - - - - ---- -### CollectorEndpointVersion - - -Available Zipkin collector endpoint versions. - -| Name | Description | -| ----- | ----------- | -| `DEPRECATED_AND_UNAVAILABLE_DO_NOT_USE` | Zipkin API v1, JSON over HTTP. [#comment: The default implementation of Zipkin client before this field is added was only v1 and the way user configure this was by not explicitly specifying the version. Consequently, before this is added, the corresponding Zipkin collector expected to receive v1 payload. Hence the motivation of adding HTTP_JSON_V1 as the default is to avoid a breaking change when user upgrading Envoy with this change. Furthermore, we also immediately deprecate this field, since in Zipkin realm this v1 version is considered to be not preferable anymore.] | -| `HTTP_JSON` | Zipkin API v2, JSON over HTTP. | -| `HTTP_PROTO` | Zipkin API v2, protobuf over HTTP. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto.sk.md deleted file mode 100644 index efc97dd789f..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto.sk.md +++ /dev/null @@ -1,178 +0,0 @@ - ---- -title: "advanced_http.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.health_checker.advanced_http.v2` -#### Types: - - -- [AdvancedHttp](#advancedhttp) -- [ResponseAssertions](#responseassertions) -- [ResponseMatcher](#responsematcher) -- [ResponseMatch](#responsematch) -- [JsonKey](#jsonkey) -- [PathSegment](#pathsegment) - - - - -##### Enums: - - - - [HealthCheckResult](#healthcheckresult) - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/advanced_http/advanced_http.proto) - - - - - ---- -### AdvancedHttp - - -Same as envoy's default HTTP health checker, but with some additions: -- allows a custom path and method on the health check request per endpoint. - The http path to use can be overridden using endpoint metadata. The endpoint-specific - path should be in the "io.solo.health_checkers.advanced_http" namespace, under a string - value named "path". The same can be done for the method by setting a string value - named "method". -- allows for health check responses to leverage the response body rather than just - the http status code returned. The response body can be parsed as json and complex - assertions can be made on fields parsed from the json or plaintext response body. - -```yaml -"httpHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck -"responseAssertions": .envoy.config.health_checker.advanced_http.v2.ResponseAssertions - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `httpHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck](../../../config/core/v3/health_check.proto.sk/#httphealthcheck) | Http health check. | -| `responseAssertions` | [.envoy.config.health_checker.advanced_http.v2.ResponseAssertions](../advanced_http.proto.sk/#responseassertions) | If defined, the response health check rules take precedence over the http status settings defined in `http_health_check`. | - - - - ---- -### ResponseAssertions - - - -```yaml -"responseMatchers": []envoy.config.health_checker.advanced_http.v2.ResponseMatcher -"noMatchHealth": .envoy.config.health_checker.advanced_http.v2.HealthCheckResult - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `responseMatchers` | [[]envoy.config.health_checker.advanced_http.v2.ResponseMatcher](../advanced_http.proto.sk/#responsematcher) | A bunch of match rules, the first match wins out and short-circuits. | -| `noMatchHealth` | [.envoy.config.health_checker.advanced_http.v2.HealthCheckResult](../advanced_http.proto.sk/#healthcheckresult) | The default health response if none of the response health checks were matches. If omitted, defaults to healthy. Note for devs: we'd probably prefer this default to unhealthy, but since the version of protoc we're on doesn't support optional scalars without an experimental flag, we cannot have the `no_match_health` field default to unhealthy while the `match_health` field defaults to healthy. As such, we offload this defaulting behavior to the control plane. For more reading, see https://github.com/protocolbuffers/protobuf/issues/1606#issuecomment-618687169. | - - - - ---- -### ResponseMatcher - - -Defines a transformation template. - -```yaml -"responseMatch": .envoy.config.health_checker.advanced_http.v2.ResponseMatch -"matchHealth": .envoy.config.health_checker.advanced_http.v2.HealthCheckResult - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `responseMatch` | [.envoy.config.health_checker.advanced_http.v2.ResponseMatch](../advanced_http.proto.sk/#responsematch) | Defines the parameters to determine a single match. | -| `matchHealth` | [.envoy.config.health_checker.advanced_http.v2.HealthCheckResult](../advanced_http.proto.sk/#healthcheckresult) | The health response if this response_match is a match. If omitted, defaults to healthy. | - - - - ---- -### ResponseMatch - - -ResponseMatches can be used to extract information from the request/response. - -```yaml -"jsonKey": .envoy.config.health_checker.advanced_http.v2.JsonKey -"ignoreErrorOnParse": bool -"header": string -"body": .google.protobuf.Empty -"regex": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `jsonKey` | [.envoy.config.health_checker.advanced_http.v2.JsonKey](../advanced_http.proto.sk/#jsonkey) | Configuration to get the json key. Treats the body as raw text if omitted. | -| `ignoreErrorOnParse` | `bool` | If set to true, Envoy will not throw an exception in case the json body parsing fails. | -| `header` | `string` | Extract information from headers. Only one of `header` or `body` can be set. | -| `body` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | Extract information from the request/response body. Only one of `body` or `header` can be set. | -| `regex` | `string` | Only strings matching this regular expression will be considered a match. The most simple value for this field is '.*', which matches the whole source. The field is required. | - - - - ---- -### JsonKey - - - -```yaml -"path": []envoy.config.health_checker.advanced_http.v2.JsonKey.PathSegment - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `path` | [[]envoy.config.health_checker.advanced_http.v2.JsonKey.PathSegment](../advanced_http.proto.sk/#pathsegment) | The path to retrieve the Value. | - - - - ---- -### PathSegment - - -Specifies the segment in a path to retrieve value. - -```yaml -"key": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | If specified, use the key to retrieve the value. If the key is not found, the value defaults to empty string. | - - - - -### HealthCheckResult - -Description: - -| Name | Description | -| ----- | ----------- | -| healthy | | -| degraded | | -| unhealthy | | - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/aws/filter.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/aws/filter.proto.sk.md deleted file mode 100644 index c00d3e51b2b..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/aws/filter.proto.sk.md +++ /dev/null @@ -1,156 +0,0 @@ - ---- -title: "filter.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.aws_lambda.v2` -#### Types: - - -- [AWSLambdaPerRoute](#awslambdaperroute) -- [AWSLambdaProtocolExtension](#awslambdaprotocolextension) -- [AWSLambdaConfig](#awslambdaconfig) -- [ServiceAccountCredentials](#serviceaccountcredentials) -- [ApiGatewayTransformation](#apigatewaytransformation) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/aws/filter.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/aws/filter.proto) - - - - - ---- -### AWSLambdaPerRoute - - -AWS Lambda contains the configuration necessary to perform transform regular -http calls to AWS Lambda invocations. - -```yaml -"name": string -"qualifier": string -"async": bool -"emptyBodyOverride": .google.protobuf.StringValue -"unwrapAsAlb": bool -"transformerConfig": .solo.io.envoy.config.core.v3.TypedExtensionConfig -"requestTransformerConfig": .solo.io.envoy.config.core.v3.TypedExtensionConfig - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The name of the function. | -| `qualifier` | `string` | The qualifier of the function (defaults to $LATEST if not specified). | -| `async` | `bool` | Invocation type - async or regular. | -| `emptyBodyOverride` | [.google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/string-value) | Optional default body if the body is empty. By default on default body is used if the body empty, and an empty body will be sent upstream. | -| `unwrapAsAlb` | `bool` | Deprecated. Use transformer_config to specify an AWS Lambda response transformer instead. Unwrap responses as AWS ALB does. Expects json lambda responses to construct response. Intended to ease migration when previously using alb to invoke Lambdas. When set on a route the filter will not stream data on the encoding step. For further information see below link for the expected format when true. https://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html Defaults to false. | -| `transformerConfig` | [.solo.io.envoy.config.core.v3.TypedExtensionConfig](../../../config/core/v3/extension.proto.sk/#typedextensionconfig) | transformer configuration used to process response data cannot be configured simultaneously with unwrap_as_alb. | -| `requestTransformerConfig` | [.solo.io.envoy.config.core.v3.TypedExtensionConfig](../../../config/core/v3/extension.proto.sk/#typedextensionconfig) | This is a transformer config, as defined in api.envoy.config.filter.http.transformation.v2 used to process request data. | - - - - ---- -### AWSLambdaProtocolExtension - - - -```yaml -"host": string -"region": string -"accessKey": string -"secretKey": string -"sessionToken": string -"roleArn": string -"disableRoleChaining": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `host` | `string` | The host header for AWS this cluster. | -| `region` | `string` | The region for this cluster. | -| `accessKey` | `string` | The access_key for AWS this cluster. | -| `secretKey` | `string` | The secret_key for AWS this cluster. | -| `sessionToken` | `string` | The session_token for AWS this cluster. | -| `roleArn` | `string` | The role_arn to use when generating credentials for the mounted projected SA token. | -| `disableRoleChaining` | `bool` | Optional override to disable role chaining;. | - - - - ---- -### AWSLambdaConfig - - - -```yaml -"useDefaultCredentials": .google.protobuf.BoolValue -"serviceAccountCredentials": .envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.ServiceAccountCredentials -"propagateOriginalRouting": bool -"credentialRefreshDelay": .google.protobuf.Duration - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `useDefaultCredentials` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Use AWS default credentials chain to get credentials. This will search environment variables, ECS metadata and instance metadata to get the credentials. credentials will be rotated automatically. If credentials are provided on the cluster (using the AWSLambdaProtocolExtension), it will override these credentials. This defaults to false, but may change in the future to true. Only one of `useDefaultCredentials` or `serviceAccountCredentials` can be set. | -| `serviceAccountCredentials` | [.envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.ServiceAccountCredentials](../filter.proto.sk/#serviceaccountcredentials) | Use projected service account token, and role arn to create temporary credentials with which to authenticate lambda requests. This functionality is meant to work along side EKS service account to IAM binding functionality as outlined here: https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html If the following environment values are not present, this option cannot be used. 1. AWS_WEB_IDENTITY_TOKEN_FILE 2. AWS_ROLE_ARN If they are not specified envoy will NACK the config update, which will show up in the logs when running OS Gloo. When running Gloo enterprise it will be reflected in the prometheus stat: "glooe.solo.io/xds/nack" The role arn may also be specified in the `AWSLambdaProtocolExtension` on the cluster level, to override the environment variable. Only one of `serviceAccountCredentials` or `useDefaultCredentials` can be set. | -| `propagateOriginalRouting` | `bool` | Send downstream path and method as `x-envoy-original-path` and `x-envoy-original-method` headers on the request to AWS lambda. Defaults to false. | -| `credentialRefreshDelay` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Sets cadence for refreshing credentials for Service Account. Does nothing if Service account is not set. Does not affect the default filewatch for service account only augments it. Defaults to not refreshing on time period. Suggested is 15 minutes. | - - - - ---- -### ServiceAccountCredentials - - -In order to specify the aws sts endpoint, both the cluster and uri must be set. -This is due to an envoy limitation which cannot infer the host or path from the cluster, -and therefore must be explicitly specified via the uri - -```yaml -"cluster": string -"uri": string -"timeout": .google.protobuf.Duration -"region": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `cluster` | `string` | The name of the envoy cluster which represents the desired aws sts endpoint. | -| `uri` | `string` | The full uri of the aws sts endpoint. | -| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | timeout for the request. | -| `region` | `string` | Region for the sts endpoint. Defaults to us-east-1. | - - - - ---- -### ApiGatewayTransformation - - - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto.sk.md deleted file mode 100644 index e23200f190e..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto.sk.md +++ /dev/null @@ -1,50 +0,0 @@ - ---- -title: "config.proto" -weight: 5 ---- - - - - -### Package: `envoy.extensions.cache.grpc.v2` -#### Types: - - -- [GrpcCacheConfig](#grpccacheconfig) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/cache/grpc/config.proto) - - - - - ---- -### GrpcCacheConfig - - -[#proto-status: experimental] - -```yaml -"service": .solo.io.envoy.config.core.v3.GrpcService -"timeout": .google.protobuf.Duration -"maxPayloadSize": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `service` | [.solo.io.envoy.config.core.v3.GrpcService](../../../../config/core/v3/grpc_service.proto.sk/#grpcservice) | A GRPC service: this maps exactly to envoy GRPC service defintions. | -| `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Connection timeout for retrieval from cache. | -| `maxPayloadSize` | `int` | Max payload size to cache. This may be set to protect against large requests or responses by not caching them. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto.sk.md deleted file mode 100644 index e49331d5848..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto.sk.md +++ /dev/null @@ -1,65 +0,0 @@ - ---- -title: "sanitize.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.sanitize.v2` -#### Types: - - -- [Sanitize](#sanitize) -- [SanitizePerRoute](#sanitizeperroute) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto) - - - - - ---- -### Sanitize - - - -```yaml -"headersToRemove": []string -"customAuthServerName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headersToRemove` | `[]string` | | -| `customAuthServerName` | `string` | The name of the custom ext auth server This is only set in the case where multiple auth servers exist. | - - - - ---- -### SanitizePerRoute - - - -```yaml -"customAuthServerName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `customAuthServerName` | `string` | The name of the custom ext auth server This is only set in the case where multiple auth servers exist. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk.md deleted file mode 100644 index dabaad457f3..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk.md +++ /dev/null @@ -1,69 +0,0 @@ - ---- -title: "buffer.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.extensions.filters.http.buffer.v3` -copied from https://github.com/envoyproxy/envoy/blob/3b52fc36373272902d9817f0db97dd2fccc40784/api/envoy/extensions/filters/http/buffer/v3/buffer.proto - - - -#### Types: - - -- [Buffer](#buffer) -- [BufferPerRoute](#bufferperroute) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto) - - - - - ---- -### Buffer - - - -```yaml -"maxRequestBytes": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `maxRequestBytes` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | The maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. | - - - - ---- -### BufferPerRoute - - - -```yaml -"disabled": bool -"buffer": .solo.io.envoy.extensions.filters.http.buffer.v3.Buffer - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `disabled` | `bool` | Disable the buffer filter for this particular vhost or route. Only one of `disabled` or `buffer` can be set. | -| `buffer` | [.solo.io.envoy.extensions.filters.http.buffer.v3.Buffer](../buffer.proto.sk/#buffer) | Override the global configuration of the buffer filter with this new config. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. Only one of `buffer` or `disabled` can be set. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk.md deleted file mode 100644 index 529b0c37825..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk.md +++ /dev/null @@ -1,54 +0,0 @@ - ---- -title: "csrf.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.extensions.filters.http.csrf.v3` -copied from https://github.com/envoyproxy/envoy/blob/main/api/envoy/extensions/filters/http/csrf/v3/csrf.proto - - - -#### Types: - - -- [CsrfPolicy](#csrfpolicy) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto) - - - - - ---- -### CsrfPolicy - - -CSRF filter config. - -```yaml -"filterEnabled": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent -"shadowEnabled": .solo.io.envoy.config.core.v3.RuntimeFractionalPercent -"additionalOrigins": []solo.io.envoy.type.matcher.v3.StringMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `filterEnabled` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../../../../config/core/v3/base.proto.sk/#runtimefractionalpercent) | Specifies the % of requests for which the CSRF filter is enabled. If runtime_key is specified, Envoy will lookup the runtime key to get the percentage of requests to filter. **Note**: This field defaults to 100/:ref:`HUNDRED `. | -| `shadowEnabled` | [.solo.io.envoy.config.core.v3.RuntimeFractionalPercent](../../../../../../config/core/v3/base.proto.sk/#runtimefractionalpercent) | Specifies that CSRF policies will be evaluated and tracked, but not enforced. This is intended to be used when `filter_enabled` is off and will be ignored otherwise. If runtime_key is specified, Envoy will lookup the runtime key to get the percentage of requests for which it will evaluate and track the request's *Origin* and *Destination* to determine if it's valid, but will not enforce any policies. | -| `additionalOrigins` | [[]solo.io.envoy.type.matcher.v3.StringMatcher](../../../../../../type/matcher/v3/string.proto.sk/#stringmatcher) | Specifies additional source origins that will be allowed in addition to the destination origin. More information on how this can be configured via runtime can be found here. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto.sk.md deleted file mode 100644 index 111cd67c021..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto.sk.md +++ /dev/null @@ -1,93 +0,0 @@ - ---- -title: "processing_mode.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.extensions.filters.http.ext_proc.v3` -copied from https://github.com/envoyproxy/envoy/blob/ad89a587aa0177bfdad6b5c968a6aead5d9be7a4/api/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto - - - -#### Types: - - -- [ProcessingMode](#processingmode) -- [HeaderSendMode](#headersendmode) -- [BodySendMode](#bodysendmode) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto) - - - - - ---- -### ProcessingMode - - -[#next-free-field: 7] - -```yaml -"requestHeaderMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode -"responseHeaderMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode -"requestBodyMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.BodySendMode -"responseBodyMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.BodySendMode -"requestTrailerMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode -"responseTrailerMode": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requestHeaderMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode](../processing_mode.proto.sk/#headersendmode) | How to handle the request header. Default is "SEND". | -| `responseHeaderMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode](../processing_mode.proto.sk/#headersendmode) | How to handle the response header. Default is "SEND". | -| `requestBodyMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.BodySendMode](../processing_mode.proto.sk/#bodysendmode) | How to handle the request body. Default is "NONE". | -| `responseBodyMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.BodySendMode](../processing_mode.proto.sk/#bodysendmode) | How do handle the response body. Default is "NONE". | -| `requestTrailerMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode](../processing_mode.proto.sk/#headersendmode) | How to handle the request trailers. Default is "SKIP". | -| `responseTrailerMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode.HeaderSendMode](../processing_mode.proto.sk/#headersendmode) | How to handle the response trailers. Default is "SKIP". | - - - - ---- -### HeaderSendMode - - -Control how headers and trailers are handled - -| Name | Description | -| ----- | ----------- | -| `DEFAULT` | The default HeaderSendMode depends on which part of the message is being processed. By default, request and response headers are sent, while trailers are skipped. | -| `SEND` | Send the header or trailer. | -| `SKIP` | Do not send the header or trailer. | - - - - ---- -### BodySendMode - - -Control how the request and response bodies are handled - -| Name | Description | -| ----- | ----------- | -| `NONE` | Do not send the body at all. This is the default. | -| `STREAMED` | Stream the body to the server in pieces as they arrive at the proxy. | -| `BUFFERED` | Buffer the message body in memory and send the entire body at once. If the body exceeds the configured buffer limit, then the downstream system will receive an error. | -| `BUFFERED_PARTIAL` | Buffer the message body in memory and send the entire body in one chunk. If the body exceeds the configured buffer limit, then the body contents up to the buffer limit will be sent. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto.sk.md deleted file mode 100644 index 96dea070dee..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto.sk.md +++ /dev/null @@ -1,476 +0,0 @@ - ---- -title: "config.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.extensions.filters.http.jwt_authn.v3` -#### Types: - - -- [JwtProvider](#jwtprovider) -- [RemoteJwks](#remotejwks) -- [JwksAsyncFetch](#jwksasyncfetch) -- [JwtHeader](#jwtheader) -- [ProviderWithAudiences](#providerwithaudiences) -- [JwtRequirement](#jwtrequirement) -- [JwtRequirementOrList](#jwtrequirementorlist) -- [JwtRequirementAndList](#jwtrequirementandlist) -- [RequirementRule](#requirementrule) -- [FilterStateRule](#filterstaterule) -- [JwtAuthentication](#jwtauthentication) -- [PerRouteConfig](#perrouteconfig) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/filters/http/jwt_authn/v3/config.proto) - - - - - ---- -### JwtProvider - - -Please see following for JWT authentication flow: - -* [JSON Web Token (JWT)](https://datatracker.ietf.org/doc/html/rfc7519) -* [The OAuth 2.0 Authorization Framework](https://datatracker.ietf.org/doc/html/rfc6749) -* [OpenID Connect](http://openid.net/connect) - -A JwtProvider message specifies how a JSON Web Token (JWT) can be verified. It specifies: - -* issuer: the principal that issues the JWT. If specified, it has to match the *iss* field in JWT. -* allowed audiences: the ones in the token have to be listed here. -* how to fetch public key JWKS to verify the token signature. -* how to extract JWT token in the request. -* how to pass successfully verified token payload. - -Example: - -.. code-block:: yaml - - issuer: https://example.com - audiences: - - bookstore_android.apps.googleusercontent.com - - bookstore_web.apps.googleusercontent.com - remote_jwks: - http_uri: - uri: https://example.com/.well-known/jwks.json - cluster: example_jwks_cluster - timeout: 1s - cache_duration: - seconds: 300 - -[#next-free-field: 11] - -```yaml -"issuer": string -"audiences": []string -"remoteJwks": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.RemoteJwks -"localJwks": .solo.io.envoy.config.core.v3.DataSource -"forward": bool -"fromHeaders": []solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtHeader -"fromParams": []string -"forwardPayloadHeader": string -"payloadInMetadata": string -"clockSkewSeconds": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `issuer` | `string` | Specify the [principal](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.1) that issued the JWT, usually a URL or an email address. It is optional. If specified, it has to match the *iss* field in JWT. If a JWT has *iss* field and this field is specified, they have to match, otherwise the JWT *iss* field is not checked. Note: *JwtRequirement* :ref:`allow_missing ` and :ref:`allow_missing_or_failed ` are implemented differently than other *JwtRequirements*. Hence the usage of this field is different as follows if *allow_missing* or *allow_missing_or_failed* is used: * If a JWT has *iss* field, it needs to be specified by this field in one of *JwtProviders*. * If a JWT doesn't have *iss* field, one of *JwtProviders* should fill this field empty. * Multiple *JwtProviders* should not have same value in this field. Example: https://securetoken.google.com Example: 1234567-compute@developer.gserviceaccount.com. | -| `audiences` | `[]string` | The list of JWT [audiences](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.3) are allowed to access. A JWT containing any of these audiences will be accepted. If not specified, will not check audiences in the token. Example: .. code-block:: yaml audiences: - bookstore_android.apps.googleusercontent.com - bookstore_web.apps.googleusercontent.com. | -| `remoteJwks` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.RemoteJwks](../config.proto.sk/#remotejwks) | JWKS can be fetched from remote server via HTTP/HTTPS. This field specifies the remote HTTP URI and how the fetched JWKS should be cached. Example: .. code-block:: yaml remote_jwks: http_uri: uri: https://www.googleapis.com/oauth2/v1/certs cluster: jwt.www.googleapis.com|443 timeout: 1s cache_duration: seconds: 300. Only one of `remoteJwks` or `localJwks` can be set. | -| `localJwks` | [.solo.io.envoy.config.core.v3.DataSource](../../../../../../config/core/v3/base.proto.sk/#datasource) | JWKS is in local data source. It could be either in a local file or embedded in the inline_string. Example: local file .. code-block:: yaml local_jwks: filename: /etc/envoy/jwks/jwks1.txt Example: inline_string .. code-block:: yaml local_jwks: inline_string: ACADADADADA. Only one of `localJwks` or `remoteJwks` can be set. | -| `forward` | `bool` | If false, the JWT is removed in the request after a success verification. If true, the JWT is not removed in the request. Default value is false. | -| `fromHeaders` | [[]solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtHeader](../config.proto.sk/#jwtheader) | Two fields below define where to extract the JWT from an HTTP request. If no explicit location is specified, the following default locations are tried in order: 1. The Authorization header using the [Bearer schema](https://datatracker.ietf.org/doc/html/rfc6750#section-2.1). Example:: Authorization: Bearer . 2. [access_token](https://datatracker.ietf.org/doc/html/rfc6750#section-2.3) query parameter. Multiple JWTs can be verified for a request. Each JWT has to be extracted from the locations its provider specified or from the default locations. Specify the HTTP headers to extract JWT token. For examples, following config: .. code-block:: yaml from_headers: - name: x-goog-iap-jwt-assertion can be used to extract token from header:: `x-goog-iap-jwt-assertion: `. | -| `fromParams` | `[]string` | JWT is sent in a query parameter. `jwt_params` represents the query parameter names. For example, if config is: .. code-block:: yaml from_params: - jwt_token The JWT format in query parameter is:: /path?jwt_token=. | -| `forwardPayloadHeader` | `string` | This field specifies the header name to forward a successfully verified JWT payload to the backend. The forwarded data is:: base64url_encoded(jwt_payload_in_JSON) If it is not specified, the payload will not be forwarded. | -| `payloadInMetadata` | `string` | If non empty, successfully verified JWT payloads will be written to StreamInfo DynamicMetadata in the format as: *namespace* is the jwt_authn filter name as **envoy.filters.http.jwt_authn** The value is the *protobuf::Struct*. The value of this field will be the key for its *fields* and the value is the *protobuf::Struct* converted from JWT JSON payload. For example, if payload_in_metadata is *my_payload*: .. code-block:: yaml envoy.filters.http.jwt_authn: my_payload: iss: https://example.com sub: test@example.com aud: https://example.com exp: 1501281058. | -| `clockSkewSeconds` | `int` | Specify the clock skew in seconds when verifying JWT time constraint, such as `exp`, and `nbf`. If not specified, default is 60 seconds. | - - - - ---- -### RemoteJwks - - -This message specifies how to fetch JWKS from remote and how to cache it. - -```yaml -"httpUri": .solo.io.envoy.config.core.v3.HttpUri -"cacheDuration": .google.protobuf.Duration -"asyncFetch": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwksAsyncFetch - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `httpUri` | [.solo.io.envoy.config.core.v3.HttpUri](../../../../../../config/core/v3/http_uri.proto.sk/#httpuri) | The HTTP URI to fetch the JWKS. For example: .. code-block:: yaml http_uri: uri: https://www.googleapis.com/oauth2/v1/certs cluster: jwt.www.googleapis.com|443 timeout: 1s. | -| `cacheDuration` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Duration after which the cached JWKS should be expired. If not specified, default cache duration is 5 minutes. | -| `asyncFetch` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwksAsyncFetch](../config.proto.sk/#jwksasyncfetch) | Fetch Jwks asynchronously in the main thread before the listener is activated. Fetched Jwks can be used by all worker threads. If this feature is not enabled: * The Jwks is fetched on-demand when the requests come. During the fetching, first few requests are paused until the Jwks is fetched. * Each worker thread fetches its own Jwks since Jwks cache is per worker thread. If this feature is enabled: * Fetched Jwks is done in the main thread before the listener is activated. Its fetched Jwks can be used by all worker threads. Each worker thread doesn't need to fetch its own. * Jwks is ready when the requests come, not need to wait for the Jwks fetching. | - - - - ---- -### JwksAsyncFetch - - -Fetch Jwks asynchronously in the main thread when the filter config is parsed. -The listener is activated only after the Jwks is fetched. -When the Jwks is expired in the cache, it is fetched again in the main thread. -The fetched Jwks from the main thread can be used by all worker threads. - -```yaml -"fastListener": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `fastListener` | `bool` | If false, the listener is activated after the initial fetch is completed. The initial fetch result can be either successful or failed. If true, it is activated without waiting for the initial fetch to complete. Default is false. | - - - - ---- -### JwtHeader - - -This message specifies a header location to extract JWT token. - -```yaml -"name": string -"valuePrefix": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The HTTP header name. | -| `valuePrefix` | `string` | The value prefix. The value format is "value_prefix" For example, for "Authorization: Bearer ", value_prefix="Bearer " with a space at the end. | - - - - ---- -### ProviderWithAudiences - - -Specify a required provider with audiences. - -```yaml -"providerName": string -"audiences": []string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `providerName` | `string` | Specify a required provider name. | -| `audiences` | `[]string` | This field overrides the one specified in the JwtProvider. | - - - - ---- -### JwtRequirement - - -This message specifies a Jwt requirement. An empty message means JWT verification is not -required. Here are some config examples: - -.. code-block:: yaml - - # Example 1: not required with an empty message - - # Example 2: require A - provider_name: provider-A - - # Example 3: require A or B - requires_any: - requirements: - - provider_name: provider-A - - provider_name: provider-B - - # Example 4: require A and B - requires_all: - requirements: - - provider_name: provider-A - - provider_name: provider-B - - # Example 5: require A and (B or C) - requires_all: - requirements: - - provider_name: provider-A - - requires_any: - requirements: - - provider_name: provider-B - - provider_name: provider-C - - # Example 6: require A or (B and C) - requires_any: - requirements: - - provider_name: provider-A - - requires_all: - requirements: - - provider_name: provider-B - - provider_name: provider-C - - # Example 7: A is optional (if token from A is provided, it must be valid, but also allows - missing token.) - requires_any: - requirements: - - provider_name: provider-A - - allow_missing: {} - - # Example 8: A is optional and B is required. - requires_all: - requirements: - - requires_any: - requirements: - - provider_name: provider-A - - allow_missing: {} - - provider_name: provider-B - -[#next-free-field: 7] - -```yaml -"providerName": string -"providerAndAudiences": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.ProviderWithAudiences -"requiresAny": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementOrList -"requiresAll": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementAndList -"allowMissingOrFailed": .google.protobuf.Empty -"allowMissing": .google.protobuf.Empty - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `providerName` | `string` | Specify a required provider name. Only one of `providerName`, `providerAndAudiences`, `requiresAny`, `requiresAll`, `allowMissingOrFailed`, or `allowMissing` can be set. | -| `providerAndAudiences` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.ProviderWithAudiences](../config.proto.sk/#providerwithaudiences) | Specify a required provider with audiences. Only one of `providerAndAudiences`, `providerName`, `requiresAny`, `requiresAll`, `allowMissingOrFailed`, or `allowMissing` can be set. | -| `requiresAny` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementOrList](../config.proto.sk/#jwtrequirementorlist) | Specify list of JwtRequirement. Their results are OR-ed. If any one of them passes, the result is passed. Only one of `requiresAny`, `providerName`, `providerAndAudiences`, `requiresAll`, `allowMissingOrFailed`, or `allowMissing` can be set. | -| `requiresAll` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirementAndList](../config.proto.sk/#jwtrequirementandlist) | Specify list of JwtRequirement. Their results are AND-ed. All of them must pass, if one of them fails or missing, it fails. Only one of `requiresAll`, `providerName`, `providerAndAudiences`, `requiresAny`, `allowMissingOrFailed`, or `allowMissing` can be set. | -| `allowMissingOrFailed` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | The requirement is always satisfied even if JWT is missing or the JWT verification fails. A typical usage is: this filter is used to only verify JWTs and pass the verified JWT payloads to another filter, the other filter will make decision. In this mode, all JWT tokens will be verified. Only one of `allowMissingOrFailed`, `providerName`, `providerAndAudiences`, `requiresAny`, `requiresAll`, or `allowMissing` can be set. | -| `allowMissing` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | The requirement is satisfied if JWT is missing, but failed if JWT is presented but invalid. Similar to allow_missing_or_failed, this is used to only verify JWTs and pass the verified payload to another filter. The different is this mode will reject requests with invalid tokens. Only one of `allowMissing`, `providerName`, `providerAndAudiences`, `requiresAny`, `requiresAll`, or `allowMissingOrFailed` can be set. | - - - - ---- -### JwtRequirementOrList - - -This message specifies a list of RequiredProvider. -Their results are OR-ed; if any one of them passes, the result is passed - -```yaml -"requirements": []solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requirements` | [[]solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement](../config.proto.sk/#jwtrequirement) | Specify a list of JwtRequirement. | - - - - ---- -### JwtRequirementAndList - - -This message specifies a list of RequiredProvider. -Their results are AND-ed; all of them must pass, if one of them fails or missing, it fails. - -```yaml -"requirements": []solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requirements` | [[]solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement](../config.proto.sk/#jwtrequirement) | Specify a list of JwtRequirement. | - - - - ---- -### RequirementRule - - -This message specifies a Jwt requirement for a specific Route condition. -Example 1: - -.. code-block:: yaml - - - match: - prefix: /healthz - -In above example, "requires" field is empty for /healthz prefix match, -it means that requests matching the path prefix don't require JWT authentication. - -Example 2: - -.. code-block:: yaml - - - match: - prefix: / - requires: { provider_name: provider-A } - -In above example, all requests matched the path prefix require jwt authentication -from "provider-A". - -```yaml -"match": .solo.io.envoy.config.route.v3.RouteMatch -"requires": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement -"requirementName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `match` | [.solo.io.envoy.config.route.v3.RouteMatch](../../../../../../config/route/v3/route_components.proto.sk/#routematch) | The route matching parameter. Only when the match is satisfied, the "requires" field will apply. For example: following match will match all requests. .. code-block:: yaml match: prefix: /. | -| `requires` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtRequirement](../config.proto.sk/#jwtrequirement) | Specify a Jwt requirement. Please see detail comment in message JwtRequirement. Only one of `requires` or `requirementName` can be set. | -| `requirementName` | `string` | Use requirement_name to specify a Jwt requirement. This requirement_name MUST be specified at the :ref:`requirement_map ` in `JwtAuthentication`. Only one of `requirementName` or `requires` can be set. | - - - - ---- -### FilterStateRule - - -This message specifies Jwt requirements based on stream_info.filterState. -This FilterState should use `Router::StringAccessor` object to set a string value. -Other HTTP filters can use it to specify Jwt requirements dynamically. - -Example: - -.. code-block:: yaml - - name: jwt_selector - requires: - issuer_1: - provider_name: issuer1 - issuer_2: - provider_name: issuer2 - -If a filter set "jwt_selector" with "issuer_1" to FilterState for a request, -jwt_authn filter will use JwtRequirement{"provider_name": "issuer1"} to verify. - -```yaml -"name": string -"requires": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | The filter state name to retrieve the `Router::StringAccessor` object. | -| `requires` | `map` | A map of string keys to requirements. The string key is the string value in the FilterState with the name specified in the *name* field above. | - - - - ---- -### JwtAuthentication - - -This is the Envoy HTTP filter config for JWT authentication. - -For example: - -.. code-block:: yaml - - providers: - provider1: - issuer: issuer1 - audiences: - - audience1 - - audience2 - remote_jwks: - http_uri: - uri: https://example.com/.well-known/jwks.json - cluster: example_jwks_cluster - timeout: 1s - provider2: - issuer: issuer2 - local_jwks: - inline_string: jwks_string - - rules: - # Not jwt verification is required for /health path - - match: - prefix: /health - - # Jwt verification for provider1 is required for path prefixed with "prefix" - - match: - prefix: /prefix - requires: - provider_name: provider1 - - # Jwt verification for either provider1 or provider2 is required for all other requests. - - match: - prefix: / - requires: - requires_any: - requirements: - - provider_name: provider1 - - provider_name: provider2 - -[#next-free-field: 6] - -```yaml -"providers": map -"rules": []solo.io.envoy.extensions.filters.http.jwt_authn.v3.RequirementRule -"filterStateRules": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.FilterStateRule -"bypassCorsPreflight": bool -"requirementMap": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `providers` | `map` | Map of provider names to JwtProviders. .. code-block:: yaml providers: provider1: issuer: issuer1 audiences: - audience1 - audience2 remote_jwks: http_uri: uri: https://example.com/.well-known/jwks.json cluster: example_jwks_cluster timeout: 1s provider2: issuer: provider2 local_jwks: inline_string: jwks_string. | -| `rules` | [[]solo.io.envoy.extensions.filters.http.jwt_authn.v3.RequirementRule](../config.proto.sk/#requirementrule) | Specifies requirements based on the route matches. The first matched requirement will be applied. If there are overlapped match conditions, please put the most specific match first. Examples .. code-block:: yaml rules: - match: prefix: /healthz - match: prefix: /baz requires: provider_name: provider1 - match: prefix: /foo requires: requires_any: requirements: - provider_name: provider1 - provider_name: provider2 - match: prefix: /bar requires: requires_all: requirements: - provider_name: provider1 - provider_name: provider2. | -| `filterStateRules` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.FilterStateRule](../config.proto.sk/#filterstaterule) | This message specifies Jwt requirements based on stream_info.filterState. Other HTTP filters can use it to specify Jwt requirements dynamically. The *rules* field above is checked first, if it could not find any matches, check this one. | -| `bypassCorsPreflight` | `bool` | When set to true, bypass the [CORS preflight request](http://www.w3.org/TR/cors/#cross-origin-request-with-preflight) regardless of JWT requirements specified in the rules. | -| `requirementMap` | `map` | A map of unique requirement_names to JwtRequirements. :ref:`requirement_name ` in `PerRouteConfig` uses this map to specify a JwtRequirement. | - - - - ---- -### PerRouteConfig - - -Specify per-route config. - -```yaml -"disabled": bool -"requirementName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `disabled` | `bool` | Disable Jwt Authentication for this route. Only one of `disabled` or `requirementName` can be set. | -| `requirementName` | `string` | Use requirement_name to specify a JwtRequirement. This requirement_name MUST be specified at the :ref:`requirement_map ` in `JwtAuthentication`. If no, the requests using this route will be rejected with 403. Only one of `requirementName` or `disabled` can be set. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto.sk.md deleted file mode 100644 index 003599e2918..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto.sk.md +++ /dev/null @@ -1,49 +0,0 @@ - ---- -title: "wasm.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.extensions.filters.http.wasm.v3` -copied from https://github.com/envoyproxy/envoy-wasm/blob/2721ee7897207c87c6cd2d26cccda6cc805e826b/api/envoy/extensions/filters/http/wasm/v3/wasm.proto - - - -#### Types: - - -- [Wasm](#wasm) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/filters/http/wasm/v3/wasm.proto) - - - - - ---- -### Wasm - - - -```yaml -"config": .solo.io.envoy.extensions.wasm.v3.PluginConfig - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `config` | [.solo.io.envoy.extensions.wasm.v3.PluginConfig](../../../../../wasm/v3/wasm.proto.sk/#pluginconfig) | General Plugin configuration. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto.sk.md deleted file mode 100644 index 042f9d13348..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto.sk.md +++ /dev/null @@ -1,814 +0,0 @@ - ---- -title: "graphql.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.graphql.v2` -#### Types: - - -- [PathSegment](#pathsegment) -- [Path](#path) -- [TemplatedPath](#templatedpath) -- [ValueProvider](#valueprovider) -- [GraphQLArgExtraction](#graphqlargextraction) -- [GraphQLParentExtraction](#graphqlparentextraction) -- [TypedValueProvider](#typedvalueprovider) -- [Type](#type) -- [Provider](#provider) -- [JsonValueList](#jsonvaluelist) -- [JsonValue](#jsonvalue) -- [JsonKeyValue](#jsonkeyvalue) -- [JsonNode](#jsonnode) -- [RequestTemplate](#requesttemplate) -- [ResponseTemplate](#responsetemplate) -- [RESTResolver](#restresolver) -- [GrpcRequestTemplate](#grpcrequesttemplate) -- [GrpcDescriptorRegistry](#grpcdescriptorregistry) -- [GrpcResolver](#grpcresolver) -- [StaticResolver](#staticresolver) -- [AsyncResponse](#asyncresponse) -- [AbstractTypeResolver](#abstracttyperesolver) -- [QueryMatcher](#querymatcher) -- [FieldMatcher](#fieldmatcher) -- [Resolution](#resolution) -- [CacheControl](#cachecontrol) -- [CacheControlScope](#cachecontrolscope) -- [GraphQLConfig](#graphqlconfig) -- [GraphQLRouteConfig](#graphqlrouteconfig) -- [PersistedQueryCacheConfig](#persistedquerycacheconfig) -- [ExecutableSchema](#executableschema) -- [Executor](#executor) -- [Local](#local) -- [Remote](#remote) -- [Extraction](#extraction) -- [DynamicMetadataExtraction](#dynamicmetadataextraction) -- [RemoteSchemaRequest](#remoteschemarequest) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/graphql/graphql.proto) - - - - - ---- -### PathSegment - - -used to reference into json structures by key(s) - -```yaml -"key": string -"index": int -"all": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | This will extract a key from a Map value. Only one of `key`, `index`, or `all` can be set. | -| `index` | `int` | Extract element at list. Only one of `index`, `key`, or `all` can be set. | -| `all` | `bool` | Extracts all elements from a map or a list. Only one of `all`, `key`, or `index` can be set. | - - - - ---- -### Path - - - -```yaml -"segments": []envoy.config.filter.http.graphql.v2.PathSegment - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `segments` | [[]envoy.config.filter.http.graphql.v2.PathSegment](../graphql.proto.sk/#pathsegment) | | - - - - ---- -### TemplatedPath - - - -```yaml -"pathTemplate": string -"namedPaths": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `pathTemplate` | `string` | If non-empty, Inserts named paths into a template string. For example, if the template is '/api/{apiVersionPath}/pet/{petIdPath}' and we have two named paths defined in `named_paths`, apiVersionPath and petIdPath, with extracted values 'v2' and '123' respectively, the final resulting value will be '/api/v2/pet/123' Use {PATH_NAME} as the interpolation notation (even repeated) regardless of the type of the provided value. If an undefined PATH_NAME is used in the template, this will nack during configuration. If this is empty, only the value of the first provider will be used as the resulting value. | -| `namedPaths` | `map` | | - - - - ---- -### ValueProvider - - -In the future we may add support for regex and subgroups - -```yaml -"providers": map -"providerTemplate": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `providers` | `map` | Map of provider name to provider definition. The name will be used to insert the provider value in the provider_template. | -| `providerTemplate` | `string` | If non-empty, Inserts named providers into a template string. For example, if the provider_template is '/api/{apiVersionProvider}/pet/{petIdProvider}' and we have two named providers defined in `providers`, apiVersionProvider and petIdProvider, with extracted values 'v2' and '123' respectively, the final resulting value will be '/api/v2/pet/123' Use {PROVIDER_NAME} as the interpolation notation (even repeated) regardless of the type of the provided value. If an undefined PROVIDER_NAME is used in the provider_template, this will nack during configuration. If this is empty, only the value of the first provider will be used as the resulting value. | - - - - ---- -### GraphQLArgExtraction - - - -```yaml -"argName": string -"path": []envoy.config.filter.http.graphql.v2.PathSegment - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `argName` | `string` | The argument name to fetch. The argument value fetched will have a type from the schema that we validate in envoy. If the name is invalid, returns the zero-value primitive or null. | -| `path` | [[]envoy.config.filter.http.graphql.v2.PathSegment](../graphql.proto.sk/#pathsegment) | Optional: fetches the value in the argument selected at this key. If the key is invalid, returns the zero-value primitive or null. | - - - - ---- -### GraphQLParentExtraction - - -Does not do type coercion, but instead if the type does not match the -expected primitive type we throw an error. -In the future we may add support for type coercion. - -```yaml -"path": []envoy.config.filter.http.graphql.v2.PathSegment - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `path` | [[]envoy.config.filter.http.graphql.v2.PathSegment](../graphql.proto.sk/#pathsegment) | Fetches the value in the graphql parent at this key. The value will always be accepted since the parent object is not strongly-typed. If the key is invalid, returns null. | - - - - ---- -### TypedValueProvider - - - -```yaml -"type": .envoy.config.filter.http.graphql.v2.ValueProvider.TypedValueProvider.Type -"header": string -"value": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `type` | [.envoy.config.filter.http.graphql.v2.ValueProvider.TypedValueProvider.Type](../graphql.proto.sk/#type) | Type that the value will be coerced into. For example if the extracted value is "9", and type is INT, this value will be cast to an int type. | -| `header` | `string` | Fetches the request/response header's value. If not found, uses empty string. Only one of `header` or `value` can be set. | -| `value` | `string` | inline value, use as provided rather than extracting from another source. Only one of `value` or `header` can be set. | - - - - ---- -### Type - - -if empty, defaults to string. similar to typeUrl in other envoy config - -| Name | Description | -| ----- | ----------- | -| `STRING` | | -| `INT` | | -| `FLOAT` | | -| `BOOLEAN` | | - - - - ---- -### Provider - - - -```yaml -"graphqlArg": .envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLArgExtraction -"typedProvider": .envoy.config.filter.http.graphql.v2.ValueProvider.TypedValueProvider -"graphqlParent": .envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLParentExtraction - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `graphqlArg` | [.envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLArgExtraction](../graphql.proto.sk/#graphqlargextraction) | type inferred from schema, no need to provide it. Only one of `graphqlArg`, `typedProvider`, or `graphqlParent` can be set. | -| `typedProvider` | [.envoy.config.filter.http.graphql.v2.ValueProvider.TypedValueProvider](../graphql.proto.sk/#typedvalueprovider) | Only one of `typedProvider`, `graphqlArg`, or `graphqlParent` can be set. | -| `graphqlParent` | [.envoy.config.filter.http.graphql.v2.ValueProvider.GraphQLParentExtraction](../graphql.proto.sk/#graphqlparentextraction) | Fetch value from the graphql_parent of the current field. Only one of `graphqlParent`, `graphqlArg`, or `typedProvider` can be set. | - - - - ---- -### JsonValueList - - - -```yaml -"values": []envoy.config.filter.http.graphql.v2.JsonValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `values` | [[]envoy.config.filter.http.graphql.v2.JsonValue](../graphql.proto.sk/#jsonvalue) | | - - - - ---- -### JsonValue - - - -```yaml -"node": .envoy.config.filter.http.graphql.v2.JsonNode -"valueProvider": .envoy.config.filter.http.graphql.v2.ValueProvider -"list": .envoy.config.filter.http.graphql.v2.JsonValueList - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `node` | [.envoy.config.filter.http.graphql.v2.JsonNode](../graphql.proto.sk/#jsonnode) | Only one of `node`, `valueProvider`, or `list` can be set. | -| `valueProvider` | [.envoy.config.filter.http.graphql.v2.ValueProvider](../graphql.proto.sk/#valueprovider) | Only one of `valueProvider`, `node`, or `list` can be set. | -| `list` | [.envoy.config.filter.http.graphql.v2.JsonValueList](../graphql.proto.sk/#jsonvaluelist) | Only one of `list`, `node`, or `valueProvider` can be set. | - - - - ---- -### JsonKeyValue - - - -```yaml -"key": string -"value": .envoy.config.filter.http.graphql.v2.JsonValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | PARTIALLY IMPLEMENTED if empty, the value will be parsed as json and replace the entire previously-parsed json value --> this part is only needed for gRPC and thus not implemented yet. | -| `value` | [.envoy.config.filter.http.graphql.v2.JsonValue](../graphql.proto.sk/#jsonvalue) | | - - - - ---- -### JsonNode - - -Represents a typed JSON structure - -```yaml -"keyValues": []envoy.config.filter.http.graphql.v2.JsonKeyValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `keyValues` | [[]envoy.config.filter.http.graphql.v2.JsonKeyValue](../graphql.proto.sk/#jsonkeyvalue) | if keys repeat, the latest one replaces any earlier values associated with that key. repeated list, rather than a map, to have ordering to allow for merge semantics within the data plane, for example: - gRPC input uses special empty string for input key to set entire body - gRPC wants to replace a certain field in parsed body from GraphQL arg. | - - - - ---- -### RequestTemplate - - -Defines a configuration for generating outgoing requests for a resolver. - -```yaml -"headers": map -"queryParams": map -"outgoingBody": .envoy.config.filter.http.graphql.v2.JsonValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headers` | `map` | Use this attribute to set request headers to your REST service. It consists of a map of strings to value providers. The string key determines the name of the resulting header, the value provided will be the value. at least need ":method" and ":path". | -| `queryParams` | `map` | Use this attribute to set query parameters to your REST service. It consists of a map of strings to value providers. The string key determines the name of the query param, the provided value will be the value. This value is appended to any value set to the :path header in `headers`. Interpolation is done in envoy rather than the control plane to prevent escaped character issues. Additionally, we may be providing values not known until the request is being executed (e.g., graphql parent info). | -| `outgoingBody` | [.envoy.config.filter.http.graphql.v2.JsonValue](../graphql.proto.sk/#jsonvalue) | implementation specific, gRPC will want gRPC message and struct to instantiate. | - - - - ---- -### ResponseTemplate - - -Defines a response transformation template. -modify JSON response from upstream before it is processed by execution engine. - -```yaml -"resultRoot": []envoy.config.filter.http.graphql.v2.PathSegment -"setters": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `resultRoot` | [[]envoy.config.filter.http.graphql.v2.PathSegment](../graphql.proto.sk/#pathsegment) | In cases where the data to populate the graphql type is not in the root object of the result, use result root to specify the path of the response we should use as the root. If {"a": {"b": [1,2,3]}} is the response from the api, setting resultroot as `a.b` will pass on [1,2,3] to the execution engine rather than the whole api response. | -| `setters` | `map` | Example: ``` type Query { getSimple: Simple } type Simple { name String address String }``` if we do `getsimple` and the response we get back from the upstream is ``` {"data": { "people": { "name": "John Doe", "details": { "address": "123 Turnip Rd" } } } } ``` the following response transform would let the graphql execution engine correctly marshal the upstream resposne into the expected graphql response: ` responseTransform: result_root: segments: - key: data - key: people setters: address: segments: - key: details - key: address `yaml. | - - - - ---- -### RESTResolver - - - -```yaml -"serverUri": .solo.io.envoy.config.core.v3.HttpUri -"requestTransform": .envoy.config.filter.http.graphql.v2.RequestTemplate -"preExecutionTransform": .envoy.config.filter.http.graphql.v2.ResponseTemplate -"spanName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `serverUri` | [.solo.io.envoy.config.core.v3.HttpUri](../../../config/core/v3/http_uri.proto.sk/#httpuri) | | -| `requestTransform` | [.envoy.config.filter.http.graphql.v2.RequestTemplate](../graphql.proto.sk/#requesttemplate) | configuration used to compose the outgoing request to a REST API. | -| `preExecutionTransform` | [.envoy.config.filter.http.graphql.v2.ResponseTemplate](../graphql.proto.sk/#responsetemplate) | pre-execution engine transformations Request flow: GraphQL request -> request_transform (instantiate REST request) -> REST API resp -> pre_execution_transform -> execution engine -> complete GraphQL field response. | -| `spanName` | `string` | | - - - - ---- -### GrpcRequestTemplate - - -Defines a configuration for generating outgoing requests for a resolver. - -```yaml -"outgoingMessageJson": .envoy.config.filter.http.graphql.v2.JsonValue -"serviceName": string -"methodName": string -"requestMetadata": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `outgoingMessageJson` | [.envoy.config.filter.http.graphql.v2.JsonValue](../graphql.proto.sk/#jsonvalue) | json representation of outgoing gRPC message to be sent to gRPC service. | -| `serviceName` | `string` | request has shape matching service with name registered in registry is the full_name(), e.g. main.Bookstore. | -| `methodName` | `string` | make request to method with this name on the grpc service defined above is just the name(), e.g. GetBook. | -| `requestMetadata` | `map` | in the future, we may want to make this a map once we know better what the use cases are. | - - - - ---- -### GrpcDescriptorRegistry - - -Defines a configuration for serializing and deserializing requests for a gRPC resolver. -Is a Schema Extension - -```yaml -"protoDescriptors": .solo.io.envoy.config.core.v3.DataSource - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `protoDescriptors` | [.solo.io.envoy.config.core.v3.DataSource](../../../config/core/v3/base.proto.sk/#datasource) | | - - - - ---- -### GrpcResolver - - - -```yaml -"serverUri": .solo.io.envoy.config.core.v3.HttpUri -"requestTransform": .envoy.config.filter.http.graphql.v2.GrpcRequestTemplate -"spanName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `serverUri` | [.solo.io.envoy.config.core.v3.HttpUri](../../../config/core/v3/http_uri.proto.sk/#httpuri) | | -| `requestTransform` | [.envoy.config.filter.http.graphql.v2.GrpcRequestTemplate](../graphql.proto.sk/#grpcrequesttemplate) | configuration used to compose the outgoing request to a gRPC endpoint. | -| `spanName` | `string` | pre-execution engine transformations Request flow: GraphQL request -> request_transform (instantiate gRPC request) -> gRPC API resp -> pre_execution_transform -> execution engine -> complete GraphQL field response ResponseTemplate pre_execution_transform = 3;. | - - - - ---- -### StaticResolver - - -Only meant for integration testing - -```yaml -"syncResponse": string -"asyncResponse": .envoy.config.filter.http.graphql.v2.StaticResolver.AsyncResponse -"errorResponse": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `syncResponse` | `string` | Responds synchronously (on the same dispatch loop as the resolve call). Only one of `syncResponse`, `asyncResponse`, or `errorResponse` can be set. | -| `asyncResponse` | [.envoy.config.filter.http.graphql.v2.StaticResolver.AsyncResponse](../graphql.proto.sk/#asyncresponse) | Responds asynchronously after delay_ms. Only one of `asyncResponse`, `syncResponse`, or `errorResponse` can be set. | -| `errorResponse` | `string` | Only one of `errorResponse`, `syncResponse`, or `asyncResponse` can be set. | - - - - ---- -### AsyncResponse - - - -```yaml -"response": string -"delayMs": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `response` | `string` | | -| `delayMs` | `int` | | - - - - ---- -### AbstractTypeResolver - - -NOT IMPLEMENTED -Resolve an abstract type (union or interface) to a real type. -When implemented, this message will be a field in the Resolution message. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### QueryMatcher - - - -```yaml -"fieldMatcher": .envoy.config.filter.http.graphql.v2.QueryMatcher.FieldMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `fieldMatcher` | [.envoy.config.filter.http.graphql.v2.QueryMatcher.FieldMatcher](../graphql.proto.sk/#fieldmatcher) | | - - - - ---- -### FieldMatcher - - - -```yaml -"type": string -"field": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `type` | `string` | Object type. For example, Query. | -| `field` | `string` | Field within the object. | - - - - ---- -### Resolution - - -This is the resolver map for the schema. -For each Type.Field, we can define a resolver. -if a field does not have resolver, the default resolver will be used. -the default resolver takes the field with the same name from the parent, and -uses that value to resolve the field. if a field with the same name does not -exist in the parent, null will be used. - -```yaml -"matcher": .envoy.config.filter.http.graphql.v2.QueryMatcher -"resolver": .solo.io.envoy.config.core.v3.TypedExtensionConfig -"statPrefix": string -"cacheControl": .envoy.config.filter.http.graphql.v2.CacheControl - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `matcher` | [.envoy.config.filter.http.graphql.v2.QueryMatcher](../graphql.proto.sk/#querymatcher) | Match an object type and field. | -| `resolver` | [.solo.io.envoy.config.core.v3.TypedExtensionConfig](../../../config/core/v3/extension.proto.sk/#typedextensionconfig) | The resolver to use. | -| `statPrefix` | `string` | The stats prefix which will be used for this resolver. | -| `cacheControl` | [.envoy.config.filter.http.graphql.v2.CacheControl](../graphql.proto.sk/#cachecontrol) | caching configuration, defaults to no caching. | - - - - ---- -### CacheControl - - -Resolvers for scalar, non-root fields rarely fetch data and instead usually populate data via the parent argument. -Consequently, these fields inherit their default maxAge from their parent to reduce schema clutter. - -TODO: Talk with product -- apollo does not do this, but we could factor in upstream Cache-Control header -response into our inheritance model. - -```yaml -"maxAge": .google.protobuf.UInt32Value -"scope": .envoy.config.filter.http.graphql.v2.CacheControl.CacheControlScope -"inheritMaxAge": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `maxAge` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | number of seconds to cache result for. the max_age used for a single graphql request is the minimum of all fields requested. default max_age rules work as follows: - root fields (i.e. Query, Mutation, Subscription) default to 0s - non-root, non-scalar fields (i.e. object, interface, or union; or a list of those types) default to 0s - all other fields inherit the max_age from their parent. | -| `scope` | [.envoy.config.filter.http.graphql.v2.CacheControl.CacheControlScope](../graphql.proto.sk/#cachecontrolscope) | provide controls to which users can access cached content. | -| `inheritMaxAge` | `bool` | whether or not to inherit the caching configuration of any parent fields. | - - - - ---- -### CacheControlScope - - - -| Name | Description | -| ----- | ----------- | -| `UNSET` | | -| `PUBLIC` | Responses for requests with Authorization header fields must not be stored in a shared cache. But the public directive will cause such responses to be stored in a shared cache. In general, when pages are under Basic Auth or Digest Auth, the browser sends requests with the Authorization header. That means the response is access-controlled for restricted users (who have accounts), and it's fundamentally not shared-cacheable, even if it has max-age. You can use the public directive to unlock that restriction. | -| `PRIVATE` | You should add the private directive for user-personalized content — in particular, responses received after login, and sessions managed via cookies. If you forget to add private to a response with personalized content, then that response can be stored in a shared cache and end up being reused for multiple users, which can cause personal information to leak. | - - - - ---- -### GraphQLConfig - - -Filter Listener config. Empty as the filter must be configured on the route -level. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### GraphQLRouteConfig - - -Filter Route config. Routes that have this config will execute graphql -queries, and will not make it to the router filter. i.e. this filter will -terminate the request for these routes. - -```yaml -"executableSchema": .envoy.config.filter.http.graphql.v2.ExecutableSchema -"statPrefix": string -"persistedQueryCacheConfig": .envoy.config.filter.http.graphql.v2.PersistedQueryCacheConfig -"allowedQueryHashes": []string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `executableSchema` | [.envoy.config.filter.http.graphql.v2.ExecutableSchema](../graphql.proto.sk/#executableschema) | | -| `statPrefix` | `string` | The stats prefix which will be used for this route config. | -| `persistedQueryCacheConfig` | [.envoy.config.filter.http.graphql.v2.PersistedQueryCacheConfig](../graphql.proto.sk/#persistedquerycacheconfig) | Configuration settings for persisted query cache. | -| `allowedQueryHashes` | `[]string` | Safelist: only allow queries to be executed that match these sha256 hashes. The hash can be computed from the query string or provided (i.e. persisted queries). | - - - - ---- -### PersistedQueryCacheConfig - - -This message specifies Persisted Query Cache configuration. - -```yaml -"cacheSize": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `cacheSize` | `int` | The unit is number of queries to store, default to 1000. | - - - - ---- -### ExecutableSchema - - - -```yaml -"schemaDefinition": .solo.io.envoy.config.core.v3.DataSource -"executor": .envoy.config.filter.http.graphql.v2.Executor -"extensions": map -"logRequestResponseInfo": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `schemaDefinition` | [.solo.io.envoy.config.core.v3.DataSource](../../../config/core/v3/base.proto.sk/#datasource) | Schema to use in string format. | -| `executor` | [.envoy.config.filter.http.graphql.v2.Executor](../graphql.proto.sk/#executor) | how to execute the schema. | -| `extensions` | `map` | Schema extensions. | -| `logRequestResponseInfo` | `bool` | Logs request / response sensitive information By default, this is false so no request or response sensitive information is logged. | - - - - ---- -### Executor - - - -```yaml -"local": .envoy.config.filter.http.graphql.v2.Executor.Local -"remote": .envoy.config.filter.http.graphql.v2.Executor.Remote - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `local` | [.envoy.config.filter.http.graphql.v2.Executor.Local](../graphql.proto.sk/#local) | Only one of `local` or `remote` can be set. | -| `remote` | [.envoy.config.filter.http.graphql.v2.Executor.Remote](../graphql.proto.sk/#remote) | Only one of `remote` or `local` can be set. | - - - - ---- -### Local - - -Execute schema using resolvers. - -```yaml -"resolutions": []envoy.config.filter.http.graphql.v2.Resolution -"enableIntrospection": bool -"maxDepth": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `resolutions` | [[]envoy.config.filter.http.graphql.v2.Resolution](../graphql.proto.sk/#resolution) | The resolver map to use to resolve the schema. | -| `enableIntrospection` | `bool` | Do we enable introspection for the schema? general recommendation is to disable this for production and hence it defaults to false. | -| `maxDepth` | `int` | The max amount of nesting a query can be executed against this schema. e.g. the following query has these depths: query { # Depth: 0 me { # Depth: 1 friends { # Depth: 2 friends # Depth: 3 } } } If the max_depth is set to 2, then the query at depth 3 will receive an error as a response. The max_depth value of 0 (set by default) will allow an unbounded query depth. | - - - - ---- -### Remote - - -Execute schema by querying a graphql upstream. - -```yaml -"serverUri": .solo.io.envoy.config.core.v3.HttpUri -"request": .envoy.config.filter.http.graphql.v2.Executor.Remote.RemoteSchemaRequest -"spanName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `serverUri` | [.solo.io.envoy.config.core.v3.HttpUri](../../../config/core/v3/http_uri.proto.sk/#httpuri) | Server URI of the remote graphql cluster. | -| `request` | [.envoy.config.filter.http.graphql.v2.Executor.Remote.RemoteSchemaRequest](../graphql.proto.sk/#remoteschemarequest) | | -| `spanName` | `string` | | - - - - ---- -### Extraction - - - -```yaml -"value": string -"header": string -"dynamicMetadata": .envoy.config.filter.http.graphql.v2.Executor.Remote.Extraction.DynamicMetadataExtraction - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `value` | `string` | Set the extraction type to use a static value. Only one of `value`, `header`, or `dynamicMetadata` can be set. | -| `header` | `string` | Set the extraction type to use a header value. Specify the name of the header to extract the value from on the original request. Only one of `header`, `value`, or `dynamicMetadata` can be set. | -| `dynamicMetadata` | [.envoy.config.filter.http.graphql.v2.Executor.Remote.Extraction.DynamicMetadataExtraction](../graphql.proto.sk/#dynamicmetadataextraction) | Set the extraction type to use a dynamic metadata value. Only one of `dynamicMetadata`, `value`, or `header` can be set. | - - - - ---- -### DynamicMetadataExtraction - - - -```yaml -"metadataNamespace": string -"key": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `metadataNamespace` | `string` | The namespace that the dynamic metadata is stored in. | -| `key` | `string` | The key in the namespace that the dynamic metadata is stored under. | - - - - ---- -### RemoteSchemaRequest - - - -```yaml -"headers": map -"queryParams": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headers` | `map` | Map of headers to header value which will be included in the request to the remote graphql server. | -| `queryParams` | `map` | Query params to set on the request to the remote graphql server. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto.sk.md deleted file mode 100644 index 3583f6de550..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto.sk.md +++ /dev/null @@ -1,249 +0,0 @@ - ---- -title: "stitching.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.resolver.stitching.v2` -#### Types: - - -- [FieldNode](#fieldnode) -- [FieldNodeMap](#fieldnodemap) -- [FieldNodes](#fieldnodes) -- [ResolverConfig](#resolverconfig) -- [Schemas](#schemas) -- [ArgPath](#argpath) -- [ResolverInfo](#resolverinfo) -- [MergedTypeConfig](#mergedtypeconfig) -- [StitchingInfo](#stitchinginfo) -- [SubschemaConfig](#subschemaconfig) -- [StitchingResolver](#stitchingresolver) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/graphql/stitching.proto) - - - - - ---- -### FieldNode - - - -```yaml -"name": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | | - - - - ---- -### FieldNodeMap - - - -```yaml -"nodes": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `nodes` | `map` | | - - - - ---- -### FieldNodes - - - -```yaml -"fieldNodes": []envoy.config.resolver.stitching.v2.FieldNode - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `fieldNodes` | [[]envoy.config.resolver.stitching.v2.FieldNode](../stitching.proto.sk/#fieldnode) | | - - - - ---- -### ResolverConfig - - - -```yaml -"selectionSet": string -"fieldName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `selectionSet` | `string` | | -| `fieldName` | `string` | | - - - - ---- -### Schemas - - - -```yaml -"schemas": []string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `schemas` | `[]string` | | - - - - ---- -### ArgPath - - - -```yaml -"setterPath": []string -"extractionPath": []string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `setterPath` | `[]string` | Setter Path. | -| `extractionPath` | `[]string` | Extraction path. | - - - - ---- -### ResolverInfo - - - -```yaml -"fieldName": string -"args": []envoy.config.resolver.stitching.v2.ArgPath - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `fieldName` | `string` | | -| `args` | [[]envoy.config.resolver.stitching.v2.ArgPath](../stitching.proto.sk/#argpath) | | - - - - ---- -### MergedTypeConfig - - - -```yaml -"typeName": string -"selectionSets": map -"uniqueFieldsToSubschemaName": map -"nonUniqueFieldsToSubschemaNames": map -"declarativeTargetSubschemas": map -"subschemaNameToResolverInfo": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `typeName` | `string` | | -| `selectionSets` | `map` | map of subschema name to selection set string e.g. name_subschema: '{ id }'. | -| `uniqueFieldsToSubschemaName` | `map` | field name -> scema name. | -| `nonUniqueFieldsToSubschemaNames` | `map` | | -| `declarativeTargetSubschemas` | `map` | schema -> subschemas. | -| `subschemaNameToResolverInfo` | `map` | | - - - - ---- -### StitchingInfo - - -Data plane stitching info extension message - -```yaml -"fieldNodesByType": map -"fieldNodesByField": map -"mergedTypes": map -"subschemaNameToSubschemaConfig": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `fieldNodesByType` | `map` | | -| `fieldNodesByField` | `map` | | -| `mergedTypes` | `map` | | -| `subschemaNameToSubschemaConfig` | `map` | | - - - - ---- -### SubschemaConfig - - - -```yaml -"executableSchema": .envoy.config.filter.http.graphql.v2.ExecutableSchema - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `executableSchema` | [.envoy.config.filter.http.graphql.v2.ExecutableSchema](../graphql.proto.sk/#executableschema) | | - - - - ---- -### StitchingResolver - - -Config for the stitching resolver - -```yaml -"subschemaName": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `subschemaName` | `string` | Each query field comes from a specific subschema, this is the name of the subschema that the query field comes from. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto.sk.md deleted file mode 100644 index 3609817cc99..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto.sk.md +++ /dev/null @@ -1,48 +0,0 @@ - ---- -title: "http_path.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.health_checker.http_path.v2` -#### Types: - - -- [HttpPath](#httppath) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/http_path/http_path.proto) - - - - - ---- -### HttpPath - - -Same as HTTP health checker, but allows a custom path per endpoint -The http path to use can be overriden using endpoint metadata. The endpoint specific path should -be in the "io.solo.health_checkers.http_path" namespace, under a string value named "path". - -```yaml -"httpHealthCheck": .solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `httpHealthCheck` | [.solo.io.envoy.config.core.v3.HealthCheck.HttpHealthCheck](../../../config/core/v3/health_check.proto.sk/#httphealthcheck) | Http health check. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto.sk.md deleted file mode 100644 index 6137ebc9601..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto.sk.md +++ /dev/null @@ -1,131 +0,0 @@ - ---- -title: "solo_jwt_authn.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.solo_jwt_authn.v2` -#### Types: - - -- [JwtWithStage](#jwtwithstage) -- [SoloJwtAuthnPerRoute](#solojwtauthnperroute) -- [ClaimToHeader](#claimtoheader) -- [ClaimToHeaders](#claimtoheaders) -- [StagedJwtAuthnPerRoute](#stagedjwtauthnperroute) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/jwt/solo_jwt_authn.proto) - - - - - ---- -### JwtWithStage - - - -```yaml -"jwtAuthn": .solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication -"stage": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `jwtAuthn` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwtAuthentication](../../filters/http/jwt_authn/v3/config.proto.sk/#jwtauthentication) | The JwtAuthentication config for this filter. | -| `stage` | `int` | Only SoloJwtAuthnPerRoute.JwtAuthnPerRoute with matching stage will be used with this filter. | - - - - ---- -### SoloJwtAuthnPerRoute - - - -```yaml -"requirement": string -"claimsToHeaders": map -"clearRouteCache": bool -"payloadInMetadata": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requirement` | `string` | | -| `claimsToHeaders` | `map` | Copy the claims from the payload field is the key. non-existant fields are ignored. | -| `clearRouteCache` | `bool` | clear the route cache if claims were added to the header. | -| `payloadInMetadata` | `string` | To easly integrate with other filters, this will copy the payload to this name in the dynamic metadata. The payload will only be copied if one payload is present (i.e. or match). | - - - - ---- -### ClaimToHeader - - -If this is specified, one of the claims will be copied to a header -and the route cache will be cleared. - -```yaml -"claim": string -"header": string -"append": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `claim` | `string` | | -| `header` | `string` | | -| `append` | `bool` | | - - - - ---- -### ClaimToHeaders - - - -```yaml -"claims": []envoy.config.filter.http.solo_jwt_authn.v2.SoloJwtAuthnPerRoute.ClaimToHeader - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `claims` | [[]envoy.config.filter.http.solo_jwt_authn.v2.SoloJwtAuthnPerRoute.ClaimToHeader](../solo_jwt_authn.proto.sk/#claimtoheader) | | - - - - ---- -### StagedJwtAuthnPerRoute - - - -```yaml -"jwtConfigs": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `jwtConfigs` | `map` | Map from stage number to jwt config This jwt config will only be processed by filters with the same stage number. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto.sk.md deleted file mode 100644 index 9a433b33418..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto.sk.md +++ /dev/null @@ -1,83 +0,0 @@ - ---- -title: "proxylatency.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.proxylatency.v2` -#### Types: - - -- [ProxyLatency](#proxylatency) -- [Measurement](#measurement) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto) - - - - - ---- -### ProxyLatency - - -Configure the proxy latency filter. This filter measures the latency -incurred by the filter chain in a histogram. -The filter fields are similar to the settings for [`COMMON_DURATION`](https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage.html), -introduced in Envoy 1.31. -The filter also emits the following additional dynamic metadata fields, -which you can use to augment the existing upstream options for access logging: -- request_out_internal: first_byte_processed_millis -- request_out: firstUpstreamTxByteSent -- response_out: firstDownstreamTxByteSent - -```yaml -"request": .envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement -"measureRequestInternally": bool -"response": .envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement -"chargeClusterStat": .google.protobuf.BoolValue -"chargeListenerStat": .google.protobuf.BoolValue -"emitDynamicMetadata": .google.protobuf.BoolValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `request` | [.envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement](../proxylatency.proto.sk/#measurement) | How to measure the request. Affects the output stats. Does not affect metadata. | -| `measureRequestInternally` | `bool` | When FIRST_OUTGOING (i.e. LAST_INCOMING_FIRST_OUTGOING or FIRST_INCOMING_FIRST_OUTGOING) is instead of when the first byte is sent upstream. This has the advantage of not measuring the time selected for request measurment, finish measuring proxy latency when decodeHeader for this it takes a connection to form, which may skew the P99. filter is hit instead of when the first byte is sent upstream. This has the advantage of not for this to work the filter should be inserted last, just before the router filter. measuring the time it takes a connection to form, which may skew the P99. For this to work this filter should be inserted last, just before the router filter. This has no effect if other measurement type is selected, and has no effect on how response is measured. | -| `response` | [.envoy.config.filter.http.proxylatency.v2.ProxyLatency.Measurement](../proxylatency.proto.sk/#measurement) | How measure the response. | -| `chargeClusterStat` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Charge a stat per upstream cluster. If not specified, defaults to true. | -| `chargeListenerStat` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Charge a stat per listener. If not specified, defaults to true. | -| `emitDynamicMetadata` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Whether request timing is emitted to dynamic metadata. If enabled, defaults to true. | - - - - ---- -### Measurement - - -How to perform the latency measurement. Given an incoming request from downstream and -outging request to upstream; or incoming response from upstream and outgoing repsonse to -downstream, This outlines how to measure the latency used by the proxy. - -| Name | Description | -| ----- | ----------- | -| `LAST_INCOMING_FIRST_OUTGOING` | Count from the last byte of the incoming request\response to the first byte of the outgoing request\response. | -| `FIRST_INCOMING_FIRST_OUTGOING` | Count from the first byte of the incoming request\response to the first byte of the outgoing request\response. | -| `LAST_INCOMING_LAST_OUTGOING` | Count from the last byte of the incoming request\response to the last byte of the outgoing request\response. | -| `FIRST_INCOMING_LAST_OUTGOING` | Count from the first byte of the incoming request\response to the last byte of the outgoing request\response. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md deleted file mode 100644 index 2803f9270be..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto.sk.md +++ /dev/null @@ -1,547 +0,0 @@ - ---- -title: "transformation.proto" -weight: 5 ---- - - - - -### Package: `envoy.api.v2.filter.http` -#### Types: - - -- [FilterTransformations](#filtertransformations) -- [TransformationRule](#transformationrule) -- [Transformations](#transformations) -- [RouteTransformations](#routetransformations) -- [RouteTransformation](#routetransformation) -- [RequestMatch](#requestmatch) -- [ResponseMatch](#responsematch) -- [ResponseMatcher](#responsematcher) -- [ResponseTransformationRule](#responsetransformationrule) -- [Transformation](#transformation) -- [Extraction](#extraction) -- [Mode](#mode) -- [TransformationTemplate](#transformationtemplate) -- [HeaderToAppend](#headertoappend) -- [DynamicMetadataValue](#dynamicmetadatavalue) -- [SpanTransformer](#spantransformer) -- [RequestBodyParse](#requestbodyparse) -- [InjaTemplate](#injatemplate) -- [Passthrough](#passthrough) -- [MergeExtractorsToBody](#mergeextractorstobody) -- [MergeJsonKeys](#mergejsonkeys) -- [OverridableTemplate](#overridabletemplate) -- [HeaderBodyTransform](#headerbodytransform) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/transformation/transformation.proto) - - - - - ---- -### FilterTransformations - - - -```yaml -"transformations": []envoy.api.v2.filter.http.TransformationRule -"stage": int -"logRequestResponseInfo": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `transformations` | [[]envoy.api.v2.filter.http.TransformationRule](../transformation.proto.sk/#transformationrule) | Specifies transformations based on the route matches. The first matched transformation will be applied. If there are overlapped match conditions, please put the most specific match first. | -| `stage` | `int` | Only RouteTransformations.RouteTransformation with matching stage will be used with this filter. | -| `logRequestResponseInfo` | `bool` | Logs request/response sensitive information By default, this is false so no request or response sensitive information is logged. If set to true, the filter will log the request/response body and headers before and after any transformation is applied. | - - - - ---- -### TransformationRule - - - -```yaml -"match": .solo.io.envoy.config.route.v3.RouteMatch -"routeTransformations": .envoy.api.v2.filter.http.TransformationRule.Transformations - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `match` | [.solo.io.envoy.config.route.v3.RouteMatch](../../../config/route/v3/route_components.proto.sk/#routematch) | The route matching parameter. Only when the match is satisfied, the "requires" field will apply. For example: following match will match all requests. .. code-block:: yaml match: prefix: /. | -| `routeTransformations` | [.envoy.api.v2.filter.http.TransformationRule.Transformations](../transformation.proto.sk/#transformations) | transformation to perform. | - - - - ---- -### Transformations - - - -```yaml -"requestTransformation": .envoy.api.v2.filter.http.Transformation -"clearRouteCache": bool -"responseTransformation": .envoy.api.v2.filter.http.Transformation -"onStreamCompletionTransformation": .envoy.api.v2.filter.http.Transformation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requestTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | Apply a transformation to requests. | -| `clearRouteCache` | `bool` | Clear the route cache if the request transformation was applied. | -| `responseTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | Apply a transformation to responses. | -| `onStreamCompletionTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | Apply a transformation in the onStreamComplete callback (for modifying headers and dynamic metadata for access logs). | - - - - ---- -### RouteTransformations - - - -```yaml -"requestTransformation": .envoy.api.v2.filter.http.Transformation -"responseTransformation": .envoy.api.v2.filter.http.Transformation -"clearRouteCache": bool -"transformations": []envoy.api.v2.filter.http.RouteTransformations.RouteTransformation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requestTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | deprecated. Use transformations[].request_match.request_transformation instead. | -| `responseTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | deprecated. Use transformations[].request_match.response_transformation instead. | -| `clearRouteCache` | `bool` | deprecated. Use transformations[].request_match.clear_route_cache instead. | -| `transformations` | [[]envoy.api.v2.filter.http.RouteTransformations.RouteTransformation](../transformation.proto.sk/#routetransformation) | | - - - - ---- -### RouteTransformation - - - -```yaml -"stage": int -"requestMatch": .envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.RequestMatch -"responseMatch": .envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.ResponseMatch - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `stage` | `int` | Stage number. This transformation will only be processed by filters with the same stage number. | -| `requestMatch` | [.envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.RequestMatch](../transformation.proto.sk/#requestmatch) | Only one of `requestMatch` or `responseMatch` can be set. | -| `responseMatch` | [.envoy.api.v2.filter.http.RouteTransformations.RouteTransformation.ResponseMatch](../transformation.proto.sk/#responsematch) | Only one of `responseMatch` or `requestMatch` can be set. | - - - - ---- -### RequestMatch - - - -```yaml -"match": .solo.io.envoy.config.route.v3.RouteMatch -"requestTransformation": .envoy.api.v2.filter.http.Transformation -"responseTransformation": .envoy.api.v2.filter.http.Transformation -"clearRouteCache": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `match` | [.solo.io.envoy.config.route.v3.RouteMatch](../../../config/route/v3/route_components.proto.sk/#routematch) | if no match is specified, will match all. | -| `requestTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | transformation to perform. | -| `responseTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | | -| `clearRouteCache` | `bool` | clear the route cache if the request transformation was applied. | - - - - ---- -### ResponseMatch - - - -```yaml -"match": .envoy.api.v2.filter.http.ResponseMatcher -"responseTransformation": .envoy.api.v2.filter.http.Transformation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `match` | [.envoy.api.v2.filter.http.ResponseMatcher](../transformation.proto.sk/#responsematcher) | | -| `responseTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | transformation to perform. | - - - - ---- -### ResponseMatcher - - - -```yaml -"headers": []solo.io.envoy.config.route.v3.HeaderMatcher -"responseCodeDetails": .solo.io.envoy.type.matcher.v3.StringMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headers` | [[]solo.io.envoy.config.route.v3.HeaderMatcher](../../../config/route/v3/route_components.proto.sk/#headermatcher) | Specifies a set of headers that the route should match on. The router will check the response headers against all the specified headers in the route config. A match will happen if all the headers in the route are present in the request with the same values (or based on presence if the value field is not in the config). | -| `responseCodeDetails` | [.solo.io.envoy.type.matcher.v3.StringMatcher](../../../type/matcher/v3/string.proto.sk/#stringmatcher) | Only match responses with non empty response code details (this usually implies a local reply). | - - - - ---- -### ResponseTransformationRule - - - -```yaml -"match": .envoy.api.v2.filter.http.ResponseMatcher -"responseTransformation": .envoy.api.v2.filter.http.Transformation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `match` | [.envoy.api.v2.filter.http.ResponseMatcher](../transformation.proto.sk/#responsematcher) | | -| `responseTransformation` | [.envoy.api.v2.filter.http.Transformation](../transformation.proto.sk/#transformation) | transformation to perform. | - - - - ---- -### Transformation - - -This message defines a transformation. -This proto is for envoy filter config, not user-facing API. - -```yaml -"transformationTemplate": .envoy.api.v2.filter.http.TransformationTemplate -"headerBodyTransform": .envoy.api.v2.filter.http.HeaderBodyTransform -"transformerConfig": .solo.io.envoy.config.core.v3.TypedExtensionConfig -"logRequestResponseInfo": .google.protobuf.BoolValue - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `transformationTemplate` | [.envoy.api.v2.filter.http.TransformationTemplate](../transformation.proto.sk/#transformationtemplate) | Apply transformation templates. Only one of `transformationTemplate`, `headerBodyTransform`, or `transformerConfig` can be set. | -| `headerBodyTransform` | [.envoy.api.v2.filter.http.HeaderBodyTransform](../transformation.proto.sk/#headerbodytransform) | This type of transformation will make all the headers available in the response body. The resulting JSON body will consist of two attributes: 'headers', containing the headers, and 'body', containing the original body. Only one of `headerBodyTransform`, `transformationTemplate`, or `transformerConfig` can be set. | -| `transformerConfig` | [.solo.io.envoy.config.core.v3.TypedExtensionConfig](../../../config/core/v3/extension.proto.sk/#typedextensionconfig) | Configuration for an externally implemented transformer, used by envoy transformation filter. Only one of `transformerConfig`, `transformationTemplate`, or `headerBodyTransform` can be set. | -| `logRequestResponseInfo` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Logs request/response sensitive information By default, this is false so no request or response sensitive information is logged. If set to true, the filter will log the request/response body and headers before and after this transformation is applied. | - - - - ---- -### Extraction - - -Extractions can be used to extract information from the request/response. -The extracted information can then be referenced in template fields. - -```yaml -"header": string -"body": .google.protobuf.Empty -"regex": string -"subgroup": int -"replacementText": .google.protobuf.StringValue -"mode": .envoy.api.v2.filter.http.Extraction.Mode - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `header` | `string` | Extract information from headers. Only one of `header` or `body` can be set. | -| `body` | [.google.protobuf.Empty](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/empty) | Extract information from the request/response body. Only one of `body` or `header` can be set. | -| `regex` | `string` | The regex field specifies the regular expression used for matching against the source content. - In EXTRACT mode, the entire source must match the regex. `subgroup` selects the n-th capturing group, which determines the part of the match that you want to extract. If the regex does not match the source, the result of the extraction will be an empty value. - In SINGLE_REPLACE mode, the regex also needs to match the entire source. `subgroup` selects the n-th capturing group that is replaced with the content of `replacement_text`. If the regex does not match the source, the result of the replacement will be the source itself. - In REPLACE_ALL mode, the regex is applied repeatedly to find all occurrences within the source that match. Each matching occurrence is replaced with the value in `replacement_text`. In this mode, the configuration is rejected if `subgroup` is set. If the regex does not match the source, the result of the replacement will be the source itself. | -| `subgroup` | `int` | If your regex contains capturing groups, use this field to determine the group that you want to select. Defaults to 0. If set in `EXTRACT` and `SINGLE_REPLACE` modes, the subgroup represents the capturing group that you want to extract or replace in the source. The configuration is rejected if you set subgroup to a non-zero value when using thev `REPLACE_ALL` mode. | -| `replacementText` | [.google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/string-value) | The value `replacement_text` is used to format the substitution for matched sequences in in an input string. This value is only legal in `SINGLE_REPLACE` and `REPLACE_ALL` modes. - In `SINGLE_REPLACE` mode, the `subgroup` selects the n-th capturing group, which represents the value that you want to replace with the string provided in `replacement_text`. - In `REPLACE_ALL` mode, each sequence that matches the specified regex in the input is replaced with the value in`replacement_text`. The `replacement_text` can include special syntax, such as $1, $2, etc., to refer to capturing groups within the regular expression. The value that is specified in `replacement_text` is treated as a string, and is passed to `std::regex_replace` as the replacement string. For more informatino, see https://en.cppreference.com/w/cpp/regex/regex_replace. | -| `mode` | [.envoy.api.v2.filter.http.Extraction.Mode](../transformation.proto.sk/#mode) | The mode of operation for the extraction. Defaults to EXTRACT. | - - - - ---- -### Mode - - -The mode of operation for the extraction. - -| Name | Description | -| ----- | ----------- | -| `EXTRACT` | Default mode. Extract the content of a specified capturing group. In this mode, `subgroup` selects the n-th capturing group, which represents the value that you want to extract. | -| `SINGLE_REPLACE` | Replace the content of a specified capturing group. In this mode, `subgroup` selects the n-th capturing group, which represents the value that you want to replace with the string provided in `replacement_text`. Note: `replacement_text` must be set for this mode. | -| `REPLACE_ALL` | Replace all regex matches with the value provided in `replacement_text`. Note: `replacement_text` must be set for this mode. Note: The configuration fails if `subgroup` is set to a non-zero value. Note: restrictions on the regex are different for this mode. See the regex field for more details. | - - - - ---- -### TransformationTemplate - - -Defines a transformation template. - -```yaml -"advancedTemplates": bool -"extractors": map -"headers": map -"headersToAppend": []envoy.api.v2.filter.http.TransformationTemplate.HeaderToAppend -"headersToRemove": []string -"body": .envoy.api.v2.filter.http.InjaTemplate -"passthrough": .envoy.api.v2.filter.http.Passthrough -"mergeExtractorsToBody": .envoy.api.v2.filter.http.MergeExtractorsToBody -"mergeJsonKeys": .envoy.api.v2.filter.http.MergeJsonKeys -"parseBodyBehavior": .envoy.api.v2.filter.http.TransformationTemplate.RequestBodyParse -"ignoreErrorOnParse": bool -"dynamicMetadataValues": []envoy.api.v2.filter.http.TransformationTemplate.DynamicMetadataValue -"escapeCharacters": bool -"spanTransformer": .envoy.api.v2.filter.http.TransformationTemplate.SpanTransformer - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `advancedTemplates` | `bool` | If set to true, use JSON pointer notation (e.g. "time/start") instead of dot notation (e.g. "time.start") to access JSON elements. Defaults to false. Please note that, if set to 'true', you will need to use the `extraction` function to access extractors in the template (e.g. '{{ extraction("my_extractor") }}'); if the default value of 'false' is used, extractors will simply be available by their name (e.g. '{{ my_extractor }}'). | -| `extractors` | `map` | Use this attribute to extract information from the request. It consists of a map of strings to extractors. The extractor will defines which information will be extracted, while the string key will provide the extractor with a name. You can reference extractors by their name in templates, e.g. "{{ my-extractor }}" will render to the value of the "my-extractor" extractor. | -| `headers` | `map` | Use this attribute to transform request/response headers. It consists of a map of strings to templates. The string key determines the name of the resulting header, the rendered template will determine the value. Any existing headers with the same header name will be replaced by the transformed header. If a header name is included in `headers` and `headers_to_append`, it will first be replaced the template in `headers`, then additional header values will be appended by the templates defined in `headers_to_append`. For example, the following header transformation configuration: ```yaml headers: x-header-one: {"text": "first {{inja}} template"} x-header-one: {"text": "second {{inja}} template"} headersToAppend: - key: x-header-one value: {"text": "first appended {{inja}} template"} - key: x-header-one value: {"text": "second appended {{inja}} template"} ``` will result in the following headers on the HTTP message: ``` x-header-one: first inja template x-header-one: first appended inja template x-header-one: second appended inja template ```. | -| `headersToAppend` | [[]envoy.api.v2.filter.http.TransformationTemplate.HeaderToAppend](../transformation.proto.sk/#headertoappend) | Use this attribute to transform request/response headers. It consists of an array of string/template objects. Use this attribute to define multiple templates for a single header. Header template(s) defined here will be appended to any existing headers with the same header name, not replace existing ones. See `headers` documentation to see an example of usage. | -| `headersToRemove` | `[]string` | Attribute to remove headers from requests. If a header is present multiple times, all instances of the header will be removed. | -| `body` | [.envoy.api.v2.filter.http.InjaTemplate](../transformation.proto.sk/#injatemplate) | Apply a template to the body. Only one of `body`, `passthrough`, `mergeExtractorsToBody`, or `mergeJsonKeys` can be set. | -| `passthrough` | [.envoy.api.v2.filter.http.Passthrough](../transformation.proto.sk/#passthrough) | This will cause the transformation filter not to buffer the body. Use this setting if the response body is large and you don't need to transform nor extract information from it. Only one of `passthrough`, `body`, `mergeExtractorsToBody`, or `mergeJsonKeys` can be set. | -| `mergeExtractorsToBody` | [.envoy.api.v2.filter.http.MergeExtractorsToBody](../transformation.proto.sk/#mergeextractorstobody) | Merge all defined extractors to the request/response body. If you want to nest elements inside the body, use dot separator in the extractor name. Only one of `mergeExtractorsToBody`, `body`, `passthrough`, or `mergeJsonKeys` can be set. | -| `mergeJsonKeys` | [.envoy.api.v2.filter.http.MergeJsonKeys](../transformation.proto.sk/#mergejsonkeys) | A set of key-value pairs to merge into the JSON body. Each value will be rendered separately, and then placed into the JSON body at the specified key. There are a number of important caveats to using this feature: * This can only be used when the body is parsed as JSON. * This option does NOT work with advanced templates currently. Only one of `mergeJsonKeys`, `body`, `passthrough`, or `mergeExtractorsToBody` can be set. | -| `parseBodyBehavior` | [.envoy.api.v2.filter.http.TransformationTemplate.RequestBodyParse](../transformation.proto.sk/#requestbodyparse) | Determines how the body will be parsed. Defaults to ParseAsJson. | -| `ignoreErrorOnParse` | `bool` | If set to true, Envoy will not throw an exception in case the body parsing fails. | -| `dynamicMetadataValues` | [[]envoy.api.v2.filter.http.TransformationTemplate.DynamicMetadataValue](../transformation.proto.sk/#dynamicmetadatavalue) | Use this field to set Dynamic Metadata. | -| `escapeCharacters` | `bool` | Use this field to set Inja behavior when rendering strings which contain characters that would need to be escaped to be valid JSON. Note that this sets the behavior for the entire transformation. Use raw_strings function for fine-grained control within a template. | -| `spanTransformer` | [.envoy.api.v2.filter.http.TransformationTemplate.SpanTransformer](../transformation.proto.sk/#spantransformer) | Use this field to modify the span of the trace. | - - - - ---- -### HeaderToAppend - - -Defines a header-template pair to be used in `headers_to_append` - -```yaml -"key": string -"value": .envoy.api.v2.filter.http.InjaTemplate - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | Header name. | -| `value` | [.envoy.api.v2.filter.http.InjaTemplate](../transformation.proto.sk/#injatemplate) | Apply a template to the header value. | - - - - ---- -### DynamicMetadataValue - - -Defines an [Envoy Dynamic -Metadata](https://www.envoyproxy.io/docs/envoy/latest/configuration/advanced/well_known_dynamic_metadata) -entry. - -```yaml -"metadataNamespace": string -"key": string -"value": .envoy.api.v2.filter.http.InjaTemplate -"jsonToProto": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `metadataNamespace` | `string` | The metadata namespace. Defaults to the filter namespace. | -| `key` | `string` | The metadata key. | -| `value` | [.envoy.api.v2.filter.http.InjaTemplate](../transformation.proto.sk/#injatemplate) | A template that determines the metadata value. | -| `jsonToProto` | `bool` | Instruct the filter to parse the rendered value as a proto Struct message before setting it as the metadata value. | - - - - ---- -### SpanTransformer - - - -```yaml -"name": .envoy.api.v2.filter.http.InjaTemplate - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | [.envoy.api.v2.filter.http.InjaTemplate](../transformation.proto.sk/#injatemplate) | A template that sets the span name. | - - - - ---- -### RequestBodyParse - - -Determines how the body will be parsed. - -| Name | Description | -| ----- | ----------- | -| `ParseAsJson` | Will attempt to parse the request/response body as JSON | -| `DontParse` | The request/response body will be treated as plain text | - - - - ---- -### InjaTemplate - - -Defines an [Inja template](https://github.com/pantor/inja) that will be -rendered by Gloo. In addition to the core template functions, the Gloo -transformation filter defines the following custom functions: -- header(header_name): returns the value of the header with the given name. -- extraction(extractor_name): returns the value of the extractor with the -given name. -- env(env_var_name): returns the value of the environment variable with the -given name. -- body(): returns the request/response body. -- context(): returns the base JSON context (allowing for example to range on -a JSON body that is an array). -- request_header(header_name): returns the value of the request header with -the given name. Use this option when you want to include request header values in response -transformations. -- base64_encode(string): encodes the input string to base64. -- base64_decode(string): decodes the input string from base64. -- substring(string, start_pos, substring_len): returns a substring of the -input string, starting at `start_pos` and extending for `substring_len` -characters. If no `substring_len` is provided or `substring_len` is <= 0, the -substring extends to the end of the input string. - -```yaml -"text": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `text` | `string` | | - - - - ---- -### Passthrough - - - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### MergeExtractorsToBody - - - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### MergeJsonKeys - - - -```yaml -"jsonKeys": map - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `jsonKeys` | `map` | Map of key name -> template to render into the JSON body. Specified keys which don't exist in the JSON body will be set, keys which do exist will be overriden. For example, given the following JSON body: { "key1": "value1" } and the following MergeJsonKeys: { "key1": "{{ header("header1") }}", "key2": "{{ header("header2") }}" } The resulting JSON body will be: { "key1": "header1_value", "key2": "header2_value" }. | - - - - ---- -### OverridableTemplate - - - -```yaml -"tmpl": .envoy.api.v2.filter.http.InjaTemplate -"overrideEmpty": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `tmpl` | [.envoy.api.v2.filter.http.InjaTemplate](../transformation.proto.sk/#injatemplate) | Template to render. | -| `overrideEmpty` | `bool` | If set to true, the template will be set even if the rendered value is empty. | - - - - ---- -### HeaderBodyTransform - - - -```yaml -"addRequestMetadata": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `addRequestMetadata` | `bool` | When transforming a request, setting this to true will additionally add "queryString", "queryStringParameters", "multiValueQueryStringParameters", "httpMethod", "path", and "multiValueHeaders" to the body. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto.sk.md deleted file mode 100644 index 23762b3de53..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto.sk.md +++ /dev/null @@ -1,244 +0,0 @@ - ---- -title: "transformation.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.transformation_ee.v2` -#### Types: - - -- [FilterTransformations](#filtertransformations) -- [TransformationRule](#transformationrule) -- [RouteTransformations](#routetransformations) -- [Transformation](#transformation) -- [DlpTransformation](#dlptransformation) -- [Action](#action) -- [RegexMatcher](#regexmatcher) -- [KeyValueMatcher](#keyvaluematcher) -- [DlpMatcher](#dlpmatcher) -- [RegexAction](#regexaction) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/transformation_ee/transformation.proto) - - - - - ---- -### FilterTransformations - - - -```yaml -"transformations": []envoy.config.filter.http.transformation_ee.v2.TransformationRule - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `transformations` | [[]envoy.config.filter.http.transformation_ee.v2.TransformationRule](../transformation.proto.sk/#transformationrule) | Specifies transformations based on the route matches. The first matched transformation will be applied. If there are overlapped match conditions, please put the most specific match first. | - - - - ---- -### TransformationRule - - - -```yaml -"match": .solo.io.envoy.api.v2.route.RouteMatch -"matchV3": .solo.io.envoy.config.route.v3.RouteMatch -"routeTransformations": .envoy.config.filter.http.transformation_ee.v2.RouteTransformations - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `match` | [.solo.io.envoy.api.v2.route.RouteMatch](../../../../../../../../../../../envoy/api/v2/route/route.proto.sk/#routematch) | The route matching parameter. Only when the match is satisfied, the "requires" field will apply. For example: following match will match all requests. .. code-block:: yaml match: prefix: /. | -| `matchV3` | [.solo.io.envoy.config.route.v3.RouteMatch](../../../config/route/v3/route_components.proto.sk/#routematch) | | -| `routeTransformations` | [.envoy.config.filter.http.transformation_ee.v2.RouteTransformations](../transformation.proto.sk/#routetransformations) | transformation to perform. | - - - - ---- -### RouteTransformations - - - -```yaml -"requestTransformation": .envoy.config.filter.http.transformation_ee.v2.Transformation -"clearRouteCache": bool -"responseTransformation": .envoy.config.filter.http.transformation_ee.v2.Transformation -"onStreamCompletionTransformation": .envoy.config.filter.http.transformation_ee.v2.Transformation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requestTransformation` | [.envoy.config.filter.http.transformation_ee.v2.Transformation](../transformation.proto.sk/#transformation) | | -| `clearRouteCache` | `bool` | clear the route cache if the request transformation was applied. | -| `responseTransformation` | [.envoy.config.filter.http.transformation_ee.v2.Transformation](../transformation.proto.sk/#transformation) | | -| `onStreamCompletionTransformation` | [.envoy.config.filter.http.transformation_ee.v2.Transformation](../transformation.proto.sk/#transformation) | Apply a transformation in the onStreamComplete callback (for modifying headers and dynamic metadata for access logs). | - - - - ---- -### Transformation - - - -```yaml -"dlpTransformation": .envoy.config.filter.http.transformation_ee.v2.DlpTransformation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `dlpTransformation` | [.envoy.config.filter.http.transformation_ee.v2.DlpTransformation](../transformation.proto.sk/#dlptransformation) | | - - - - ---- -### DlpTransformation - - - -```yaml -"actions": []envoy.config.filter.http.transformation_ee.v2.Action -"enableHeaderTransformation": bool -"enableDynamicMetadataTransformation": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `actions` | [[]envoy.config.filter.http.transformation_ee.v2.Action](../transformation.proto.sk/#action) | list of actions to apply. | -| `enableHeaderTransformation` | `bool` | If true, headers will be transformed. Should only be true for the on_stream_complete_transformation route transformation type. | -| `enableDynamicMetadataTransformation` | `bool` | If true, dynamic metadata will be transformed. Should only be used for the on_stream_complete_transformation route transformation type. | - - - - ---- -### Action - - - -```yaml -"name": string -"regex": []string -"regexActions": []envoy.config.filter.http.transformation_ee.v2.RegexAction -"shadow": bool -"percent": .solo.io.envoy.type.Percent -"maskChar": string -"matcher": .envoy.config.filter.http.transformation_ee.v2.Action.DlpMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | Identifier for this action. Used mostly to help ID specific actions in logs. If left null will default to unknown. | -| `regex` | `[]string` | Deprecated in favor of DlpMatcher List of regexes to apply to the response body to match data which should be masked They will be applied iteratively in the order which they are specified. | -| `regexActions` | [[]envoy.config.filter.http.transformation_ee.v2.RegexAction](../transformation.proto.sk/#regexaction) | Deprecated in favor of DlpMatcher List of regexes to apply to the response body to match data which should be masked. They will be applied iteratively in the order which they are specified. If this field and `regex` are both provided, all the regexes will be applied iteratively in the order provided, starting with the ones from `regex`. | -| `shadow` | `bool` | If specified, this rule will not actually be applied, but only logged. | -| `percent` | [.solo.io.envoy.type.Percent](../../../../../../../../../solo-kit/api/external/envoy/type/percent.proto.sk/#percent) | The percent of the string which should be masked. If not set, defaults to 75%. | -| `maskChar` | `string` | The character which should overwrite the masked data If left empty, defaults to "X". | -| `matcher` | [.envoy.config.filter.http.transformation_ee.v2.Action.DlpMatcher](../transformation.proto.sk/#dlpmatcher) | The matcher used to determine which values will be masked by this action. | - - - - ---- -### RegexMatcher - - -List of regexes to apply to the response body to match data which should be -masked. They will be applied iteratively in the order which they are -specified. - -```yaml -"regexActions": []envoy.config.filter.http.transformation_ee.v2.RegexAction - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `regexActions` | [[]envoy.config.filter.http.transformation_ee.v2.RegexAction](../transformation.proto.sk/#regexaction) | | - - - - ---- -### KeyValueMatcher - - -List of headers for which associated values will be masked. -Note that enable_header_transformation must be set for this to take effect. -Note that if enable_dynamic_metadata_transformation is set, proto struct dynamic metadata -(i.e., the values matching any JSON keys specified in `keys`; primarily for json-formatted WAF audit logs) will also be masked accordingly. - -```yaml -"keys": []string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `keys` | `[]string` | | - - - - ---- -### DlpMatcher - - - -```yaml -"regexMatcher": .envoy.config.filter.http.transformation_ee.v2.Action.RegexMatcher -"keyValueMatcher": .envoy.config.filter.http.transformation_ee.v2.Action.KeyValueMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `regexMatcher` | [.envoy.config.filter.http.transformation_ee.v2.Action.RegexMatcher](../transformation.proto.sk/#regexmatcher) | Only one of `regexMatcher` or `keyValueMatcher` can be set. | -| `keyValueMatcher` | [.envoy.config.filter.http.transformation_ee.v2.Action.KeyValueMatcher](../transformation.proto.sk/#keyvaluematcher) | Only one of `keyValueMatcher` or `regexMatcher` can be set. | - - - - ---- -### RegexAction - - - -```yaml -"regex": string -"subgroup": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `regex` | `string` | The regex to match for masking. | -| `subgroup` | `int` | If provided and not 0, only this specific subgroup of the regex will be masked. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto.sk.md deleted file mode 100644 index fadfe6592b4..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto.sk.md +++ /dev/null @@ -1,50 +0,0 @@ - ---- -title: "xslt_transformer.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.transformer.xslt.v2` -#### Types: - - -- [XsltTransformation](#xslttransformation) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/transformers/xslt/xslt_transformer.proto) - - - - - ---- -### XsltTransformation - - -Defines an XSLT Transformation. - -```yaml -"xslt": string -"setContentType": string -"nonXmlTransform": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `xslt` | `string` | XSLT transformation template which you want to transform requests/responses with. Invalid XSLT transformation templates will result will result in a NACK during envoy configuration-time and the configuration will not be loaded. | -| `setContentType` | `string` | Changes the content-type header of the HTTP request/response to what is set here. This is useful in situations where an XSLT transformation is used to transform XML to JSON and the content-type should be changed from `application/xml` to `application/json`. If left empty, the content-type header remains unmodified by default. | -| `nonXmlTransform` | `bool` | This should be set to true if the content being transformed is not XML. For example, if the content being transformed is from JSON to XML, this should be set to true. XSLT transformations can only take valid XML as input to be transformed. If the body is not a valid XML (e.g. using JSON as input in a JSON-to-XML transformation), setting `non_xml_transform` to true will allow the XSLT to accept the non-XML input without throwing an error by passing the input as XML CDATA. defaults to false. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto.sk.md deleted file mode 100644 index 59f368869ac..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto.sk.md +++ /dev/null @@ -1,43 +0,0 @@ - ---- -title: "upstream_wait_filter.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.upstream_wait.v2` -#### Types: - - -- [UpstreamWaitFilterConfig](#upstreamwaitfilterconfig) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/upstream_wait/upstream_wait_filter.proto) - - - - - ---- -### UpstreamWaitFilterConfig - - - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto.sk.md deleted file mode 100644 index e056e2ad55a..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto.sk.md +++ /dev/null @@ -1,160 +0,0 @@ - ---- -title: "waf.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.modsecurity.v2` -#### Types: - - -- [AuditLogging](#auditlogging) -- [AuditLogAction](#auditlogaction) -- [AuditLogLocation](#auditloglocation) -- [ModSecurity](#modsecurity) -- [RuleSet](#ruleset) -- [ModSecurityPerRoute](#modsecurityperroute) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/waf/waf.proto) - - - - - ---- -### AuditLogging - - - -```yaml -"action": .envoy.config.filter.http.modsecurity.v2.AuditLogging.AuditLogAction -"location": .envoy.config.filter.http.modsecurity.v2.AuditLogging.AuditLogLocation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `action` | [.envoy.config.filter.http.modsecurity.v2.AuditLogging.AuditLogAction](../waf.proto.sk/#auditlogaction) | | -| `location` | [.envoy.config.filter.http.modsecurity.v2.AuditLogging.AuditLogLocation](../waf.proto.sk/#auditloglocation) | | - - - - ---- -### AuditLogAction - - - -| Name | Description | -| ----- | ----------- | -| `NEVER` | Never generate audit logs. | -| `RELEVANT_ONLY` | When set to RELEVANT_ONLY, this will have similar behavior to `SecAuditEngine RelevantOnly`. | -| `ALWAYS` | Always generate an audit log entry (as long as the filter is not disabled). | - - - - ---- -### AuditLogLocation - - - -| Name | Description | -| ----- | ----------- | -| `FILTER_STATE` | Add the audit log to the filter state. it will be under the key "io.solo.modsecurity.audit_log". You can use this formatter in the access log: %FILTER_STATE(io.solo.modsecurity.audit_log)% | -| `DYNAMIC_METADATA` | Add the audit log to the dynamic metadata. it will be under the filter name "io.solo.filters.http.modsecurity". with "audit_log" as the key. You can use this formatter in the access log: %DYNAMIC_METADATA("io.solo.filters.http.modsecurity:audit_log")% | - - - - ---- -### ModSecurity - - - -```yaml -"disabled": bool -"ruleSets": []envoy.config.filter.http.modsecurity.v2.RuleSet -"customInterventionMessage": string -"auditLogging": .envoy.config.filter.http.modsecurity.v2.AuditLogging -"requestHeadersOnly": bool -"responseHeadersOnly": bool -"regressionLogs": bool -"dlpTransformation": .envoy.config.filter.http.transformation_ee.v2.DlpTransformation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `disabled` | `bool` | Disable all rules on the current route. | -| `ruleSets` | [[]envoy.config.filter.http.modsecurity.v2.RuleSet](../waf.proto.sk/#ruleset) | Global rule sets for the current http connection manager. | -| `customInterventionMessage` | `string` | Custom message to display when an intervention occurs. | -| `auditLogging` | [.envoy.config.filter.http.modsecurity.v2.AuditLogging](../waf.proto.sk/#auditlogging) | This instructs the filter what to do with the transaction's audit log. | -| `requestHeadersOnly` | `bool` | If set, the body will not be buffered and fed to ModSecurity. Only the headers will. This can help improve performance. | -| `responseHeadersOnly` | `bool` | | -| `regressionLogs` | `bool` | log in a format suited for the OWASP regression tests. this format is a multiline log format, so it is disabled for regular use. do not enable this in production!. | -| `dlpTransformation` | [.envoy.config.filter.http.transformation_ee.v2.DlpTransformation](../../transformation_ee/transformation.proto.sk/#dlptransformation) | | - - - - ---- -### RuleSet - - - -```yaml -"ruleStr": string -"files": []string -"directory": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `ruleStr` | `string` | String of rules which are added directly. | -| `files` | `[]string` | Array of files with rules to include. Any subsequent changes to the rules in these files are not automatically updated. To update rules from files, version and update the file name. If you want dynamically updated rules, use the `configMapRuleSets` option instead. | -| `directory` | `string` | A directory to include. all *.conf files in this directory will be included. sub directories will NOT be checked. | - - - - ---- -### ModSecurityPerRoute - - - -```yaml -"disabled": bool -"ruleSets": []envoy.config.filter.http.modsecurity.v2.RuleSet -"customInterventionMessage": string -"auditLogging": .envoy.config.filter.http.modsecurity.v2.AuditLogging -"requestHeadersOnly": bool -"responseHeadersOnly": bool -"dlpTransformation": .envoy.config.filter.http.transformation_ee.v2.DlpTransformation - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `disabled` | `bool` | Disable all rules on the current route. | -| `ruleSets` | [[]envoy.config.filter.http.modsecurity.v2.RuleSet](../waf.proto.sk/#ruleset) | Overwrite the global rules on this route. | -| `customInterventionMessage` | `string` | Custom message to display when an intervention occurs. | -| `auditLogging` | [.envoy.config.filter.http.modsecurity.v2.AuditLogging](../waf.proto.sk/#auditlogging) | This instructs the filter what to do with the transaction's audit log. | -| `requestHeadersOnly` | `bool` | If set, the body will not be buffered and fed to ModSecurity. Only the headers will. This can help improve performance. | -| `responseHeadersOnly` | `bool` | | -| `dlpTransformation` | [.envoy.config.filter.http.transformation_ee.v2.DlpTransformation](../../transformation_ee/transformation.proto.sk/#dlptransformation) | | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto.sk.md deleted file mode 100644 index f70df564401..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto.sk.md +++ /dev/null @@ -1,111 +0,0 @@ - ---- -title: "wasm.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.extensions.wasm.v3` -Copied from https://github.com/envoyproxy/envoy/blob/26eaa2e85cee69e5c32ab6bf4c5ae3d338fa462f/api/envoy/extensions/wasm/v3/wasm.proto - - - -#### Types: - - -- [VmConfig](#vmconfig) -- [PluginConfig](#pluginconfig) -- [WasmService](#wasmservice) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/wasm/v3/wasm.proto) - - - - - ---- -### VmConfig - - -Configuration for a Wasm VM. -[#next-free-field: 7] - -```yaml -"vmId": string -"runtime": string -"code": .solo.io.envoy.config.core.v3.AsyncDataSource -"configuration": .google.protobuf.Any -"allowPrecompiled": bool -"nackOnCodeCacheMiss": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `vmId` | `string` | An ID which will be used along with a hash of the wasm code (or the name of the registered Null VM plugin) to determine which VM will be used for the plugin. All plugins which use the same *vm_id* and code will use the same VM. May be left blank. Sharing a VM between plugins can reduce memory utilization and make sharing of data easier which may have security implications. See ref: "TODO: add ref" for details. | -| `runtime` | `string` | The Wasm runtime type (either "v8" or "null" for code compiled into Envoy). | -| `code` | [.solo.io.envoy.config.core.v3.AsyncDataSource](../../../../config/core/v3/base.proto.sk/#asyncdatasource) | The Wasm code that Envoy will execute. | -| `configuration` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | The Wasm configuration used in initialization of a new VM (proxy_on_start). `google.protobuf.Struct` is serialized as JSON before passing it to the plugin. `google.protobuf.BytesValue` and `google.protobuf.StringValue` are passed directly without the wrapper. | -| `allowPrecompiled` | `bool` | Allow the wasm file to include pre-compiled code on VMs which support it. Warning: this should only be enable for trusted sources as the precompiled code is not verified. | -| `nackOnCodeCacheMiss` | `bool` | If true and the code needs to be remotely fetched and it is not in the cache then NACK the configuration update and do a background fetch to fill the cache, otherwise fetch the code asynchronously and enter warming state. | - - - - ---- -### PluginConfig - - -Base Configuration for Wasm Plugins e.g. filters and services. -[#next-free-field: 6] - -```yaml -"name": string -"rootId": string -"vmConfig": .solo.io.envoy.extensions.wasm.v3.VmConfig -"configuration": .google.protobuf.Any -"failOpen": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | A unique name for a filters/services in a VM for use in identifying the filter/service if multiple filters/services are handled by the same *vm_id* and *root_id* and for logging/debugging. | -| `rootId` | `string` | A unique ID for a set of filters/services in a VM which will share a RootContext and Contexts if applicable (e.g. an Wasm HttpFilter and an Wasm AccessLog). If left blank, all filters/services with a blank root_id with the same *vm_id* will share Context(s). | -| `vmConfig` | [.solo.io.envoy.extensions.wasm.v3.VmConfig](../wasm.proto.sk/#vmconfig) | | -| `configuration` | [.google.protobuf.Any](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/any) | Filter/service configuration used to configure or reconfigure a plugin (proxy_on_configuration). `google.protobuf.Struct` is serialized as JSON before passing it to the plugin. `google.protobuf.BytesValue` and `google.protobuf.StringValue` are passed directly without the wrapper. | -| `failOpen` | `bool` | If there is a fatal error on the VM (e.g. exception, abort(), on_start or on_configure return false), then all plugins associated with the VM will either fail closed (by default), e.g. by returning an HTTP 503 error, or fail open (if 'fail_open' is set to true) by bypassing the filter. Note: when on_start or on_configure return false during xDS updates the xDS configuration will be rejected and when on_start or on_configuration return false on initial startup the proxy will not start. | - - - - ---- -### WasmService - - -WasmService is configured as a built-in *envoy.wasm_service* :ref:`WasmService -` This opaque configuration will be used to create a Wasm Service. - -```yaml -"config": .solo.io.envoy.extensions.wasm.v3.PluginConfig -"singleton": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `config` | [.solo.io.envoy.extensions.wasm.v3.PluginConfig](../wasm.proto.sk/#pluginconfig) | General plugin configuration. | -| `singleton` | `bool` | If true, create a single VM rather than creating one VM per worker. Such a singleton can not be used with filters. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto.sk.md deleted file mode 100644 index 2a1cacb912b..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto.sk.md +++ /dev/null @@ -1,46 +0,0 @@ - ---- -title: "solo_xff_offset_filter.proto" -weight: 5 ---- - - - - -### Package: `envoy.config.filter.http.solo_xff_offset.v2` -#### Types: - - -- [SoloXffOffset](#soloxffoffset) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/extensions/xff_offset/solo_xff_offset_filter.proto) - - - - - ---- -### SoloXffOffset - - -Envoy filter configuration for the solo_xff_offset filter, not set by the user. - -```yaml -"offset": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `offset` | `int` | The amount of addresses from the left of x-forwarded-for (xff) header which should be skipped to get the client address. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto.sk.md deleted file mode 100644 index 06fa1253038..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto.sk.md +++ /dev/null @@ -1,362 +0,0 @@ - ---- -title: "external_processor.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.service.ext_proc.v3` -#### Types: - - -- [ProcessingRequest](#processingrequest) -- [ProcessingResponse](#processingresponse) -- [HttpHeaders](#httpheaders) -- [HttpBody](#httpbody) -- [HttpTrailers](#httptrailers) -- [HeadersResponse](#headersresponse) -- [TrailersResponse](#trailersresponse) -- [BodyResponse](#bodyresponse) -- [CommonResponse](#commonresponse) -- [ResponseStatus](#responsestatus) -- [ImmediateResponse](#immediateresponse) -- [GrpcStatus](#grpcstatus) -- [HeaderMutation](#headermutation) -- [BodyMutation](#bodymutation) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/service/ext_proc/v3/external_processor.proto) - - - - - ---- -### ProcessingRequest - - -This represents the different types of messages that Envoy can send -to an external processing server. -[#next-free-field: 11] - -```yaml -"requestHeaders": .solo.io.envoy.service.ext_proc.v3.HttpHeaders -"responseHeaders": .solo.io.envoy.service.ext_proc.v3.HttpHeaders -"requestBody": .solo.io.envoy.service.ext_proc.v3.HttpBody -"responseBody": .solo.io.envoy.service.ext_proc.v3.HttpBody -"requestTrailers": .solo.io.envoy.service.ext_proc.v3.HttpTrailers -"responseTrailers": .solo.io.envoy.service.ext_proc.v3.HttpTrailers -"metadataContext": .solo.io.envoy.config.core.v3.Metadata -"attributes": map -"observabilityMode": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requestHeaders` | [.solo.io.envoy.service.ext_proc.v3.HttpHeaders](../external_processor.proto.sk/#httpheaders) | Information about the HTTP request headers, as well as peer info and additional properties. Unless `observability_mode` is `true`, the server must send back a HeaderResponse message, an ImmediateResponse message, or close the stream. Only one of `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, `requestTrailers`, or `responseTrailers` can be set. | -| `responseHeaders` | [.solo.io.envoy.service.ext_proc.v3.HttpHeaders](../external_processor.proto.sk/#httpheaders) | Information about the HTTP response headers, as well as peer info and additional properties. Unless `observability_mode` is `true`, the server must send back a HeaderResponse message or close the stream. Only one of `responseHeaders`, `requestHeaders`, `requestBody`, `responseBody`, `requestTrailers`, or `responseTrailers` can be set. | -| `requestBody` | [.solo.io.envoy.service.ext_proc.v3.HttpBody](../external_processor.proto.sk/#httpbody) | A chunk of the HTTP request body. Unless `observability_mode` is true, the server must send back a BodyResponse message, an ImmediateResponse message, or close the stream. Only one of `requestBody`, `requestHeaders`, `responseHeaders`, `responseBody`, `requestTrailers`, or `responseTrailers` can be set. | -| `responseBody` | [.solo.io.envoy.service.ext_proc.v3.HttpBody](../external_processor.proto.sk/#httpbody) | A chunk of the HTTP response body. Unless `observability_mode` is `true`, the server must send back a BodyResponse message or close the stream. Only one of `responseBody`, `requestHeaders`, `responseHeaders`, `requestBody`, `requestTrailers`, or `responseTrailers` can be set. | -| `requestTrailers` | [.solo.io.envoy.service.ext_proc.v3.HttpTrailers](../external_processor.proto.sk/#httptrailers) | The HTTP trailers for the request path. Unless `observability_mode` is `true`, the server must send back a TrailerResponse message or close the stream. This message is only sent if the trailers processing mode is set to `SEND` and the original downstream request has trailers. Only one of `requestTrailers`, `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, or `responseTrailers` can be set. | -| `responseTrailers` | [.solo.io.envoy.service.ext_proc.v3.HttpTrailers](../external_processor.proto.sk/#httptrailers) | The HTTP trailers for the response path. Unless `observability_mode` is `true`, the server must send back a TrailerResponse message or close the stream. This message is only sent if the trailers processing mode is set to `SEND` and the original upstream response has trailers. Only one of `responseTrailers`, `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, or `requestTrailers` can be set. | -| `metadataContext` | [.solo.io.envoy.config.core.v3.Metadata](../../../../config/core/v3/base.proto.sk/#metadata) | Dynamic metadata associated with the request. | -| `attributes` | `map` | The values of properties selected by the `request_attributes` or `response_attributes` list in the configuration. Each entry in the list is populated from the standard attributes supported across Envoy. | -| `observabilityMode` | `bool` | Specify whether the filter that sent this request is running in :ref:`observability_mode ` and defaults to false. * A value of `false` indicates that the server must respond to this message by either sending back a matching ProcessingResponse message, or by closing the stream. * A value of `true` indicates that the server should not respond to this message, as any responses will be ignored. However, it may still close the stream to indicate that no more messages are needed. | - - - - ---- -### ProcessingResponse - - -For every ProcessingRequest received by the server with the `observability_mode` field -set to false, the server must send back exactly one ProcessingResponse message. -[#next-free-field: 11] - -```yaml -"requestHeaders": .solo.io.envoy.service.ext_proc.v3.HeadersResponse -"responseHeaders": .solo.io.envoy.service.ext_proc.v3.HeadersResponse -"requestBody": .solo.io.envoy.service.ext_proc.v3.BodyResponse -"responseBody": .solo.io.envoy.service.ext_proc.v3.BodyResponse -"requestTrailers": .solo.io.envoy.service.ext_proc.v3.TrailersResponse -"responseTrailers": .solo.io.envoy.service.ext_proc.v3.TrailersResponse -"immediateResponse": .solo.io.envoy.service.ext_proc.v3.ImmediateResponse -"dynamicMetadata": .google.protobuf.Struct -"modeOverride": .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode -"overrideMessageTimeout": .google.protobuf.Duration - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `requestHeaders` | [.solo.io.envoy.service.ext_proc.v3.HeadersResponse](../external_processor.proto.sk/#headersresponse) | The server must send back this message in response to a message with the `request_headers` field set. Only one of `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, `requestTrailers`, `responseTrailers`, or `immediateResponse` can be set. | -| `responseHeaders` | [.solo.io.envoy.service.ext_proc.v3.HeadersResponse](../external_processor.proto.sk/#headersresponse) | The server must send back this message in response to a message with the `response_headers` field set. Only one of `responseHeaders`, `requestHeaders`, `requestBody`, `responseBody`, `requestTrailers`, `responseTrailers`, or `immediateResponse` can be set. | -| `requestBody` | [.solo.io.envoy.service.ext_proc.v3.BodyResponse](../external_processor.proto.sk/#bodyresponse) | The server must send back this message in response to a message with the `request_body` field set. Only one of `requestBody`, `requestHeaders`, `responseHeaders`, `responseBody`, `requestTrailers`, `responseTrailers`, or `immediateResponse` can be set. | -| `responseBody` | [.solo.io.envoy.service.ext_proc.v3.BodyResponse](../external_processor.proto.sk/#bodyresponse) | The server must send back this message in response to a message with the `response_body` field set. Only one of `responseBody`, `requestHeaders`, `responseHeaders`, `requestBody`, `requestTrailers`, `responseTrailers`, or `immediateResponse` can be set. | -| `requestTrailers` | [.solo.io.envoy.service.ext_proc.v3.TrailersResponse](../external_processor.proto.sk/#trailersresponse) | The server must send back this message in response to a message with the `request_trailers` field set. Only one of `requestTrailers`, `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, `responseTrailers`, or `immediateResponse` can be set. | -| `responseTrailers` | [.solo.io.envoy.service.ext_proc.v3.TrailersResponse](../external_processor.proto.sk/#trailersresponse) | The server must send back this message in response to a message with the `response_trailers` field set. Only one of `responseTrailers`, `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, `requestTrailers`, or `immediateResponse` can be set. | -| `immediateResponse` | [.solo.io.envoy.service.ext_proc.v3.ImmediateResponse](../external_processor.proto.sk/#immediateresponse) | If specified, attempt to create a locally generated response, send it downstream, and stop processing additional filters and ignore any additional messages received from the remote server for this request or response. If a response has already started -- for example, if this message is sent response to a `response_body` message -- then this will either ship the reply directly to the downstream codec, or reset the stream. Only one of `immediateResponse`, `requestHeaders`, `responseHeaders`, `requestBody`, `responseBody`, `requestTrailers`, or `responseTrailers` can be set. | -| `dynamicMetadata` | [.google.protobuf.Struct](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/struct) | Optional metadata that will be emitted as dynamic metadata to be consumed by following filters. This metadata will be placed in the namespace(s) specified by the top-level field name(s) of the struct. | -| `modeOverride` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode](../../../../extensions/filters/http/ext_proc/v3/processing_mode.proto.sk/#processingmode) | Override how parts of the HTTP request and response are processed for the duration of this particular request/response only. Servers may use this to intelligently control how requests are processed based on the headers and other metadata that they see. This field is only applicable when servers responding to the header requests. If it is set in the response to the body or trailer requests, it will be ignored by Envoy. It is also ignored by Envoy when the ext_proc filter config :ref:`allow_mode_override ` is set to false. | -| `overrideMessageTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | When ext_proc server receives a request message, in case it needs more time to process the message, it sends back a ProcessingResponse message with a new timeout value. When Envoy receives this response message, it ignores other fields in the response, just stop the original timer, which has the timeout value specified in :ref:`message_timeout ` and start a new timer with this `override_message_timeout` value and keep the Envoy ext_proc filter state machine intact. Has to be >= 1ms and <= :ref:`max_message_timeout ` Such message can be sent at most once in a particular Envoy ext_proc filter processing state. To enable this API, one has to set `max_message_timeout` to a number >= 1ms. | - - - - ---- -### HttpHeaders - - -This message is sent to the external server when the HTTP request and responses -are first received. - -```yaml -"headers": .solo.io.envoy.config.core.v3.HeaderMap -"attributes": map -"endOfStream": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `headers` | [.solo.io.envoy.config.core.v3.HeaderMap](../../../../config/core/v3/base.proto.sk/#headermap) | The HTTP request headers. All header keys will be lower-cased, because HTTP header keys are case-insensitive. The `headers` encoding is based on the runtime guard envoy_reloadable_features_send_header_raw_value setting. When it is true, the header value is encoded in the raw_value field. When it is false, the header value is encoded in the value field. | -| `attributes` | `map` | [#not-implemented-hide:] This field is deprecated and not implemented. Attributes will be sent in the top-level :ref:`attributes ` is set to CONTINUE_AND_REPLACE. | -| `trailers` | [.solo.io.envoy.config.core.v3.HeaderMap](../../../../config/core/v3/base.proto.sk/#headermap) | [#not-implemented-hide:] Add new trailers to the message. This may be used when responding to either a HttpHeaders or HttpBody message, but only if this message is returned along with the CONTINUE_AND_REPLACE status. The `trailers` encoding is based on the runtime guard envoy_reloadable_features_send_header_raw_value setting. When it is true, the header value is encoded in the raw_value field. When it is false, the header value is encoded in the value field. | -| `clearRouteCache` | `bool` | Clear the route cache for the current client request. This is necessary if the remote server modified headers that are used to calculate the route. This field is ignored in the response direction. This field is also ignored if the Envoy ext_proc filter is in the upstream filter chain. | - - - - ---- -### ResponseStatus - - - -| Name | Description | -| ----- | ----------- | -| `CONTINUE` | Apply the mutation instructions in this message to the request or response, and then continue processing the filter stream as normal. This is the default. | -| `CONTINUE_AND_REPLACE` | Apply the specified header mutation, replace the body with the body specified in the body mutation (if present), and do not send any further messages for this request or response even if the processing mode is configured to do so. When used in response to a request_headers or response_headers message, this status makes it possible to either completely replace the body while discarding the original body, or to add a body to a message that formerly did not have one. In other words, this response makes it possible to turn an HTTP GET into a POST, PUT, or PATCH. | - - - - ---- -### ImmediateResponse - - -This message causes the filter to attempt to create a locally -generated response, send it downstream, stop processing -additional filters, and ignore any additional messages received -from the remote server for this request or response. If a response -has already started, then this will either ship the reply directly -to the downstream codec, or reset the stream. -[#next-free-field: 6] - -```yaml -"status": .solo.io.envoy.type.v3.HttpStatus -"headers": .solo.io.envoy.service.ext_proc.v3.HeaderMutation -"body": bytes -"grpcStatus": .solo.io.envoy.service.ext_proc.v3.GrpcStatus -"details": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `status` | [.solo.io.envoy.type.v3.HttpStatus](../../../../type/v3/http_status.proto.sk/#httpstatus) | The response code to return. | -| `headers` | [.solo.io.envoy.service.ext_proc.v3.HeaderMutation](../external_processor.proto.sk/#headermutation) | Apply changes to the default headers, which will include content-type. | -| `body` | `bytes` | The message body to return with the response which is sent using the text/plain content type, or encoded in the grpc-message header. | -| `grpcStatus` | [.solo.io.envoy.service.ext_proc.v3.GrpcStatus](../external_processor.proto.sk/#grpcstatus) | If set, then include a gRPC status trailer. | -| `details` | `string` | A string detailing why this local reply was sent, which may be included in log and debug output (e.g. this populates the %RESPONSE_CODE_DETAILS% command operator field for use in access logging). | - - - - ---- -### GrpcStatus - - -This message specifies a gRPC status for an ImmediateResponse message. - -```yaml -"status": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `status` | `int` | The actual gRPC status. | - - - - ---- -### HeaderMutation - - -Change HTTP headers or trailers by appending, replacing, or removing -headers. - -```yaml -"setHeaders": []solo.io.envoy.config.core.v3.HeaderValueOption -"removeHeaders": []string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `setHeaders` | [[]solo.io.envoy.config.core.v3.HeaderValueOption](../../../../config/core/v3/base.proto.sk/#headervalueoption) | Add or replace HTTP headers. Attempts to set the value of any `x-envoy` header, and attempts to set the `:method`, `:authority`, `:scheme`, or `host` headers will be ignored. The `set_headers` encoding is based on the runtime guard envoy_reloadable_features_send_header_raw_value setting. When it is true, the header value is encoded in the raw_value field. When it is false, the header value is encoded in the value field. | -| `removeHeaders` | `[]string` | Remove these HTTP headers. Attempts to remove system headers -- any header starting with `:`, plus `host` -- will be ignored. | - - - - ---- -### BodyMutation - - -Replace the entire message body chunk received in the corresponding -HttpBody message with this new body, or clear the body. - -```yaml -"body": bytes -"clearBody": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `body` | `bytes` | The entire body to replace. Only one of `body` or `clearBody` can be set. | -| `clearBody` | `bool` | Clear the corresponding body chunk. Only one of `clearBody` or `body` can be set. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto.sk.md deleted file mode 100644 index b21f7570e87..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto.sk.md +++ /dev/null @@ -1,101 +0,0 @@ - ---- -title: "regex.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.matcher.v3` -#### Types: - - -- [RegexMatcher](#regexmatcher) -- [GoogleRE2](#googlere2) -- [RegexMatchAndSubstitute](#regexmatchandsubstitute) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/matcher/v3/regex.proto) - - - - - ---- -### RegexMatcher - - -A regex matcher designed for safety when used with untrusted input. - -```yaml -"googleRe2": .solo.io.envoy.type.matcher.v3.RegexMatcher.GoogleRE2 -"regex": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `googleRe2` | [.solo.io.envoy.type.matcher.v3.RegexMatcher.GoogleRE2](../regex.proto.sk/#googlere2) | Google's RE2 regex engine. | -| `regex` | `string` | The regex match string. The string must be supported by the configured engine. | - - - - ---- -### GoogleRE2 - - -Google's [RE2](https://github.com/google/re2) regex engine. The regex string must adhere to -the documented [syntax](https://github.com/google/re2/wiki/Syntax). The engine is designed -to complete execution in linear time as well as limit the amount of memory used. - -Envoy supports program size checking via runtime. The runtime keys `re2.max_program_size.error_level` -and `re2.max_program_size.warn_level` can be set to integers as the maximum program size or -complexity that a compiled regex can have before an exception is thrown or a warning is -logged, respectively. `re2.max_program_size.error_level` defaults to 100, and -`re2.max_program_size.warn_level` has no default if unset (will not check/log a warning). - -Envoy emits two stats for tracking the program size of regexes: the histogram `re2.program_size`, -which records the program size, and the counter `re2.exceeded_warn_level`, which is incremented -each time the program size exceeds the warn level threshold. - -```yaml -"maxProgramSize": .google.protobuf.UInt32Value - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `maxProgramSize` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | This field controls the RE2 "program size" which is a rough estimate of how complex a compiled regex is to evaluate. A regex that has a program size greater than the configured value will fail to compile. In this case, the configured max program size can be increased or the regex can be simplified. If not specified, the default is 100. This field is deprecated; regexp validation should be performed on the management server instead of being done by each individual client. | - - - - ---- -### RegexMatchAndSubstitute - - -Describes how to match a string and then produce a new string using a regular -expression and a substitution string. - -```yaml -"pattern": .solo.io.envoy.type.matcher.v3.RegexMatcher -"substitution": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `pattern` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../regex.proto.sk/#regexmatcher) | The regular expression used to find portions of a string (hereafter called the "subject string") that should be replaced. When a new string is produced during the substitution operation, the new string is initially the same as the subject string, but then all matches in the subject string are replaced by the substitution string. If replacing all matches isn't desired, regular expression anchors can be used to ensure a single match, so as to replace just one occurrence of a pattern. Capture groups can be used in the pattern to extract portions of the subject string, and then referenced in the substitution string. | -| `substitution` | `string` | The string that should be substituted into matching portions of the subject string during a substitution operation to produce a new string. Capture groups in the pattern can be referenced in the substitution string. Note, however, that the syntax for referring to capture groups is defined by the chosen regular expression engine. Google's [RE2](https://github.com/google/re2) regular expression engine uses a backslash followed by the capture group number to denote a numbered capture group. E.g., `\1` refers to capture group 1, and `\2` refers to capture group 2. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/string.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/string.proto.sk.md deleted file mode 100644 index 080f67510d9..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/string.proto.sk.md +++ /dev/null @@ -1,74 +0,0 @@ - ---- -title: "string.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.matcher.v3` -#### Types: - - -- [StringMatcher](#stringmatcher) -- [ListStringMatcher](#liststringmatcher) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/matcher/v3/string.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/matcher/v3/string.proto) - - - - - ---- -### StringMatcher - - -Specifies the way to match a string. -[#next-free-field: 7] - -```yaml -"exact": string -"prefix": string -"suffix": string -"safeRegex": .solo.io.envoy.type.matcher.v3.RegexMatcher -"ignoreCase": bool - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `exact` | `string` | The input string must match exactly the string specified here. Examples: * *abc* only matches the value *abc*. Only one of `exact`, `prefix`, `suffix`, or `safeRegex` can be set. | -| `prefix` | `string` | The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * *abc* matches the value *abc.xyz*. Only one of `prefix`, `exact`, `suffix`, or `safeRegex` can be set. | -| `suffix` | `string` | The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * *abc* matches the value *xyz.abc*. Only one of `suffix`, `exact`, `prefix`, or `safeRegex` can be set. | -| `safeRegex` | [.solo.io.envoy.type.matcher.v3.RegexMatcher](../regex.proto.sk/#regexmatcher) | The input string must match the regular expression specified here. Only one of `safeRegex`, `exact`, `prefix`, or `suffix` can be set. | -| `ignoreCase` | `bool` | If true, indicates the exact/prefix/suffix matching should be case insensitive. This has no effect for the safe_regex match. For example, the matcher *data* will match both input string *Data* and *data* if set to true. | - - - - ---- -### ListStringMatcher - - -Specifies a list of ways to match a string. - -```yaml -"patterns": []solo.io.envoy.type.matcher.v3.StringMatcher - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `patterns` | [[]solo.io.envoy.type.matcher.v3.StringMatcher](../string.proto.sk/#stringmatcher) | | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto.sk.md deleted file mode 100644 index 7f3d9898d03..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto.sk.md +++ /dev/null @@ -1,183 +0,0 @@ - ---- -title: "metadata.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.metadata.v3` -#### Types: - - -- [MetadataKey](#metadatakey) -- [PathSegment](#pathsegment) -- [MetadataKind](#metadatakind) -- [Request](#request) -- [Route](#route) -- [Cluster](#cluster) -- [Host](#host) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/metadata/v3/metadata.proto) - - - - - ---- -### MetadataKey - - -MetadataKey provides a general interface using `key` and `path` to retrieve value from -Metadata. - -For example, for the following Metadata: - -.. code-block:: yaml - - filter_metadata: - envoy.xxx: - prop: - foo: bar - xyz: - hello: envoy - -The following MetadataKey will retrieve a string value "bar" from the Metadata. - -.. code-block:: yaml - - key: envoy.xxx - path: - - key: prop - - key: foo - -```yaml -"key": string -"path": []solo.io.envoy.type.metadata.v3.MetadataKey.PathSegment - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | The key name of Metadata to retrieve the Struct from the metadata. Typically, it represents a builtin subsystem or custom extension. | -| `path` | [[]solo.io.envoy.type.metadata.v3.MetadataKey.PathSegment](../metadata.proto.sk/#pathsegment) | The path to retrieve the Value from the Struct. It can be a prefix or a full path, e.g. `[prop, xyz]` for a struct or `[prop, foo]` for a string in the example, which depends on the particular scenario. Note: Due to that only the key type segment is supported, the path can not specify a list unless the list is the last segment. | - - - - ---- -### PathSegment - - -Specifies the segment in a path to retrieve value from Metadata. -Currently it is only supported to specify the key, i.e. field name, as one segment of a path. - -```yaml -"key": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `key` | `string` | If specified, use the key to retrieve the value in a Struct. | - - - - ---- -### MetadataKind - - -Describes what kind of metadata. - -```yaml -"request": .solo.io.envoy.type.metadata.v3.MetadataKind.Request -"route": .solo.io.envoy.type.metadata.v3.MetadataKind.Route -"cluster": .solo.io.envoy.type.metadata.v3.MetadataKind.Cluster -"host": .solo.io.envoy.type.metadata.v3.MetadataKind.Host - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `request` | [.solo.io.envoy.type.metadata.v3.MetadataKind.Request](../metadata.proto.sk/#request) | Request kind of metadata. Only one of `request`, `route`, `cluster`, or `host` can be set. | -| `route` | [.solo.io.envoy.type.metadata.v3.MetadataKind.Route](../metadata.proto.sk/#route) | Route kind of metadata. Only one of `route`, `request`, `cluster`, or `host` can be set. | -| `cluster` | [.solo.io.envoy.type.metadata.v3.MetadataKind.Cluster](../metadata.proto.sk/#cluster) | Cluster kind of metadata. Only one of `cluster`, `request`, `route`, or `host` can be set. | -| `host` | [.solo.io.envoy.type.metadata.v3.MetadataKind.Host](../metadata.proto.sk/#host) | Host kind of metadata. Only one of `host`, `request`, `route`, or `cluster` can be set. | - - - - ---- -### Request - - -Represents dynamic metadata associated with the request. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### Route - - -Represents metadata from :ref:`the route`. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### Cluster - - -Represents metadata from :ref:`the upstream cluster`. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - ---- -### Host - - -Represents metadata from :ref:`the upstream -host`. - -```yaml - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/range.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/range.proto.sk.md deleted file mode 100644 index 7232b0eb14a..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/range.proto.sk.md +++ /dev/null @@ -1,71 +0,0 @@ - ---- -title: "range.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type` -#### Types: - - -- [Int64Range](#int64range) -- [DoubleRange](#doublerange) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/range.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/range.proto) - - - - - ---- -### Int64Range - - -Specifies the int64 start and end of the range using half-open interval semantics [start, -end). - -```yaml -"start": int -"end": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `start` | `int` | start of the range (inclusive). | -| `end` | `int` | end of the range (exclusive). | - - - - ---- -### DoubleRange - - -Specifies the double start and end of the range using half-open interval semantics [start, -end). - -```yaml -"start": float -"end": float - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `start` | `float` | start of the range (inclusive). | -| `end` | `float` | end of the range (exclusive). | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto.sk.md deleted file mode 100644 index f3e866e97d8..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto.sk.md +++ /dev/null @@ -1,143 +0,0 @@ - ---- -title: "custom_tag.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.tracing.v3` -#### Types: - - -- [CustomTag](#customtag) -- [Literal](#literal) -- [Environment](#environment) -- [Header](#header) -- [Metadata](#metadata) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/tracing/v3/custom_tag.proto) - - - - - ---- -### CustomTag - - -Describes custom tags for the active span. -[#next-free-field: 6] - -```yaml -"tag": string -"literal": .solo.io.envoy.type.tracing.v3.CustomTag.Literal -"environment": .solo.io.envoy.type.tracing.v3.CustomTag.Environment -"requestHeader": .solo.io.envoy.type.tracing.v3.CustomTag.Header -"metadata": .solo.io.envoy.type.tracing.v3.CustomTag.Metadata - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `tag` | `string` | Used to populate the tag name. | -| `literal` | [.solo.io.envoy.type.tracing.v3.CustomTag.Literal](../custom_tag.proto.sk/#literal) | A literal custom tag. Only one of `literal`, `environment`, `requestHeader`, or `metadata` can be set. | -| `environment` | [.solo.io.envoy.type.tracing.v3.CustomTag.Environment](../custom_tag.proto.sk/#environment) | An environment custom tag. Only one of `environment`, `literal`, `requestHeader`, or `metadata` can be set. | -| `requestHeader` | [.solo.io.envoy.type.tracing.v3.CustomTag.Header](../custom_tag.proto.sk/#header) | A request header custom tag. Only one of `requestHeader`, `literal`, `environment`, or `metadata` can be set. | -| `metadata` | [.solo.io.envoy.type.tracing.v3.CustomTag.Metadata](../custom_tag.proto.sk/#metadata) | A custom tag to obtain tag value from the metadata. Only one of `metadata`, `literal`, `environment`, or `requestHeader` can be set. | - - - - ---- -### Literal - - -Literal type custom tag with static value for the tag value. - -```yaml -"value": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `value` | `string` | Static literal value to populate the tag value. | - - - - ---- -### Environment - - -Environment type custom tag with environment name and default value. - -```yaml -"name": string -"defaultValue": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | Environment variable name to obtain the value to populate the tag value. | -| `defaultValue` | `string` | When the environment variable is not found, the tag value will be populated with this default value if specified, otherwise no tag will be populated. | - - - - ---- -### Header - - -Header type custom tag with header name and default value. - -```yaml -"name": string -"defaultValue": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `name` | `string` | Header name to obtain the value to populate the tag value. | -| `defaultValue` | `string` | When the header does not exist, the tag value will be populated with this default value if specified, otherwise no tag will be populated. | - - - - ---- -### Metadata - - -Metadata type custom tag using -MetadataKey to retrieve the protobuf value -from Metadata, and populate the tag value with -[the canonical JSON](https://developers.google.com/protocol-buffers/docs/proto3#json) -representation of it. - -```yaml -"kind": .solo.io.envoy.type.metadata.v3.MetadataKind -"metadataKey": .solo.io.envoy.type.metadata.v3.MetadataKey -"defaultValue": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `kind` | [.solo.io.envoy.type.metadata.v3.MetadataKind](../../../metadata/v3/metadata.proto.sk/#metadatakind) | Specify what kind of metadata to obtain tag value from. | -| `metadataKey` | [.solo.io.envoy.type.metadata.v3.MetadataKey](../../../metadata/v3/metadata.proto.sk/#metadatakey) | Metadata key to define the path to retrieve the tag value. | -| `defaultValue` | `string` | When no valid metadata is found, the tag value would be populated with this default value if specified, otherwise no tag would be populated. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http.proto.sk.md deleted file mode 100644 index a2a15b80993..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http.proto.sk.md +++ /dev/null @@ -1,38 +0,0 @@ - ---- -title: "http.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.v3` - -##### Enums: - - - - [CodecClientType](#codecclienttype) - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/v3/http.proto) - - - - - -### CodecClientType - -Description: - -| Name | Description | -| ----- | ----------- | -| HTTP1 | | -| HTTP2 | | -| HTTP3 | [#not-implemented-hide:] QUIC implementation is not production ready yet. Use this enum with caution to prevent accidental execution of QUIC code. I.e. `!= HTTP2` is no longer sufficient to distinguish HTTP1 and HTTP2 traffic. | - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http_status.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http_status.proto.sk.md deleted file mode 100644 index 8d817e06fb9..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http_status.proto.sk.md +++ /dev/null @@ -1,118 +0,0 @@ - ---- -title: "http_status.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.v3` -#### Types: - - -- [HttpStatus](#httpstatus) - - - - -##### Enums: - - - - [StatusCode](#statuscode) - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/http_status.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/v3/http_status.proto) - - - - - ---- -### HttpStatus - - -HTTP status. - -```yaml -"code": .solo.io.envoy.type.v3.StatusCode - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `code` | [.solo.io.envoy.type.v3.StatusCode](../http_status.proto.sk/#statuscode) | Supplies HTTP response code. | - - - - -### StatusCode - -Description: HTTP response codes supported in Envoy. -For more details: https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml - -| Name | Description | -| ----- | ----------- | -| Empty | Empty - This code not part of the HTTP status code specification, but it is needed for proto `enum` type. | -| Continue | | -| OK | | -| Created | | -| Accepted | | -| NonAuthoritativeInformation | | -| NoContent | | -| ResetContent | | -| PartialContent | | -| MultiStatus | | -| AlreadyReported | | -| IMUsed | | -| MultipleChoices | | -| MovedPermanently | | -| Found | | -| SeeOther | | -| NotModified | | -| UseProxy | | -| TemporaryRedirect | | -| PermanentRedirect | | -| BadRequest | | -| Unauthorized | | -| PaymentRequired | | -| Forbidden | | -| NotFound | | -| MethodNotAllowed | | -| NotAcceptable | | -| ProxyAuthenticationRequired | | -| RequestTimeout | | -| Conflict | | -| Gone | | -| LengthRequired | | -| PreconditionFailed | | -| PayloadTooLarge | | -| URITooLong | | -| UnsupportedMediaType | | -| RangeNotSatisfiable | | -| ExpectationFailed | | -| MisdirectedRequest | | -| UnprocessableEntity | | -| Locked | | -| FailedDependency | | -| UpgradeRequired | | -| PreconditionRequired | | -| TooManyRequests | | -| RequestHeaderFieldsTooLarge | | -| InternalServerError | | -| NotImplemented | | -| BadGateway | | -| ServiceUnavailable | | -| GatewayTimeout | | -| HTTPVersionNotSupported | | -| VariantAlsoNegotiates | | -| InsufficientStorage | | -| LoopDetected | | -| NotExtended | | -| NetworkAuthenticationRequired | | - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/percent.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/percent.proto.sk.md deleted file mode 100644 index 5eb7afb180b..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/percent.proto.sk.md +++ /dev/null @@ -1,88 +0,0 @@ - ---- -title: "percent.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.v3` -#### Types: - - -- [Percent](#percent) -- [FractionalPercent](#fractionalpercent) -- [DenominatorType](#denominatortype) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/percent.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/v3/percent.proto) - - - - - ---- -### Percent - - -Identifies a percentage, in the range [0.0, 100.0]. - -```yaml -"value": float - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `value` | `float` | | - - - - ---- -### FractionalPercent - - -A fractional percentage is used in cases in which for performance reasons performing floating -point to integer conversions during randomness calculations is undesirable. The message includes -both a numerator and denominator that together determine the final fractional value. - -* **Example**: 1/100 = 1%. -* **Example**: 3/10000 = 0.03%. - -```yaml -"numerator": int -"denominator": .solo.io.envoy.type.v3.FractionalPercent.DenominatorType - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `numerator` | `int` | Specifies the numerator. Defaults to 0. | -| `denominator` | [.solo.io.envoy.type.v3.FractionalPercent.DenominatorType](../percent.proto.sk/#denominatortype) | Specifies the denominator. If the denominator specified is less than the numerator, the final fractional percentage is capped at 1 (100%). | - - - - ---- -### DenominatorType - - -Fraction percentages support several fixed denominator values. - -| Name | Description | -| ----- | ----------- | -| `HUNDRED` | 100. **Example**: 1/100 = 1%. | -| `TEN_THOUSAND` | 10,000. **Example**: 1/10000 = 0.01%. | -| `MILLION` | 1,000,000. **Example**: 1/1000000 = 0.0001%. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/range.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/range.proto.sk.md deleted file mode 100644 index 5ed220509f6..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/range.proto.sk.md +++ /dev/null @@ -1,93 +0,0 @@ - ---- -title: "range.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.v3` -#### Types: - - -- [Int64Range](#int64range) -- [Int32Range](#int32range) -- [DoubleRange](#doublerange) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/range.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/v3/range.proto) - - - - - ---- -### Int64Range - - -Specifies the int64 start and end of the range using half-open interval semantics [start, -end). - -```yaml -"start": int -"end": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `start` | `int` | start of the range (inclusive). | -| `end` | `int` | end of the range (exclusive). | - - - - ---- -### Int32Range - - -Specifies the int32 start and end of the range using half-open interval semantics [start, -end). - -```yaml -"start": int -"end": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `start` | `int` | start of the range (inclusive). | -| `end` | `int` | end of the range (exclusive). | - - - - ---- -### DoubleRange - - -Specifies the double start and end of the range using half-open interval semantics [start, -end). - -```yaml -"start": float -"end": float - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `start` | `float` | start of the range (inclusive). | -| `end` | `float` | end of the range (exclusive). | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/semantic_version.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/semantic_version.proto.sk.md deleted file mode 100644 index 47d872d97b6..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/semantic_version.proto.sk.md +++ /dev/null @@ -1,52 +0,0 @@ - ---- -title: "semantic_version.proto" -weight: 5 ---- - - - - -### Package: `solo.io.envoy.type.v3` -#### Types: - - -- [SemanticVersion](#semanticversion) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/envoy/type/v3/semantic_version.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/envoy/type/v3/semantic_version.proto) - - - - - ---- -### SemanticVersion - - -Envoy uses SemVer (https://semver.org/). Major/minor versions indicate -expected behaviors and APIs, the patch version field is used only -for security fixes and can be generally ignored. - -```yaml -"majorNumber": int -"minorNumber": int -"patch": int - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `majorNumber` | `int` | | -| `minorNumber` | `int` | | -| `patch` | `int` | | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/migrate.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/migrate.proto.sk.md deleted file mode 100644 index 9b3554d2e66..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/migrate.proto.sk.md +++ /dev/null @@ -1,83 +0,0 @@ - ---- -title: "migrate.proto" -weight: 5 ---- - - - - -### Package: `solo.io.udpa.annotations` -#### Types: - - -- [MigrateAnnotation](#migrateannotation) -- [FieldMigrateAnnotation](#fieldmigrateannotation) -- [FileMigrateAnnotation](#filemigrateannotation) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/migrate.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/udpa/annotations/migrate.proto) - - - - - ---- -### MigrateAnnotation - - - -```yaml -"rename": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `rename` | `string` | Rename the message/enum/enum value in next version. | - - - - ---- -### FieldMigrateAnnotation - - - -```yaml -"rename": string -"oneofPromotion": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `rename` | `string` | Rename the field in next version. | -| `oneofPromotion` | `string` | Add the field to a named oneof in next version. If this already exists, the field will join its siblings under the oneof, otherwise a new oneof will be created with the given name. | - - - - ---- -### FileMigrateAnnotation - - - -```yaml -"moveToPackage": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `moveToPackage` | `string` | Move all types in the file to another package, this implies changing proto file path. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/sensitive.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/sensitive.proto.sk.md deleted file mode 100644 index 5bd370a4afa..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/sensitive.proto.sk.md +++ /dev/null @@ -1,21 +0,0 @@ - ---- -title: "sensitive.proto" -weight: 5 ---- - - - - -### Package: `solo.io.udpa.annotations` - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/sensitive.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/udpa/annotations/sensitive.proto) - - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/status.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/status.proto.sk.md deleted file mode 100644 index 5044bc5ab9f..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/status.proto.sk.md +++ /dev/null @@ -1,65 +0,0 @@ - ---- -title: "status.proto" -weight: 5 ---- - - - - -### Package: `solo.io.udpa.annotations` -#### Types: - - -- [StatusAnnotation](#statusannotation) - - - - -##### Enums: - - - - [PackageVersionStatus](#packageversionstatus) - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/status.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/udpa/annotations/status.proto) - - - - - ---- -### StatusAnnotation - - - -```yaml -"workInProgress": bool -"packageVersionStatus": .solo.io.udpa.annotations.PackageVersionStatus - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `workInProgress` | `bool` | The entity is work-in-progress and subject to breaking changes. | -| `packageVersionStatus` | [.solo.io.udpa.annotations.PackageVersionStatus](../status.proto.sk/#packageversionstatus) | The entity belongs to a package with the given version status. | - - - - -### PackageVersionStatus - -Description: - -| Name | Description | -| ----- | ----------- | -| UNKNOWN | Unknown package version status. | -| FROZEN | This version of the package is frozen. | -| ACTIVE | This version of the package is the active development version. | -| NEXT_MAJOR_VERSION_CANDIDATE | This version of the package is the candidate for the next major version. It is typically machine generated from the active development version. | - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/versioning.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/versioning.proto.sk.md deleted file mode 100644 index 12c8f7ce83b..00000000000 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/versioning.proto.sk.md +++ /dev/null @@ -1,45 +0,0 @@ - ---- -title: "versioning.proto" -weight: 5 ---- - - - - -### Package: `solo.io.udpa.annotations` -#### Types: - - -- [VersioningAnnotation](#versioningannotation) - - - - -##### Source File: [github.com/solo-io/gloo/projects/gloo/api/external/udpa/annotations/versioning.proto](https://github.com/solo-io/gloo/blob/main/projects/gloo/api/external/udpa/annotations/versioning.proto) - - - - - ---- -### VersioningAnnotation - - - -```yaml -"previousMessageType": string - -``` - -| Field | Type | Description | -| ----- | ---- | ----------- | -| `previousMessageType` | `string` | Track the previous message type. E.g. this message might be udpa.foo.v3alpha.Foo and it was previously udpa.bar.v2.Bar. This information is consumed by UDPA via proto descriptors. | - - - - - - - - diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/caching/caching.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/caching/caching.proto.sk.md index 285a871b7a4..6253b5409bc 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/caching/caching.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/caching/caching.proto.sk.md @@ -38,7 +38,7 @@ weight: 5 | Field | Type | Description | | ----- | ---- | ----------- | | `cachingServiceRef` | [.core.solo.io.ResourceRef](../../../../../../../../../solo-kit/api/v1/ref.proto.sk/#resourceref) | The basic reference for the service. Details name and namespace. | -| `allowedVaryHeaders` | [[]solo.io.envoy.type.matcher.v3.StringMatcher](../../../../../external/envoy/type/matcher/v3/string.proto.sk/#stringmatcher) | A list of string matchers that state what headers are allowed to vary and still be cached. Per upstream envoy allowed vary headers. | +| `allowedVaryHeaders` | []solo.io.envoy.type.matcher.v3.StringMatcher | A list of string matchers that state what headers are allowed to vary and still be cached. Per upstream envoy allowed vary headers. | | `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Connection timeout for retrieval from an sync cache. | | `maxPayloadSize` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Max payload size to cache. If unset defaults to a reasonable value. If explicitly set to 0 will prevent anything with a body from being cached. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/dlp/dlp.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/dlp/dlp.proto.sk.md index 84f5bd1a7c4..df12d0d737e 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/dlp/dlp.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/dlp/dlp.proto.sk.md @@ -270,7 +270,7 @@ If the mask_char, and percent were left to default, the result would be: | `regex` | `[]string` | The list of regex strings which will be applied in order. | | `maskChar` | `string` | The masking character for the sensitive data. default value: X. | | `percent` | [.solo.io.envoy.type.Percent](../../../../../../../../../solo-kit/api/external/envoy/type/percent.proto.sk/#percent) | The percent of the string which will be masked by the mask_char default value: 75% rounds ratio (percent/100) by std::round http://www.cplusplus.com/reference/cmath/round/. | -| `regexActions` | [[]envoy.config.filter.http.transformation_ee.v2.RegexAction](../../../../../external/envoy/extensions/transformation_ee/transformation.proto.sk/#regexaction) | List of regexes to apply to the response body to match data which should be masked. They will be applied iteratively in the order which they are specified. If this field and `regex` are both provided, all the regexes will be applied iteratively in the order provided, starting with the ones from `regex`. | +| `regexActions` | []envoy.config.filter.http.transformation_ee.v2.RegexAction | List of regexes to apply to the response body to match data which should be masked. They will be applied iteratively in the order which they are specified. If this field and `regex` are both provided, all the regexes will be applied iteratively in the order provided, starting with the ones from `regex`. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/extproc/extproc.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/extproc/extproc.proto.sk.md index de49a683ff8..23c7e0df958 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/extproc/extproc.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/extproc/extproc.proto.sk.md @@ -63,13 +63,13 @@ Users should take care to understand the risks of using this extension before pr | `grpcService` | [.extproc.options.gloo.solo.io.GrpcService](../extproc.proto.sk/#grpcservice) | Required. Configuration for the gRPC service that the filter will communicate with. | | `filterStage` | [.filters.gloo.solo.io.FilterStage](../../../../filters/stages.proto.sk/#filterstage) | Required. Where in the HTTP filter chain to insert the filter. | | `failureModeAllow` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | By default, if the gRPC stream cannot be established, or if it is closed prematurely with an error, the filter will fail. Specifically, if the response headers have not yet been delivered, then it will return a 500 error downstream. If they have been delivered, then instead the HTTP stream to the downstream client will be reset. With this parameter set to true, however, then if the gRPC stream is prematurely closed or could not be opened, processing continues without error. | -| `processingMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode](../../../../../external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto.sk/#processingmode) | Specifies default options for how HTTP headers, trailers, and bodies are sent. | +| `processingMode` | .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode | Specifies default options for how HTTP headers, trailers, and bodies are sent. | | `asyncMode` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | NOT CURRENTLY IMPLEMENTED. If true, send each part of the HTTP request or response specified by ProcessingMode asynchronously -- in other words, send the message on the gRPC stream and then continue filter processing. If false, which is the default, suspend filter execution after each message is sent to the remote service and wait up to "message_timeout" for a reply. | | `requestAttributes` | `[]string` | NOT CURRENTLY IMPLEMENTED. Envoy provides a number of [attributes](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/attributes#arch-overview-attributes) for expressive policies. Each attribute name provided in this field will be matched against that list and populated in the request_headers message. See the [request attribute documentation](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/attributes#request-attributes) for the list of supported attributes and their types. | | `responseAttributes` | `[]string` | NOT CURRENTLY IMPLEMENTED. Envoy provides a number of [attributes](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/attributes#arch-overview-attributes) for expressive policies. Each attribute name provided in this field will be matched against that list and populated in the response_headers message. See the [response attribute documentation](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/attributes#response-attributes) for the list of supported attributes and their types. | | `messageTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Specifies the timeout for each individual message sent on the stream when the filter is running in synchronous mode. Whenever the proxy sends a message on the stream that requires a response, it will reset this timer, and will stop processing and return an error (subject to the processing mode) if the timer expires before a matching response is received. There is no timeout when the filter is running in asynchronous mode. Value must be at least 0 seconds, and less than or equal to 3600 seconds. Zero is a valid value which means the timer will be triggered immediately. If not configured, default is 200 milliseconds. | | `statPrefix` | [.google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/string-value) | Optional additional prefix to use when emitting statistics. This allows distinguishing between statistics emitted by multiple *ext_proc* filters in an HTTP filter chain. | -| `mutationRules` | [.solo.io.envoy.config.common.mutation_rules.v3.HeaderMutationRules](../../../../../external/envoy/config/common/mutation_rules/v3/mutation_rules.proto.sk/#headermutationrules) | Rules that determine what modifications an external processing server may make to message headers. If not set, all headers may be modified except for "host", ":authority", ":scheme", ":method", and headers that start with the header prefix set via [header_prefix](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/bootstrap/v3/bootstrap.proto#envoy-v3-api-field-config-bootstrap-v3-bootstrap-header-prefix) (which is usually "x-envoy"). Note that changing headers such as "host" or ":authority" may not in itself change Envoy's routing decision, as routes can be cached. To also force the route to be recomputed, set the [clear_route_cache](https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/ext_proc/v3/external_processor.proto#envoy-v3-api-field-service-ext-proc-v3-commonresponse-clear-route-cache) field to true in the same response. | +| `mutationRules` | .solo.io.envoy.config.common.mutation_rules.v3.HeaderMutationRules | Rules that determine what modifications an external processing server may make to message headers. If not set, all headers may be modified except for "host", ":authority", ":scheme", ":method", and headers that start with the header prefix set via [header_prefix](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/bootstrap/v3/bootstrap.proto#envoy-v3-api-field-config-bootstrap-v3-bootstrap-header-prefix) (which is usually "x-envoy"). Note that changing headers such as "host" or ":authority" may not in itself change Envoy's routing decision, as routes can be cached. To also force the route to be recomputed, set the [clear_route_cache](https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/ext_proc/v3/external_processor.proto#envoy-v3-api-field-service-ext-proc-v3-commonresponse-clear-route-cache) field to true in the same response. | | `maxMessageTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Specify the upper bound of [override_message_timeout](https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/ext_proc/v3/external_processor.proto#envoy-v3-api-field-service-ext-proc-v3-processingresponse-override-message-timeout). If not specified, by default it is 0, which will effectively disable the `override_message_timeout` API. Value must be greater than or equal to the `messageTimeout` and less than or equal to 3600 seconds. | | `disableClearRouteCache` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Prevents clearing the route-cache when the [clear_route_cache](https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/ext_proc/v3/external_processor.proto#envoy-v3-api-field-service-ext-proc-v3-commonresponse-clear-route-cache) field is set in an external processor response. | | `forwardRules` | [.extproc.options.gloo.solo.io.HeaderForwardingRules](../extproc.proto.sk/#headerforwardingrules) | Allow headers matching the `forward_rules` to be forwarded to the external processing server. If not set, all headers are forwarded to the external processing server. | @@ -119,9 +119,9 @@ External processor settings that can be configured on a virtual host or route. | ----- | ---- | ----------- | | `extProcServerRef` | [.core.solo.io.ResourceRef](../../../../../../../../../solo-kit/api/v1/ref.proto.sk/#resourceref) | A reference to the Upstream representing the external processor gRPC server. See https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/ext_proc/v3/external_processor.proto for details. | | `authority` | [.google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/string-value) | The `:authority` header in the grpc request. If this field is not set, the authority header value will be the cluster name. Note that this authority does not override the SNI. The SNI is provided by the transport socket of the cluster. | -| `retryPolicy` | [.solo.io.envoy.config.core.v3.RetryPolicy](../../../../../external/envoy/config/core/v3/base.proto.sk/#retrypolicy) | Indicates the retry policy for re-establishing the gRPC stream This field is optional. If max interval is not provided, it will be set to ten times the provided base interval. Currently only supported for xDS gRPC streams. If not set, xDS gRPC streams default base interval:500ms, maximum interval:30s will be applied. | +| `retryPolicy` | .solo.io.envoy.config.core.v3.RetryPolicy | Indicates the retry policy for re-establishing the gRPC stream This field is optional. If max interval is not provided, it will be set to ten times the provided base interval. Currently only supported for xDS gRPC streams. If not set, xDS gRPC streams default base interval:500ms, maximum interval:30s will be applied. | | `timeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The timeout for the gRPC request. This is the timeout for a specific request. | -| `initialMetadata` | [[]solo.io.envoy.config.core.v3.HeaderValue](../../../../../external/envoy/config/core/v3/base.proto.sk/#headervalue) | 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 [custom request headers](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/headers#config-http-conn-man-headers-custom-request-headers). | +| `initialMetadata` | []solo.io.envoy.config.core.v3.HeaderValue | 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 [custom request headers](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/headers#config-http-conn-man-headers-custom-request-headers). | @@ -144,7 +144,7 @@ External processor settings that can be configured on a virtual host or route. | Field | Type | Description | | ----- | ---- | ----------- | -| `processingMode` | [.solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode](../../../../../external/envoy/extensions/filters/http/ext_proc/v3/processing_mode.proto.sk/#processingmode) | Set a different processing mode for this virtual host or route than the default. | +| `processingMode` | .solo.io.envoy.extensions.filters.http.ext_proc.v3.ProcessingMode | Set a different processing mode for this virtual host or route than the default. | | `asyncMode` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | NOT CURRENTLY IMPLEMENTED. Set a different asynchronous processing option than the default. | | `requestAttributes` | `[]string` | NOT FINALIZED UPSTREAM use at your own upgrade risk Set different optional attributes than the default setting of the `request_attributes` field. | | `responseAttributes` | `[]string` | NOT FINALIZED UPSTREAM use at your own upgrade risk Set different optional properties than the default setting of the `response_attributes` field. | @@ -172,8 +172,8 @@ for details. | Field | Type | Description | | ----- | ---- | ----------- | -| `allowedHeaders` | [.solo.io.envoy.type.matcher.v3.ListStringMatcher](../../../../../external/envoy/type/matcher/v3/string.proto.sk/#liststringmatcher) | If set, specifically allow any header in this list to be forwarded to the external processing server. This can be overridden by the below `disallowed_headers`. | -| `disallowedHeaders` | [.solo.io.envoy.type.matcher.v3.ListStringMatcher](../../../../../external/envoy/type/matcher/v3/string.proto.sk/#liststringmatcher) | If set, specifically disallow any header in this list to be forwarded to the external processing server. This overrides the above `allowed_headers` if a header matches both. NOT CURRENTLY IMPLEMENTED. | +| `allowedHeaders` | .solo.io.envoy.type.matcher.v3.ListStringMatcher | If set, specifically allow any header in this list to be forwarded to the external processing server. This can be overridden by the below `disallowed_headers`. | +| `disallowedHeaders` | .solo.io.envoy.type.matcher.v3.ListStringMatcher | If set, specifically disallow any header in this list to be forwarded to the external processing server. This overrides the above `allowed_headers` if a header matches both. NOT CURRENTLY IMPLEMENTED. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/jwt/jwt.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/jwt/jwt.proto.sk.md index d938f07e645..b55f2354f34 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/jwt/jwt.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/jwt/jwt.proto.sk.md @@ -209,7 +209,7 @@ weight: 5 | `url` | `string` | The url used when accessing the upstream for Json Web Key Set. This is used to set the host and path in the request. | | `upstreamRef` | [.core.solo.io.ResourceRef](../../../../../../../../../solo-kit/api/v1/ref.proto.sk/#resourceref) | The Upstream representing the Json Web Key Set server. | | `cacheDuration` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Duration after which the cached JWKS should be expired. If not specified, default cache duration is 5 minutes. | -| `asyncFetch` | [.solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwksAsyncFetch](../../../../../external/envoy/extensions/filters/http/jwt_authn/v3/config.proto.sk/#jwksasyncfetch) | Fetch Jwks asynchronously in the main thread before the listener is activated. Fetched Jwks can be used by all worker threads. If this feature is not enabled: * The Jwks is fetched on-demand when the requests come. During the fetching, first few requests are paused until the Jwks is fetched. * Each worker thread fetches its own Jwks since Jwks cache is per worker thread. If this feature is enabled: * Fetched Jwks is done in the main thread before the listener is activated. Its fetched Jwks can be used by all worker threads. Each worker thread doesn't need to fetch its own. * Jwks is ready when the requests come, not need to wait for the Jwks fetching. | +| `asyncFetch` | .solo.io.envoy.extensions.filters.http.jwt_authn.v3.JwksAsyncFetch | Fetch Jwks asynchronously in the main thread before the listener is activated. Fetched Jwks can be used by all worker threads. If this feature is not enabled: * The Jwks is fetched on-demand when the requests come. During the fetching, first few requests are paused until the Jwks is fetched. * Each worker thread fetches its own Jwks since Jwks cache is per worker thread. If this feature is enabled: * Fetched Jwks is done in the main thread before the listener is activated. Its fetched Jwks can be used by all worker threads. Each worker thread doesn't need to fetch its own. * Jwks is ready when the requests come, not need to wait for the Jwks fetching. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/waf/waf.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/waf/waf.proto.sk.md index 35766803b23..4b36a3ddebb 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/waf/waf.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/waf/waf.proto.sk.md @@ -46,9 +46,9 @@ weight: 5 | `disabled` | `bool` | Disable waf on this resource (if omitted defaults to false). If a route/virtual host is configured with WAF, you must explicitly disable its WAF, i.e., it will not inherit the disabled status of its parent. | | `customInterventionMessage` | `string` | Custom massage to display if an intervention occurs. | | `coreRuleSet` | [.waf.options.gloo.solo.io.CoreRuleSet](../waf.proto.sk/#coreruleset) | Add OWASP core rule set if nil will not be added. | -| `ruleSets` | [[]envoy.config.filter.http.modsecurity.v2.RuleSet](../../../../../external/envoy/extensions/waf/waf.proto.sk/#ruleset) | Custom rule sets to add. Any subsequent changes to the rules in these files are not automatically updated. To update rules from files, version and update the file name. If you want dynamically updated rules, use the `configMapRuleSets` option instead. | +| `ruleSets` | []envoy.config.filter.http.modsecurity.v2.RuleSet | Custom rule sets to add. Any subsequent changes to the rules in these files are not automatically updated. To update rules from files, version and update the file name. If you want dynamically updated rules, use the `configMapRuleSets` option instead. | | `configMapRuleSets` | [[]waf.options.gloo.solo.io.RuleSetFromConfigMap](../waf.proto.sk/#rulesetfromconfigmap) | Kubernetes configmaps with the rule sets that you want to use. The rules must be in the value of the key-value mappings in the `data` field of the configmap. Subsequent updates to the configmap values are dynamically updated in the configuration. | -| `auditLogging` | [.envoy.config.filter.http.modsecurity.v2.AuditLogging](../../../../../external/envoy/extensions/waf/waf.proto.sk/#auditlogging) | Audit Log settings. | +| `auditLogging` | .envoy.config.filter.http.modsecurity.v2.AuditLogging | Audit Log settings. | | `requestHeadersOnly` | `bool` | Only process request headers, not buffering the request body. | | `responseHeadersOnly` | `bool` | Only process response headers, not buffering the response body. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/http_listener_options.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/http_listener_options.proto.sk.md index 4154e54cfda..a31fa279b72 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/http_listener_options.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/http_listener_options.proto.sk.md @@ -73,10 +73,10 @@ Optional, feature-specific configuration that lives on http listeners | `caching` | [.caching.options.gloo.solo.io.Settings](../enterprise/options/caching/caching.proto.sk/#settings) | Enterprise-only: Settings for the cache server itself. | | `disableExtProc` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Enterprise-only: Set to true to disable the External Processing filter for this listener. This can be overridden by child VirtualHostOptions or RouteOptions. Only one of `disableExtProc` or `extProc` can be set. | | `extProc` | [.extproc.options.gloo.solo.io.Settings](../enterprise/options/extproc/extproc.proto.sk/#settings) | Enterprise-only: External Processing filter settings for the listener. This can be used to override the defaults from the global settings (via shallow merge). Some of the settings on the listener can be overridden by child VirtualHostOptions or RouteOptions. Only one of `extProc` or `disableExtProc` can be set. | -| `gzip` | [.solo.io.envoy.config.filter.http.gzip.v2.Gzip](../../external/envoy/config/filter/http/gzip/v2/gzip.proto.sk/#gzip) | Gzip is an HTTP option which enables Gloo to compress data returned from an upstream service upon client request. Compression is useful in situations where large payloads need to be transmitted without compromising the response time. Example: ``` gzip: contentType: - "application/json" compressionLevel: BEST ```. | -| `proxyLatency` | [.envoy.config.filter.http.proxylatency.v2.ProxyLatency](../../external/envoy/extensions/proxylatency/proxylatency.proto.sk/#proxylatency) | Enterprise-only: Proxy latency. | -| `buffer` | [.solo.io.envoy.extensions.filters.http.buffer.v3.Buffer](../../external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk/#buffer) | Buffer can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. | -| `csrf` | [.solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy](../../external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk/#csrfpolicy) | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | +| `gzip` | .solo.io.envoy.config.filter.http.gzip.v2.Gzip | Gzip is an HTTP option which enables Gloo to compress data returned from an upstream service upon client request. Compression is useful in situations where large payloads need to be transmitted without compromising the response time. Example: ``` gzip: contentType: - "application/json" compressionLevel: BEST ```. | +| `proxyLatency` | .envoy.config.filter.http.proxylatency.v2.ProxyLatency | Enterprise-only: Proxy latency. | +| `buffer` | .solo.io.envoy.extensions.filters.http.buffer.v3.Buffer | Buffer can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. | +| `csrf` | .solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | | `grpcJsonTranscoder` | [.grpc_json.options.gloo.solo.io.GrpcJsonTranscoder](../options/grpc_json/grpc_json.proto.sk/#grpcjsontranscoder) | Exposed envoy config for the gRPC to JSON transcoding filter, envoy.filters.http.grpc_json_transcoder. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/grpc_json_transcoder/v3/transcoder.proto. | | `sanitizeClusterHeader` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Enterprise-only: If using the HTTP header specified by cluster_header to direct traffic to a cluster, this option will sanitize that header from downstream traffic. Defaults to false. | | `leftmostXffAddress` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Enterprise-only: Setting this value to true will grab the leftmost IP address from the x-forwarded-for header and set it as the downstream address. It is worth noting that the x-forwarded-for header can be tampered with by clients and should therefore be sanitized by any preceding proxies / load balancers if this option is to be used. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/als/als.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/als/als.proto.sk.md index 171755815ab..b92d3ffaf02 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/als/als.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/als/als.proto.sk.md @@ -175,7 +175,7 @@ Filter on an integer comparison. | Field | Type | Description | | ----- | ---- | ----------- | | `op` | [.als.options.gloo.solo.io.ComparisonFilter.Op](../als.proto.sk/#op) | Comparison operator. | -| `value` | [.solo.io.envoy.config.core.v3.RuntimeUInt32](../../../../external/envoy/config/core/v3/base.proto.sk/#runtimeuint32) | Value to compare against. Note that the `defaultValue` field must be defined unless the `runtimeKey` matches a key that is defined in Envoy's [runtime configuration layer](https://www.envoyproxy.io/docs/envoy/v1.30.0/configuration/operations/runtime#config-runtime-bootstrap). Gloo Gateway does not include a key by default. To specify a key-value pair, use the [gatewayProxies.NAME.customStaticLayer]({{< versioned_link_path fromRoot="/reference/helm_chart_values/" >}}) Helm value or set the key at runtime by using the gateway proxy admin interface. | +| `value` | .solo.io.envoy.config.core.v3.RuntimeUInt32 | Value to compare against. Note that the `defaultValue` field must be defined unless the `runtimeKey` matches a key that is defined in Envoy's [runtime configuration layer](https://www.envoyproxy.io/docs/envoy/v1.30.0/configuration/operations/runtime#config-runtime-bootstrap). Gloo Gateway does not include a key by default. To specify a key-value pair, use the [gatewayProxies.NAME.customStaticLayer]({{< versioned_link_path fromRoot="/reference/helm_chart_values/" >}}) Helm value or set the key at runtime by using the gateway proxy admin interface. | @@ -280,7 +280,7 @@ Filters for random sampling of requests. | Field | Type | Description | | ----- | ---- | ----------- | | `runtimeKey` | `string` | 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. | -| `percentSampled` | [.solo.io.envoy.type.v3.FractionalPercent](../../../../external/envoy/type/v3/percent.proto.sk/#fractionalpercent) | The default sampling percentage. If not specified, defaults to 0% with denominator of 100. | +| `percentSampled` | .solo.io.envoy.type.v3.FractionalPercent | The default sampling percentage. If not specified, defaults to 0% with denominator of 100. | | `useIndependentRandomness` | `bool` | By default, sampling pivots on the header :ref:`x-request-id` being present. If :ref:`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`. 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 ` and :ref:`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). | @@ -339,7 +339,7 @@ Filters requests based on the presence or value of a request header. | Field | Type | Description | | ----- | ---- | ----------- | -| `header` | [.solo.io.envoy.config.route.v3.HeaderMatcher](../../../../external/envoy/config/route/v3/route_components.proto.sk/#headermatcher) | Only requests with a header which matches the specified HeaderMatcher will pass the filter check. | +| `header` | .solo.io.envoy.config.route.v3.HeaderMatcher | Only requests with a header which matches the specified HeaderMatcher will pass the filter check. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/dynamic_forward_proxy/dynamic_forward_proxy.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/dynamic_forward_proxy/dynamic_forward_proxy.proto.sk.md index c02d37c1947..25fc4a0d0fc 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/dynamic_forward_proxy/dynamic_forward_proxy.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/dynamic_forward_proxy/dynamic_forward_proxy.proto.sk.md @@ -110,7 +110,7 @@ Configuration for the dynamic forward proxy DNS cache. See the :ref:`architectur | `dnsCacheCircuitBreaker` | [.dfp.options.gloo.solo.io.DnsCacheCircuitBreakers](../dynamic_forward_proxy.proto.sk/#dnscachecircuitbreakers) | The config of circuit breakers for resolver. It provides a configurable threshold. Envoy will use dns cache circuit breakers with default settings even if this value is not set. | | `caresDns` | [.dfp.options.gloo.solo.io.CaresDnsResolverConfig](../dynamic_forward_proxy.proto.sk/#caresdnsresolverconfig) | Only one of `caresDns` or `appleDns` can be set. | | `appleDns` | [.dfp.options.gloo.solo.io.AppleDnsResolverConfig](../dynamic_forward_proxy.proto.sk/#applednsresolverconfig) | Only one of `appleDns` or `caresDns` can be set. | -| `preresolveHostnames` | [[]solo.io.envoy.config.core.v3.SocketAddress](../../../../external/envoy/config/core/v3/address.proto.sk/#socketaddress) | Hostnames that should be preresolved into the cache upon creation. This might provide a performance improvement, in the form of cache hits, for hostnames that are going to be resolved during steady state and are known at config load time. | +| `preresolveHostnames` | []solo.io.envoy.config.core.v3.SocketAddress | Hostnames that should be preresolved into the cache upon creation. This might provide a performance improvement, in the form of cache hits, for hostnames that are going to be resolved during steady state and are known at config load time. | | `dnsQueryTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | The timeout used for DNS queries. This timeout is independent of any timeout and retry policy used by the underlying DNS implementation (e.g., c-areas and Apple DNS) which are opaque. Setting this timeout will ensure that queries succeed or fail within the specified time frame and are then retried using the standard refresh rates. Defaults to 5s if not set. | @@ -189,7 +189,7 @@ Configuration for c-ares DNS resolver. | Field | Type | Description | | ----- | ---- | ----------- | -| `resolvers` | [[]solo.io.envoy.config.core.v3.Address](../../../../external/envoy/config/core/v3/address.proto.sk/#address) | A list of dns resolver addresses. :ref:`use_resolvers_as_fallback` below dictates if the DNS client should override system defaults or only use the provided resolvers if the system defaults are not available, i.e., as a fallback. | +| `resolvers` | []solo.io.envoy.config.core.v3.Address | A list of dns resolver addresses. :ref:`use_resolvers_as_fallback` below dictates if the DNS client should override system defaults or only use the provided resolvers if the system defaults are not available, i.e., as a fallback. | | `dnsResolverOptions` | [.dfp.options.gloo.solo.io.DnsResolverOptions](../dynamic_forward_proxy.proto.sk/#dnsresolveroptions) | Configuration of DNS resolver option flags which control the behavior of the DNS resolver. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/rest/rest.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/rest/rest.proto.sk.md index 7e48a793946..dd0c9697471 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/rest/rest.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/rest/rest.proto.sk.md @@ -79,7 +79,7 @@ This is only for upstream with REST service spec | ----- | ---- | ----------- | | `functionName` | `string` | | | `parameters` | [.transformation.options.gloo.solo.io.Parameters](../../transformation/parameters.proto.sk/#parameters) | | -| `responseTransformation` | [.envoy.api.v2.filter.http.TransformationTemplate](../../../../external/envoy/extensions/transformation/transformation.proto.sk/#transformationtemplate) | | +| `responseTransformation` | .envoy.api.v2.filter.http.TransformationTemplate | | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/tracing/tracing.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/tracing/tracing.proto.sk.md index 4e1adef1f5e..a9329f9b88e 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/tracing/tracing.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/tracing/tracing.proto.sk.md @@ -52,10 +52,10 @@ See [here](https://docs.solo.io/gloo-edge/latest/guides/observability/tracing/) | `requestHeadersForTags` | [[]google.protobuf.StringValue](../../../../../../../../protoc-gen-ext/external/google/protobuf/wrappers.proto.sk/#stringvalue) | Optional. If specified, Envoy will include the headers and header values for any matching request headers. | | `verbose` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Optional. If true, Envoy will include logs for streaming events. Default: false. | | `tracePercentages` | [.tracing.options.gloo.solo.io.TracePercentages](../tracing.proto.sk/#tracepercentages) | Requests can produce traces by random sampling or when the `x-client-trace-id` header is provided. TracePercentages defines the limits for random, forced, and overall tracing percentages. | -| `zipkinConfig` | [.solo.io.envoy.config.trace.v3.ZipkinConfig](../../../../external/envoy/config/trace/v3/zipkin.proto.sk/#zipkinconfig) | Only one of `zipkinConfig`, `datadogConfig`, `openTelemetryConfig`, or `openCensusConfig` can be set. | -| `datadogConfig` | [.solo.io.envoy.config.trace.v3.DatadogConfig](../../../../external/envoy/config/trace/v3/datadog.proto.sk/#datadogconfig) | Only one of `datadogConfig`, `zipkinConfig`, `openTelemetryConfig`, or `openCensusConfig` can be set. | -| `openTelemetryConfig` | [.solo.io.envoy.config.trace.v3.OpenTelemetryConfig](../../../../external/envoy/config/trace/v3/opentelemetry.proto.sk/#opentelemetryconfig) | Only one of `openTelemetryConfig`, `zipkinConfig`, `datadogConfig`, or `openCensusConfig` can be set. | -| `openCensusConfig` | [.solo.io.envoy.config.trace.v3.OpenCensusConfig](../../../../external/envoy/config/trace/v3/opencensus.proto.sk/#opencensusconfig) | Only one of `openCensusConfig`, `zipkinConfig`, `datadogConfig`, or `openTelemetryConfig` can be set. | +| `zipkinConfig` | .solo.io.envoy.config.trace.v3.ZipkinConfig | Only one of `zipkinConfig`, `datadogConfig`, `openTelemetryConfig`, or `openCensusConfig` can be set. | +| `datadogConfig` | .solo.io.envoy.config.trace.v3.DatadogConfig | Only one of `datadogConfig`, `zipkinConfig`, `openTelemetryConfig`, or `openCensusConfig` can be set. | +| `openTelemetryConfig` | .solo.io.envoy.config.trace.v3.OpenTelemetryConfig | Only one of `openTelemetryConfig`, `zipkinConfig`, `datadogConfig`, or `openCensusConfig` can be set. | +| `openCensusConfig` | .solo.io.envoy.config.trace.v3.OpenCensusConfig | Only one of `openCensusConfig`, `zipkinConfig`, `datadogConfig`, or `openTelemetryConfig` can be set. | | `environmentVariablesForTags` | [[]tracing.options.gloo.solo.io.TracingTagEnvironmentVariable](../tracing.proto.sk/#tracingtagenvironmentvariable) | Optional. If specified, Envoy will include the environment variables with the given tag as tracing tags. | | `literalsForTags` | [[]tracing.options.gloo.solo.io.TracingTagLiteral](../tracing.proto.sk/#tracingtagliteral) | Optional. If specified, Envoy will include the literals with the given tag as tracing tags. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/transformation/transformation.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/transformation/transformation.proto.sk.md index 30f2db4b67a..7b166a86138 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/transformation/transformation.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/transformation/transformation.proto.sk.md @@ -169,7 +169,7 @@ User-facing API for transformation. | ----- | ---- | ----------- | | `transformationTemplate` | [.transformation.options.gloo.solo.io.TransformationTemplate](../transformation.proto.sk/#transformationtemplate) | Apply transformation templates. Only one of `transformationTemplate`, `headerBodyTransform`, or `xsltTransformation` can be set. | | `headerBodyTransform` | [.transformation.options.gloo.solo.io.HeaderBodyTransform](../transformation.proto.sk/#headerbodytransform) | This type of transformation will make all the headers available in the response body. The resulting JSON body will consist of two attributes: 'headers', containing the headers, and 'body', containing the original body. Only one of `headerBodyTransform`, `transformationTemplate`, or `xsltTransformation` can be set. | -| `xsltTransformation` | [.envoy.config.transformer.xslt.v2.XsltTransformation](../../../../external/envoy/extensions/transformers/xslt/xslt_transformer.proto.sk/#xslttransformation) | (Enterprise Only): Xslt Transformation. Only one of `xsltTransformation`, `transformationTemplate`, or `headerBodyTransform` can be set. | +| `xsltTransformation` | .envoy.config.transformer.xslt.v2.XsltTransformation | (Enterprise Only): Xslt Transformation. Only one of `xsltTransformation`, `transformationTemplate`, or `headerBodyTransform` can be set. | | `logRequestResponseInfo` | `bool` | When enabled, log request/response body and headers before and after this transformation is applied. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/proxy.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/proxy.proto.sk.md index 62673d97800..2facdb1edcf 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/proxy.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/proxy.proto.sk.md @@ -300,8 +300,8 @@ Some traffic policies can be configured to work both on the listener and virtual | Field | Type | Description | | ----- | ---- | ----------- | | `sslConfig` | [.gloo.solo.io.SslConfig](../ssl/ssl.proto.sk/#sslconfig) | Gloo use SNI domains as matching criteria for Gateway selection The other ssl_config properties will be applied to the outputFilterChain's transport socket SslConfig from VirtualServices will be ignored in a MatchedGateway. | -| `sourcePrefixRanges` | [[]solo.io.envoy.config.core.v3.CidrRange](../../external/envoy/config/core/v3/address.proto.sk/#cidrrange) | Source addresses to match. This value is either the actual addresses used to connect, or addresses that are overridden by using PROXY protocol or original_src. | -| `prefixRanges` | [[]solo.io.envoy.config.core.v3.CidrRange](../../external/envoy/config/core/v3/address.proto.sk/#cidrrange) | Destination addresses to match. This value is either the actual addresses used to connect, or addresses that are overridden by using PROXY protocol or original_dst. | +| `sourcePrefixRanges` | []solo.io.envoy.config.core.v3.CidrRange | Source addresses to match. This value is either the actual addresses used to connect, or addresses that are overridden by using PROXY protocol or original_src. | +| `prefixRanges` | []solo.io.envoy.config.core.v3.CidrRange | Destination addresses to match. This value is either the actual addresses used to connect, or addresses that are overridden by using PROXY protocol or original_dst. | | `destinationPort` | [.google.protobuf.UInt32Value](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/u-int-32-value) | Optional destination port to consider in determining a filter chain match. Filter chains that specify the destination port of incoming traffic are the most specific match. If no filter chain specifies the exact destination port, the filter chains which do not specify ports are the most specific match. | | `passthroughCipherSuites` | `[]string` | | @@ -623,7 +623,7 @@ Notice: RedirectAction is copied directly from https://github.com/envoyproxy/env | `hostRedirect` | `string` | The host portion of the URL will be swapped with this value. | | `pathRedirect` | `string` | The path portion of the URL will be swapped with this value. Only one of `pathRedirect`, `prefixRewrite`, or `regexRewrite` can be set. | | `prefixRewrite` | `string` | 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. Pay attention to the use of trailing slashes as mentioned in `RouteAction`'s `prefix_rewrite`. Only one of `prefixRewrite`, `pathRedirect`, or `regexRewrite` can be set. | -| `regexRewrite` | [.solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute](../../external/envoy/type/matcher/v3/regex.proto.sk/#regexmatchandsubstitute) | Indicates that during forwarding, portions of the path that match the pattern should be rewritten, even allowing the substitution of capture groups from the pattern into the new path as specified by the rewrite substitution string. This is useful to allow application paths to be rewritten in a way that is aware of segments with variable content like identifiers. The router filter will place the original path as it was before the rewrite into the :ref:`x-envoy-original-path ` header. Only one of :ref:`prefix_rewrite ` or *regex_rewrite* may be specified. Examples using Google's [RE2](https://github.com/google/re2) engine: * The path pattern `^/service/([^/]+)(/.*)$` paired with a substitution string of `\2/instance/\1` would transform `/service/foo/v1/api` into `/v1/api/instance/foo`. * The pattern `one` paired with a substitution string of `two` would transform `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/two/zzz`. * The pattern `^(.*?)one(.*)$` paired with a substitution string of `\1two\2` would replace only the first occurrence of `one`, transforming path `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/one/zzz`. * The pattern `(?i)/xxx/` paired with a substitution string of `/yyy/` would do a case-insensitive match and transform path `/aaa/XxX/bbb` to `/aaa/yyy/bbb`. Only one of `regexRewrite`, `pathRedirect`, or `prefixRewrite` can be set. | +| `regexRewrite` | .solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute | Indicates that during forwarding, portions of the path that match the pattern should be rewritten, even allowing the substitution of capture groups from the pattern into the new path as specified by the rewrite substitution string. This is useful to allow application paths to be rewritten in a way that is aware of segments with variable content like identifiers. The router filter will place the original path as it was before the rewrite into the :ref:`x-envoy-original-path ` header. Only one of :ref:`prefix_rewrite ` or *regex_rewrite* may be specified. Examples using Google's [RE2](https://github.com/google/re2) engine: * The path pattern `^/service/([^/]+)(/.*)$` paired with a substitution string of `\2/instance/\1` would transform `/service/foo/v1/api` into `/v1/api/instance/foo`. * The pattern `one` paired with a substitution string of `two` would transform `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/two/zzz`. * The pattern `^(.*?)one(.*)$` paired with a substitution string of `\1two\2` would replace only the first occurrence of `one`, transforming path `/xxx/one/yyy/one/zzz` into `/xxx/two/yyy/one/zzz`. * The pattern `(?i)/xxx/` paired with a substitution string of `/yyy/` would do a case-insensitive match and transform path `/aaa/XxX/bbb` to `/aaa/yyy/bbb`. Only one of `regexRewrite`, `pathRedirect`, or `prefixRewrite` can be set. | | `responseCode` | [.gloo.solo.io.RedirectAction.RedirectResponseCode](../proxy.proto.sk/#redirectresponsecode) | The HTTP status code to use in the redirect response. The default response code is MOVED_PERMANENTLY (301). | | `httpsRedirect` | `bool` | The scheme portion of the URL will be swapped with "https". | | `stripQuery` | `bool` | Indicates that during redirection, the query portion of the URL will be removed. Default value is false. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/route_options.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/route_options.proto.sk.md index ce463d5963e..3e7df2bab92 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/route_options.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/route_options.proto.sk.md @@ -89,7 +89,7 @@ to be usable by Gloo. (plugins currently need to be compiled into Gloo) | `headerManipulation` | [.headers.options.gloo.solo.io.HeaderManipulation](../options/headers/headers.proto.sk/#headermanipulation) | Append/Remove headers on Requests or Responses on this Route. | | `hostRewrite` | `string` | Indicates that during forwarding, the host header will be swapped with this value. Only one of `hostRewrite`, `autoHostRewrite`, `hostRewritePathRegex`, or `hostRewriteHeader` can be set. | | `autoHostRewrite` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Enable/Disable auto host re-write. Indicates that the host header will be swapped with the hostname of the upstream host. This setting is only honored for upstreams that use DNS resolution (i.e., their generated Envoy cluster is of type STRICT_DNS or LOGICAL_DNS -- think aws, azure, or static upstreams with hostnames). Only one of `autoHostRewrite`, `hostRewrite`, `hostRewritePathRegex`, or `hostRewriteHeader` can be set. | -| `hostRewritePathRegex` | [.solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute](../../external/envoy/type/matcher/v3/regex.proto.sk/#regexmatchandsubstitute) | Indicates that during forwarding, the host header will be swapped with the result of the regex substitution executed on path value with query and fragment removed. Only one of `hostRewritePathRegex`, `hostRewrite`, `autoHostRewrite`, or `hostRewriteHeader` can be set. | +| `hostRewritePathRegex` | .solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute | Indicates that during forwarding, the host header will be swapped with the result of the regex substitution executed on path value with query and fragment removed. Only one of `hostRewritePathRegex`, `hostRewrite`, `autoHostRewrite`, or `hostRewriteHeader` can be set. | | `hostRewriteHeader` | [.google.protobuf.StringValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/string-value) | Indicates that during forwarding, the host header will be swapped with the content of given downstream or custom header. If header value is empty, host header is left intact. Using this option will append the x-forwarded-host header if append_x_forwarded_host is set. Only one of `hostRewriteHeader`, `hostRewrite`, `autoHostRewrite`, or `hostRewritePathRegex` can be set. | | `appendXForwardedHost` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | If true and there is a host rewrite, appends the x-forwarded-host header to requests. | | `cors` | [.cors.options.gloo.solo.io.CorsPolicy](../options/cors/cors.proto.sk/#corspolicy) | Defines a CORS policy for the route. If a CORS policy is defined on both the route and the virtual host, the merge behavior for these policies is determined by the CorsPolicyMergeSettings defined on the VirtualHost. | @@ -109,11 +109,11 @@ to be usable by Gloo. (plugins currently need to be compiled into Gloo) | `rbac` | [.rbac.options.gloo.solo.io.ExtensionSettings](../enterprise/options/rbac/rbac.proto.sk/#extensionsettings) | Enterprise-only: Config for RBAC (currently only supports RBAC based on JWT claims). | | `extauth` | [.enterprise.gloo.solo.io.ExtAuthExtension](../enterprise/options/extauth/v1/extauth.proto.sk/#extauthextension) | Enterprise-only: Authentication configuration. | | `dlp` | [.dlp.options.gloo.solo.io.Config](../enterprise/options/dlp/dlp.proto.sk/#config) | Enterprise-only: Config for data loss prevention. | -| `bufferPerRoute` | [.solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute](../../external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk/#bufferperroute) | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | -| `csrf` | [.solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy](../../external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk/#csrfpolicy) | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | +| `bufferPerRoute` | .solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | +| `csrf` | .solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | | `stagedTransformations` | [.transformation.options.gloo.solo.io.TransformationStages](../options/transformation/transformation.proto.sk/#transformationstages) | Early transformations stage. These transformations run before most other options are processed. If the `regular` field is set in here, the `transformations` field is ignored. | | `envoyMetadata` | `map` | This field can be used to provide additional information about the route. This metadata can be consumed by the Envoy filters that process requests that match the route. For more info about metadata, see [here](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/advanced/data_sharing_between_filters#metadata). The value of this field will be propagated to the `metadata` attribute of the corresponding Envoy route. Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#config-route-v3-route) for more details about the `metadata` attribute. | -| `regexRewrite` | [.solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute](../../external/envoy/type/matcher/v3/regex.proto.sk/#regexmatchandsubstitute) | For requests matched on this route, rewrite the HTTP request path according to the provided regex pattern before forwarding upstream Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/v1.14.1/api-v3/config/route/v3/route_components.proto#envoy-v3-api-field-config-route-v3-routeaction-regex-rewrite) for more details about the `regex_rewrite` attribute. | +| `regexRewrite` | .solo.io.envoy.type.matcher.v3.RegexMatchAndSubstitute | For requests matched on this route, rewrite the HTTP request path according to the provided regex pattern before forwarding upstream Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/v1.14.1/api-v3/config/route/v3/route_components.proto#envoy-v3-api-field-config-route-v3-routeaction-regex-rewrite) for more details about the `regex_rewrite` attribute. | | `maxStreamDuration` | [.gloo.solo.io.RouteOptions.MaxStreamDuration](../route_options.proto.sk/#maxstreamduration) | Settings for maximum durations and timeouts for streams on the route. Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-msg-config-route-v3-routeaction-maxstreamduration). | | `idleTimeout` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout, although the Gateway's [httpConnectionManagerSettings](https://docs.solo.io/gloo-edge/latest/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/options/hcm/hcm.proto.sk/#httpconnectionmanagersettings) wide stream_idle_timeout will still apply. A value of 0 will completely disable the route’s idle timeout, even if a connection manager stream idle timeout is configured. Please refer to the [Envoy documentation](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-field-config-route-v3-routeaction-idle-timeout). | | `extProc` | [.extproc.options.gloo.solo.io.RouteSettings](../enterprise/options/extproc/extproc.proto.sk/#routesettings) | Enterprise-only: External Processing filter settings for the route. This can be used to override certain HttpListenerOptions or VirtualHostOptions settings. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.sk.md index cc582853163..e43fe6fa1df 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/settings.proto.sk.md @@ -806,7 +806,7 @@ Settings specific to the gloo (Envoy xDS server) controller | Field | Type | Description | | ----- | ---- | ----------- | | `enableCredentialsDiscovey` | `bool` | Enable credential discovery via IAM; when this is set, there's no need provide a secret on the upstream when running on AWS environment. Note: This should **ONLY** be enabled when running in an AWS environment, as the AWS code blocks the envoy main thread. This should be negligible when running inside AWS. Only one of `enableCredentialsDiscovey` or `serviceAccountCredentials` can be set. | -| `serviceAccountCredentials` | [.envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.ServiceAccountCredentials](../../external/envoy/extensions/aws/filter.proto.sk/#serviceaccountcredentials) | Use projected service account token, and role arn to create temporary credentials with which to authenticate lambda requests. This functionality is meant to work along side EKS service account to IAM binding functionality as outlined here: https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html If the following environment values are not present in the gateway-proxy, this option cannot be used. 1. AWS_WEB_IDENTITY_TOKEN_FILE 2. AWS_ROLE_ARN The role which will be assumed by the credentials will be the one specified by AWS_ROLE_ARN, however, this can also be overwritten in the AWS Upstream spec via the role_arn field If they are not specified envoy will NACK the config update, which will show up in the logs when running OS Gloo. When running Gloo enterprise it will be reflected in the prometheus stat: "glooe.solo.io/xds/nack" In order to specify the aws sts endpoint, both the cluster and uri must be set. This is due to an envoy limitation which cannot infer the host or path from the cluster, and therefore must be explicitly specified via the uri. Only one of `serviceAccountCredentials` or `enableCredentialsDiscovey` can be set. | +| `serviceAccountCredentials` | .envoy.config.filter.http.aws_lambda.v2.AWSLambdaConfig.ServiceAccountCredentials | Use projected service account token, and role arn to create temporary credentials with which to authenticate lambda requests. This functionality is meant to work along side EKS service account to IAM binding functionality as outlined here: https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html If the following environment values are not present in the gateway-proxy, this option cannot be used. 1. AWS_WEB_IDENTITY_TOKEN_FILE 2. AWS_ROLE_ARN The role which will be assumed by the credentials will be the one specified by AWS_ROLE_ARN, however, this can also be overwritten in the AWS Upstream spec via the role_arn field If they are not specified envoy will NACK the config update, which will show up in the logs when running OS Gloo. When running Gloo enterprise it will be reflected in the prometheus stat: "glooe.solo.io/xds/nack" In order to specify the aws sts endpoint, both the cluster and uri must be set. This is due to an envoy limitation which cannot infer the host or path from the cluster, and therefore must be explicitly specified via the uri. Only one of `serviceAccountCredentials` or `enableCredentialsDiscovey` can be set. | | `propagateOriginalRouting` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Send downstream path and method as `x-envoy-original-path` and `x-envoy-original-method` headers on the request to AWS lambda. Defaults to false. | | `credentialRefreshDelay` | [.google.protobuf.Duration](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/duration) | Sets cadence for refreshing credentials for Service Account. Does nothing if Service account is not set. Does not affect the default filewatch for service account only augments it. Defaults to not refreshing on time period. Suggested is 15 minutes. | | `fallbackToFirstFunction` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | Sets the unsafe behavior where a route can specify a lambda upstream but not set the function to target. It will use the first function which if discovery is enabled the first function is the first function name alphabetically from the last discovery run. This means that the lambda being pointed to could change. Defaults to false. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/upstream.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/upstream.proto.sk.md index 44918575013..8e4c606a35c 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/upstream.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/upstream.proto.sk.md @@ -81,8 +81,8 @@ Each upstream type is handled by a corresponding Gloo plugin. (plugins currently | `sslConfig` | [.gloo.solo.io.UpstreamSslConfig](../ssl/ssl.proto.sk/#upstreamsslconfig) | SslConfig contains the options necessary to configure envoy to originate TLS to an upstream. | | `circuitBreakers` | [.gloo.solo.io.CircuitBreakerConfig](../circuit_breaker.proto.sk/#circuitbreakerconfig) | Circuit breakers for this upstream. if not set, the defaults ones from the Gloo settings will be used. if those are not set, [envoy's defaults](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/circuit_breaker.proto#envoy-api-msg-cluster-circuitbreakers) will be used. | | `loadBalancerConfig` | [.gloo.solo.io.LoadBalancerConfig](../load_balancer.proto.sk/#loadbalancerconfig) | Settings for the load balancer that sends requests to the Upstream. The load balancing method is set to round robin by default. | -| `healthChecks` | [[]solo.io.envoy.api.v2.core.HealthCheck](../../external/envoy/api/v2/core/health_check.proto.sk/#healthcheck) | | -| `outlierDetection` | [.solo.io.envoy.api.v2.cluster.OutlierDetection](../../external/envoy/api/v2/cluster/outlier_detection.proto.sk/#outlierdetection) | | +| `healthChecks` | []solo.io.envoy.api.v2.core.HealthCheck | | +| `outlierDetection` | .solo.io.envoy.api.v2.cluster.OutlierDetection | | | `kube` | [.kubernetes.options.gloo.solo.io.UpstreamSpec](../options/kubernetes/kubernetes.proto.sk/#upstreamspec) | Only one of `kube`, `static`, `pipe`, `aws`, `azure`, `consul`, `awsEc2`, `gcp`, or `ai` can be set. | | `static` | [.static.options.gloo.solo.io.UpstreamSpec](../options/static/static.proto.sk/#upstreamspec) | Only one of `static`, `kube`, `pipe`, `aws`, `azure`, `consul`, `awsEc2`, `gcp`, or `ai` can be set. | | `pipe` | [.pipe.options.gloo.solo.io.UpstreamSpec](../options/pipe/pipe.proto.sk/#upstreamspec) | Only one of `pipe`, `kube`, `static`, `aws`, `azure`, `consul`, `awsEc2`, `gcp`, or `ai` can be set. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/virtual_host_options.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/virtual_host_options.proto.sk.md index 45801835f27..db2e94ee2cb 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/virtual_host_options.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/virtual_host_options.proto.sk.md @@ -82,8 +82,8 @@ to be usable by Gloo. (plugins currently need to be compiled into Gloo) | `rbac` | [.rbac.options.gloo.solo.io.ExtensionSettings](../enterprise/options/rbac/rbac.proto.sk/#extensionsettings) | Enterprise-only: Config for RBAC (currently only supports RBAC based on JWT claims). | | `extauth` | [.enterprise.gloo.solo.io.ExtAuthExtension](../enterprise/options/extauth/v1/extauth.proto.sk/#extauthextension) | Enterprise-only: Authentication configuration. | | `dlp` | [.dlp.options.gloo.solo.io.Config](../enterprise/options/dlp/dlp.proto.sk/#config) | Enterprise-only: Config for data loss prevention. | -| `bufferPerRoute` | [.solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute](../../external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk/#bufferperroute) | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | -| `csrf` | [.solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy](../../external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk/#csrfpolicy) | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | +| `bufferPerRoute` | .solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | +| `csrf` | .solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | | `includeRequestAttemptCount` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | IncludeRequestAttemptCount decides whether the x-envoy-attempt-count header should be included in the upstream request. Setting this option will cause it to override any existing header value, so in the case of two Envoys on the request path with this option enabled, the upstream will see the attempt count as perceived by the second Envoy. Defaults to false. | | `includeAttemptCountInResponse` | [.google.protobuf.BoolValue](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/bool-value) | IncludeAttemptCountInResponse decides whether the x-envoy-attempt-count header should be included in the downstream response. Setting this option will cause the router to override any existing header value, so in the case of two Envoys on the request path with this option enabled, the downstream will see the attempt count as perceived by the Envoy closest upstream from itself. Defaults to false. | | `stagedTransformations` | [.transformation.options.gloo.solo.io.TransformationStages](../options/transformation/transformation.proto.sk/#transformationstages) | Early transformations stage. These transformations run before most other options are processed. If the `regular` field is set in here, the `transformations` field is ignored. | diff --git a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/weighted_destination_options.proto.sk.md b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/weighted_destination_options.proto.sk.md index 108e55bb0a7..e4f26f4b9af 100644 --- a/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/weighted_destination_options.proto.sk.md +++ b/docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/weighted_destination_options.proto.sk.md @@ -46,8 +46,8 @@ is selected for routing. | `transformations` | [.transformation.options.gloo.solo.io.Transformations](../options/transformation/transformation.proto.sk/#transformations) | Transformations to apply. Note: this field is superseded by `staged_transformations`. If `staged_transformations.regular` is set, this field will be ignored. | | `extensions` | [.gloo.solo.io.Extensions](../extensions.proto.sk/#extensions) | Extensions will be passed along from Listeners, Gateways, VirtualServices, Routes, and Route tables to the underlying Proxy, making them useful for controllers, validation tools, etc. which interact with kubernetes yaml. Some sample use cases: * controllers, deployment pipelines, helm charts, etc. which wish to use extensions as a kind of opaque metadata. * In the future, Gloo may support gRPC-based plugins which communicate with the Gloo translator out-of-process. Opaque Extensions enables development of out-of-process plugins without requiring recompiling & redeploying Gloo's API. | | `extauth` | [.enterprise.gloo.solo.io.ExtAuthExtension](../enterprise/options/extauth/v1/extauth.proto.sk/#extauthextension) | Enterprise-only: Authentication configuration. | -| `bufferPerRoute` | [.solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute](../../external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk/#bufferperroute) | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | -| `csrf` | [.solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy](../../external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk/#csrfpolicy) | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | +| `bufferPerRoute` | .solo.io.envoy.extensions.filters.http.buffer.v3.BufferPerRoute | BufferPerRoute can be used to set the maximum request size that the filter will buffer before the connection manager will stop buffering and return a 413 response. Note: If you have not set a global config (at the gateway level), this override will not do anything by itself. | +| `csrf` | .solo.io.envoy.extensions.filters.http.csrf.v3.CsrfPolicy | Csrf can be used to set percent of requests for which the CSRF filter is enabled, enable shadow-only mode where policies will be evaluated and tracked, but not enforced and add additional source origins that will be allowed in addition to the destination origin. For more, see https://www.envoyproxy.io/docs/envoy/latest/api-v2/config/filter/http/csrf/v2/csrf.proto. | | `stagedTransformations` | [.transformation.options.gloo.solo.io.TransformationStages](../options/transformation/transformation.proto.sk/#transformationstages) | Early transformations stage. These transformations run before most other options are processed. If the `regular` field is set in here, the `transformations` field is ignored. | diff --git a/generate.go b/generate.go index 747f5282358..30e7e208659 100644 --- a/generate.go +++ b/generate.go @@ -57,7 +57,7 @@ func main() { }, RenderOptions: &options.RenderOptions{ SkipLinksForPathPrefixes: []string{ - "github.com/solo-io/gloo/projects/gloo/api/external/xds", + "github.com/solo-io/gloo/projects/gloo/api/external", }, }, }, @@ -98,6 +98,6 @@ func main() { } func removeExternalApiDocs() error { - const externalApiDocsPath = "docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/xds" + const externalApiDocsPath = "docs/content/reference/api/github.com/solo-io/gloo/projects/gloo/api/external" return os.RemoveAll(externalApiDocsPath) } From 4982785458fceea890b34c1f8647844c5092af3d Mon Sep 17 00:00:00 2001 From: sheidkamp Date: Fri, 15 Nov 2024 09:59:26 -0500 Subject: [PATCH 13/14] Remove links from docs --- docs/content/guides/security/csrf/_index.md | 2 +- docs/content/guides/security/waf/_index.md | 8 +++----- .../content/guides/traffic_management/buffering/_index.md | 2 +- docs/content/installation/advanced_configuration/gzip.md | 2 -- docs/content/introduction/traffic_filter.md | 2 +- .../advanced/zero-downtime-gateway-rollout/_index.md | 2 -- docs/content/operations/production_deployment/_index.md | 2 +- 7 files changed, 7 insertions(+), 13 deletions(-) diff --git a/docs/content/guides/security/csrf/_index.md b/docs/content/guides/security/csrf/_index.md index 4bd8d7ce2ae..81acaf08b4a 100644 --- a/docs/content/guides/security/csrf/_index.md +++ b/docs/content/guides/security/csrf/_index.md @@ -440,4 +440,4 @@ x-envoy-upstream-service-time: 2 In this guide, we described what is Cross Site Request Forgery (CSRF) and approaches for dealing with these attacks. We delved into one Gloo Gateway approach that directly uses an integrated Envoy filter. -For more information, check out both the [Envoy docs](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/csrf_filter#config-http-filters-csrf) and [Gloo docs]({{% versioned_link_path fromRoot="/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/csrf/v3/csrf.proto.sk/" %}}). +For more information, check out the [Envoy docs](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/csrf_filter#config-http-filters-csrf). diff --git a/docs/content/guides/security/waf/_index.md b/docs/content/guides/security/waf/_index.md index be368e58adf..d8aba592d06 100644 --- a/docs/content/guides/security/waf/_index.md +++ b/docs/content/guides/security/waf/_index.md @@ -27,7 +27,6 @@ You have several options for using ModSecurity to write WAF policies: * Use publicly available rule sets that provide a generic set of detection rules to protect against the most common security threats. For example, the [OWASP Core Rule Set](https://github.com/coreruleset/coreruleset) is an open source project that protects apps against a wide range of attacks, including the "OWASP Top Ten." * Write your own custom rules by following the [ModSecurity rules language](https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-(v3.x)). For examples, see [Configure WAF policies](#configure-waf-policies). -For more information, see the [Gloo API docs]({{% versioned_link_path fromRoot="/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto.sk/" %}}). ### Understand the WAF API {#about-api} @@ -35,7 +34,7 @@ The WAF filter supports a list of `RuleSet` objects which are loaded into the Mo You can disable each rule set on a route independently of other rule sets. Rule sets are applied on top of each other in order. This order means that later rule sets overwrite any conflicting rules in previous rule sets. For more fine-grained control, you can add a custom `rule_str`, which is applied after any files of rule sets. -Review the following `RuleSet` API example and explanation. For more information, see the [Gloo API docs]({{% versioned_link_path fromRoot="/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto.sk/" %}}). +Review the following `RuleSet` ```proto message ModSecurity { @@ -429,7 +428,7 @@ of envoy's access logging. This means that directives that configure the audit e This is **intentional** - to make sure that ModSecurity doesn't degrade envoy performance. While the way we emit the logs is different, you have _all the features_ that ModSecurity audit-logging provides: -- You can use the `action` property of the [audit logging configuration]({{% versioned_link_path fromRoot="/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto.sk/#auditlogging" %}}) instead of [SecAuditEngine](https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-%28v2.x%29#SecAuditEngine) to choose when to log. +- You can use the `action` property of the audit logging configuration instead of [SecAuditEngine](https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-%28v2.x%29#SecAuditEngine) to choose when to log. - You can still use the [SecAuditLogParts](https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-%28v2.x%29#SecAuditLogParts), [SecAuditLogRelevantStatus](https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-%28v2.x%29#SecAuditLogRelevantStatus) and (assuming action is RELEVANT_ONLY) `noauditlog` features of ModSecurity. - The format of the log is controlled by [SecAuditLogFormat](https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual-%28v2.x%29#SecAuditLogFormat). @@ -451,8 +450,7 @@ is better for your specific use-case. Let's see this in action! -To enable audit logging, edit the [auditLogging]({{% versioned_link_path fromRoot="/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/waf/waf.proto.sk/#auditlogging" %}}) field in your -[WAF settings]({{% versioned_link_path fromRoot="/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/waf/waf.proto.sk/#settings" %}}). +To enable audit logging, edit the auditLogging field in your WAF settings. For example, lets edit our `VirtualService` with some rules and audit logging: diff --git a/docs/content/guides/traffic_management/buffering/_index.md b/docs/content/guides/traffic_management/buffering/_index.md index 8e07c449432..8044734ca80 100644 --- a/docs/content/guides/traffic_management/buffering/_index.md +++ b/docs/content/guides/traffic_management/buffering/_index.md @@ -31,7 +31,7 @@ You can configure a maximum payload size on a gateway (`perConnectionBufferLimit ## Route -You can set buffer limits and other connection options with the [Buffer]({{< versioned_link_path fromRoot="/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/filters/http/buffer/v3/buffer.proto.sk/" >}}) settings in the options of a [Route]({{< versioned_link_path fromRoot="/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/virtual_service.proto.sk/#route" >}}) in a [RouteTable]({{< versioned_link_path fromRoot="/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/route_table.proto.sk/" >}}). +You can set buffer limits and other connection options with the Buffer settings in the options of a [Route]({{< versioned_link_path fromRoot="/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/virtual_service.proto.sk/#route" >}}) in a [RouteTable]({{< versioned_link_path fromRoot="/reference/api/github.com/solo-io/gloo/projects/gateway/api/v1/route_table.proto.sk/" >}}). ```yaml apiVersion: gateway.solo.io/v1 diff --git a/docs/content/installation/advanced_configuration/gzip.md b/docs/content/installation/advanced_configuration/gzip.md index 22c273cb8cf..849b5631e34 100644 --- a/docs/content/installation/advanced_configuration/gzip.md +++ b/docs/content/installation/advanced_configuration/gzip.md @@ -43,8 +43,6 @@ spec: Once that is saved, you're all set. Traffic on the http gateway will call the gzip filter. -You can learn about the configuration options [here]({{< versioned_link_path fromRoot="/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/config/filter/http/gzip/v2/gzip.proto.sk" >}}). - More information about the Gzip filter can be found in the [relevant Envoy docs](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/gzip_filter). If data is not being compressed, you may want to check that all the necessary conditions for the Envoy filter are met. See the [How it works](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/gzip_filter#how-it-works) section for information on when compression will be skipped. diff --git a/docs/content/introduction/traffic_filter.md b/docs/content/introduction/traffic_filter.md index 6f570cf59b0..1f0a67f8038 100644 --- a/docs/content/introduction/traffic_filter.md +++ b/docs/content/introduction/traffic_filter.md @@ -103,7 +103,7 @@ Review the following diagram of how Gloo Gateway filters traffic, depending on w * **CORS**: See the [Cross-origin resources sharing security guide]({{% versioned_link_path fromRoot="/guides/security/cors/" %}}). * **DLP**: See the [Data loss prevention security guide]({{% versioned_link_path fromRoot="/guides/security/data_loss_prevention/" %}}). * **WAF**: See the [Web application firewall security guide]({{% versioned_link_path fromRoot="/guides/security/waf/" %}}). - * **Sanitize**: See the [sanitize proto reference]({{% versioned_link_path fromRoot="/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/extauth/sanitize.proto.sk/" %}}). + * **Sanitize** 4. **Filters only after external auth**: Review the information about other filters that you can apply only after external auth. * **RBAC**: Note that the RBAC filter requires the `JwtStaged` filter. See the [RBAC proto reference]({{% versioned_link_path fromRoot="/reference/api/github.com/solo-io/gloo/projects/gloo/api/v1/enterprise/options/rbac/rbac.proto.sk/" %}}). * **gRPC-web**: See the [gRPC web guide]({{% versioned_link_path fromRoot="/guides/traffic_management/listener_configuration/grpc_web/" %}}). diff --git a/docs/content/operations/advanced/zero-downtime-gateway-rollout/_index.md b/docs/content/operations/advanced/zero-downtime-gateway-rollout/_index.md index 09992c5e172..4f68ae58e9a 100644 --- a/docs/content/operations/advanced/zero-downtime-gateway-rollout/_index.md +++ b/docs/content/operations/advanced/zero-downtime-gateway-rollout/_index.md @@ -82,8 +82,6 @@ In the previous example, `Upstream` pings are issued every 2 seconds. You might ``` {{< /highlight >}} -For more information, see the [health check API documentation]({{% versioned_link_path fromRoot="/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/api/v2/core/health_check.proto.sk/#healthcheck" %}}). - [Retries]({{% versioned_link_path fromRoot="/guides/traffic_management/request_processing/retries/" %}}) are configured on `VirtualServices` at the route level: {{< highlight yaml "hl_lines=17" >}} diff --git a/docs/content/operations/production_deployment/_index.md b/docs/content/operations/production_deployment/_index.md index 8b760467ea2..e4dfb9b8bad 100644 --- a/docs/content/operations/production_deployment/_index.md +++ b/docs/content/operations/production_deployment/_index.md @@ -285,7 +285,7 @@ Also, consider using `retries` on your _routes_. The default value for this attr ### Proxy latency filter -In the `httpGateway.options` section of your Gateway resource, you can enable the proxy latency filter. This Envoy filter measures the request and response latency incurred by the filter chain in additional histograms and access log parameters. For more information about the `proxyLatency` section, see the [API reference]({{% versioned_link_path fromRoot="/reference/api/github.com/solo-io/gloo/projects/gloo/api/external/envoy/extensions/proxylatency/proxylatency.proto.sk/#proxylatency" %}}). +In the `httpGateway.options` section of your Gateway resource, you can enable the proxy latency filter. This Envoy filter measures the request and response latency incurred by the filter chain in additional histograms and access log parameters. ### Grafana dashboards From b9e4061dbeb42d13019e7f55d619fb7e7c5ef8e2 Mon Sep 17 00:00:00 2001 From: sheidkamp Date: Fri, 15 Nov 2024 14:29:03 -0500 Subject: [PATCH 14/14] Update go.sum --- go.sum | 4 ---- 1 file changed, 4 deletions(-) diff --git a/go.sum b/go.sum index 055b719a622..72446cbce8a 100644 --- a/go.sum +++ b/go.sum @@ -2707,10 +2707,6 @@ github.com/solo-io/skv2 v0.41.0 h1:NRZUe83LquB8zR++SY36JKhw1abRd+SBuGUGAHS9rWA= github.com/solo-io/skv2 v0.41.0/go.mod h1:GtEN0CCne94tm710YbefQh9YcMFcIu2X490g7Loq/Zs= github.com/solo-io/solo-apis v0.0.0-20240917212400-9103ca169358 h1:yNJpr6sKTBUJ0XbYEdOZuFEr+umyq4XgB/GR1cbhCCI= github.com/solo-io/solo-apis v0.0.0-20240917212400-9103ca169358/go.mod h1:xWaT1lP+nkAGYCuAtRdG1l4MsdKwphqeomC41AIsemY= -github.com/solo-io/solo-kit v0.36.2-0.20241114201934-415c33bf096d h1:mYz26Bgjvk42QxpgJ2S0miGcl0X9gVYCykYeOmrkCNg= -github.com/solo-io/solo-kit v0.36.2-0.20241114201934-415c33bf096d/go.mod h1:tLK3BllHZZUZsvgG3paVzux8ccmItKadqLSg7nOltDw= -github.com/solo-io/solo-kit v0.36.2-0.20241114214342-0c728acac7ca h1:BsEUT8gtR/iqr9YNdYgoyYygxYE2pID2kMPNR6HX3QI= -github.com/solo-io/solo-kit v0.36.2-0.20241114214342-0c728acac7ca/go.mod h1:tLK3BllHZZUZsvgG3paVzux8ccmItKadqLSg7nOltDw= github.com/solo-io/solo-kit v0.36.2 h1:oZCrgseICHC2j88TCHeS9y8p5ffRRsXspy3jwWcZewY= github.com/solo-io/solo-kit v0.36.2/go.mod h1:tLK3BllHZZUZsvgG3paVzux8ccmItKadqLSg7nOltDw= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=