Skip to content

Commit

Permalink
revert: back to envoy 1.26
Browse files Browse the repository at this point in the history
Signed-off-by: Lance Austin <[email protected]>
  • Loading branch information
Lance Austin committed Sep 7, 2023
1 parent 172ad72 commit cb6eea7
Show file tree
Hide file tree
Showing 612 changed files with 13,325 additions and 24,432 deletions.
7 changes: 4 additions & 3 deletions _cxx/envoy.mk
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ RSYNC_EXTRAS ?=

# IF YOU MESS WITH ANY OF THESE VALUES, YOU MUST RUN `make update-base`.
ENVOY_REPO ?= $(if $(IS_PRIVATE),[email protected]:datawire/envoy-private.git,https://github.com/datawire/envoy.git)
# rebase/release/v1.27.0
ENVOY_COMMIT ?= b2891a118f31f0f582797273e9948cfae4212c5b
# https://github.com/datawire/envoy/tree/rebase/release/v1.26.4
ENVOY_COMMIT ?= bbda92fc3e3d430bd2114aa3458d3191205c9c0e
ENVOY_COMPILATION_MODE ?= opt
# Increment BASE_ENVOY_RELVER on changes to `docker/base-envoy/Dockerfile`, or Envoy recipes.
# You may reset BASE_ENVOY_RELVER when adjusting ENVOY_COMMIT.
Expand Down Expand Up @@ -267,7 +267,8 @@ $(OSS_HOME)/api/envoy $(addprefix $(OSS_HOME)/api/,$(envoy-api-contrib)): $(OSS_
$(OSS_HOME)/_cxx/envoy/build_go: $(ENVOY_BASH.deps) FORCE
$(call ENVOY_BASH.cmd, \
$(ENVOY_DOCKER_EXEC) git config --global --add safe.directory /root/envoy; \
$(ENVOY_DOCKER_EXEC) ci/do_ci.sh api.go; \
$(ENVOY_DOCKER_EXEC) python3 -c 'from tools.api.generate_go_protobuf import generate_protobufs; generate_protobufs("@envoy_api//envoy/...", "/root/envoy/build_go", "envoy_api")'; \
$(foreach contrib-api,$(envoy-api-contrib),$(ENVOY_DOCKER_EXEC) python3 -c 'from tools.api.generate_go_protobuf import generate_protobufs; generate_protobufs("@envoy_api//$(contrib-api)/...", "/root/envoy/build_go", "envoy_api")';) \
)
test -d $@ && touch $@
$(OSS_HOME)/pkg/api/envoy $(addprefix $(OSS_HOME)/pkg/api/,$(envoy-api-contrib)): $(OSS_HOME)/pkg/api/%: $(OSS_HOME)/_cxx/envoy/build_go
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/fil
option (udpa.annotations.file_status).package_version_status = ACTIVE;
option (xds.annotations.v3.file_status).work_in_progress = true;

// [#protodoc-title: Golang HTTP filter]
// [#protodoc-title: Golang]
//
// For an overview of the Golang HTTP filter please see the :ref:`configuration reference documentation <config_http_filters_golang>`.
// For an overview of the Golang filter please see the :ref:`configuration reference documentation <config_http_filters_golang>`.
// [#extension: envoy.filters.http.golang]

// [#next-free-field: 6]
Expand All @@ -40,7 +40,7 @@ message Config {
string library_id = 1 [(validate.rules).string = {min_len: 1}];

// Path to a dynamic library implementing the
// :repo:`StreamFilter API <contrib/golang/common/go/api.StreamFilter>`
// :repo:`StreamFilter API <contrib/golang/filters/http/source/go/pkg/api.StreamFilter>`
// interface.
// [#comment:TODO(wangfakang): Support for downloading libraries from remote repositories.]
string library_path = 2 [(validate.rules).string = {min_len: 1}];
Expand All @@ -59,7 +59,7 @@ message Config {
// This configuration is only parsed in the go plugin, and is therefore not validated
// by Envoy.
//
// See the :repo:`StreamFilter API <contrib/golang/common/go/api/filter.go>`
// See the :repo:`StreamFilter API <contrib/golang/filters/http/source/go/pkg/api/filter.go>`
// for more information about how the plugin's configuration data can be accessed.
//
google.protobuf.Any plugin_config = 4;
Expand Down
2 changes: 1 addition & 1 deletion api/envoy/api/v2/scoped_route.proto
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ option (udpa.annotations.file_status).package_version_status = FROZEN;
// fragments:
// - header_value_extractor:
// name: X-Route-Selector
// element_separator: ","
// element_separator: ,
// element:
// separator: =
// key: vip
Expand Down
17 changes: 1 addition & 16 deletions api/envoy/config/accesslog/v3/accesslog.proto
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ package envoy.config.accesslog.v3;

import "envoy/config/core/v3/base.proto";
import "envoy/config/route/v3/route_components.proto";
import "envoy/data/accesslog/v3/accesslog.proto";
import "envoy/type/matcher/v3/metadata.proto";
import "envoy/type/v3/percent.proto";

Expand Down Expand Up @@ -44,7 +43,7 @@ message AccessLog {
}
}

// [#next-free-field: 14]
// [#next-free-field: 13]
message AccessLogFilter {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.filter.accesslog.v2.AccessLogFilter";
Expand Down Expand Up @@ -88,9 +87,6 @@ message AccessLogFilter {

// Metadata Filter
MetadataFilter metadata_filter = 12;

// Log Type Filter
LogTypeFilter log_type_filter = 13;
}
}

Expand Down Expand Up @@ -314,17 +310,6 @@ message MetadataFilter {
google.protobuf.BoolValue match_if_key_not_found = 2;
}

// Filters based on access log type.
message LogTypeFilter {
// Logs only records which their type is one of the types defined in this field.
repeated data.accesslog.v3.AccessLogType types = 1
[(validate.rules).repeated = {items {enum {defined_only: true}}}];

// If this field is set to true, the filter will instead block all records
// with a access log type in types field, and allow all other records.
bool exclude = 2;
}

// Extension filter is statically registered at runtime.
message ExtensionFilter {
option (udpa.annotations.versioning).previous_message_type =
Expand Down
43 changes: 1 addition & 42 deletions api/envoy/config/bootstrap/v3/bootstrap.proto
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
// <config_overview_bootstrap>` for more detail.

// Bootstrap :ref:`configuration overview <config_overview_bootstrap>`.
// [#next-free-field: 40]
// [#next-free-field: 38]
message Bootstrap {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.bootstrap.v2.Bootstrap";
Expand Down Expand Up @@ -101,41 +101,6 @@ message Bootstrap {
core.v3.ApiConfigSource ads_config = 3;
}

message ApplicationLogConfig {
message LogFormat {
oneof log_format {
option (validate.required) = true;

// Flush application logs in JSON format. The configured JSON struct can
// support all the format flags specified in the :option:`--log-format`
// command line options section, except for the ``%v`` and ``%_`` flags.
google.protobuf.Struct json_format = 1;

// Flush application log in a format defined by a string. The text format
// can support all the format flags specified in the :option:`--log-format`
// command line option section.
string text_format = 2;
}
}

// Optional field to set the application logs format. If this field is set, it will override
// the default log format. Setting both this field and :option:`--log-format` command line
// option is not allowed, and will cause a bootstrap error.
LogFormat log_format = 1;
}

message DeferredStatOptions {
// When the flag is enabled, Envoy will lazily initialize a subset of the stats (see below).
// This will save memory and CPU cycles when creating the objects that own these stats, if those
// stats are never referenced throughout the lifetime of the process. However, it will incur additional
// memory overhead for these objects, and a small increase of CPU usage when a at least one of the stats
// is updated for the first time.
// Groups of stats that will be lazily initialized:
// - Cluster traffic stats: a subgroup of the :ref:`cluster statistics <config_cluster_manager_cluster_stats>`
// that are used when requests are routed to the cluster.
bool enable_deferred_creation_stats = 1;
}

reserved 10, 11;

reserved "runtime";
Expand Down Expand Up @@ -198,9 +163,6 @@ message Bootstrap {
// Optional set of stats sinks.
repeated metrics.v3.StatsSink stats_sinks = 6;

// Options to control behaviors of deferred creation compatible stats.
DeferredStatOptions deferred_stat_options = 39;

// Configuration for internal processing of stats.
metrics.v3.StatsConfig stats_config = 13;

Expand Down Expand Up @@ -398,9 +360,6 @@ message Bootstrap {
// Envoy only supports ListenerManager for this field and Envoy Mobile
// supports ApiListenerManager.
core.v3.TypedExtensionConfig listener_manager = 37;

// Optional application log configuration.
ApplicationLogConfig application_log_config = 38;
}

// Administration interface :ref:`operations documentation
Expand Down
7 changes: 1 addition & 6 deletions api/envoy/config/cluster/v3/cluster.proto
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import "envoy/config/core/v3/health_check.proto";
import "envoy/config/core/v3/protocol.proto";
import "envoy/config/core/v3/resolver.proto";
import "envoy/config/endpoint/v3/endpoint.proto";
import "envoy/type/metadata/v3/metadata.proto";
import "envoy/type/v3/percent.proto";

import "google/protobuf/any.proto";
Expand Down Expand Up @@ -552,10 +551,6 @@ message Cluster {
// The port to override for the original dst address. This port
// will take precedence over filter state and header override ports
google.protobuf.UInt32Value upstream_port_override = 3 [(validate.rules).uint32 = {lte: 65535}];

// The dynamic metadata key to override destination address.
// First the request metadata is considered, then the connection one.
type.metadata.v3.MetadataKey metadata_key = 4;
}

// Common configuration for all load balancer implementations.
Expand Down Expand Up @@ -724,7 +719,7 @@ message Cluster {
google.protobuf.DoubleValue per_upstream_preconnect_ratio = 1
[(validate.rules).double = {lte: 3.0 gte: 1.0}];

// Indicates how many streams (rounded up) can be anticipated across a cluster for each
// Indicates how many many streams (rounded up) can be anticipated across a cluster for each
// stream, useful for low QPS services. This is currently supported for a subset of
// deterministic non-hash-based load-balancing algorithms (weighted round robin, random).
// Unlike ``per_upstream_preconnect_ratio`` this preconnects across the upstream instances in a
Expand Down
16 changes: 1 addition & 15 deletions api/envoy/config/core/v3/base.proto
Original file line number Diff line number Diff line change
Expand Up @@ -324,18 +324,8 @@ message HeaderValue {
// The same :ref:`format specifier <config_access_log_format>` as used for
// :ref:`HTTP access logging <config_access_log>` applies here, however
// unknown header values are replaced with the empty string instead of ``-``.
// Header value is encoded as string. This does not work for non-utf8 characters.
// Only one of ``value`` or ``raw_value`` can be set.
string value = 2 [
(validate.rules).string = {max_bytes: 16384 well_known_regex: HTTP_HEADER_VALUE strict: false},
(udpa.annotations.field_migrate).oneof_promotion = "value_type"
];

// Header value is encoded as bytes which can support non-utf8 characters.
// Only one of ``value`` or ``raw_value`` can be set.
bytes raw_value = 3 [
(validate.rules).bytes = {min_len: 0 max_len: 16384},
(udpa.annotations.field_migrate).oneof_promotion = "value_type"
(validate.rules).string = {max_bytes: 16384 well_known_regex: HTTP_HEADER_VALUE strict: false}
];
}

Expand All @@ -359,10 +349,6 @@ message HeaderValueOption {
// the header already exists. If the header doesn't exist then this will add the header
// with specified key and value.
OVERWRITE_IF_EXISTS_OR_ADD = 2;

// This action will overwrite the specified value by discarding any existing values if
// the header already exists. If the header doesn't exist then this will be no-op.
OVERWRITE_IF_EXISTS = 3;
}

// Header name/value pair that this option applies to.
Expand Down
12 changes: 12 additions & 0 deletions api/envoy/config/core/v3/config_source.proto
Original file line number Diff line number Diff line change
Expand Up @@ -281,3 +281,15 @@ message ExtensionConfigSource {
// if they do not match any type URL in the set.
repeated string type_urls = 4 [(validate.rules).repeated = {min_items: 1}];
}

// A placeholder proto for the registration for the REST subscription implementation.
message RestSubscription {
}

// A placeholder proto for the registration for the filesystem subscription implementation.
message FilesystemSubscription {
}

// A placeholder proto for the registration for the filesystem collection subscription implementation.
message FilesystemCollectionSubscription {
}
18 changes: 3 additions & 15 deletions api/envoy/config/core/v3/health_check.proto
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ package envoy.config.core.v3;

import "envoy/config/core/v3/base.proto";
import "envoy/config/core/v3/event_service_config.proto";
import "envoy/config/core/v3/extension.proto";
import "envoy/type/matcher/v3/string.proto";
import "envoy/type/v3/http.proto";
import "envoy/type/v3/range.proto";
Expand All @@ -14,7 +13,6 @@ import "google/protobuf/duration.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/wrappers.proto";

import "envoy/annotations/deprecation.proto";
import "udpa/annotations/status.proto";
import "udpa/annotations/versioning.proto";
import "validate/validate.proto";
Expand Down Expand Up @@ -62,7 +60,7 @@ message HealthStatusSet {
[(validate.rules).repeated = {items {enum {defined_only: true}}}];
}

// [#next-free-field: 26]
// [#next-free-field: 25]
message HealthCheck {
option (udpa.annotations.versioning).previous_message_type = "envoy.api.v2.core.HealthCheck";

Expand Down Expand Up @@ -368,19 +366,9 @@ message HealthCheck {
// The default value for "healthy edge interval" is the same as the default interval.
google.protobuf.Duration healthy_edge_interval = 16 [(validate.rules).duration = {gt {}}];

// .. attention::
// This field is deprecated in favor of the extension
// :ref:`event_logger <envoy_v3_api_field_config.core.v3.HealthCheck.event_logger>` and
// :ref:`event_log_path <envoy_v3_api_field_extensions.health_check.event_sinks.file.v3.HealthCheckEventFileSink.event_log_path>`
// in the file sink extension.
//
// Specifies the path to the :ref:`health check event log <arch_overview_health_check_logging>`.
string event_log_path = 17
[deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"];

// A list of event log sinks to process the health check event.
// [#extension-category: envoy.health_check.event_sinks]
repeated TypedExtensionConfig event_logger = 25;
// If empty, no event log will be written.
string event_log_path = 17;

// [#not-implemented-hide:]
// The gRPC service for the health check event service.
Expand Down
18 changes: 1 addition & 17 deletions api/envoy/config/core/v3/protocol.proto
Original file line number Diff line number Diff line change
Expand Up @@ -104,14 +104,12 @@ message UpstreamHttpProtocolOptions {
// upstream connections based on the downstream HTTP host/authority header or any other arbitrary
// header when :ref:`override_auto_sni_header <envoy_v3_api_field_config.core.v3.UpstreamHttpProtocolOptions.override_auto_sni_header>`
// is set, as seen by the :ref:`router filter <config_http_filters_router>`.
// Does nothing if a filter before the http router filter sets the corresponding metadata.
bool auto_sni = 1;

// Automatic validate upstream presented certificate for new upstream connections based on the
// downstream HTTP host/authority header or any other arbitrary header when :ref:`override_auto_sni_header <envoy_v3_api_field_config.core.v3.UpstreamHttpProtocolOptions.override_auto_sni_header>`
// is set, as seen by the :ref:`router filter <config_http_filters_router>`.
// This field is intended to be set with ``auto_sni`` field.
// Does nothing if a filter before the http router filter sets the corresponding metadata.
bool auto_san_validation = 2;

// An optional alternative to the host/authority header to be used for setting the SNI value.
Expand All @@ -121,7 +119,6 @@ message UpstreamHttpProtocolOptions {
// is not found or the value is empty, host/authority header will be used instead.
// This field is intended to be set with ``auto_sni`` and/or ``auto_san_validation`` fields.
// If none of these fields are set then setting this would be a no-op.
// Does nothing if a filter before the http router filter sets the corresponding metadata.
string override_auto_sni_header = 3
[(validate.rules).string = {well_known_regex: HTTP_HEADER_NAME ignore_empty: true}];
}
Expand Down Expand Up @@ -262,7 +259,7 @@ message HttpProtocolOptions {
google.protobuf.UInt32Value max_requests_per_connection = 6;
}

// [#next-free-field: 11]
// [#next-free-field: 10]
message Http1ProtocolOptions {
option (udpa.annotations.versioning).previous_message_type =
"envoy.api.v2.core.Http1ProtocolOptions";
Expand Down Expand Up @@ -374,19 +371,6 @@ message Http1ProtocolOptions {
// See issue #21245.
google.protobuf.BoolValue use_balsa_parser = 9
[(xds.annotations.v3.field_status).work_in_progress = true];

// [#not-implemented-hide:] Hiding so that field can be removed.
// If true, and BalsaParser is used (either `use_balsa_parser` above is true,
// or `envoy.reloadable_features.http1_use_balsa_parser` is true and
// `use_balsa_parser` is unset), then every non-empty method with only valid
// characters is accepted. Otherwise, methods not on the hard-coded list are
// rejected.
// Once UHV is enabled, this field should be removed, and BalsaParser should
// allow any method. UHV validates the method, rejecting empty string or
// invalid characters, and provides :ref:`restrict_http_methods
// <envoy_v3_api_field_extensions.http.header_validators.envoy_default.v3.HeaderValidatorConfig.restrict_http_methods>`
// to reject custom methods.
bool allow_custom_methods = 10 [(xds.annotations.v3.field_status).work_in_progress = true];
}

message KeepaliveSettings {
Expand Down
12 changes: 1 addition & 11 deletions api/envoy/config/endpoint/v3/endpoint.proto
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ message ClusterLoadAssignment {
option (udpa.annotations.versioning).previous_message_type = "envoy.api.v2.ClusterLoadAssignment";

// Load balancing policy settings.
// [#next-free-field: 7]
// [#next-free-field: 6]
message Policy {
option (udpa.annotations.versioning).previous_message_type =
"envoy.api.v2.ClusterLoadAssignment.Policy";
Expand Down Expand Up @@ -99,16 +99,6 @@ message ClusterLoadAssignment {
// are considered stale and should be marked unhealthy.
// Defaults to 0 which means endpoints never go stale.
google.protobuf.Duration endpoint_stale_after = 4 [(validate.rules).duration = {gt {}}];

// If true, use the :ref:`load balancing weight
// <envoy_v3_api_field_config.endpoint.v3.LbEndpoint.load_balancing_weight>` of healthy and unhealthy
// hosts to determine the health of the priority level. If false, use the number of healthy and unhealthy hosts
// to determine the health of the priority level, or in other words assume each host has a weight of 1 for
// this calculation.
//
// Note: this is not currently implemented for
// :ref:`locality weighted load balancing <arch_overview_load_balancing_locality_weighted_lb>`.
bool weighted_priority_health = 6;
}

// Name of the cluster. This will be the :ref:`service_name
Expand Down
Loading

0 comments on commit cb6eea7

Please sign in to comment.