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].
Related Concepts¶
- [[Envoy Proxy]]
- Service Mesh
- ConfigMap
Sources¶
^[400-devops-07-monitoring-and-observability-k8s-istio-samples-custom-bootstrap-readme.md]