Dynamic Modules Health Checker (proto)
This extension has the qualified name envoy.health_checkers.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:
extensions.health_checkers.dynamic_modules.v3.DynamicModuleHealthCheck
[extensions.health_checkers.dynamic_modules.v3.DynamicModuleHealthCheck proto]
Configuration for the Dynamic Modules Health Checker. This health checker allows loading shared
object files via dlopen to implement custom active health checking behavior.
A module can be loaded by multiple health checkers; the module is loaded only once and shared across multiple health checker instances.
Envoy drives the standard per-host interval and timeout timers and applies the common
interval, timeout, healthy_threshold and unhealthy_threshold settings. On each
interval the module is asked to check the host; it may perform the work on its own thread and
reports the host’s health status back to Envoy.
{
"dynamic_module_config": {...},
"health_checker_name": ...,
"health_checker_config": {...}
}
- dynamic_module_config
(extensions.dynamic_modules.v3.DynamicModuleConfig, REQUIRED) Specifies the shared-object level configuration. This field is required.
- health_checker_name
(string, REQUIRED) The name for this health checker configuration.
This can be used to distinguish between different health checker implementations inside a dynamic module. For example, a module can have completely different health checker implementations (e.g., a ping checker, an external-service checker). When Envoy receives this configuration, it passes the
health_checker_nameto the dynamic module’s health checker config init function together with thehealth_checker_config. That way a module can decide which in-module health checker implementation to use based on the name at load time.
- health_checker_config
(Any) The configuration for the health checker chosen by
health_checker_name. If not specified, an empty configuration is passed to the module.This is passed to the module’s health checker initialization function. Together with the
health_checker_name, the module can decide which in-module health checker implementation to use and fine-tune the behavior of the health checker.google.protobuf.Structis serialized as JSON before passing it to the module.google.protobuf.BytesValueandgoogle.protobuf.StringValueare passed directly without the wrapper.# Passing a JSON struct configuration health_checker_config: "@type": "type.googleapis.com/google.protobuf.Struct" value: path: "/healthz" degraded_on_slow_response: true # Passing a simple string configuration health_checker_config: "@type": "type.googleapis.com/google.protobuf.StringValue" value: "/healthz"