Skip to content

Envoy Bootstrap Configuration Merging

Envoy Bootstrap Configuration Merging refers to the process by which a Custom Envoy Bootstrap Configuration is combined with the default configuration provided by the Service mesh, typically managed by Istio.^[400-devops-07-monitoring-and-observability-k8s-istio-samples-custom-bootstrap-readme.md]

Mechanism

When a custom configuration is applied, it is passed to the Envoy proxy using the --config-yaml command-line flag^[400-devops-07-monitoring-and-observability-k8s-istio-samples-custom-bootstrap-readme.md]. The system performs a merge between the user-provided configuration and the default bootstrap configuration.^[400-devops-07-monitoring-and-observability-k8s-istio-samples-custom-bootstrap-readme.md]

Merge Behavior

The logic governing the merge operation depends on the data type of the field being modified:

  • Singular values: These will replace the corresponding default values in the base configuration^[400-devops-07-monitoring-and-observability-k8s-istio-samples-custom-bootstrap-readme.md].
  • Repeated values (e.g., lists or arrays): These will be appended to the existing default values^[400-devops-07-monitoring-and-observability-k8s-istio-samples-custom-bootstrap-readme.md].

Application

In Kubernetes environments using Istio, this customization is achieved by creating a ConfigMap containing the custom YAML configuration and applying it to the cluster^[400-devops-07-monitoring-and-observability-k8s-istio-samples-custom-bootstrap-readme.md]. To activate the override for a specific application, the annotation sidecar.istio.io/bootstrapOverride must be added to the Pod, with its value set to the name of the created ConfigMap^[400-devops-07-monitoring-and-observability-k8s-istio-samples-custom-bootstrap-readme.md].

Sources

^[400-devops-07-monitoring-and-observability-k8s-istio-samples-custom-bootstrap-readme.md]