Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync APIs. @tag-name=gloo-v1.18.0-beta34 #1369

Merged
merged 1 commit into from
Nov 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion api/gloo/gloo/external/envoy/annotations/deprecation.proto
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import "google/protobuf/descriptor.proto";
// [#protodoc-title: Deprecation]
// Allows tagging proto fields as fatal by default. One Envoy release after
// deprecation, deprecated fields will be disallowed by default, a state which
// is reversible with :ref:`runtime overrides <config_runtime_deprecation>`.
// is reversible with runtime overrides.

// Magic number in this file derived from top 28bit of SHA256 digest of
// "solo.io.envoy.annotation.disallowed_by_default"
Expand Down
19 changes: 8 additions & 11 deletions api/gloo/gloo/external/envoy/api/v2/core/health_check.proto
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ message HealthCheck {
// 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 :ref:`expected_statuses <envoy_v3_api_field_config.core.v3.HealthCheck.HttpHealthCheck.expected_statuses>`.
// If a non-200 response is expected by the method, it needs to be set in expected_statuses.
solo.io.envoy.config.core.v3.RequestMethod method = 11;
}

Expand All @@ -157,23 +157,20 @@ message HealthCheck {
}

message RedisHealthCheck {
// If set, optionally perform ``EXISTS <key>`` instead of ``PING``. A return value
// If set, optionally perform `EXISTS <key>` instead of `PING`. A return value
// from Redis of 0 (does not exist) is considered a passing healthcheck. A return value other
// 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.
string key = 1;
}

// `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>`_
// [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.
message GrpcHealthCheck {
// 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.
// [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.
string service_name = 1;

// The value of the :authority header in the gRPC health check request. If
Expand Down Expand Up @@ -277,9 +274,9 @@ enum HealthStatus {
UNHEALTHY = 2;

// Connection draining in progress. E.g.,
// `<https://aws.amazon.com/blogs/aws/elb-connection-draining-remove-instances-from-service-with-care/>`_
// 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>`_.
// https://cloud.google.com/compute/docs/load-balancing/enabling-connection-draining.
// This is interpreted by Envoy as *UNHEALTHY*.
DRAINING = 3;

Expand Down
24 changes: 11 additions & 13 deletions api/gloo/gloo/external/envoy/api/v2/route/route.proto
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,16 @@ message VirtualHost {
// 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.
// 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.
//
//
// The wildcard will not match the empty string.
// e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``.
// 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
// 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.
repeated string domains = 2 [(validate.rules).repeated.min_items = 1];

Expand Down Expand Up @@ -338,8 +338,7 @@ message RouteMatch {
// 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. The regex grammar is defined `here
// <https://en.cppreference.com/w/cpp/regex/ecmascript>`_.
// subsequence of the *:path* header matches the regex. The regex grammar is defined [here](https://en.cppreference.com/w/cpp/regex/ecmascript).
//
// Examples:
//
Expand Down Expand Up @@ -762,7 +761,7 @@ message RouteAction {
reserved 21;

// 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>`_,
// [grpc-timeout header](https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md),
// or its default value (infinity) instead of
// `timeout (envoy_api_field_route.RouteAction.timeout)`, but limit the applied timeout
// to the maximum value specified here. If configured as 0, the maximum allowed timeout for
Expand Down Expand Up @@ -1053,8 +1052,7 @@ message Tracing {
// statistics output are not free.
message VirtualCluster {
// Specifies a regex pattern to use for matching requests. The entire path of the request
// must match the regex. The regex grammar used is defined `here
// <https://en.cppreference.com/w/cpp/regex/ecmascript>`_.
// must match the regex. The regex grammar used is defined [here](https://en.cppreference.com/w/cpp/regex/ecmascript).
//
// Examples:
//
Expand Down Expand Up @@ -1094,7 +1092,7 @@ message RateLimit {
// ("source_cluster", "<local service cluster>")
// ```
//
// <local service cluster> is derived from the :option:`--service-cluster` option.
// <local service cluster> is derived from the `--service-cluster` option.
message SourceCluster {
}

Expand Down Expand Up @@ -1245,7 +1243,7 @@ message HeaderMatcher {
// 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>`_.
// [here](https://en.cppreference.com/w/cpp/regex/ecmascript).
//
// Examples:
//
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,51 +40,51 @@ option (extproto.clone_all) = true;
// denoted by an x-envoy prefix) or specific headers that may affect
// further filter processing:
//
// * ``host``
// * ``:authority``
// * ``:scheme``
// * ``:method``
// * `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.
// 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``
// 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``.
// `rejected_header_mutations`.
// [#next-free-field: 8]
message HeaderMutationRules {
// 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
// `host`, `:authority`, `:scheme`, and `:method`. Setting this parameter
// to true allows these headers to be modified as well.
google.protobuf.BoolValue allow_all_routing = 1;

// If true, allow modification of envoy internal headers. By default, these
// start with ``x-envoy`` but this may be overridden in the ``Bootstrap``
// start with `x-envoy` but this may be overridden in the `Bootstrap`
// configuration using the
// :ref:`header_prefix <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.header_prefix>`
// field. Default is false.
google.protobuf.BoolValue allow_envoy = 2;

// 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.
// 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.
google.protobuf.BoolValue disallow_system = 3;

// 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.
// other settings. A processing server may still override the `:status`
// of an HTTP response using an `ImmediateResponse` message. Default is false.
google.protobuf.BoolValue disallow_all = 4;

// If set, specifically allow any header that matches this regular
// expression. This overrides all other settings except for
// ``disallow_expression``.
// `disallow_expression`.
solo.io.envoy.type.matcher.v3.RegexMatcher allow_expression = 5;

// If set, specifically disallow any header that matches this regular
Expand All @@ -95,7 +95,7 @@ message HeaderMutationRules {
// 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.
// cause the `rejected_header_mutations` counter to be incremented.
// Default is false.
google.protobuf.BoolValue disallow_is_error = 7;
}
Expand Down
19 changes: 9 additions & 10 deletions api/gloo/gloo/external/envoy/config/core/v3/address.proto
Original file line number Diff line number Diff line change
Expand Up @@ -41,17 +41,17 @@ message SocketAddress {

Protocol protocol = 1 [(validate.rules).enum = {defined_only: true}];

// The address for this socket. :ref:`Listeners <config_listeners>` will bind
// to the address. An empty address is not allowed. Specify ``0.0.0.0`` or ``::``
// 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 :ref:`FilterChainMatch <envoy_api_msg_config.listener.v3.FilterChainMatch>`.] When used
// within an upstream :ref:`BindConfig <envoy_api_msg_config.core.v3.BindConfig>`, the address
// in FilterChainMatch.] When used
// within an upstream BindConfig, the address
// controls the source address of outbound connections. For :ref:`clusters
// <envoy_api_msg_config.cluster.v3.Cluster>`, 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 :ref:`resolver_name <envoy_api_field_config.core.v3.SocketAddress.resolver_name>`.
// via resolver_name.
string address = 2 [(validate.rules).string = {min_bytes: 1}];

oneof port_specifier {
Expand All @@ -72,10 +72,9 @@ message SocketAddress {
// *STRICT_DNS* or *LOGICAL_DNS* will generate an error at runtime.
string resolver_name = 5;

// When binding to an IPv6 address above, this enables `IPv4 compatibility
// <https://datatracker.ietf.org/doc/html/rfc3493#page-11>`_. Binding to ``::`` will
// 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:<IPv4-address>``.
// IPv6 space as `::FFFF:<IPv4-address>`.
bool ipv4_compat = 6;
}

Expand Down Expand Up @@ -133,11 +132,11 @@ message Address {
}

// 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.
// the subnet mask for a [CIDR](https://datatracker.ietf.org/doc/html/rfc4632) range.
message CidrRange {
option (solo.io.udpa.annotations.versioning).previous_message_type = "solo.io.envoy.api.v2.core.CidrRange";

// IPv4 or IPv6 address, e.g. ``192.0.0.0`` or ``2001:db8::``.
// IPv4 or IPv6 address, e.g. `192.0.0.0` or `2001:db8::`.
string address_prefix = 1 [(validate.rules).string = {min_bytes: 1}];

// Length of prefix, e.g. 0, 32.
Expand Down
Loading
Loading