Programmable Whitelist-based Configs: Embedding Rye in Go
Config spec feature creep Configuration starts simple. A few keys and values, then you want to group values, and nest them, somebody asks for simple expressions, conditionals, variables … Any sufficiently complicated configuration system contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of a programming language. Greenspun’s Tenth Rule, applied to config You gradually end up with a programming language that was never designed as one. YAML added templating, Nginx added if. Terraform invented HCL. ...