Usage
ezforge.toml. Runs the full pipeline: build → scan → push → provision → health check → traffic swap.
Flags
| Flag | Description |
|---|---|
--image <uri> | Deploy a pre-built OCI image URI (skips build) |
--server <name> | Target server name (overrides ezforge.toml) |
--project <id> | Target project (overrides ezforge.toml) |
--region <region> | Deploy to a specific region |
--no-rollback | Disable auto-rollback on health check failure |
--wait | Wait for deploy to complete (default: true) |
Examples
Deploy from source (Dockerfile in current directory):Deploy pipeline
When you runezforge deploy, the following steps occur in order:
- Build — Builds the container image from
Dockerfile(skipped if--imageis used) - Scan — Runs Trivy vulnerability scan;
HIGHCVEs flag the deployment with a warning,CRITICALCVEs block the deployment - Push — Pushes the image to the ezForge private registry
- Provision — Creates or updates the Fly.io Machines VM
- Health check — Polls
GET {health.path}until it returns200or the timeout is reached - Traffic swap — Routes live traffic to the new machine
- Cleanup — Stops the old machine; keeps for 1 hour before deletion (for emergency recovery)
- Auto-rollback restores the previous healthy deployment (unless
--no-rollbackis set) - Old machine is preserved in
stoppedstate for 1 hour