Caribbean DevOps Diaries: When the Deploy Server Is on a Generator

Friday, 4:47 PM. Port of Spain.

The Slack message came in like a hurricane warning:

@channel Client wants the fix live before the weekend. Deploy by 5.

Jason looked at his laptop. His laptop looked back, its battery icon flashing the universal distress signal of 12%. The power had gone out twenty minutes ago — not T&TEC's fault this time, just some overly ambitious iguana that had chosen the wrong transformer to sunbathe on.

"No problem," Jason muttered, plugging into the generator his neighbor Mr. Doyle had lent him. Mr. Doyle used it primarily for keeping his chest freezer running during outages so his sorrel wouldn't spoil. It smelled like diesel and Christmas.

The DNS Situation

The deploy script kicked off. Step one: pull from GitHub. Easy.

fatal: unable to resolve host 'github.com'

Jason stared. He opened his browser. Google loaded — slowly, like it was wading through molasses. He tried GitHub directly. Nothing. He tried pinging 8.8.8.8. Fine. He tried nslookup github.com. Timeout.

TSTT's DNS was having one of its moments.

He switched to Cloudflare's DNS. 1.1.1.1. Problem solved. He made a mental note to write a blog post about always configuring backup DNS. He would never write that blog post.

The Doubles Interruption

The deploy was 60% through when he heard the horn. Two short beeps and a long one — the universal Trinidad signal for "doubles man on your street."

Jason's stomach made the executive decision. He set his laptop on the porch railing, ran to the van, and ordered two doubles — slight pepper, extra chadon beni, cucumber on the side.

When he returned forty-five seconds later, his laptop screen showed:

Deploy failed: connection reset by peer

The generator had hiccupped. The Wi-Fi router had restarted. The SSH tunnel had collapsed like a hammock with too many people in it.

Take Two

Jason ate one doubles, said a small prayer to the patron saint of tmux sessions he should have been using, and restarted the deploy.

This time he:

  1. Used tmux (lesson learned)
  2. Set up a mobile hotspot as failover (Digicel, not ideal, but reliable enough)
  3. Positioned the laptop inside, away from potential rain, lizards, and the neighbor's cat who had once walked across his keyboard and somehow rm -rf'd a staging environment

The deploy completed at 4:58 PM.

The Aftermath

✅ Deploy successful

🕐 4:58 PM

🔋 Battery: 3%

🌡️ Laptop temperature: roughly the same as the doubles

Jason posted in Slack:

Deployed. Going offline. Have a good weekend.

He closed the laptop, ate the second doubles, and watched the sun set over the Northern Range, the sky turning the exact shade of orange that no CSS hex code has ever properly captured.

Somewhere in the distance, Mr. Doyle's generator coughed and went silent. The power came back on three seconds later, because of course it did.

Dedicated to every Caribbean developer who has ever deployed to production over mobile data while eating street food. You are not alone.