diff --git a/BUILD b/BUILD index 2b32baae..bb4f5931 100644 --- a/BUILD +++ b/BUILD @@ -189,6 +189,7 @@ proto_library( "//envoy/extensions/filters/http/set_metadata/v3:pkg", "//envoy/extensions/filters/http/stateful_session/v3:pkg", "//envoy/extensions/filters/http/tap/v3:pkg", + "//envoy/extensions/filters/http/upstream_codec/v3:pkg", "//envoy/extensions/filters/http/wasm/v3:pkg", "//envoy/extensions/filters/listener/http_inspector/v3:pkg", "//envoy/extensions/filters/listener/original_dst/v3:pkg", diff --git a/envoy/extensions/filters/http/upstream_codec/v3/BUILD b/envoy/extensions/filters/http/upstream_codec/v3/BUILD new file mode 100644 index 00000000..ee92fb65 --- /dev/null +++ b/envoy/extensions/filters/http/upstream_codec/v3/BUILD @@ -0,0 +1,9 @@ +# DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. + +load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") + +licenses(["notice"]) # Apache 2 + +api_proto_package( + deps = ["@com_github_cncf_udpa//udpa/annotations:pkg"], +) diff --git a/envoy/extensions/filters/http/upstream_codec/v3/upstream_codec.proto b/envoy/extensions/filters/http/upstream_codec/v3/upstream_codec.proto new file mode 100644 index 00000000..ea394483 --- /dev/null +++ b/envoy/extensions/filters/http/upstream_codec/v3/upstream_codec.proto @@ -0,0 +1,18 @@ +syntax = "proto3"; + +package envoy.extensions.filters.http.upstream_codec.v3; + +import "udpa/annotations/status.proto"; + +option java_package = "io.envoyproxy.envoy.extensions.filters.http.upstream_codec.v3"; +option java_outer_classname = "UpstreamCodecProto"; +option java_multiple_files = true; +option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/upstream_codec/v3;upstream_codecv3"; +option (udpa.annotations.file_status).package_version_status = ACTIVE; + +// [#protodoc-title: UpstreamCodec] +// Codec :ref:`configuration overview `. +// [#extension: envoy.filters.http.upstream_codec] + +message UpstreamCodec { +} diff --git a/envoy/extensions/upstreams/http/v3/http_protocol_options.proto b/envoy/extensions/upstreams/http/v3/http_protocol_options.proto index 34f604ee..37debb7e 100644 --- a/envoy/extensions/upstreams/http/v3/http_protocol_options.proto +++ b/envoy/extensions/upstreams/http/v3/http_protocol_options.proto @@ -150,7 +150,18 @@ message HttpProtocolOptions { AutoHttpConfig auto_config = 5; } - // [#not-implemented-hide:] + // .. warning:: + // Upstream HTTP filters are not supported by default. + // This warning will be removed as support moves beyond alpha. + // // Optional HTTP filters for the upstream filter chain. + // + // These filters will be applied for all HTTP streams which flow through this + // cluster. Unlike downstream filters, they will *not* be applied to terminated CONNECT requests. + // + // If using upstream filters, please be aware that local errors sent by + // upstream filters will not trigger retries, and local errors sent by + // upstream filters will count as a final response if hedging is configured. + // [#extension-category: envoy.filters.http.upstream] repeated filters.network.http_connection_manager.v3.HttpFilter http_filters = 6; } diff --git a/versioning/BUILD b/versioning/BUILD index ca5ad9b7..14e95db7 100644 --- a/versioning/BUILD +++ b/versioning/BUILD @@ -127,6 +127,7 @@ proto_library( "//envoy/extensions/filters/http/set_metadata/v3:pkg", "//envoy/extensions/filters/http/stateful_session/v3:pkg", "//envoy/extensions/filters/http/tap/v3:pkg", + "//envoy/extensions/filters/http/upstream_codec/v3:pkg", "//envoy/extensions/filters/http/wasm/v3:pkg", "//envoy/extensions/filters/listener/http_inspector/v3:pkg", "//envoy/extensions/filters/listener/original_dst/v3:pkg",