Skip to content
Nautilo Documentation
Deploy / Build / AdministerAdvanced operations

Railway automation

Drive Railway through Nautilo's structured noninteractive host contract.

Automation uses the same Railway product journey as a Human administrator. It does not receive a Railway PAT, owner password, PIN, raw claim, image digest, or recovery code on argv.

Plan

nautilo host plan \
  --backend railway \
  --workspace "$RAILWAY_WORKSPACE_ID" \
  --project-name "$NAUTILO_PROJECT_NAME" \
  --provider-config /absolute/protected/providers.toml \
  --all-providers --json

Require mutationAuthorized: false, the intended payer, selected provider names without values, and no blocking notice.

Deploy

nautilo host deploy \
  --backend railway \
  --workspace "$RAILWAY_WORKSPACE_ID" \
  --project-name "$NAUTILO_PROJECT_NAME" \
  --provider-config /absolute/protected/providers.toml \
  --all-providers --yes --json --no-open-browser \
  --progress jsonl --finish guide

Progress is redacted JSONL on stderr. Final stdout is deterministic JSON. A deployed but unclaimed Server is action required, not complete.

Resume and inspect

nautilo host resume --backend railway --launch "$NAUTILO_LAUNCH_ID" --json --no-open-browser
nautilo host inspect --backend railway --launch "$NAUTILO_LAUNCH_ID" --json

Resume reconciles the same project. Store the non-secret receipt; never log the raw claim capability or provider values.

Destroy

nautilo host destroy \
  --backend railway \
  --launch "$NAUTILO_LAUNCH_ID" \
  --confirm-project "$NAUTILO_RAILWAY_PROJECT_ID" \
  --json

Completion requires a verified cleanup receipt and a fresh inventory showing no receipt-owned survivors.