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.
For command IDs and expected revisions on write commands, see Command IDs and expected revisions.
kibo platform
Use kibo platform to view the Platform catalog, approve or withdraw a revision, or change the default revision of a PlatformKey:
revision=sha256:0000000000000000000000000000000000000000000000000000000000000000
kibo platform list --state registered
kibo platform get "$revision"
kibo platform approve "$revision"
kibo platform set-default "$revision"
kibo platform withdraw "$revision" --reason "replaced by the 6.18 rebuild"list and get
listreturns the catalog contents as is: each revision's PlatformKey (backend, architecture, kernel series, guest protocol, rootfs contract), source information, state, and three timestamps.- The
kibotool marks theDEFAULTcolumn using the default revisions fetched in the same query. Theresultof the--jsonoutput also has aplatform_defaultsarray that lists each PlatformKey's default revision andversion. - The server handles sorting and paging.
Parameters:
| Parameter | Description |
|---|---|
| The five PlatformKey filter parameters | Give all of them or none. Giving only some is rejected with exit code 2 |
--state | registered, approved, or withdrawn |
| Page token | Bound to the normalized filter. Continuing to page with a different filter returns invalid_argument (exit code 2). The next-page command in the human-readable output already includes the original filter parameters |
approve and withdraw
- Both act on one exact revision.
- Approving a withdrawn revision, or withdrawing the current default revision of a PlatformKey, fails with exit code
13and states which precondition is not met. - Withdrawing requires
--reason. - After a withdrawal, new Workspaces can no longer choose this revision. Workspaces already using it keep running and are not migrated.
set-default
- The target PlatformKey is derived from the revision, so you do not pass the five parameters again.
- The expected revision is the
versionof the default pointer. When you pass--command-idexplicitly, also pass--expected-revisionand--expected-version. - The first time a PlatformKey gets a default revision, there is no pointer to compare against, so pass none of the three parameters.
Relation to the ctrl local command
The approve, withdraw, and set-default commands and kibotos-ctrl catalog apply on the ctrl host are two entry points to the same operation. Replaying the same command ID and input on either side returns the same result. With different input, both sides return already_exists.
Template admission
Use four kibo template subcommands to control whether Workspaces can choose a given revision of a Template, and which revision is the Template's default. These four commands change only the Template catalog. They do not accept Platform revisions and do not change the default revision of any PlatformKey.
template_id=kibotos-coding
revision=sha256:0000000000000000000000000000000000000000000000000000000000000000
kibo template approve "$template_id" --revision "$revision"
kibo template set-default "$template_id" --revision "$revision"
kibo template disable "$template_id" --revision "$revision" --reason admin-disabled
kibo template withdraw "$template_id" --revision "$revision" --reason "replaced by the next build"All four commands require --revision to name one exact revision. There is no default target such as "the current revision". View the current state with kibo template list or kibo template get.
| Command | Effect | --reason | Reversible |
|---|---|---|---|
approve | Lets Workspaces choose the revision | Not accepted | Yes, undo it with disable |
disable | Prevents Workspaces from choosing the revision | Required. Accepts only admin-disabled or admission-rejected | Yes, restore it with approve |
withdraw | Withdraws the revision permanently | Required | No |
set-default | Points the Template's default revision at the revision | Not accepted | Run it again to change it |
Notes:
- Neither
disablenorwithdrawaffects Workspaces already created from the revision. They keep running and are not migrated. - The expected revision of
set-defaultis the current default revision. When you pass--command-idexplicitly, also pass--expected-revision. If the Template has no default revision yet, pass--expect-no-defaultinstead. - Approving a withdrawn revision, or pointing the default at a revision that cannot be chosen, fails with exit code
13and states which precondition is not met.
Storage pools
This page shows how to inspect storage pools and the objects in them, set pool capacity, move objects between pools, and declare a pool lost. For the storage pool concept, declaration, and initialization, see Storage pools on NFS.
Artifact reclamation
This page shows how to reclaim artifacts in object storage that are no longer referenced.