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 และติดตามเราบน 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 หากต้องการบันทึกประเภท ตัวแปร ค่าคงที่ ฟังก์ชัน หรือแพ็คเกจ ให้เขียนความคิดเห็นปกติโดยตรงหน้าการประกาศที่ขึ้นต้นด้วยชื่อขององค์ประกอบที่อธิบาย ดูตัวอย่างแพ็คเกจรีจิสทรี เมื่อสนับสนุนซอร์สโค้ดใหม่ผ่านการประชาสัมพันธ์ GitHub Action linter จะทำให้แน่ใจว่า Godocs จะรวมอยู่ในการเปลี่ยนแปลง
เพื่อดูเอกสาร
go install golang.org/x/tools/cmd/godoc@latest
godoc -http=:6060
และไปที่ http://localhost:6060/pkg/carvel.dev/imgpkg/