Skip to content

Guide

Zero-downtime deployment for Rust

Rust deployments are release binaries. The zero-downtime problem is not the compiler; it is moving traffic to a new process only after it is ready, and keeping the old one reachable until then.

Build the release binary natively

Phelix builds Rust stable applications directly on the host with the installed toolchain and treats the compiled binary as the unit of delivery. No container is required for the native path.

Each numbered build pairs the binary with a build report and an encrypted environment snapshot, which is what makes a later rollback restore both code and configuration together.

phelix · rust deploy
phelix build edge --port 8080
phelix rebuild edge --blue-green
built edge v5 rust-stable linux/arm64
health http ok
proxy cutover :8080 to v5

Move traffic only after health passes

The same strategies available for Go apply to Rust: classic, blue-green, rolling, canary, and progressive. On proxy-based strategies the new instance starts on an internal port, passes its health tier, and only then receives traffic through an atomic proxy switch.

The app must read PORT, and an explicit readiness endpoint gives the deploy its strongest gate. Classic deploy is still a stop-then-start and can drop traffic briefly.

Keep a way back

Deploy state determines how rollback runs: proxy-based apps roll back with health-gated switching, classic apps with stop-and-start. Retained versions stay on disk within the retention window, and the active version is never pruned.

The mechanics are shared with Go; only the toolchain and the build command differ.

Frequently asked questions

Short answers; the docs go deeper.

Does Phelix support Rust as well as Go?

Yes. It detects the project, builds Rust stable with the host toolchain, and deploys, health-checks, supervises, and rolls back the resulting binary exactly as it does for Go.

Do I need Docker to deploy a Rust service?

No. The native path builds and runs the release binary directly. Docker image builds are available when you want a container as the unit of delivery.

One binary between git push and production.

Install the CLI, verify the host, and follow the quick start to build your first application.

Read the docs