Automating template management process with Scala 3 and Iron
summary
Automates template management by turning YAML templates into Scala 3 refined types validated with Iron and Circe so PRs fail fast; templates live in a GitHub repo with CI branch protection and accumulating errors via ValidatedNel, plus filename and staging/production rules, Slack-team enums and custom constraints for URLs/deep links. The result is a lightweight service plus REST hooks, enforced in CI, and zero production incidents for template-related bugs since rollout.
AI-written summary · about
chapters (11)
- 0:00Template management challenges
- 3:59Problem evolution and complexity
- 7:12New template service design
- 10:03Iron for type validation
- 13:58Custom constraints with Iron
- 17:34Team ownership validation
- 19:40Validation error accumulation
- 21:29File naming and rules
- 23:57Refactor results and benefits
- 25:27Scala 3 features used
- 27:14Conclusion
related talks
17mExemplar-y Backstage Templates
21mUsing CI Templates for Speed and Consistency
49mCode Without Fear: Scala 3 and Iron, the Heroes of Reliability in Functional Programming
22mAutomate your inner scout
04mAbusing text/template for data transformation
28mAutomating API Busywork with Scala
51mAutomate More Code With Scalameta
49mBuilding Safe, More Testable Scala Production Systems
