imgpkg
(pronuncia-se: "pacote de imagem") é uma ferramenta que permite aos usuários armazenar um conjunto de arquivos arbitrários como uma imagem OCI. Um dos principais casos de uso é armazenar a configuração do Kubernetes (YAML simples, modelos ytt, modelos Helm, etc.) no registro OCI como uma imagem.
O conceito principal do imgpkg é um pacote, que é uma imagem OCI que contém mais de 0 arquivos arbitrários e mais de 0 referências a imagens OCI dependentes. Com este conceito, o imgpkg é capaz de copiar pacotes e suas imagens dependentes em registros (tanto online quanto offline).
$ 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
Características:
Carvel é melhor por causa de nossos contribuidores e mantenedores. É por sua causa que podemos trazer ótimos softwares para a comunidade. Junte-se a nós durante nossas reuniões da comunidade online. Detalhes podem ser encontrados em nosso site da Carvel.
Você pode conversar conosco no Kubernetes Slack no canal #carvel e nos seguir no Twitter em @carvel_dev.
Confira quais organizações estão usando e contribuindo para Carvel: lista de adotantes
Construa o código com
./hack/build.sh
Execute todos os testes com um registro local (requer Docker)
./hack/test-all-local-registry.sh 5000
Se você quiser usar um registro de proxy para extrair imagens a fim de evitar a limitação de taxa do dockerhub, defina a variável de ambiente DOCKERHUB_PROXY para esse proxy, por exemplo:
export DOCKERHUB_PROXY= < my-registry.local.sometld/my-dockerhub-proxy > && ./hack/test-all-local-registry.sh 5000
Para manter a documentação do código-fonte atualizada, imgpkg usa godoc. Para documentar um tipo, variável, constante, função ou pacote, escreva um comentário regular diretamente antes de sua declaração que comece com o nome do elemento que ele descreve. Consulte o pacote de registro para obter um exemplo. Ao contribuir com novo código-fonte por meio de um PR, o linter GitHub Action garantirá que os godocs sejam incluídos nas alterações.
Para visualizar os documentos
go install golang.org/x/tools/cmd/godoc@latest
godoc -http=:6060
e visite http://localhost:6060/pkg/carvel.dev/imgpkg/
.