Change one line in the tls module and I've signed myself up for twelve releases, in four sequential waves, each one gated on a human pressing a button. I know, because I was the human.
An architectural review of the toolkit last July called it "propagation debt" and named it the principal systemic risk. Not a bug... the way I'd built it. Fifty-one modules at the time, sixty-seven now.
The part that stuck with me: propagation stalls where fan-out is largest. The change with twelve downstream releases is the one you look at late on a Friday and decide is a problem for next week.
Split things badly and you get a mess; split them properly and you get a bill. So the question became how cheap I can make the tax:
- Renovate does the bumping, fleet-wide, from one group-level bot
- the pipelines do the gating
- a release-train skill (still in review) that knows which way round to cut a release
That last one matters more than it sounds. Leaves first across the config family: 53 releases. Upstream first: 27. I had it backwards for about an hour.
None of it is finished, but all twenty-six config adapters are sat on the current core without me chasing a single one.
#DevOps #GitLab #CICD #SoftwareArchitecture
https://phpboyscout.uk/the-bill-for-fifty-one-modules/