Repository navigation
feat(deploy): Railway volume snapshots declared in platform.yaml - #122
Merged
Merged
Conversation
jayleaton
force-pushed
the
feat/deploy-doppler-staged
branch
from
October 23, 2026 09:53
5b9add6 to
231077d
Compare
backups.volume_snapshots ([daily, weekly, monthly]; per_environment.<env> overrides it) sets Railway's own backup schedule on every Postgres volume through the public API (volumeInstanceBackupScheduleUpdate). It is read first and changed only when it differs, without a redeploy; absent leaves the dashboard's schedule alone, [] stops new snapshots. A plan that refuses it (Hobby) becomes a next step. IaC cannot express it: iac issues #19. Source: jayleaton/auto-visuals#46 (snapshot part). Builds on #99's docs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jayleaton
force-pushed
the
feat/deploy-volume-snapshots
branch
from
October 23, 2026 09:54
934a33a to
5fe4823
Compare
jayleaton
marked this pull request as ready for review
October 23, 2026 09:54
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #121 (← #111 ← #109). Builds on #99 (JJ's fix of the docs sentence). #99 edits
README.md, but since #107 that paragraph lives indocs/backups.md. This PR rewrites it there, because setup now sets the schedule itself. Once #99 lands I rebase over it.Summary
Railway's own Postgres volume snapshots (Pro plan) could only be turned on in the dashboard. Now they are declared next to the rest of the project and applied idempotently. Source: jayleaton/auto-visuals#46 (snapshot part only; the template already has the nightly encrypted backups).
Evidence
Throwaway project
gfs-deploy-261023,backups.volume_snapshots: [daily, weekly, monthly]withper_environment.staging.volume_snapshots: [daily]:volumeInstanceBackupScheduleList→[].+ staging/postgres Railway volume snapshots none -> daily,+ production/postgres Railway volume snapshots none -> daily,monthly,weekly, exit 2. In the same run,railway config plansaysalready up to datein both environments: IaC cannot see the schedule.✓ staging/postgres … none -> daily,✓ production/postgres … none -> daily,monthly,weekly, exit 0, no deployments.Up to date., exit 0 (idempotent).["DAILY 6d","WEEKLY 27d","MONTHLY 89d"], staging["DAILY 6d"](retentionSeconds/ 86400).volume_snapshots: [daily, hourly]→backups.volume_snapshots: "hourly" must be one of [daily weekly monthly].make deploy-varsok;make check-fastok in 4.1s.Not exercised: the Hobby refusal path. The proof workspace accepts the mutation, so the next-step branch is untested.
Merge Danger
Door: two-way. Removing the key stops managing the schedule, and
[]stops new snapshots. Existing snapshots are never deleted by setup.Blast Radius: deploys
Only projects that add
volume_snapshotsare affected. It stays commented out in the template, so Hobby projects see no change.🤖 Generated with Claude Code