Configuration Languages Are the Bane of Our Existence
summary
Configuration often mutates from simple key=value files into layered DSLs that are untyped, untested programs; examples include sendmail.cf built atop M4 macros and modern systems that use Go templates to generate YAML. The claim: treat configuration as API — provide sane defaults, multiple entrypoints, and structured config primitives instead of textual preprocessors. Practical fixes: minimize options, generate config with structured tools not string templates, trace every output to an input, and build tests that exercise the full option space.
AI-written summary · about
chapters (7)
- 0:00Introduction
- 1:20Configuration management pain
- 5:16Sendmail’s config complexity
- 9:32Layered DSL dangers
- 13:11Repeating old mistakes
- 15:42Config as API design
- 19:54Call to action
related talks
32mConfiguration Is (riskier than?) Code
18mEverything-as-Code: It's time to fix configurations
41mConfigman - the grand unified theorem of configuration
53mDomain Specifc Languages
24mUsing Declarative Configs for Maintainable Reproducible Code
47mCuttlefish Easing the Pain of Configuration
34m"config.exs is Simple" and Other Lies
31mLcDsl: a new dawn for launch configurations
