Skip to content

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]