Dynamic Modules Cluster (proto)
extensions.clusters.dynamic_modules.v3.ClusterConfig
[extensions.clusters.dynamic_modules.v3.ClusterConfig proto]
Configuration for the dynamic modules cluster.
This cluster type delegates host discovery and load balancing to a dynamic module. The module
manages hosts via callbacks such as envoy_dynamic_module_callback_cluster_add_host and
envoy_dynamic_module_callback_cluster_remove_host. The cluster must use
lb_policy: CLUSTER_PROVIDED since the module provides its own load balancer.
This extension has the qualified name envoy.clusters.dynamic_modules
Note
This extension is functional but has not had substantial production burn time, use only with this caveat.
This extension is not hardened and should only be used in deployments where both the downstream and upstream are trusted.
Tip
This extension extends and can be used with the following extension category:
This extension must be configured with one of the following type URLs:
{
"dynamic_module_config": {...},
"cluster_name": ...,
"cluster_config": {...}
}
- dynamic_module_config
(extensions.dynamic_modules.v3.DynamicModuleConfig, REQUIRED) The dynamic module configuration for the cluster.
- cluster_name
(string, REQUIRED) The name to identify the cluster implementation within the module. This is passed to the module’s
envoy_dynamic_module_on_cluster_config_newfunction.
- cluster_config
(Any) The configuration for the module’s cluster implementation. This is passed to the module’s
envoy_dynamic_module_on_cluster_config_newfunction. The configuration can be any protobuf message. However, it is recommended to usegoogle.protobuf.Struct,google.protobuf.StringValue, orgoogle.protobuf.BytesValue. These types are passed directly as bytes to the module, so the module does not need to have knowledge of protobuf encoding. Otherwise, the serialized bytes of the type are passed. If not specified, an empty configuration is passed.