Skip to main content
A tag moves whenever someone pushes. An alias does not: it is a name you attach to one exact build in your catalog, and it only moves when you move it. Point stable at the build you tested, create boxes from stable, and when the next release is ready, move the alias. When that release is wrong, move it back. Nothing touches the registry.

Pin the build you tested

Open Images, choose the image, and pin a name to the version you want from its row.

Boot it

Promoting and rolling back are one operation

There is no separate move call. Point the same alias at a different build and it is there instead:
Boxes created afterwards boot the build the alias now names. Boxes already running are untouched — a rollback does not restart anything, so recycle them yourself if that is what you need.

Finding the build to roll back to

The catalog keeps every move, naming the build on each side of it. That history is how you find what stable meant before:
The image’s page shows each version and the names currently on it.

Remove an alias

The build stays in the catalog; only the name you gave it is gone.

Things that will bite you

  • An alias is not a tag. A tag is part of the reference the image was pulled as, and the catalog records it read-only. An alias is yours, and is the only part you can move.
  • An alias belongs to one image name. stable on ghcr.io/acme/api has nothing to do with stable on another repository.
  • The CLI cannot do this. Aliases are a console or SDK operation.

Next

The catalog

Where builds and their history are kept, and the limit they count against.

Private images

Pinning works the same on images from a private registry.