Charm

In Juju, a charm is an operator – software that wraps an application and that contains all of the instructions necessary for deploying, configuring, scaling, integrating, etc., the application on any cloud using Juju.

See more: SDK | List of files in the charm project, SDK | The Juju execution flow for a charm

Charms are publicly available on Charmhub.

Charms are currently of two kinds, depending on the target deployment substrate:

  1. Machine charms: Charms made to deploy on a bare-metal server, virtual machine, or system container.
  2. Kubernetes charms: Charms built to deploy on Kubernetes.

Charms are currently developed using Charmcraft and Ops.

See more: SDK Juju | Charm taxonomy , SDK Juju | Charms vs. Kubernetes operators

While the quality of individual charms may vary, charms are intended to implement a general and comprehensive approach for operating applications.

See more: SDK | Charm maturity