See also: How to manage charms or bundles

See more: SDK | Bundle

In Juju, a bundle is a collection of charms which have been carefully combined and configured in order to automate a multi-charm solution.

For example, a bundle may include the wordpress charm, the mysql charm, and the relation between them.

The operations are transparent to Juju and so the deployment can continue to be managed by Juju as if everything was performed manually (what you see in juju status is applications, relations, etc.; that is, not the bundle entity, but its contents).

Bundles can be of two kinds, regular and overlay.

  • An overlay bundle is a local bundle you pass to juju deploy <charm/bundle> via --overlay <overlay bundle name>.yaml if you want to customise an upstream charm / bundle (usually the latter, also known as a base bundle) for your own needs without modifying the existing charm / bundle directly. For example, you may wish to add extra applications, set custom machine constraints or modify the number of units being deployed. They are especially useful for keeping configuration local, while being able to make use of public bundles. It is also necessary in cases where certain bundle properties (e.g. offers, exposed endpoints) are deployment specific and can only be provided by the bundle’s user.
  • A regular bundle is any bundle that is not an overlay.

Last updated 3 months ago. Help improve this document in the forum.