Skip to content

fix(docs): Railway volume snapshot schedules are settable through its API, not dashboard-only - #99

Closed
jayleaton wants to merge 1 commit into
mainfrom
fix/docs-volume-snapshots
Closed

jayleaton wants to merge 1 commit into
mainfrom
fix/docs-volume-snapshots

Conversation

@jayleaton

Copy link
Copy Markdown
Owner

Bug

README "Backups and restore" says Railway's volume snapshot schedule "is configured in the dashboard only (the CLI and IaC cannot set it yet)". That's wrong: Railway's public GraphQL API sets it, and a derived project sets the schedule through it on every apply.

Reproduction

A read-only introspection of Railway's public API, with no auth and no project touched:

$ curl -s https://backboard.railway.com/graphql/v2 -H 'content-type: application/json' \
    -d '{"query":"{ __type(name:\"Mutation\") { fields { name args { name } } } }"}'  # filtered to *BackupSchedule*
volumeInstanceBackupScheduleUpdate ['kinds', 'volumeInstanceId']
$ ... '{ __type(name:"VolumeInstanceBackupScheduleKind") { enumValues { name } } }'
{"data":{"__type":{"enumValues":[{"name":"DAILY"},{"name":"MONTHLY"},{"name":"WEEKLY"}]}}}

Fix

Doc only. The sentence now says Railway setup doesn't configure the schedule, and that you set it in the dashboard (the database's Backups tab) or with volumeInstanceBackupScheduleUpdate(volumeInstanceId, kinds: [DAILY, WEEKLY, MONTHLY]). The IaC file still can't express it. Managing the schedule from platform.yaml would be a feature, so it isn't in this PR.

Verified

  • make check-fast: ok (docs-only, 0 packages).
  • No other doc repeats the claim (grep -rn "dashboard only|cannot set it" over README, docs/, AGENTS.md, CONTEXT.md, deploy/).

🤖 Generated with Claude Code

… API, not dashboard-only

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jayleaton added a commit that referenced this pull request Oct 23, 2026
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 added a commit that referenced this pull request Oct 23, 2026
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

Copy link
Copy Markdown
Owner Author

Superseded by #122 (merged as e80a772). The README section moved to docs/backups.md in #107, and #122 rewrote it: snapshot schedules are now declared in deploy/platform.yaml and set through Railway's public API (volumeInstanceBackupScheduleUpdate), with the dashboard as the fallback. Closing at JJ's request.

@jayleaton jayleaton closed this Oct 23, 2026
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