request_id_utils: add new extension system (#10429)

Signed-off-by: Ruslan Nigmatullin <elessar@dropbox.com>
Co-authored-by: Ross Delinger <rossd@dropbox.com>

Mirrored from https://github.com/envoyproxy/envoy @ 56537f6acf687ff889b47bd2b823d7e11c178e1c
master-ci-test
data-plane-api(CircleCI) 5 years ago
parent c163a62b6a
commit a8c19f4ba2
  1. 19
      envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto
  2. 22
      envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto

@ -32,7 +32,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
// HTTP connection manager :ref:`configuration overview <config_http_conn_man>`.
// [#extension: envoy.filters.network.http_connection_manager]
// [#next-free-field: 36]
// [#next-free-field: 37]
message HttpConnectionManager {
enum CodecType {
// For every new connection, the connection manager will determine which
@ -493,6 +493,18 @@ message HttpConnectionManager {
// with `prefix` match set to `/dir`. Defaults to `false`. Note that slash merging is not part of
// `HTTP spec <https://tools.ietf.org/html/rfc3986>` and is provided for convenience.
bool merge_slashes = 33;
// The configuration of the request ID extension. This includes operations such as
// generation, validation, and associated tracing operations.
//
// If not set, Envoy uses the default UUID-based behavior:
//
// 1. Request ID is propagated using *x-request-id* header.
//
// 2. Request ID is a universally unique identifier (UUID).
//
// 3. Tracing decision (sampled, forced, etc) is set in 14th byte of the UUID.
RequestIDExtension request_id_extension = 36;
}
message Rds {
@ -642,3 +654,8 @@ message HttpFilter {
google.protobuf.Any typed_config = 4;
}
}
message RequestIDExtension {
// Request ID extension specific configuration.
google.protobuf.Any typed_config = 1;
}

@ -30,7 +30,7 @@ option (udpa.annotations.file_status).package_version_status = NEXT_MAJOR_VERSIO
// HTTP connection manager :ref:`configuration overview <config_http_conn_man>`.
// [#extension: envoy.filters.network.http_connection_manager]
// [#next-free-field: 36]
// [#next-free-field: 37]
message HttpConnectionManager {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager";
@ -483,6 +483,18 @@ message HttpConnectionManager {
// with `prefix` match set to `/dir`. Defaults to `false`. Note that slash merging is not part of
// `HTTP spec <https://tools.ietf.org/html/rfc3986>` and is provided for convenience.
bool merge_slashes = 33;
// The configuration of the request ID extension. This includes operations such as
// generation, validation, and associated tracing operations.
//
// If not set, Envoy uses the default UUID-based behavior:
//
// 1. Request ID is propagated using *x-request-id* header.
//
// 2. Request ID is a universally unique identifier (UUID).
//
// 3. Tracing decision (sampled, forced, etc) is set in 14th byte of the UUID.
RequestIDExtension request_id_extension = 36;
}
message Rds {
@ -662,3 +674,11 @@ message HttpFilter {
google.protobuf.Any typed_config = 4;
}
}
message RequestIDExtension {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.filter.network.http_connection_manager.v2.RequestIDExtension";
// Request ID extension specific configuration.
google.protobuf.Any typed_config = 1;
}

Loading…
Cancel
Save