diff --git a/docs/BUILD b/docs/BUILD index c8637e67..d2dbcd26 100644 --- a/docs/BUILD +++ b/docs/BUILD @@ -15,6 +15,7 @@ proto_library( "//envoy/admin/v2alpha:certs", "//envoy/admin/v2alpha:clusters", "//envoy/admin/v2alpha:config_dump", + "//envoy/admin/v2alpha:listeners", "//envoy/admin/v2alpha:memory", "//envoy/admin/v2alpha:mutex_stats", "//envoy/admin/v2alpha:server_info", diff --git a/envoy/admin/v2alpha/BUILD b/envoy/admin/v2alpha/BUILD index 6b9e6bb4..0cbbb7f0 100644 --- a/envoy/admin/v2alpha/BUILD +++ b/envoy/admin/v2alpha/BUILD @@ -27,6 +27,15 @@ api_proto_library_internal( ], ) +api_proto_library_internal( + name = "listeners", + srcs = ["listeners.proto"], + visibility = ["//visibility:public"], + deps = [ + "//envoy/api/v2/core:address", + ], +) + api_proto_library_internal( name = "metrics", srcs = ["metrics.proto"], diff --git a/envoy/admin/v2alpha/listeners.proto b/envoy/admin/v2alpha/listeners.proto new file mode 100644 index 00000000..87a4e1d9 --- /dev/null +++ b/envoy/admin/v2alpha/listeners.proto @@ -0,0 +1,28 @@ +syntax = "proto3"; + +package envoy.admin.v2alpha; + +option java_outer_classname = "ListenersProto"; +option java_multiple_files = true; +option java_package = "io.envoyproxy.envoy.admin.v2alpha"; + +import "envoy/api/v2/core/address.proto"; + +// [#protodoc-title: Listeners] + +// Admin endpoint uses this wrapper for `/listeners` to display listener status information. +// See :ref:`/listeners ` for more information. +message Listeners { + // List of listener statuses. + repeated ListenerStatus listener_statuses = 1; +} + +// Details an individual listener's current status. +message ListenerStatus { + // Name of the listener + string name = 1; + + // The actual local address that the listener is listening on. If a listener was configured + // to listen on port 0, then this address has the port that was allocated by the OS. + envoy.api.v2.core.Address local_address = 2; +}