From b40e274f1c91d0d6f4d8d1f60dde8547ed0c281d Mon Sep 17 00:00:00 2001 From: "data-plane-api(Azure Pipelines)" Date: Tue, 29 Nov 2022 18:24:30 +0000 Subject: [PATCH] Adding ECDS config dump support. (#23902) For issue: #20086 Signed-off-by: Yanjun Xiang yanjunxiang@google.com Commit Message: Additional Description: Risk Level: Testing: Docs Changes: Release Notes: Platform Specific Features: [Optional Runtime guard:] [Optional Fixes #Issue] [Optional Fixes commit #PR or SHA] [Optional Deprecated:] [Optional API Considerations:] Mirrored from https://github.com/envoyproxy/envoy @ 3752119b94ae4a5ff337364f585f54305406dc7f --- envoy/admin/v3/config_dump.proto | 5 ++++ envoy/admin/v3/config_dump_shared.proto | 40 +++++++++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/envoy/admin/v3/config_dump.proto b/envoy/admin/v3/config_dump.proto index 9ec135a4..8f5fa096 100644 --- a/envoy/admin/v3/config_dump.proto +++ b/envoy/admin/v3/config_dump.proto @@ -32,6 +32,8 @@ message ConfigDump { // // * ``bootstrap``: :ref:`BootstrapConfigDump ` // * ``clusters``: :ref:`ClustersConfigDump ` + // * ``ecds_filter_http``: :ref:`EcdsConfigDump ` + // * ``ecds_filter_tcp_listener``: :ref:`EcdsConfigDump ` // * ``endpoints``: :ref:`EndpointsConfigDump ` // * ``listeners``: :ref:`ListenersConfigDump ` // * ``scoped_routes``: :ref:`ScopedRoutesConfigDump ` @@ -40,6 +42,9 @@ message ConfigDump { // // EDS Configuration will only be dumped by using parameter ``?include_eds`` // + // Currently ECDS is supported in HTTP and listener filters. Note, ECDS configuration for + // either HTTP or listener filter will only be dumped if it is actually configured. + // // You can filter output with the resource and mask query parameters. // See :ref:`/config_dump?resource={} `, // :ref:`/config_dump?mask={} `, diff --git a/envoy/admin/v3/config_dump_shared.proto b/envoy/admin/v3/config_dump_shared.proto index 6677dac5..8de77e18 100644 --- a/envoy/admin/v3/config_dump_shared.proto +++ b/envoy/admin/v3/config_dump_shared.proto @@ -370,3 +370,43 @@ message EndpointsConfigDump { // The dynamically loaded endpoint configs. repeated DynamicEndpointConfig dynamic_endpoint_configs = 3; } + +// Envoy's ECDS service fills this message with all currently extension +// configuration. Extension configuration information can be used to recreate +// an Envoy ECDS listener and HTTP filters as static filters or by returning +// them in ECDS response. +message EcdsConfigDump { + option (udpa.annotations.versioning).previous_message_type = "envoy.admin.v2alpha.EcdsConfigDump"; + + // [#next-free-field: 6] + message EcdsFilterConfig { + option (udpa.annotations.versioning).previous_message_type = + "envoy.admin.v2alpha.EcdsConfigDump.EcdsFilterConfig"; + + // This is the per-resource version information. This version is currently + // taken from the :ref:`version_info + // ` + // field at the time that the ECDS filter was loaded. + string version_info = 1; + + // The ECDS filter config. + google.protobuf.Any ecds_filter = 2; + + // The timestamp when the ECDS filter was last updated. + google.protobuf.Timestamp last_updated = 3; + + // Set if the last update failed, cleared after the next successful update. + // The ``error_state`` field contains the rejected version of this + // particular resource along with the reason and timestamp. For successfully + // updated or acknowledged resource, this field should be empty. + // [#not-implemented-hide:] + UpdateFailureState error_state = 4; + + // The client status of this resource. + // [#not-implemented-hide:] + ClientResourceStatus client_status = 5; + } + + // The ECDS filter configs. + repeated EcdsFilterConfig ecds_filters = 1; +}