Summary
Add a Pulumi provider for Railway — the leading post-Heroku platform for deploying servers, databases, and cron jobs with zero operational overhead.
Strategy: Native provider against Railway's production GraphQL API. A community Terraform provider exists (terraform-community-providers/terraform-provider-railway, 36 stars) but has significant resource gaps (no databases, no volumes, no deployments) and insufficient quality/coverage to bridge cleanly. Building natively against the GraphQL API gives us full surface coverage from day one.
Why Railway
- Strong developer mindshare in the indie/startup/SaaS segment — frequently cited as the preferred Heroku replacement alongside Fly.io and Render
- Production GraphQL API at
https://backboard.railway.com/graphql/v2 — the same API powering Railway's dashboard, introspectable, well-maintained
- Active investment in agentic tooling — Railway shipped an official MCP server in January 2026 (228 stars already), signaling alignment with the AI infrastructure narrative
- No quality Pulumi provider exists — two abandoned community attempts exist (0 stars each) but neither is functional
Resource Surface
From Railway's GraphQL API and platform capabilities:
railway.Project
railway.Environment (preview/production branching)
railway.Service (Docker image, GitHub repo, or template)
railway.ServiceDomain / railway.CustomDomain
railway.Variable / railway.SharedVariable
railway.TcpProxy
railway.Volume (persistent storage)
railway.Database (managed Postgres, MySQL, Redis, MongoDB)
railway.Webhook
Build Path
- Introspect the Railway GraphQL schema at
https://backboard.railway.com/graphql/v2
- Scaffold a native provider using Railway's API token authentication
- Implement core resources (Project, Environment, Service, Variable, Domain) as v1 scope
- Add Volume, Database, and Webhook in subsequent iterations
- Publish to Pulumi Registry
Notes
- The community TF provider's GraphQL implementation can be referenced for API patterns even if we don't bridge it
- Railway uses account tokens, workspace tokens, and project tokens — provider auth design should support at minimum account-level tokens
References
Summary
Add a Pulumi provider for Railway — the leading post-Heroku platform for deploying servers, databases, and cron jobs with zero operational overhead.
Strategy: Native provider against Railway's production GraphQL API. A community Terraform provider exists (
terraform-community-providers/terraform-provider-railway, 36 stars) but has significant resource gaps (no databases, no volumes, no deployments) and insufficient quality/coverage to bridge cleanly. Building natively against the GraphQL API gives us full surface coverage from day one.Why Railway
https://backboard.railway.com/graphql/v2— the same API powering Railway's dashboard, introspectable, well-maintainedResource Surface
From Railway's GraphQL API and platform capabilities:
railway.Projectrailway.Environment(preview/production branching)railway.Service(Docker image, GitHub repo, or template)railway.ServiceDomain/railway.CustomDomainrailway.Variable/railway.SharedVariablerailway.TcpProxyrailway.Volume(persistent storage)railway.Database(managed Postgres, MySQL, Redis, MongoDB)railway.WebhookBuild Path
https://backboard.railway.com/graphql/v2Notes
References