imgpkg
("이미지 패키지"로 발음)는 사용자가 임의의 파일 세트를 OCI 이미지로 저장할 수 있는 도구입니다. 주요 사용 사례 중 하나는 Kubernetes 구성(일반 YAML, ytt 템플릿, Helm 템플릿 등)을 OCI 레지스트리에 이미지로 저장하는 것입니다.
imgpkg의 기본 개념은 0개 이상의 임의 파일과 종속 OCI 이미지에 대한 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 웹사이트에서 확인할 수 있습니다.
#carvel 채널의 Kubernetes Slack에서 우리와 채팅할 수 있고 Twitter @carvel_dev에서 우리를 팔로우할 수 있습니다.
Carvel: Adopter's list를 사용하고 기여하는 조직을 확인하세요.
다음을 사용하여 코드를 빌드하세요.
./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/
방문하세요.