The fascinating (and frustrating) thing I'm finding about working with Infrastructure as Code (IaC) is that it can sometimes create different sources of truth. In my case I notice two. There's the code running live in your cloud provider and then there's the code up to date on your main branch.
In an ideal world, these two would be in sync all of the time, but life gets in the way. Drift ensues and you're scrambling to get both your repo code and the live code in sync. This has happened to me before and lately it happened again. I beat myself up about making the same mistake twice. I wonder if it's a right of passage to fumble with version control in some form or another.
In a way, writing about it here is my attempt depersonalize and de-stigmatize the experience. This happens all the time. I talk to others about this and they laugh about their git disasters. It's just happening to me for the first time or two. The novelty makes it sting that much more. It feels like a personal foible. Realizing that this experience is far from unique takes away from that hurt. You live and you learn.
So perhaps it's a right of passage to fumble with version control in some form or another.