xref: /aosp_15_r20/external/grpc-grpc-java/xds/third_party/envoy/src/main/proto/envoy/admin/v3/config_dump.proto (revision e07d83d3ffcef9ecfc9f7f475418ec639ff0e5fe)
1syntax = "proto3";
2
3package envoy.admin.v3;
4
5import "envoy/admin/v3/config_dump_shared.proto";
6import "envoy/config/bootstrap/v3/bootstrap.proto";
7
8import "google/protobuf/any.proto";
9import "google/protobuf/timestamp.proto";
10
11import "udpa/annotations/status.proto";
12import "udpa/annotations/versioning.proto";
13
14option java_package = "io.envoyproxy.envoy.admin.v3";
15option java_outer_classname = "ConfigDumpProto";
16option java_multiple_files = true;
17option go_package = "github.com/envoyproxy/go-control-plane/envoy/admin/v3;adminv3";
18option (udpa.annotations.file_status).package_version_status = ACTIVE;
19
20// [#protodoc-title: ConfigDump]
21
22// The :ref:`/config_dump <operations_admin_interface_config_dump>` admin endpoint uses this wrapper
23// message to maintain and serve arbitrary configuration information from any component in Envoy.
24message ConfigDump {
25  option (udpa.annotations.versioning).previous_message_type = "envoy.admin.v2alpha.ConfigDump";
26
27  // This list is serialized and dumped in its entirety at the
28  // :ref:`/config_dump <operations_admin_interface_config_dump>` endpoint.
29  //
30  // The following configurations are currently supported and will be dumped in the order given
31  // below:
32  //
33  // * ``bootstrap``: :ref:`BootstrapConfigDump <envoy_v3_api_msg_admin.v3.BootstrapConfigDump>`
34  // * ``clusters``: :ref:`ClustersConfigDump <envoy_v3_api_msg_admin.v3.ClustersConfigDump>`
35  // * ``ecds_filter_http``: :ref:`EcdsConfigDump <envoy_v3_api_msg_admin.v3.EcdsConfigDump>`
36  // * ``ecds_filter_tcp_listener``: :ref:`EcdsConfigDump <envoy_v3_api_msg_admin.v3.EcdsConfigDump>`
37  // * ``endpoints``:  :ref:`EndpointsConfigDump <envoy_v3_api_msg_admin.v3.EndpointsConfigDump>`
38  // * ``listeners``: :ref:`ListenersConfigDump <envoy_v3_api_msg_admin.v3.ListenersConfigDump>`
39  // * ``scoped_routes``: :ref:`ScopedRoutesConfigDump <envoy_v3_api_msg_admin.v3.ScopedRoutesConfigDump>`
40  // * ``routes``:  :ref:`RoutesConfigDump <envoy_v3_api_msg_admin.v3.RoutesConfigDump>`
41  // * ``secrets``:  :ref:`SecretsConfigDump <envoy_v3_api_msg_admin.v3.SecretsConfigDump>`
42  //
43  // EDS Configuration will only be dumped by using parameter ``?include_eds``
44  //
45  // Currently ECDS is supported in HTTP and listener filters. Note, ECDS configuration for
46  // either HTTP or listener filter will only be dumped if it is actually configured.
47  //
48  // You can filter output with the resource and mask query parameters.
49  // See :ref:`/config_dump?resource={} <operations_admin_interface_config_dump_by_resource>`,
50  // :ref:`/config_dump?mask={} <operations_admin_interface_config_dump_by_mask>`,
51  // or :ref:`/config_dump?resource={},mask={}
52  // <operations_admin_interface_config_dump_by_resource_and_mask>` for more information.
53  repeated google.protobuf.Any configs = 1;
54}
55
56// This message describes the bootstrap configuration that Envoy was started with. This includes
57// any CLI overrides that were merged. Bootstrap configuration information can be used to recreate
58// the static portions of an Envoy configuration by reusing the output as the bootstrap
59// configuration for another Envoy.
60message BootstrapConfigDump {
61  option (udpa.annotations.versioning).previous_message_type =
62      "envoy.admin.v2alpha.BootstrapConfigDump";
63
64  config.bootstrap.v3.Bootstrap bootstrap = 1;
65
66  // The timestamp when the BootstrapConfig was last updated.
67  google.protobuf.Timestamp last_updated = 2;
68}
69
70// Envoys SDS implementation fills this message with all secrets fetched dynamically via SDS.
71message SecretsConfigDump {
72  option (udpa.annotations.versioning).previous_message_type =
73      "envoy.admin.v2alpha.SecretsConfigDump";
74
75  // DynamicSecret contains secret information fetched via SDS.
76  // [#next-free-field: 7]
77  message DynamicSecret {
78    option (udpa.annotations.versioning).previous_message_type =
79        "envoy.admin.v2alpha.SecretsConfigDump.DynamicSecret";
80
81    // The name assigned to the secret.
82    string name = 1;
83
84    // This is the per-resource version information.
85    string version_info = 2;
86
87    // The timestamp when the secret was last updated.
88    google.protobuf.Timestamp last_updated = 3;
89
90    // The actual secret information.
91    // Security sensitive information is redacted (replaced with "[redacted]") for
92    // private keys and passwords in TLS certificates.
93    google.protobuf.Any secret = 4;
94
95    // Set if the last update failed, cleared after the next successful update.
96    // The *error_state* field contains the rejected version of this particular
97    // resource along with the reason and timestamp. For successfully updated or
98    // acknowledged resource, this field should be empty.
99    // [#not-implemented-hide:]
100    UpdateFailureState error_state = 5;
101
102    // The client status of this resource.
103    // [#not-implemented-hide:]
104    ClientResourceStatus client_status = 6;
105  }
106
107  // StaticSecret specifies statically loaded secret in bootstrap.
108  message StaticSecret {
109    option (udpa.annotations.versioning).previous_message_type =
110        "envoy.admin.v2alpha.SecretsConfigDump.StaticSecret";
111
112    // The name assigned to the secret.
113    string name = 1;
114
115    // The timestamp when the secret was last updated.
116    google.protobuf.Timestamp last_updated = 2;
117
118    // The actual secret information.
119    // Security sensitive information is redacted (replaced with "[redacted]") for
120    // private keys and passwords in TLS certificates.
121    google.protobuf.Any secret = 3;
122  }
123
124  // The statically loaded secrets.
125  repeated StaticSecret static_secrets = 1;
126
127  // The dynamically loaded active secrets. These are secrets that are available to service
128  // clusters or listeners.
129  repeated DynamicSecret dynamic_active_secrets = 2;
130
131  // The dynamically loaded warming secrets. These are secrets that are currently undergoing
132  // warming in preparation to service clusters or listeners.
133  repeated DynamicSecret dynamic_warming_secrets = 3;
134}
135