Platform Update
Overview & Changelog
In Q4 2024, Shuttle is launching a new and improved platform
Introducing the new Shuttle platform! We’ve supercharged what developers love about Shuttle, combining our powerful developer experience with enterprise-grade infrastructure. For developers, we’ve kept it simple and intuitive - no complex configs, just focus on your Rust code. On the production side, we’ve implemented VM-level isolation, increased reliability and scalability to meet real-world demands. From solo developers to enterprise teams, Shuttle now offers the perfect blend of ease and production-ready robustness.
Read the full announcement here!
Domain and CLI changes
Access the NEW platform
- New Console: console.shuttle.dev
- New Docs: docs.shuttle.dev
- Command Line: new
shuttle
command (installed alongsidecargo shuttle
)
Access the OLD platform (for existing users)
- Old Console: console.shuttle.rs
- Old Docs: docs.shuttle.rs
- Command Line:
cargo shuttle
(unchanged)
Changelog
Changed
- ⚠️ The Shuttle Console is located at console.shuttle.dev instead of console.shuttle.rs.
- ⚠️ Project subdomains are under
*.shuttle.app
instead of*.shuttleapp.rs
- ⚠️ A new binary
shuttle
is now provided for using the new platform (read more). - Project names are no longer globally unique, only unique per account. Project URLs now have some random characters at the end of its default subdomain, e.g.
myproject-3h5n.shuttle.app
. - Builds and deployments are now fully separated. This allows for more specialised build workflows, and more efficient deployment hosting.
- Builds run on AWS CodeBuild, and now produce a Docker image instead of just a binary. This implies we can support more languages than Rust in the future. ✨
- Deployments run on AWS ECS with Fargate.
- CLI commands:
deploy
: no longer runs tests, so--no-test
has no effect.deploy
: no longer denies dirty deployments by default (read more).status
: usedeployment status
instead.stop
: usedeployment stop
instead.project status
: projects no longer have a state, so--follow
has no effect.login
: automatically gets the API key from the API after an approval in Shuttle Console. No more copy + pasting!
- Max archive size for deployments is now 100 MB (up from 50MB).
- Secrets.toml must now be in the root of the cargo workspace (
--secrets <file>
can still be used for a custom location). - Shuttle.toml:
- Shared Postgres resource:
- Postgres 16
- Now based on AWS RDS
- Now has common Postgres Extensions
Added
- The Shuttle proxy, that proxies HTTP requests to user projects, now sets the X-Forwarded-For header on all requests, with the IP of the original caller.
- CLI commands:
- Commands that target a project: You will now be prompted to link your project directory to a Shuttle project.
- In addition to
--name <name>
, you can also use--id <id>
to target specific projects. This overrides project linking. project link
: explicitly re-link the project directory to a Shuttle project.certificate
command for adding and managing SSL certificates for custom domains.deploy --no-follow
to not poll the deployment status until it reaches a running or failed state.account
to show information about your account.project update name
to rename a project.
Removed
- Shuttle Persist resource and the persistent file volume. (We plan to implement an S3-based replacement.)
- MongoDB Shared Database resource. (Removed due to having very few users.)
- AWS RDS Database resource. (We plan to add a replacement later.)
- CLI commands:
project stop
project restart
clean
- The Teams feature has been temporarily disabled. We plan to enable it after improvements have been made.
Was this page helpful?