List of available Juju plugins

Juju plugins allow extension of Juju’s functionality. Some documentation exists in the form of a tutorial and an example, and there are Discourse posts for some specific plugins:

The purpose of this section is to keep an up to date list of available Juju plugins.

  • juju-bundle: Juju plugin for easy bundle interactions

    This plugin allows building a bundle from charms config and metadata, and then deploying them. Options to publish the bundle in the charmstore are also available.

  • juju-bmc: juju plugin that adds a command to access a server out band management

    This plugin takes advantage of the integration between Juju and MaaS to obtain the relevant credentials to display them or to establish a connection (via udp/623 or tcp/22) to the BMC console of a bare metal server. The snap uses the MaaS CLI client to communicate with the MaaS API.

  • juju-crashdump: Gather logs and other debugging info from a Juju model

    This plugin runs commands via SSH to collect evidence to help troubleshoot Juju units within a model.

  • juju-kubectl: Juju plugin for running kubectl

    This plugin tries to run kubectl commands against the K8s API of the current model. If the provider is inferred to run microk8s or CDK, the plugin will try to run specific commands (e.g. microk8s.kubectl). Otherwise, the plugin will try to copy the ~/config file from the kubernetes-master/0 unit.

  • juju-lint: Linter for Juju models to compare deployments with configurable policy

    This plugin is intended to be run against a YAML dump of Juju status, a YAML dump of a Juju bundle (juju export-bundle), or a remote cloud or clouds via SSH.

  • juju-wait: Juju plugin to wait for environment steady state.

    This plugin is similar to the “watch” command in Linux. It monitors a Juju environment (via “juju status”) towards a certain status of the units.

  • juju-wait-for: Juju plugin to wait for environment steady state.

    The new juju-wait-for plugin is currently in alpha status. The plugin is more optimized for large deployments, by using the AllWatcher API to listen to new changes. This removes the need to call juju status, which is known to take a very long time in large deployments.


An old list of plugins can be found at Most of them were written in Bash or Python to support missing features in Juju 1.x.

  • juju-act: Improve the command line user experience of Juju Action

    This plugin made sense when juju run-action --wait was not supported. It combined running an action and showing the output from the queued action id.

    “–wait” is supported since 2017 (LP#1445066)

  • juju-introspection-proxy: A proxy to Juju internal metrics

    This plugin was a personal effort to support Prometheus metrics to introspect Juju. Nowadays, Juju supports Prometheus metrics so this plugin is not needed anymore.

  • juju-apply-sla: Unsupported. Repo not found, but a snap exists.

  • juju-matrix: Automatic testing of big software deployments under various failure conditions. The repo has not received updates for a long time.

  • juju-experts: Tools for Juju experts (Unsupported, Repo not found)

  • juju-helpers: Juju plugins to ease a few pain points. This plugin has the same description as juju-bundle, and is maintained by the same author.

Last updated 7 months ago.