Inspired by https://gerrit.wikimedia.org/r/c/operations/puppet/+/405594 I think we should stop introducing source code expanded from erb templates, at least for these reasons:
- Very hard to lint the resulting code
- Whichever values erb is expanding directly in the code should be an input to the code instead (e.g. environment, file, or command line)
Implementation wise: a CI check that detects new files being introduced and fails if it is source code + erb (e.g. .(py|sh|rb|pm).erb