123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483 |
- syntax = "proto3";
- package envoy.admin.v3;
- import "envoy/config/bootstrap/v3/bootstrap.proto";
- import "google/protobuf/any.proto";
- import "google/protobuf/timestamp.proto";
- import "udpa/annotations/status.proto";
- import "udpa/annotations/versioning.proto";
- option java_package = "io.envoyproxy.envoy.admin.v3";
- option java_outer_classname = "ConfigDumpProto";
- option java_multiple_files = true;
- option go_package = "github.com/envoyproxy/go-control-plane/envoy/admin/v3;adminv3";
- option (udpa.annotations.file_status).package_version_status = ACTIVE;
- // [#protodoc-title: ConfigDump]
- // Resource status from the view of a xDS client, which tells the synchronization
- // status between the xDS client and the xDS server.
- enum ClientResourceStatus {
- // Resource status is not available/unknown.
- UNKNOWN = 0;
- // Client requested this resource but hasn't received any update from management
- // server. The client will not fail requests, but will queue them until update
- // arrives or the client times out waiting for the resource.
- REQUESTED = 1;
- // This resource has been requested by the client but has either not been
- // delivered by the server or was previously delivered by the server and then
- // subsequently removed from resources provided by the server. For more
- // information, please refer to the :ref:`"Knowing When a Requested Resource
- // Does Not Exist" <xds_protocol_resource_not_existed>` section.
- DOES_NOT_EXIST = 2;
- // Client received this resource and replied with ACK.
- ACKED = 3;
- // Client received this resource and replied with NACK.
- NACKED = 4;
- }
- // The :ref:`/config_dump <operations_admin_interface_config_dump>` admin endpoint uses this wrapper
- // message to maintain and serve arbitrary configuration information from any component in Envoy.
- message ConfigDump {
- option (udpa.annotations.versioning).previous_message_type = "envoy.admin.v2alpha.ConfigDump";
- // This list is serialized and dumped in its entirety at the
- // :ref:`/config_dump <operations_admin_interface_config_dump>` endpoint.
- //
- // The following configurations are currently supported and will be dumped in the order given
- // below:
- //
- // * *bootstrap*: :ref:`BootstrapConfigDump <envoy_v3_api_msg_admin.v3.BootstrapConfigDump>`
- // * *clusters*: :ref:`ClustersConfigDump <envoy_v3_api_msg_admin.v3.ClustersConfigDump>`
- // * *endpoints*: :ref:`EndpointsConfigDump <envoy_v3_api_msg_admin.v3.EndpointsConfigDump>`
- // * *listeners*: :ref:`ListenersConfigDump <envoy_v3_api_msg_admin.v3.ListenersConfigDump>`
- // * *scoped_routes*: :ref:`ScopedRoutesConfigDump <envoy_v3_api_msg_admin.v3.ScopedRoutesConfigDump>`
- // * *routes*: :ref:`RoutesConfigDump <envoy_v3_api_msg_admin.v3.RoutesConfigDump>`
- // * *secrets*: :ref:`SecretsConfigDump <envoy_v3_api_msg_admin.v3.SecretsConfigDump>`
- //
- // EDS Configuration will only be dumped by using parameter `?include_eds`
- //
- // You can filter output with the resource and mask query parameters.
- // See :ref:`/config_dump?resource={} <operations_admin_interface_config_dump_by_resource>`,
- // :ref:`/config_dump?mask={} <operations_admin_interface_config_dump_by_mask>`,
- // or :ref:`/config_dump?resource={},mask={}
- // <operations_admin_interface_config_dump_by_resource_and_mask>` for more information.
- repeated google.protobuf.Any configs = 1;
- }
- message UpdateFailureState {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.UpdateFailureState";
- // What the component configuration would have been if the update had succeeded.
- // This field may not be populated by xDS clients due to storage overhead.
- google.protobuf.Any failed_configuration = 1;
- // Time of the latest failed update attempt.
- google.protobuf.Timestamp last_update_attempt = 2;
- // Details about the last failed update attempt.
- string details = 3;
- // This is the version of the rejected resource.
- // [#not-implemented-hide:]
- string version_info = 4;
- }
- // This message describes the bootstrap configuration that Envoy was started with. This includes
- // any CLI overrides that were merged. Bootstrap configuration information can be used to recreate
- // the static portions of an Envoy configuration by reusing the output as the bootstrap
- // configuration for another Envoy.
- message BootstrapConfigDump {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.BootstrapConfigDump";
- config.bootstrap.v3.Bootstrap bootstrap = 1;
- // The timestamp when the BootstrapConfig was last updated.
- google.protobuf.Timestamp last_updated = 2;
- }
- // Envoy's listener manager fills this message with all currently known listeners. Listener
- // configuration information can be used to recreate an Envoy configuration by populating all
- // listeners as static listeners or by returning them in a LDS response.
- message ListenersConfigDump {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.ListenersConfigDump";
- // Describes a statically loaded listener.
- message StaticListener {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.ListenersConfigDump.StaticListener";
- // The listener config.
- google.protobuf.Any listener = 1;
- // The timestamp when the Listener was last successfully updated.
- google.protobuf.Timestamp last_updated = 2;
- }
- message DynamicListenerState {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.ListenersConfigDump.DynamicListenerState";
- // This is the per-resource version information. This version is currently taken from the
- // :ref:`version_info <envoy_v3_api_field_service.discovery.v3.DiscoveryResponse.version_info>` field at the time
- // that the listener was loaded. In the future, discrete per-listener versions may be supported
- // by the API.
- string version_info = 1;
- // The listener config.
- google.protobuf.Any listener = 2;
- // The timestamp when the Listener was last successfully updated.
- google.protobuf.Timestamp last_updated = 3;
- }
- // Describes a dynamically loaded listener via the LDS API.
- // [#next-free-field: 7]
- message DynamicListener {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.ListenersConfigDump.DynamicListener";
- // The name or unique id of this listener, pulled from the DynamicListenerState config.
- string name = 1;
- // The listener state for any active listener by this name.
- // These are listeners that are available to service data plane traffic.
- DynamicListenerState active_state = 2;
- // The listener state for any warming listener by this name.
- // These are listeners that are currently undergoing warming in preparation to service data
- // plane traffic. Note that if attempting to recreate an Envoy configuration from a
- // configuration dump, the warming listeners should generally be discarded.
- DynamicListenerState warming_state = 3;
- // The listener state for any draining listener by this name.
- // These are listeners that are currently undergoing draining in preparation to stop servicing
- // data plane traffic. Note that if attempting to recreate an Envoy configuration from a
- // configuration dump, the draining listeners should generally be discarded.
- DynamicListenerState draining_state = 4;
- // 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.
- UpdateFailureState error_state = 5;
- // The client status of this resource.
- // [#not-implemented-hide:]
- ClientResourceStatus client_status = 6;
- }
- // This is the :ref:`version_info <envoy_v3_api_field_service.discovery.v3.DiscoveryResponse.version_info>` in the
- // last processed LDS discovery response. If there are only static bootstrap listeners, this field
- // will be "".
- string version_info = 1;
- // The statically loaded listener configs.
- repeated StaticListener static_listeners = 2;
- // State for any warming, active, or draining listeners.
- repeated DynamicListener dynamic_listeners = 3;
- }
- // Envoy's cluster manager fills this message with all currently known clusters. Cluster
- // configuration information can be used to recreate an Envoy configuration by populating all
- // clusters as static clusters or by returning them in a CDS response.
- message ClustersConfigDump {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.ClustersConfigDump";
- // Describes a statically loaded cluster.
- message StaticCluster {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.ClustersConfigDump.StaticCluster";
- // The cluster config.
- google.protobuf.Any cluster = 1;
- // The timestamp when the Cluster was last updated.
- google.protobuf.Timestamp last_updated = 2;
- }
- // Describes a dynamically loaded cluster via the CDS API.
- // [#next-free-field: 6]
- message DynamicCluster {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.ClustersConfigDump.DynamicCluster";
- // This is the per-resource version information. This version is currently taken from the
- // :ref:`version_info <envoy_v3_api_field_service.discovery.v3.DiscoveryResponse.version_info>` field at the time
- // that the cluster was loaded. In the future, discrete per-cluster versions may be supported by
- // the API.
- string version_info = 1;
- // The cluster config.
- google.protobuf.Any cluster = 2;
- // The timestamp when the Cluster 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;
- }
- // This is the :ref:`version_info <envoy_v3_api_field_service.discovery.v3.DiscoveryResponse.version_info>` in the
- // last processed CDS discovery response. If there are only static bootstrap clusters, this field
- // will be "".
- string version_info = 1;
- // The statically loaded cluster configs.
- repeated StaticCluster static_clusters = 2;
- // The dynamically loaded active clusters. These are clusters that are available to service
- // data plane traffic.
- repeated DynamicCluster dynamic_active_clusters = 3;
- // The dynamically loaded warming clusters. These are clusters that are currently undergoing
- // warming in preparation to service data plane traffic. Note that if attempting to recreate an
- // Envoy configuration from a configuration dump, the warming clusters should generally be
- // discarded.
- repeated DynamicCluster dynamic_warming_clusters = 4;
- }
- // Envoy's RDS implementation fills this message with all currently loaded routes, as described by
- // their RouteConfiguration objects. Static routes that are either defined in the bootstrap configuration
- // or defined inline while configuring listeners are separated from those configured dynamically via RDS.
- // Route configuration information can be used to recreate an Envoy configuration by populating all routes
- // as static routes or by returning them in RDS responses.
- message RoutesConfigDump {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.RoutesConfigDump";
- message StaticRouteConfig {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.RoutesConfigDump.StaticRouteConfig";
- // The route config.
- google.protobuf.Any route_config = 1;
- // The timestamp when the Route was last updated.
- google.protobuf.Timestamp last_updated = 2;
- }
- // [#next-free-field: 6]
- message DynamicRouteConfig {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.RoutesConfigDump.DynamicRouteConfig";
- // This is the per-resource version information. This version is currently taken from the
- // :ref:`version_info <envoy_v3_api_field_service.discovery.v3.DiscoveryResponse.version_info>` field at the time that
- // the route configuration was loaded.
- string version_info = 1;
- // The route config.
- google.protobuf.Any route_config = 2;
- // The timestamp when the Route 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 statically loaded route configs.
- repeated StaticRouteConfig static_route_configs = 2;
- // The dynamically loaded route configs.
- repeated DynamicRouteConfig dynamic_route_configs = 3;
- }
- // Envoy's scoped RDS implementation fills this message with all currently loaded route
- // configuration scopes (defined via ScopedRouteConfigurationsSet protos). This message lists both
- // the scopes defined inline with the higher order object (i.e., the HttpConnectionManager) and the
- // dynamically obtained scopes via the SRDS API.
- message ScopedRoutesConfigDump {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.ScopedRoutesConfigDump";
- message InlineScopedRouteConfigs {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.ScopedRoutesConfigDump.InlineScopedRouteConfigs";
- // The name assigned to the scoped route configurations.
- string name = 1;
- // The scoped route configurations.
- repeated google.protobuf.Any scoped_route_configs = 2;
- // The timestamp when the scoped route config set was last updated.
- google.protobuf.Timestamp last_updated = 3;
- }
- // [#next-free-field: 7]
- message DynamicScopedRouteConfigs {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.ScopedRoutesConfigDump.DynamicScopedRouteConfigs";
- // The name assigned to the scoped route configurations.
- string name = 1;
- // This is the per-resource version information. This version is currently taken from the
- // :ref:`version_info <envoy_v3_api_field_service.discovery.v3.DiscoveryResponse.version_info>` field at the time that
- // the scoped routes configuration was loaded.
- string version_info = 2;
- // The scoped route configurations.
- repeated google.protobuf.Any scoped_route_configs = 3;
- // The timestamp when the scoped route config set was last updated.
- google.protobuf.Timestamp last_updated = 4;
- // 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 = 5;
- // The client status of this resource.
- // [#not-implemented-hide:]
- ClientResourceStatus client_status = 6;
- }
- // The statically loaded scoped route configs.
- repeated InlineScopedRouteConfigs inline_scoped_route_configs = 1;
- // The dynamically loaded scoped route configs.
- repeated DynamicScopedRouteConfigs dynamic_scoped_route_configs = 2;
- }
- // Envoys SDS implementation fills this message with all secrets fetched dynamically via SDS.
- message SecretsConfigDump {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.SecretsConfigDump";
- // DynamicSecret contains secret information fetched via SDS.
- // [#next-free-field: 7]
- message DynamicSecret {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.SecretsConfigDump.DynamicSecret";
- // The name assigned to the secret.
- string name = 1;
- // This is the per-resource version information.
- string version_info = 2;
- // The timestamp when the secret was last updated.
- google.protobuf.Timestamp last_updated = 3;
- // The actual secret information.
- // Security sensitive information is redacted (replaced with "[redacted]") for
- // private keys and passwords in TLS certificates.
- google.protobuf.Any secret = 4;
- // 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 = 5;
- // The client status of this resource.
- // [#not-implemented-hide:]
- ClientResourceStatus client_status = 6;
- }
- // StaticSecret specifies statically loaded secret in bootstrap.
- message StaticSecret {
- option (udpa.annotations.versioning).previous_message_type =
- "envoy.admin.v2alpha.SecretsConfigDump.StaticSecret";
- // The name assigned to the secret.
- string name = 1;
- // The timestamp when the secret was last updated.
- google.protobuf.Timestamp last_updated = 2;
- // The actual secret information.
- // Security sensitive information is redacted (replaced with "[redacted]") for
- // private keys and passwords in TLS certificates.
- google.protobuf.Any secret = 3;
- }
- // The statically loaded secrets.
- repeated StaticSecret static_secrets = 1;
- // The dynamically loaded active secrets. These are secrets that are available to service
- // clusters or listeners.
- repeated DynamicSecret dynamic_active_secrets = 2;
- // The dynamically loaded warming secrets. These are secrets that are currently undergoing
- // warming in preparation to service clusters or listeners.
- repeated DynamicSecret dynamic_warming_secrets = 3;
- }
- // Envoy's admin fill this message with all currently known endpoints. Endpoint
- // configuration information can be used to recreate an Envoy configuration by populating all
- // endpoints as static endpoints or by returning them in an EDS response.
- message EndpointsConfigDump {
- message StaticEndpointConfig {
- // The endpoint config.
- google.protobuf.Any endpoint_config = 1;
- // [#not-implemented-hide:] The timestamp when the Endpoint was last updated.
- google.protobuf.Timestamp last_updated = 2;
- }
- // [#next-free-field: 6]
- message DynamicEndpointConfig {
- // [#not-implemented-hide:] This is the per-resource version information. This version is currently taken from the
- // :ref:`version_info <envoy_v3_api_field_service.discovery.v3.DiscoveryResponse.version_info>` field at the time that
- // the endpoint configuration was loaded.
- string version_info = 1;
- // The endpoint config.
- google.protobuf.Any endpoint_config = 2;
- // [#not-implemented-hide:] The timestamp when the Endpoint 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 statically loaded endpoint configs.
- repeated StaticEndpointConfig static_endpoint_configs = 2;
- // The dynamically loaded endpoint configs.
- repeated DynamicEndpointConfig dynamic_endpoint_configs = 3;
- }
|