目录
本页介绍如何批准或撤回 Platform 版本并设置默认值,以及控制 Template 版本是否可用与默认值。
写命令的幂等键与期望版本见幂等键与期望版本。
platform
用 kibo platform 查看 Platform 目录,批准或撤回某个版本,或者修改某个 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 与 get
list原样返回目录内容:每个 revision 的 PlatformKey(后端、架构、内核系列、guest 协议、rootfs 契约)、来源信息、状态与三个时间戳。DEFAULT列由kibo根据同一次查询取回的默认版本标注。--json输出的result中另有platform_defaults数组,列出每个 PlatformKey 的默认 revision 与version。- 排序与分页由服务端完成。
参数:
| 参数 | 说明 |
|---|---|
| PlatformKey 的五个过滤参数 | 要么全部给出,要么全部不给。只给一部分时以退出码 2 拒绝 |
--state | registered、approved 或 withdrawn |
| 分页 token | 与规范化后的过滤条件绑定。换了过滤条件继续翻页会返回 invalid_argument(退出码 2)。人读输出给出的下一页命令已带上原过滤参数 |
approve 与 withdraw
- 两者都作用于一个精确的 revision。
- 批准已撤回的 revision,或撤回某个 PlatformKey 当前的默认版本,都以退出码
13失败,并说明是哪个前提不满足。 - 撤回必须带
--reason。 - 撤回后新的 Workspace 不能再选到这个 revision。已经在用它的 Workspace 继续运行,不会被迁移。
set-default
- 目标 PlatformKey 由 revision 推导,不需要再传五个参数。
- 期望版本是默认指针的
version。显式传--command-id时要同时传--expected-revision与--expected-version。 - 某个 PlatformKey 第一次设置默认版本时没有可比较的指针,三个参数都不传。
与 ctrl 本机命令的关系
approve、withdraw、set-default 与 ctrl 宿主机上的 kibotos-ctrl catalog apply 是同一操作的两个入口。相同的幂等键与输入在两边重放都返回同一结果;输入不同时两边都返回 already_exists。
template 准入
用 kibo template 的四个子命令控制某个 Template 的某个 revision 能否被 Workspace 选用,以及该 Template 的默认 revision。这四个命令只修改 Template 目录,不接受 Platform 的 revision,也不会改动任何 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"四个命令都必须用 --revision 指定一个精确的 revision,没有「当前版本」这样的默认目标。当前状态用 kibo template list 或 kibo template get 查看。
| 命令 | 作用 | --reason | 能否恢复 |
|---|---|---|---|
approve | 让该 revision 可以被选用 | 不接受 | 可以用 disable 再取消 |
disable | 让该 revision 不能被选用 | 必填,只接受 admin-disabled 或 admission-rejected | 可以用 approve 恢复 |
withdraw | 永久撤回该 revision | 必填 | 不能恢复 |
set-default | 把该 Template 的默认版本指向该 revision | 不接受 | 再次执行即可改变 |
注意:
disable与withdraw都不影响已经用该 revision 创建的 Workspace。它们继续运行,不会被迁移。set-default的期望版本是当前的默认 revision。显式传--command-id时要同时传--expected-revision;该 Template 还没有默认版本时改传--expect-no-default。- 批准已撤回的 revision,或把默认版本指向不可选用的 revision,都以退出码
13失败,并说明是哪个前提不满足。