Bundle artifacts. Move them together.#
Bale captures OCI images and artifacts in a portable bundle. Carry an offline archive or store it in a registry, then push where you choose.
Move a bundle
Capture related images and artifacts, carry them as an OCI layout, and choose the destination registry when you push.
Use the Go SDK
Build integrations with caller-owned stores, dependency declarations, and confirmed artifact relocation results.
Capture once, move together#
List the images and artifacts you need in bale.yaml, using references you can read:
Create a local bundle, save it for transfer, then restore and push it to the receiving registry:
bale create --layout -f bale.yaml ./release
bale save ./release -o release.tar
# On the receiving side:
bale load -i release.tar ./restored
bale push ./restored mirror.example.com/releases/v1:bundle
Carry release.tar across the offline boundary. Follow the offline walkthrough, or read about destination mappings.
Keep related content together#
- Preserve original digests. Capture complete multiarchitecture images, OCI artifacts, nested bundles and selected referrers. Write a recipe.
- Carry declared dependencies. Include the references an artifact needs and keep their captured resolutions for locked transfers. Declare dependencies or generate them with a plugin.
- Discover Helm images. Select a registry plugin in the recipe to render a chart profile offline and capture images from workloads, hooks, and subcharts. Prepare a chart.
- Deploy delivered charts. Read destination attachments through the Helm integration or Flux Operator adapter.
- Inspect before delivery. Read verified inventories, selected declarations and resolved digests from a registry or local layout. Inspect a bundle.
See registry behavior for authentication and retention settings, and contributing for source builds and documentation checks.