envoyproxy/envoy

Native multi-file YAML config support like Nginx `include` directive

Open

#43511 opened on Feb 16, 2026

View on GitHub
 (2 comments) (0 reactions) (0 assignees)C++ (27,997 stars) (5,373 forks)batch import
enhancementhelp wanted

Description

Feature Request Summary

Add native support for splitting Envoy bootstrap configuration across multiple YAML files, similar to Nginx's include directive and /etc/nginx/conf.d/*.conf directory scanning.

Motivation

Unlike Nginx, which seamlessly loads multiple config files from a directory into a unified config tree, Envoy requires a single bootstrap YAML file. Current workarounds like !ignore YAML fragments with anchors/aliases work but have limitations:

  • Still requires a "main" bootstrap file
  • Manual anchor management across files
  • No automatic directory scanning
  • Full reload needed for fragment changes
  • Not as intuitive for teams familiar with Nginx/HAProxy

This is especially painful for complex deployments (Kubernetes sidecars, Docker Compose with multiple services) where configs grow large and need modularization.

Contributor guide