You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
176 lines
7.7 KiB
176 lines
7.7 KiB
syntax = "proto3"; |
|
|
|
package envoy.admin.v2alpha; |
|
|
|
import "envoy/api/v2/cds.proto"; |
|
import "envoy/api/v2/lds.proto"; |
|
import "envoy/api/v2/rds.proto"; |
|
import "envoy/config/bootstrap/v2/bootstrap.proto"; |
|
|
|
import "google/protobuf/any.proto"; |
|
import "google/protobuf/timestamp.proto"; |
|
|
|
import "gogoproto/gogo.proto"; |
|
|
|
// [#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 { |
|
// This map is serialized and dumped in its entirety at the |
|
// :ref:`/config_dump <operations_admin_interface_config_dump>` endpoint. |
|
// |
|
// Keys are a short descriptor of the config object they map to. The following keys (and the |
|
// messages they map to) are currently supported: |
|
// |
|
// * *bootstrap*: :ref:`BootstrapConfigDump <envoy_api_msg_admin.v2alpha.BootstrapConfigDump>` |
|
// * *listeners*: :ref:`ListenersConfigDump <envoy_api_msg_admin.v2alpha.ListenersConfigDump>` |
|
// * *clusters*: :ref:`ClustersConfigDump <envoy_api_msg_admin.v2alpha.ClustersConfigDump>` |
|
// * *routes*: :ref:`RoutesConfigDump <envoy_api_msg_admin.v2alpha.RoutesConfigDump>` |
|
map<string, google.protobuf.Any> configs = 1 [(gogoproto.nullable) = false]; |
|
} |
|
|
|
// 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 { |
|
envoy.config.bootstrap.v2.Bootstrap bootstrap = 1 [(gogoproto.nullable) = false]; |
|
|
|
// 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 { |
|
// This is the :ref:`version_info <envoy_api_field_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; |
|
|
|
// Describes a statically loaded cluster. |
|
message StaticListener { |
|
// The listener config. |
|
envoy.api.v2.Listener listener = 1; |
|
|
|
// The timestamp when the Listener was last updated. |
|
google.protobuf.Timestamp last_updated = 2; |
|
} |
|
|
|
// Describes a dynamically loaded cluster via the LDS API. |
|
message DynamicListener { |
|
// This is the per-resource version information. This version is currently taken from the |
|
// :ref:`version_info <envoy_api_field_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. |
|
envoy.api.v2.Listener listener = 2; |
|
|
|
// The timestamp when the Listener was last updated. |
|
google.protobuf.Timestamp last_updated = 3; |
|
} |
|
|
|
// The statically loaded listener configs. |
|
repeated StaticListener static_listeners = 2 [(gogoproto.nullable) = false]; |
|
|
|
// The dynamically loaded active listeners. These are listeners that are available to service |
|
// data plane traffic. |
|
repeated DynamicListener dynamic_active_listeners = 3 [(gogoproto.nullable) = false]; |
|
|
|
// The dynamically loaded warming listeners. 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. |
|
repeated DynamicListener dynamic_warming_listeners = 4 [(gogoproto.nullable) = false]; |
|
|
|
// The dynamically loaded draining listeners. 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. |
|
repeated DynamicListener dynamic_draining_listeners = 5 [(gogoproto.nullable) = false]; |
|
} |
|
|
|
// 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 { |
|
// This is the :ref:`version_info <envoy_api_field_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; |
|
|
|
// Describes a statically loaded cluster. |
|
message StaticCluster { |
|
// The cluster config. |
|
envoy.api.v2.Cluster 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 { |
|
// This is the per-resource version information. This version is currently taken from the |
|
// :ref:`version_info <envoy_api_field_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. |
|
envoy.api.v2.Cluster cluster = 2; |
|
|
|
// The timestamp when the Cluster was last updated. |
|
google.protobuf.Timestamp last_updated = 3; |
|
} |
|
|
|
// The statically loaded cluster configs. |
|
repeated StaticCluster static_clusters = 2 [(gogoproto.nullable) = false]; |
|
|
|
// The dynamically loaded active clusters. These are clusters that are available to service |
|
// data plane traffic. |
|
repeated DynamicCluster dynamic_active_clusters = 3 [(gogoproto.nullable) = false]; |
|
|
|
// 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 [(gogoproto.nullable) = false]; |
|
} |
|
|
|
// Envoy's RDS implementation fills this message with all currently loaded routes, as described by |
|
// their RouteConfiguration objects. Static routes configured in the bootstrap configuration 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 { |
|
message StaticRouteConfig { |
|
// The route config. |
|
envoy.api.v2.RouteConfiguration route_config = 1; |
|
|
|
// The timestamp when the Route was last updated. |
|
google.protobuf.Timestamp last_updated = 2; |
|
} |
|
|
|
message DynamicRouteConfig { |
|
// This is the per-resource version information. This version is currently taken from the |
|
// :ref:`version_info <envoy_api_field_DiscoveryResponse.version_info>` field at the time that |
|
// the route configuration was loaded. |
|
string version_info = 1; |
|
|
|
// The route config. |
|
envoy.api.v2.RouteConfiguration 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 [(gogoproto.nullable) = false]; |
|
|
|
// The dynamically loaded route configs. |
|
repeated DynamicRouteConfig dynamic_route_configs = 3 [(gogoproto.nullable) = false]; |
|
}
|
|
|