|
|
|
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 (udpa.annotations.file_status).package_version_status = ACTIVE;
|
|
|
|
|
|
|
|
// [#protodoc-title: ConfigDump]
|
|
|
|
|
|
|
|
// 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_api_msg_admin.v3.BootstrapConfigDump>`
|
|
|
|
// * *clusters*: :ref:`ClustersConfigDump <envoy_api_msg_admin.v3.ClustersConfigDump>`
|
|
|
|
// * *endpoints*: :ref:`EndpointsConfigDump <envoy_api_msg_admin.v3.EndpointsConfigDump>`
|
|
|
|
// * *listeners*: :ref:`ListenersConfigDump <envoy_api_msg_admin.v3.ListenersConfigDump>`
|
|
|
|
// * *routes*: :ref:`RoutesConfigDump <envoy_api_msg_admin.v3.RoutesConfigDump>`
|
|
|
|
//
|
|
|
|
// 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.
|
|
|
|
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 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_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: 6]
|
|
|
|
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.
|
|
|
|
UpdateFailureState error_state = 5;
|
|
|
|
}
|
|
|
|
|
|
|
|
// This is the :ref:`version_info <envoy_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.
|
|
|
|
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_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;
|
|
|
|
}
|
|
|
|
|
|
|
|
// This is the :ref:`version_info <envoy_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;
|
|
|
|
}
|
|
|
|
|
|
|
|
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_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;
|
|
|
|
}
|
|
|
|
|
|
|
|
// 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;
|
|
|
|
}
|
|
|
|
|
|
|
|
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_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;
|
|
|
|
}
|
|
|
|
|
|
|
|
// 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.
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
|
|
|
|
// 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;
|
|
|
|
}
|
|
|
|
|
|
|
|
message DynamicEndpointConfig {
|
|
|
|
// [#not-implemented-hide:] This is the per-resource version information. This version is currently taken from the
|
|
|
|
// :ref:`version_info <envoy_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;
|
|
|
|
}
|
|
|
|
|
|
|
|
// The statically loaded endpoint configs.
|
|
|
|
repeated StaticEndpointConfig static_endpoint_configs = 2;
|
|
|
|
|
|
|
|
// The dynamically loaded endpoint configs.
|
|
|
|
repeated DynamicEndpointConfig dynamic_endpoint_configs = 3;
|
|
|
|
}
|