These variables are available on the juju client in order to change its default behavior.
This sets the path where Juju will look for its configuration files. You do not need to set this - by default Juju follows XDG guidelines and on Linux systems it will use the path:
For versions of Juju prior to 2.0, this variable indicated the 'home' directory where Juju kept configuration and other data.
This allows you to set the repository that Juju looks for charms in. This can
also be done by passing
--repository=/path/to/charms when running the command
For example, if you are running juju in a Vagrant virtual machine, you could
JUJU_REPOSITORY to your shared folder:
export JUJU_REPOSITORY=/vagrant juju deploy local:series/charm
This setting takes effect on an environment only at bootstrap time. In stable Juju releases, agents are started with logging set to WARNING, and units are set to INFO. Development releases are set to DEBUG globally. Post bootstrap, on a running environment you can change the logging options to be more or less verbose. For example:
juju model-config logging-config="juju=DEBUG; unit=WARNING"
Used to specify the current Juju model to use. This is overriden if the model
is specified on the commandline using
This setting takes effect on an environment only at bootstrap time. Unstable or pre-release features are enabled only when the feature flag is enabled prior to bootstrapping the environment.
JUJU_DEV_FEATURE_FLAGS=storage,network-spaces juju bootstrap
This setting takes effect on an environment only at bootstrap time, and is used to set the verbosity of the bootstrap process. For example, to troubleshoot a failure bootstrapping during provider development, you can set the log level to TRACE.
JUJU_STARTUP_LOGGING_CONFIG=TRACE juju bootstrap
This allows you to change the behavior of the command line interface (CLI) between major Juju releases and exists as a compatibility flag for those users wishing to enable the newer behavior of the Juju CLI. As the CLI output and behavior is stable between minor releases of Juju, setting JUJU_CLI_VERSION will enable developers and users to preview the newer behavior of the CLI.
export JUJU_CLI_VERSION=2 juju status
These variables are available to the
charm build process.
Sets the location to search for charm-layers. If
no layer is found in this location, it defaults to searching the directory
interfaces.juju.solutions for the requested charm-layer.
Sets the location to search for interface-layers. If
no interface is found in this location, it defaults to searching the directory
interfaces.juju.solutions for the requested interface-layer.
These variables are available to charms during hook execution.
The name of the currently executing action
A concatenation of
JUJU_ACTION_UUID and the word 'action'
The current UUID of the executing action
A space-separated list of API servers.
The socket that the Unit Agent uses to communicate with individual Units.
The path to the currently executing charm directory.
Used by juju to communicate to ask a running agent to execute a command on juju's behalf.
The temporary directory where
juju debug-hooks is spawned from.
The human-friendly name of the current model.
The unique identifier of the juju model.
The name of the hook being executed.
The ID of the machine that's currently executing the hook
The relation name being executed.
The ID of the relation being executed.
The name of the current related unit.
The name of the local unit being executed.
These exist for developmental purposes only.