Artifact reclamation
This page shows how to reclaim artifacts in object storage that are no longer referenced.
For command IDs and expected revisions on write commands, see Command IDs and expected revisions.
Use kibo artifact to reclaim bytes in object storage that the catalog no longer references, or to exclude a Launch from reclamation:
kibo artifact reclaim plan # Only records a plan; deletes nothing
kibo artifact reclaim get arec-... # Review a plan or the result of a run
kibo artifact retain sha256:... --until 2026-12-31T00:00:00Z
kibo artifact reclaim plan # Plan again after the retention takes effect
kibo artifact reclaim apply arec-... # Run the whole plan; requires confirmation
kibo artifact reclaim listWhat gets reclaimed
The reclaimable set is derived only from the catalog:
- A Launch is kept in any of these cases: a Workspace that is not deleted is bound to it; it has a retention period that has not expired; neither its Template revision nor its Platform revision is withdrawn.
- A Template or Platform revision is kept when it is not withdrawn or when a kept Launch references it.
- All other manifests, and the blobs referenced only by those manifests, go into the reclamation plan.
The plan lists each entry's reason, withdrawal time, and exclusive byte count, and gives the size of the kept set.
plan and apply
reclaim planwrites a record with statusPLANNEDand returns the record ID. It deletes nothing.reclaim applyaccepts only such a record and runs it as a whole. You cannot run only part of it. Each entry is recomputed before the run: entries that have been referenced again are skipped, written toskippedin the result, and not deleted.- To keep an object, first keep its Launch with
retain, then runplanagain. applyis a destructive command. In a terminal, you confirm it by typing the record ID. A non-interactive terminal requires--yes.- Replaying the same
--command-idon the same record returns the original result. Using it on a different record returnsalready_exists. Only one run is allowed at a time, and a secondapplyreturnsfailed_precondition.
retain
retaincan only extend the retention period. A time earlier than the existing retention period is rejected.- A Launch that has already been reclaimed cannot be retained.
Automatic reclamation
Every 24 hours, ctrl reclaims automatically and deletes only objects withdrawn more than 7 days ago. Records of automatic reclamation appear in reclaim list together with apply records, with AUTOMATIC in the TRIGGER column. For the start time and required permissions, see Install ctrl.
The admission views of kibo platform list, kibo platform get, and kibo template carry a Reclaimed time: a reclaimed revision is still withdrawn, but object storage no longer holds its bytes.
Catalog
This page shows how to approve or withdraw Platform revisions and set defaults, and how to control whether Template revisions are available and which one is the default.
Build your own Template
This page walks through building your first Template from start to finish: start from a public OCI image, write a definition file, build with kibo-build, publish, approve, and create a Workspace from the new Template.