图像库
v0.43.1
imgpkg
(发音:“镜像包”)是一个允许用户将一组任意文件存储为 OCI 镜像的工具。驱动用例之一是将 Kubernetes 配置(纯 YAML、ytt 模板、Helm 模板等)作为映像存储在 OCI 注册表中。
imgpkg 的主要概念是捆绑包,它是一个 OCI 映像,其中包含 0+ 个任意文件和 0+ 个对依赖 OCI 映像的引用。有了这个概念,imgpkg 能够跨注册表(在线和离线)复制捆绑包及其依赖映像。
$ imgpkg push -b your-user/app1-config:0.1.1 -f config/
$ imgpkg copy -b your-user/app1-config:0.1.1 --to-repo other-user/app1
$ imgpkg pull -b your-user/app1-config:0.1.1 -o /tmp/app1-config
$ imgpkg tag ls -i your-user/app1-config
特征:
卡维尔因为我们的贡献者和维护者而变得更好。正是因为有你们,我们才能为社区带来优秀的软件。请参加我们的在线社区会议。详细信息可以在我们的 Carvel 网站上找到。
您可以在 Kubernetes Slack 上的 #carvel 频道与我们聊天,并在 Twitter 上关注我们:@carvel_dev。
查看哪些组织正在使用 Carvel 并为其做出贡献:采用者列表
构建代码
./hack/build.sh
使用本地注册表运行每个测试(需要 Docker)
./hack/test-all-local-registry.sh 5000
如果您想使用代理注册表来拉取映像以避免 dockerhub 的速率限制,请将 DOCKERHUB_PROXY 环境变量设置为该代理,例如:
export DOCKERHUB_PROXY= < my-registry.local.sometld/my-dockerhub-proxy > && ./hack/test-all-local-registry.sh 5000
为了使源代码文档保持最新,imgpkg 使用 godoc。要记录类型、变量、常量、函数或包,请在其声明之前直接编写常规注释,该注释以它所描述的元素的名称开头。有关示例,请参阅注册表包。当通过 PR 贡献新的源代码时,GitHub Action linter 将确保 godocs 包含在更改中。
查看文档
go install golang.org/x/tools/cmd/godoc@latest
godoc -http=:6060
并访问http://localhost:6060/pkg/carvel.dev/imgpkg/
。