Documentation for version v0.31.0 is no longer actively maintained. The version you are currently viewing is a static snapshot. For up-to-date documentation, see the latest version.
Artifact formats
Package Contents Bundle ¶
A package bundle is an imgpkg bundle that holds package contents such as Kubernetes YAML configuration, ytt templates, Helm templates, etc.
Filesystem structure used for package bundle creation:
my-pkg/
└── .imgpkg/
└── images.yml
└── config/
└── deployment.yml
└── service.yml
└── ingress.yml
.imgpkg/
directory (required) is a standard directory for any imgpkg bundleimages.yml
file (required) contains container image refs used by configuration (typically generated withkbld
)
config/
directory (optional) should contain arbitrary package contents such as Kubernetes YAML configuration, ytt templates, Helm templates, etc.- Recommendations:
- Group Kubernetes configuration into a single directory (
config/
is our recommendation for the name) so that it could be easily referenced in the Package CR (e.g. usingytt
template step against single directory)
- Group Kubernetes configuration into a single directory (
- Recommendations:
See Creating a package for example creation steps.
Package Repository Bundle ¶
A package repository bundle is an imgpkg bundle that holds PackageMetadata and Package CRs.
Filesystem structure used for package repository bundle creation:
my-pkg-repo/
└── .imgpkg/
└── images.yml
└── packages/
└── simple-app.corp.com
└── metadata.yml
└── 1.0.0.yml
└── 1.2.0.yml
.imgpkg/
directory (required) is a standard directory for any imgpkg bundleimages.yml
file (required) contains package bundle refs used by Package CRs (typically generated withkbld
)
packages/
directory (required) should contain zero or more YAML files describing available packages- Each file may contain one or more PackageMetadata or Package CRs (using standard YAML document separator)
- Files may be grouped in directories or kept flat
- File names do not have any special meaning
- Recommendations:
- Separate packages in to directories with the package name
- Keep each PackageMetadata CR in a
metadata.yml
file in the package’s directory. - Keep each versioned package in a file with the version name inside the package’s directory
- Always have a PackageMetadata CR if you have Package CRs
See Creating a Package Repository for example creation steps.
(Help improve our docs: edit this page on GitHub)