config: add support Any as opaque config (#5435)

Add support of Any as opaque config for extensions. Deprecates Struct configs. Fixes #4475.

Risk Level: Low
Testing: CI
Docs Changes: Added.
Release Notes: Added.

Signed-off-by: Lizan Zhou <lizan@tetrate.io>

Mirrored from https://github.com/envoyproxy/envoy @ 851f591f4ed84594e5e5041e7ada4167a4f3a273
pull/620/head
data-plane-api(CircleCI) 6 years ago
parent 961bbafe83
commit a1bbe5396e
  1. 3
      envoy/api/v2/cds.proto
  2. 3
      envoy/api/v2/core/base.proto
  3. 3
      envoy/api/v2/core/grpc_service.proto
  4. 3
      envoy/api/v2/core/health_check.proto
  5. 6
      envoy/api/v2/listener/listener.proto
  6. 15
      envoy/api/v2/route/route.proto
  7. 3
      envoy/config/filter/accesslog/v2/accesslog.proto
  8. 3
      envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto
  9. 3
      envoy/config/filter/network/thrift_proxy/v2alpha1/thrift_proxy.proto
  10. 3
      envoy/config/metrics/v2/stats.proto
  11. 3
      envoy/config/overload/v2alpha/overload.proto
  12. 3
      envoy/config/trace/v2/trace.proto

@ -233,9 +233,8 @@ message Cluster {
// for upstream connections. The key should match the extension filter name, such as
// "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
// specific options.
map<string, google.protobuf.Struct> extension_protocol_options = 35;
map<string, google.protobuf.Struct> extension_protocol_options = 35 [deprecated = true];
// [#not-implemented-hide:]
// The extension_protocol_options field is used to provide extension-specific protocol options
// for upstream connections. The key should match the extension filter name, such as
// "envoy.filters.network.thrift_proxy". See the extension's documentation for details on

@ -190,9 +190,8 @@ message TransportSocket {
// Implementation specific configuration which depends on the implementation being instantiated.
// See the supported transport socket implementations for further documentation.
oneof config_type {
google.protobuf.Struct config = 2;
google.protobuf.Struct config = 2 [deprecated = true];
// [#not-implemented-hide:]
google.protobuf.Any typed_config = 3;
}
}

@ -82,9 +82,8 @@ message GrpcService {
message MetadataCredentialsFromPlugin {
string name = 1;
oneof config_type {
google.protobuf.Struct config = 2;
google.protobuf.Struct config = 2 [deprecated = true];
// [#not-implemented-hide:]
google.protobuf.Any typed_config = 3;
}
}

@ -163,9 +163,8 @@ message HealthCheck {
// A custom health checker specific configuration which depends on the custom health checker
// being instantiated. See :api:`envoy/config/health_checker` for reference.
oneof config_type {
google.protobuf.Struct config = 2;
google.protobuf.Struct config = 2 [deprecated = true];
// [#not-implemented-hide:]
google.protobuf.Any typed_config = 3;
}
}

@ -39,9 +39,8 @@ message Filter {
// Filter specific configuration which depends on the filter being
// instantiated. See the supported filters for further documentation.
oneof config_type {
google.protobuf.Struct config = 2;
google.protobuf.Struct config = 2 [deprecated = true];
// [#not-implemented-hide:]
google.protobuf.Any typed_config = 4;
}
@ -209,9 +208,8 @@ message ListenerFilter {
// Filter specific configuration which depends on the filter being instantiated.
// See the supported filters for further documentation.
oneof config_type {
google.protobuf.Struct config = 2;
google.protobuf.Struct config = 2 [deprecated = true];
// [#not-implemented-hide:]
google.protobuf.Any typed_config = 3;
}
}

@ -113,9 +113,8 @@ message VirtualHost {
// *envoy.buffer* for the HTTP buffer filter. Use of this field is filter
// specific; see the :ref:`HTTP filter documentation <config_http_filters>`
// for if and how it is utilized.
map<string, google.protobuf.Struct> per_filter_config = 12;
map<string, google.protobuf.Struct> per_filter_config = 12 [deprecated = true];
// [#not-implemented-hide:]
// 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.buffer* for the HTTP buffer filter. Use of this field is filter
@ -181,9 +180,8 @@ message Route {
// *envoy.buffer* for the HTTP buffer filter. Use of this field is filter
// specific; see the :ref:`HTTP filter documentation <config_http_filters>` for
// if and how it is utilized.
map<string, google.protobuf.Struct> per_filter_config = 8;
map<string, google.protobuf.Struct> per_filter_config = 8 [deprecated = true];
// [#not-implemented-hide:]
// The per_filter_config field can be used to provide route-specific
// configurations for filters. The key should match the filter name, such as
// *envoy.buffer* for the HTTP buffer filter. Use of this field is filter
@ -279,9 +277,8 @@ message WeightedCluster {
// *envoy.buffer* for the HTTP buffer filter. Use of this field is filter
// specific; see the :ref:`HTTP filter documentation <config_http_filters>`
// for if and how it is utilized.
map<string, google.protobuf.Struct> per_filter_config = 8;
map<string, google.protobuf.Struct> per_filter_config = 8 [deprecated = true];
// [#not-implemented-hide:]
// 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.buffer* for the HTTP buffer filter. Use of this field is filter
@ -805,9 +802,8 @@ message RetryPolicy {
message RetryPriority {
string name = 1 [(validate.rules).string.min_bytes = 1];
oneof config_type {
google.protobuf.Struct config = 2;
google.protobuf.Struct config = 2 [deprecated = true];
// [#not-implemented-hide:]
google.protobuf.Any typed_config = 3;
}
}
@ -820,9 +816,8 @@ message RetryPolicy {
message RetryHostPredicate {
string name = 1 [(validate.rules).string.min_bytes = 1];
oneof config_type {
google.protobuf.Struct config = 2;
google.protobuf.Struct config = 2 [deprecated = true];
// [#not-implemented-hide:]
google.protobuf.Any typed_config = 3;
}
}

@ -35,9 +35,8 @@ message AccessLog {
// #. "envoy.http_grpc_access_log": :ref:`HttpGrpcAccessLogConfig
// <envoy_api_msg_config.accesslog.v2.HttpGrpcAccessLogConfig>`
oneof config_type {
google.protobuf.Struct config = 3;
google.protobuf.Struct config = 3 [deprecated = true];
// [#not-implemented-hide:]
google.protobuf.Any typed_config = 4;
}
}

@ -410,9 +410,8 @@ message HttpFilter {
// Filter specific configuration which depends on the filter being instantiated. See the supported
// filters for further documentation.
oneof config_type {
google.protobuf.Struct config = 2;
google.protobuf.Struct config = 2 [deprecated = true];
// [#not-implemented-hide:]
google.protobuf.Any typed_config = 4;
}

@ -95,9 +95,8 @@ message ThriftFilter {
// Filter specific configuration which depends on the filter being instantiated. See the supported
// filters for further documentation.
oneof config_type {
google.protobuf.Struct config = 2;
google.protobuf.Struct config = 2 [deprecated = true];
// [#not-implemented-hide:]
google.protobuf.Any typed_config = 3;
}
}

@ -33,9 +33,8 @@ message StatsSink {
// Stats sink specific configuration which depends on the sink being instantiated. See
// :ref:`StatsdSink <envoy_api_msg_config.metrics.v2.StatsdSink>` for an example.
oneof config_type {
google.protobuf.Struct config = 2;
google.protobuf.Struct config = 2 [deprecated = true];
// [#not-implemented-hide:]
google.protobuf.Any typed_config = 3;
}
}

@ -30,9 +30,8 @@ message ResourceMonitor {
// Configuration for the resource monitor being instantiated.
oneof config_type {
google.protobuf.Struct config = 2;
google.protobuf.Struct config = 2 [deprecated = true];
// [#not-implemented-hide:]
google.protobuf.Any typed_config = 3;
}
}

@ -41,9 +41,8 @@ message Tracing {
// - :ref:`DynamicOtConfig <envoy_api_msg_config.trace.v2.DynamicOtConfig>`
// - :ref:`DatadogConfig <envoy_api_msg_config.trace.v2.DatadogConfig>`
oneof config_type {
google.protobuf.Struct config = 2;
google.protobuf.Struct config = 2 [deprecated = true];
// [#not-implemented-hide:]
google.protobuf.Any typed_config = 3;
}
}

Loading…
Cancel
Save