Envoy Configuration Merging¶
Envoy Configuration Merging is the process by which user-provided configuration values are combined with the default bootstrap settings when initializing an Envoy proxy within a Service mesh like Istio^[custom-bootstrap__README.md].
Mechanism of Operation¶
When a custom configuration is supplied, it is typically passed to the Envoy process using the --config-yaml command-line flag^[custom-bootstrap__README.md]. The system merges this passed-in configuration with the default configuration to create the final runtime configuration^[custom-bootstrap__README.md].
Merge Logic¶
The merging behavior follows specific logic depending on the data type of the field being configured^[custom-bootstrap__README.md]:
- Singular Values: Fields that accept a single value will replace the corresponding default values.
- Repeated Values: Fields that accept multiple values (such as lists) will be appended to the existing defaults.
Application Context¶
This functionality is commonly utilized in scenarios requiring custom Envoy bootstrap configurations^[custom-bootstrap__README.md]. In Kubernetes environments, this is often implemented by creating a ConfigMap containing the custom YAML configuration and applying it to a workload via annotations such as sidecar.istio.io/bootstrapOverride^[custom-bootstrap__README.md].
Sources¶
^[custom-bootstrap__README.md]