...
1syntax = "proto3";
2
3package envoy.admin.v4alpha;
4
5import "envoy/config/bootstrap/v4alpha/bootstrap.proto";
6
7import "google/protobuf/any.proto";
8import "google/protobuf/timestamp.proto";
9
10import "udpa/annotations/status.proto";
11import "udpa/annotations/versioning.proto";
12
13option java_package = "io.envoyproxy.envoy.admin.v4alpha";
14option java_outer_classname = "ConfigDumpProto";
15option java_multiple_files = true;
16option (udpa.annotations.file_status).package_version_status = NEXT_MAJOR_VERSION_CANDIDATE;
17
18// [#protodoc-title: ConfigDump]
19
20// The :ref:`/config_dump <operations_admin_interface_config_dump>` admin endpoint uses this wrapper
21// message to maintain and serve arbitrary configuration information from any component in Envoy.
22message ConfigDump {
23 option (udpa.annotations.versioning).previous_message_type = "envoy.admin.v3.ConfigDump";
24
25 // This list is serialized and dumped in its entirety at the
26 // :ref:`/config_dump <operations_admin_interface_config_dump>` endpoint.
27 //
28 // The following configurations are currently supported and will be dumped in the order given
29 // below:
30 //
31 // * *bootstrap*: :ref:`BootstrapConfigDump <envoy_api_msg_admin.v4alpha.BootstrapConfigDump>`
32 // * *clusters*: :ref:`ClustersConfigDump <envoy_api_msg_admin.v4alpha.ClustersConfigDump>`
33 // * *endpoints*: :ref:`EndpointsConfigDump <envoy_api_msg_admin.v4alpha.EndpointsConfigDump>`
34 // * *listeners*: :ref:`ListenersConfigDump <envoy_api_msg_admin.v4alpha.ListenersConfigDump>`
35 // * *routes*: :ref:`RoutesConfigDump <envoy_api_msg_admin.v4alpha.RoutesConfigDump>`
36 //
37 // EDS Configuration will only be dumped by using parameter `?include_eds`
38 //
39 // You can filter output with the resource and mask query parameters.
40 // See :ref:`/config_dump?resource={} <operations_admin_interface_config_dump_by_resource>`,
41 // :ref:`/config_dump?mask={} <operations_admin_interface_config_dump_by_mask>`,
42 // or :ref:`/config_dump?resource={},mask={}
43 // <operations_admin_interface_config_dump_by_resource_and_mask>` for more information.
44 repeated google.protobuf.Any configs = 1;
45}
46
47message UpdateFailureState {
48 option (udpa.annotations.versioning).previous_message_type = "envoy.admin.v3.UpdateFailureState";
49
50 // What the component configuration would have been if the update had succeeded.
51 google.protobuf.Any failed_configuration = 1;
52
53 // Time of the latest failed update attempt.
54 google.protobuf.Timestamp last_update_attempt = 2;
55
56 // Details about the last failed update attempt.
57 string details = 3;
58}
59
60// This message describes the bootstrap configuration that Envoy was started with. This includes
61// any CLI overrides that were merged. Bootstrap configuration information can be used to recreate
62// the static portions of an Envoy configuration by reusing the output as the bootstrap
63// configuration for another Envoy.
64message BootstrapConfigDump {
65 option (udpa.annotations.versioning).previous_message_type = "envoy.admin.v3.BootstrapConfigDump";
66
67 config.bootstrap.v4alpha.Bootstrap bootstrap = 1;
68
69 // The timestamp when the BootstrapConfig was last updated.
70 google.protobuf.Timestamp last_updated = 2;
71}
72
73// Envoy's listener manager fills this message with all currently known listeners. Listener
74// configuration information can be used to recreate an Envoy configuration by populating all
75// listeners as static listeners or by returning them in a LDS response.
76message ListenersConfigDump {
77 option (udpa.annotations.versioning).previous_message_type = "envoy.admin.v3.ListenersConfigDump";
78
79 // Describes a statically loaded listener.
80 message StaticListener {
81 option (udpa.annotations.versioning).previous_message_type =
82 "envoy.admin.v3.ListenersConfigDump.StaticListener";
83
84 // The listener config.
85 google.protobuf.Any listener = 1;
86
87 // The timestamp when the Listener was last successfully updated.
88 google.protobuf.Timestamp last_updated = 2;
89 }
90
91 message DynamicListenerState {
92 option (udpa.annotations.versioning).previous_message_type =
93 "envoy.admin.v3.ListenersConfigDump.DynamicListenerState";
94
95 // This is the per-resource version information. This version is currently taken from the
96 // :ref:`version_info <envoy_api_field_service.discovery.v4alpha.DiscoveryResponse.version_info>` field at the time
97 // that the listener was loaded. In the future, discrete per-listener versions may be supported
98 // by the API.
99 string version_info = 1;
100
101 // The listener config.
102 google.protobuf.Any listener = 2;
103
104 // The timestamp when the Listener was last successfully updated.
105 google.protobuf.Timestamp last_updated = 3;
106 }
107
108 // Describes a dynamically loaded listener via the LDS API.
109 // [#next-free-field: 6]
110 message DynamicListener {
111 option (udpa.annotations.versioning).previous_message_type =
112 "envoy.admin.v3.ListenersConfigDump.DynamicListener";
113
114 // The name or unique id of this listener, pulled from the DynamicListenerState config.
115 string name = 1;
116
117 // The listener state for any active listener by this name.
118 // These are listeners that are available to service data plane traffic.
119 DynamicListenerState active_state = 2;
120
121 // The listener state for any warming listener by this name.
122 // These are listeners that are currently undergoing warming in preparation to service data
123 // plane traffic. Note that if attempting to recreate an Envoy configuration from a
124 // configuration dump, the warming listeners should generally be discarded.
125 DynamicListenerState warming_state = 3;
126
127 // The listener state for any draining listener by this name.
128 // These are listeners that are currently undergoing draining in preparation to stop servicing
129 // data plane traffic. Note that if attempting to recreate an Envoy configuration from a
130 // configuration dump, the draining listeners should generally be discarded.
131 DynamicListenerState draining_state = 4;
132
133 // Set if the last update failed, cleared after the next successful update.
134 UpdateFailureState error_state = 5;
135 }
136
137 // This is the :ref:`version_info <envoy_api_field_service.discovery.v4alpha.DiscoveryResponse.version_info>` in the
138 // last processed LDS discovery response. If there are only static bootstrap listeners, this field
139 // will be "".
140 string version_info = 1;
141
142 // The statically loaded listener configs.
143 repeated StaticListener static_listeners = 2;
144
145 // State for any warming, active, or draining listeners.
146 repeated DynamicListener dynamic_listeners = 3;
147}
148
149// Envoy's cluster manager fills this message with all currently known clusters. Cluster
150// configuration information can be used to recreate an Envoy configuration by populating all
151// clusters as static clusters or by returning them in a CDS response.
152message ClustersConfigDump {
153 option (udpa.annotations.versioning).previous_message_type = "envoy.admin.v3.ClustersConfigDump";
154
155 // Describes a statically loaded cluster.
156 message StaticCluster {
157 option (udpa.annotations.versioning).previous_message_type =
158 "envoy.admin.v3.ClustersConfigDump.StaticCluster";
159
160 // The cluster config.
161 google.protobuf.Any cluster = 1;
162
163 // The timestamp when the Cluster was last updated.
164 google.protobuf.Timestamp last_updated = 2;
165 }
166
167 // Describes a dynamically loaded cluster via the CDS API.
168 message DynamicCluster {
169 option (udpa.annotations.versioning).previous_message_type =
170 "envoy.admin.v3.ClustersConfigDump.DynamicCluster";
171
172 // This is the per-resource version information. This version is currently taken from the
173 // :ref:`version_info <envoy_api_field_service.discovery.v4alpha.DiscoveryResponse.version_info>` field at the time
174 // that the cluster was loaded. In the future, discrete per-cluster versions may be supported by
175 // the API.
176 string version_info = 1;
177
178 // The cluster config.
179 google.protobuf.Any cluster = 2;
180
181 // The timestamp when the Cluster was last updated.
182 google.protobuf.Timestamp last_updated = 3;
183 }
184
185 // This is the :ref:`version_info <envoy_api_field_service.discovery.v4alpha.DiscoveryResponse.version_info>` in the
186 // last processed CDS discovery response. If there are only static bootstrap clusters, this field
187 // will be "".
188 string version_info = 1;
189
190 // The statically loaded cluster configs.
191 repeated StaticCluster static_clusters = 2;
192
193 // The dynamically loaded active clusters. These are clusters that are available to service
194 // data plane traffic.
195 repeated DynamicCluster dynamic_active_clusters = 3;
196
197 // The dynamically loaded warming clusters. These are clusters that are currently undergoing
198 // warming in preparation to service data plane traffic. Note that if attempting to recreate an
199 // Envoy configuration from a configuration dump, the warming clusters should generally be
200 // discarded.
201 repeated DynamicCluster dynamic_warming_clusters = 4;
202}
203
204// Envoy's RDS implementation fills this message with all currently loaded routes, as described by
205// their RouteConfiguration objects. Static routes that are either defined in the bootstrap configuration
206// or defined inline while configuring listeners are separated from those configured dynamically via RDS.
207// Route configuration information can be used to recreate an Envoy configuration by populating all routes
208// as static routes or by returning them in RDS responses.
209message RoutesConfigDump {
210 option (udpa.annotations.versioning).previous_message_type = "envoy.admin.v3.RoutesConfigDump";
211
212 message StaticRouteConfig {
213 option (udpa.annotations.versioning).previous_message_type =
214 "envoy.admin.v3.RoutesConfigDump.StaticRouteConfig";
215
216 // The route config.
217 google.protobuf.Any route_config = 1;
218
219 // The timestamp when the Route was last updated.
220 google.protobuf.Timestamp last_updated = 2;
221 }
222
223 message DynamicRouteConfig {
224 option (udpa.annotations.versioning).previous_message_type =
225 "envoy.admin.v3.RoutesConfigDump.DynamicRouteConfig";
226
227 // This is the per-resource version information. This version is currently taken from the
228 // :ref:`version_info <envoy_api_field_service.discovery.v4alpha.DiscoveryResponse.version_info>` field at the time that
229 // the route configuration was loaded.
230 string version_info = 1;
231
232 // The route config.
233 google.protobuf.Any route_config = 2;
234
235 // The timestamp when the Route was last updated.
236 google.protobuf.Timestamp last_updated = 3;
237 }
238
239 // The statically loaded route configs.
240 repeated StaticRouteConfig static_route_configs = 2;
241
242 // The dynamically loaded route configs.
243 repeated DynamicRouteConfig dynamic_route_configs = 3;
244}
245
246// Envoy's scoped RDS implementation fills this message with all currently loaded route
247// configuration scopes (defined via ScopedRouteConfigurationsSet protos). This message lists both
248// the scopes defined inline with the higher order object (i.e., the HttpConnectionManager) and the
249// dynamically obtained scopes via the SRDS API.
250message ScopedRoutesConfigDump {
251 option (udpa.annotations.versioning).previous_message_type =
252 "envoy.admin.v3.ScopedRoutesConfigDump";
253
254 message InlineScopedRouteConfigs {
255 option (udpa.annotations.versioning).previous_message_type =
256 "envoy.admin.v3.ScopedRoutesConfigDump.InlineScopedRouteConfigs";
257
258 // The name assigned to the scoped route configurations.
259 string name = 1;
260
261 // The scoped route configurations.
262 repeated google.protobuf.Any scoped_route_configs = 2;
263
264 // The timestamp when the scoped route config set was last updated.
265 google.protobuf.Timestamp last_updated = 3;
266 }
267
268 message DynamicScopedRouteConfigs {
269 option (udpa.annotations.versioning).previous_message_type =
270 "envoy.admin.v3.ScopedRoutesConfigDump.DynamicScopedRouteConfigs";
271
272 // The name assigned to the scoped route configurations.
273 string name = 1;
274
275 // This is the per-resource version information. This version is currently taken from the
276 // :ref:`version_info <envoy_api_field_service.discovery.v4alpha.DiscoveryResponse.version_info>` field at the time that
277 // the scoped routes configuration was loaded.
278 string version_info = 2;
279
280 // The scoped route configurations.
281 repeated google.protobuf.Any scoped_route_configs = 3;
282
283 // The timestamp when the scoped route config set was last updated.
284 google.protobuf.Timestamp last_updated = 4;
285 }
286
287 // The statically loaded scoped route configs.
288 repeated InlineScopedRouteConfigs inline_scoped_route_configs = 1;
289
290 // The dynamically loaded scoped route configs.
291 repeated DynamicScopedRouteConfigs dynamic_scoped_route_configs = 2;
292}
293
294// Envoys SDS implementation fills this message with all secrets fetched dynamically via SDS.
295message SecretsConfigDump {
296 option (udpa.annotations.versioning).previous_message_type = "envoy.admin.v3.SecretsConfigDump";
297
298 // DynamicSecret contains secret information fetched via SDS.
299 message DynamicSecret {
300 option (udpa.annotations.versioning).previous_message_type =
301 "envoy.admin.v3.SecretsConfigDump.DynamicSecret";
302
303 // The name assigned to the secret.
304 string name = 1;
305
306 // This is the per-resource version information.
307 string version_info = 2;
308
309 // The timestamp when the secret was last updated.
310 google.protobuf.Timestamp last_updated = 3;
311
312 // The actual secret information.
313 // Security sensitive information is redacted (replaced with "[redacted]") for
314 // private keys and passwords in TLS certificates.
315 google.protobuf.Any secret = 4;
316 }
317
318 // StaticSecret specifies statically loaded secret in bootstrap.
319 message StaticSecret {
320 option (udpa.annotations.versioning).previous_message_type =
321 "envoy.admin.v3.SecretsConfigDump.StaticSecret";
322
323 // The name assigned to the secret.
324 string name = 1;
325
326 // The timestamp when the secret was last updated.
327 google.protobuf.Timestamp last_updated = 2;
328
329 // The actual secret information.
330 // Security sensitive information is redacted (replaced with "[redacted]") for
331 // private keys and passwords in TLS certificates.
332 google.protobuf.Any secret = 3;
333 }
334
335 // The statically loaded secrets.
336 repeated StaticSecret static_secrets = 1;
337
338 // The dynamically loaded active secrets. These are secrets that are available to service
339 // clusters or listeners.
340 repeated DynamicSecret dynamic_active_secrets = 2;
341
342 // The dynamically loaded warming secrets. These are secrets that are currently undergoing
343 // warming in preparation to service clusters or listeners.
344 repeated DynamicSecret dynamic_warming_secrets = 3;
345}
346
347// Envoy's admin fill this message with all currently known endpoints. Endpoint
348// configuration information can be used to recreate an Envoy configuration by populating all
349// endpoints as static endpoints or by returning them in an EDS response.
350message EndpointsConfigDump {
351 option (udpa.annotations.versioning).previous_message_type = "envoy.admin.v3.EndpointsConfigDump";
352
353 message StaticEndpointConfig {
354 option (udpa.annotations.versioning).previous_message_type =
355 "envoy.admin.v3.EndpointsConfigDump.StaticEndpointConfig";
356
357 // The endpoint config.
358 google.protobuf.Any endpoint_config = 1;
359
360 // [#not-implemented-hide:] The timestamp when the Endpoint was last updated.
361 google.protobuf.Timestamp last_updated = 2;
362 }
363
364 message DynamicEndpointConfig {
365 option (udpa.annotations.versioning).previous_message_type =
366 "envoy.admin.v3.EndpointsConfigDump.DynamicEndpointConfig";
367
368 // [#not-implemented-hide:] This is the per-resource version information. This version is currently taken from the
369 // :ref:`version_info <envoy_api_field_service.discovery.v4alpha.DiscoveryResponse.version_info>` field at the time that
370 // the endpoint configuration was loaded.
371 string version_info = 1;
372
373 // The endpoint config.
374 google.protobuf.Any endpoint_config = 2;
375
376 // [#not-implemented-hide:] The timestamp when the Endpoint was last updated.
377 google.protobuf.Timestamp last_updated = 3;
378 }
379
380 // The statically loaded endpoint configs.
381 repeated StaticEndpointConfig static_endpoint_configs = 2;
382
383 // The dynamically loaded endpoint configs.
384 repeated DynamicEndpointConfig dynamic_endpoint_configs = 3;
385}
View as plain text