| ▲ | shykes 5 hours ago | ||||||||||||||||
In moments like this, it's useful to have a "break glass" mode in your CI tooling: a way to run a production CI pipeline from scratch, when your production CI infrastructure is down. Otherwise, if your CI downtime coincides with other production downtime, you might find yourself with a "bricked" platform. I've seen it happen and it is not fun. It can be a pain to setup a break-glass, especially if you have a lot of legacy CI cruft to deal with. But it pays off in spades during outages. I'm biased because we (dagger.io) provide tooling that makes this break-glass setup easier, by decoupling the CI logic from CI infrastructure. But it doesn't matter what tools you use: just make sure you can run a bootstrap CI pipeline from your local machine. You'll thank me later. | |||||||||||||||||
| ▲ | VorpalWay an hour ago | parent | next [-] | ||||||||||||||||
At times like this is when I'm so happy I don't work with deploying to a production environment, but rather we release software that (after extensive qualification), customers can install in their environment on their airgapped networks. Using a USB stick to cross the air gap. If we miss a release by a day or thrre, there is enough slack in the process before it goes to the customer that no one will be any the wiser. Crazy in 2026, but installable software has some pros still, for both the developer and for the customer. And I would personally love if I could do things that way for more things. | |||||||||||||||||
| ▲ | nadirollo 4 hours ago | parent | prev | next [-] | ||||||||||||||||
This is a must when your systems deal with critical workloads. At Fastly, we process a good chunk of the internet's traffic and can't afford to be "down" while waiting for the CI system to recover in the event of a production outage. We built a CI platform using dagger.io on top of GH Actions, and the "break glass" pattern was not an afterthought; it was a requirement (and one of the main reasons we chose dagger as the underlying foundation of the platform in the first place) | |||||||||||||||||
| |||||||||||||||||
| ▲ | alex_suzuki 5 hours ago | parent | prev | next [-] | ||||||||||||||||
100%. We used to design the pipeline a way that is easily reproducible locally, e.g. doesn’t rely on plugins of the CI runtime. Think build.sh shell script, normally invoked by CI runner but just as easy to run locally. | |||||||||||||||||
| |||||||||||||||||
| ▲ | hinkley 2 hours ago | parent | prev | next [-] | ||||||||||||||||
It’s a hard sell. I always get blank looks when I suggest it, and often have to work off book to get us there. I generally recommend that the break glass solution always be pair programmed. | |||||||||||||||||
| ▲ | tomwphillips 4 hours ago | parent | prev [-] | ||||||||||||||||
A while back I think I heard you on a podcast describing these pain points. Experienced them myself; sounded like a compelling solution. I remember Dagger docs being all about AI a year or two ago, and frankly it put me off, but that seems to have gone again. Is your focus back to CI? | |||||||||||||||||
| |||||||||||||||||