sozu-proxy / sozu

Sōzu HTTP reverse proxy, configurable at runtime, fast and safe, built in Rust. It is awesome!
https://www.sozu.io/
GNU Affero General Public License v3.0
2.93k stars 188 forks source link

configuration language #688

Open Geal opened 2 years ago

Geal commented 2 years ago

TOML is very limited now for sozu's use cases, we should move to a more flexible format like Dhall or KDL

one of the main pain points is about routing: we want to route depending on various parameters like hostname, path (prefix or regex), headers, do SNI or TCP proxying, add filters... And it's the same for backends, where we might want to add specific options for health checks, load balancing...

The current TOML approach is an array of JSON like lines (that cannot span multiple lines each), it's quite annoying to manage

Changing the format will also be a good opportunity to change the parameters and how they are organized.

Examples for inspiration:

yonas commented 5 months ago

Consider using Ruud’s Configuration Language.