latest-amd64 / latest-arm64 两个单架构镜像,自动聚合成 latest 的多架构 Manifest。CNB_DOCKER_REGISTRY / CNB_TOKEN_USER_NAME / CNB_TOKEN / CNB_REPO_SLUG_LOWERCASElatest-amd64 & latest-arm64 聚合为 latest(OCI Index,必要时 fallback Docker List)org/repo:latest-amd64 与 org/repo:latest-arm64 两个镜像,希望得到 org/repo:latest 的统一入口unknown 平台、attestation、SBOM 条目os/arch[/variant])让 Index digest 可预期不适用:
- 期望支持更多平台命名(如
foo-x86_64、bar-aarch64等):请 fork / 修改默认值。- Registry 仅支持 V1:本插件只写 V2(会优先探测、读 V1 不落库)。
auto(默认)、append、cover
auto:自动判断是单架构追加还是双架构覆盖聚合OCI manifest 与 Docker v2 manifestmanifests[] 固定按 os/arch/variant 排序,digest 更稳定unknown、attestation-manifest、sbomio.cnbs.smart-upsert.* 注解(生成器、时间、模式、平台列表)WWW-Authenticate 解析 realm/service,一次拿到多个 scope 的 Bearer token 并缓存最少只需 4 个环境变量即可工作。
docker run --rm \
-e CNB_DOCKER_REGISTRY="docker.cnb.cool" \
-e CNB_TOKEN_USER_NAME="cnb" \
-e CNB_TOKEN="******" \
-e CNB_REPO_SLUG_LOWERCASE="org/repo" \
--name cnb-plugin-manifest docker.cnb.cool/wydev-open/cnb-plugin-manifest:latest