railway config migrate translates CaC files to IaC
Introduced 2026-08-21 · score 0.92
HOW TO USE IT
When a repository contains `railway.json` or `railway.toml`, run `railway config migrate` to preview its translation to IaC. Run `railway config migrate --apply` to write the generated file and clear the linked service’s Railway Config File setting.
railway config migraterailway config migrate --applyrailway config migrate --lang py --applyWHY THIS HELPS
When a repository uses `railway.json` or `railway.toml`, migrate its configuration to IaC.
BEFORE THIS CHANGE
For manual migration, the docs say to import the current project with `railway config pull --force`, translate the desired settings into the IaC DSL, remove the old config file, and clear a custom config-file path in service settings if set.
REQUIREMENTS AND LIMITATIONS
- Version: v5.42.0
- --apply: Writes the generated file and clears Railway Config File settings; without it, the command previews the file.
- --lang <py|go>: Selects Python or Go output; TypeScript is the default. Python and Go authoring are beta.
- --service <name>: Migrates only the named service; a single-service migration writes a named `partial` export.
- --delete-files: Optionally deletes the old Config as Code files when used with `--apply`.
- Migration defaults to dry-run.
- The CaC to graph/DSL translation runs in the CLI; thin language SDKs remain authoring-only.
FIRST-PARTY EVIDENCE
- https://github.com/railwayapp/cli/releases/tag/v5.42.0
- https://github.com/railwayapp/cli/pull/1111
- https://github.com/railwayapp/docs/blob/main/content/docs/infrastructure-as-code.md
Check the installed version and the source before using it. Entry JSON