Skip to content

Fix: scale-to-zero silently broke the nightly backup - #10

Merged
Sbussiso merged 1 commit into
masterfrom
fix-backup-on-sleeping-machine
Sep 10, 2026
Merged

Fix: scale-to-zero silently broke the nightly backup#10
Sbussiso merged 1 commit into
masterfrom
fix-backup-on-sleeping-machine

Conversation

@Sbussiso

Copy link
Copy Markdown
Contributor

Today's scheduled backup failed with app sentinel-license has no started VMs.

Cause is my own change — the 2026-09-09 move to scale-to-zero. I didn't think through this consequence.

flyctl ssh console does not wake a stopped machine. Fly auto-starts on a connection to one of the app's services; SSH isn't that path. So from the moment this app started sleeping, every scheduled run failed at the first step and no dump was written.

Silent in the way that matters: nothing alerts on it. The only signal is a red X on a scheduled workflow nobody watches — and the failure mode of a backup is that you find out at restore time.

The job now starts the machine explicitly before SSH, then waits for the port to bind. Safe when it's already running, and the machine idles back to stopped afterwards, so scale-to-zero is preserved.

Note for anyone copying this workflow: Command Center's equivalent does not need this, because its web tier never sleeps. The two are otherwise meant to stay in step — this is a deliberate divergence, not drift.

🤖 Generated with Claude Code

Today's scheduled backup failed with "app sentinel-license has no
started VMs". Cause is the 2026-09-09 change that made this service
scale to zero — my own change, and I did not think through this
consequence.

`flyctl ssh console` does not wake a stopped machine. Fly auto-starts on
a connection to one of the app's SERVICES; SSH is not that path. So from
the moment the app started sleeping, every scheduled run failed at the
first step and no dump was written.

Silent in the way that matters: nothing alerts on it. The only signal is
a red X on a scheduled workflow nobody watches, and the failure mode of
a backup is that you discover it at restore time.

The job now starts the machine explicitly before SSH, then waits for the
port to bind. Safe when already running, and the machine idles back to
stopped on its own afterwards, so scale-to-zero is preserved.

Note for anyone copying this workflow: Command Center's equivalent does
NOT need this, because its web tier never sleeps. The two are otherwise
meant to stay in step — this is a deliberate divergence, not drift.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Sbussiso
Sbussiso merged commit 1573a0b into master Sep 10, 2026
3 checks passed
@Sbussiso
Sbussiso deleted the fix-backup-on-sleeping-machine branch September 10, 2026 22:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant