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