Skip to Content
Raw

Rollback

When to roll back an Aetherfy agent

Rolling back returns an Aetherfy agent to an earlier deployment. Reach for it when a deployment built and shipped successfully but behaves wrongly in production, and you want the previous version back before you diagnose anything.

A rollback on Aetherfy is not a code change. It re-deploys an image you already built, so it neither reads your working tree nor touches your repository. Fix the code afterwards and deploy forward normally.

Listing Aetherfy deployment history

Before rolling back, look at what versions exist:

afy deployments my-agent

Aetherfy lists deployments newest-first with four columns:

ColumnContains
VersionThe version number — this is what you pass to afy rollback
Statequeued, building, deploying, active, completed, failed, superseded, or rolled_back
CreatedWhen the deployment was created
ErrorThe failure reason, for deployments that failed

When the newest deployment failed, the Aetherfy CLI helps you directly: it suggests the rollback command using the newest version that is still active or superseded, so you do not have to work out a safe target yourself.

Rolling back an Aetherfy agent

Run afy rollback with no version to have Aetherfy print the deployment history so you can choose:

afy rollback my-agent

Then roll back to a specific version:

afy rollback my-agent 3

Aetherfy re-deploys version 3’s image. The deployment it replaces moves to the rolled_back state, which is terminal — it is visible in history but will not change again.

The version argument Aetherfy accepts

The version is a bare integer. A v prefix is rejected:

CommandResult
afy rollback my-agent 3Valid
afy rollback my-agent v3Rejected — “Version must be a positive integer”

Which Aetherfy deployments are valid rollback targets

Only versions that were successfully built can be rolled back to. In practice that means the two states below:

StateValid target
activeYes
supersededYes
failedNo — nothing was built to re-deploy
queued, building, deployingNo — not finished
rolled_backNo

superseded is the state you will usually target: it means the deployment built and ran successfully and was later replaced by a newer one. That is exactly the “last known good” version.

Why a rollback on Aetherfy is fast

afy rollback skips the build step entirely. Aetherfy re-deploys the image from the target version directly rather than rebuilding from source.

PathBuild stepSource of the image
afy deployYes — uploads and buildsYour current directory or repository
afy rollbackNoThe image already stored for the target version

Two consequences follow. A rollback is faster than a deploy, because the slow part is skipped. And a rollback is reproducible in a way that re-deploying old source is not — it ships the exact bytes that previously ran, with no dependency resolution that could pick up different versions this time.

Watching or detaching from an Aetherfy rollback

By default afy rollback watches the rollback until it completes. To return immediately instead:

afy rollback my-agent 3 --detach

--detach / -d returns as soon as the rollback is accepted. Check the outcome afterwards with afy deployments my-agent, or watch the agent’s output with afy logs my-agent — see /agents/runs-and-logs.

Partially successful multi-region deployments on Aetherfy

On a plan with multi-region placement, a deployment can succeed in some regions and not others. Aetherfy reports that as DEGRADED, together with a count of how many regions are ready — rather than inventing a separate state for it.

A degraded result tells you the deployment is live but not everywhere you asked for. Rolling back is a reasonable response if the successful regions are serving a version you do not want live at all; otherwise, deploying forward once the underlying cause is resolved brings the remaining regions up.

Multi-region placement begins at the tier named Performance. On Free and Starter your Aetherfy account operates in a single region, so a deployment there either succeeds or fails and DEGRADED does not arise. See /platform/regions.

Last updated on