imgpkg
(「イメージ パッケージ」と発音) は、ユーザーが任意のファイルのセットを OCI イメージとして保存できるツールです。主要なユースケースの 1 つは、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 がより優れているのは、貢献者とメンテナーのおかげです。皆さんのおかげで、私たちは素晴らしいソフトウェアをコミュニティに提供することができます。オンラインコミュニティミーティングにぜひご参加ください。詳細はカーベルのウェブサイトでご覧いただけます。
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 リンターは godoc が変更に含まれていることを確認します。
ドキュメントを表示するには
go install golang.org/x/tools/cmd/godoc@latest
godoc -http=:6060
、 http://localhost:6060/pkg/carvel.dev/imgpkg/
にアクセスします。