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 стал лучше благодаря нашим участникам и сопровождающим. Именно благодаря вам мы можем предложить сообществу отличное программное обеспечение. Пожалуйста, присоединяйтесь к нам во время встреч нашего онлайн-сообщества. Подробности можно найти на нашем сайте Carvel.
Вы можете пообщаться с нами в Kubernetes Slack на канале #carvel и подписаться на нас в Твиттере @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 гарантирует, что godocs будет включен в изменения.
Чтобы просмотреть документы
go install golang.org/x/tools/cmd/godoc@latest
godoc -http=:6060
и посетите http://localhost:6060/pkg/carvel.dev/imgpkg/
.