Juju plugins
Plugins are commands which work with Juju, but which are not part of the core
code. Some plugins are provided with your Juju install (e.g. juju-metadata
)
and others are tools created by the community. The community tools are
collected by the Juju Plugins GitHub project.
Running a plugin
A plugin is any executable code in your $PATH
which begins juju-
. Although
you can run these independently of the Juju command line, Juju will also wrap
these commands so they can be run within Juju. For example:
juju-metadata generate
The above can be executed within Juju in this way:
juju metadata generate
Switches, flags, and arguments
There is potential confusion when a plugin accepts a switch or flag. Juju needs to be able to differentiate between options intended for Juju and ones intended for the plugin. In this case any options for the plugin should be preceded by ' -- '. For example:
juju foo -- -bar --baz qux