Installing Juju

Juju is an Open Source Charmed Operator Framework. It helps you move from configuration management to application management and has two main components:

  • Charmed Operator Lifecycle Manager (OLM) - a hybrid-cloud application management and orchestration system that helps you from Day 0 to Day 2. Deploy, configure, scale, integrate, maintain and manage Kubernetes native, container-native and VM-native applications – and the relations between them.

    • Charmed Operators, packaged as “Charms”, are software that encapsulate a single application and all the code and know-how it takes to operate it on Kubernetes or machines.
  • Charmed Operator SDK - a guide to help you build Charmed Operators for use with the Charmed OLM.

The Juju client is a single binary executable that is published and supported on multiple operating systems and CPU architectures. Find the instructions for installing Juju on your preferred operating system below.

Each Juju release is accompanied by a set of release notes that highlight the changes and bug fixes for each release. They are available on our Discourse page.

The Juju client can be extended with plugins.

Install Juju on Linux

Install from snap

Installing the Juju client from snap is the recommended installation method as it ensures that the client get automatically updated as soon as a new Juju release becomes available.

Snap command not available on your system? Visit snapcraft.io for instructions
on how to install snapd.

To install the latest stable version of the Juju client:

sudo snap install juju --classic

Using snap also allows you to select a particular version by specifying the
--channel argument:

sudo snap install juju --classic --channel=<version/release>

A list of the available channels for the client can be obtained by running:

snap info juju

Download the Juju client binary

This method allows you to install the Juju client on systems that do not support
snaps.

  1. Visit the project’s downloads page and select the binary
    that matches your system’s architecture and the version that you want to install.

For example, to download the 2.9.0 client for amd64:

curl -LO https://launchpad.net/juju/2.9/2.9.0/+download/juju-2.9.0-linux-amd64.tar.xz
  1. Validate the downloaded binary archive (optional)

Download the md5 checksum that matches the binary you just downloaded:

The link to the md5 signature can be constructed by simply appending /+md5 to the end of the link you just downloaded.

curl -L https://launchpad.net/juju/2.9/2.9.0/+download/juju-2.9.0-linux-amd64.tar.xz/+md5 -o juju.md5

Validate the downloaded binary archive against the checksum file:

cat juju.md5 | md5sum --check

If the checksum check succeeds, the output will be:

juju-2.9.0-linux-amd64.tar.xz: OK

If the check fails, md5sum exits with nonzero status and prints output similar to:

juju-2.9.0-linux-amd64.tar.xz: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
  1. Unpack and install client binary
tar xf juju-2.9.0-linux-amd64.tar.xz
sudo install -o root -g root -m 0755 juju /usr/local/bin/juju
  1. Test that the version of the client you installed is up to date
juju version

Install Juju on macOS

The Juju client is available on Homebrew and can be installed as follows:

brew install juju

Install Juju on Windows

Visit the project’s downloads page and select the signed installer for the Juju version you wish to install.

Build Juju from source

Visit the downloads section of the Launchpad project to download a tar.gz with Juju source code. For build instructions refer to the contributing to Juju documentation on Github.

1 Like

This link for the windows binary is broken.

@jhillman This should be fixed now, sorry for the inconvenience.

1 Like