...

Text file src/github.com/datawire/ambassador/v2/api/envoy/admin/v4alpha/config_dump.proto

Documentation: github.com/datawire/ambassador/v2/api/envoy/admin/v4alpha

     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