Command 'juju download'

The information in this doc is based on Juju version 3.5.3, and may not accurately reflect other versions of Juju.

See also: info, find

Summary

Locates and then downloads a CharmHub charm.

Usage

juju download [options] [options] <charm>

Options

Flag Default Usage
--arch all specify an arch <all|amd64|arm64|ppc64el|riscv64|s390x>
--base specify a base
--channel specify a channel to use instead of the default release
--charmhub-url https://api.charmhub.io specify the Charmhub URL for querying the store
--filepath filepath location of the charm to download to
--no-progress false disable the progress bar
--revision -1 specify a revision of the charm to download
--series all specify a series. DEPRECATED use --base

Examples

juju download postgresql
juju download postgresql --no-progress - > postgresql.charm

Details

Download a charm to the current directory from the CharmHub store by a specified name. Downloading for a specific base can be done via –base. --base can be specified using the OS name and the version of the OS, separated by @. For example, --base ubuntu@22.04.

By default, the latest revision in the default channel will be downloaded. To download the latest revision from another channel, use --channel. To download a specific revision, use --revision, which cannot be used together with --arch, --base, --channel or –series.

Adding a hyphen as the second argument allows the download to be piped to stdout.


@tmihoc Hi Teodora! I’ve noticed that the --revision parameter is not valid for juju 2.9 (run log) AssertionError: failed to download charm, ERROR option provided but not defined: --revision.

The 2.9 supported flags are:

 --arch (= "all")
- --base
 --channel (= "")
 --charmhub-url (= "https://api.charmhub.io")
 --filepath (= "")
 --no-progress  (= false)
- --revision
 --series (= "all")

May I add juju supported version column to the table?

Thank you!

@charlie4284 Unfortunately, this doc is currently autogenerated from the source and reflects the latest stable release of Juju only. However, we are aware of the need to document at least all the LTS releases and working on a solution.

PS The fact that our documentation setup doesn’t support versioning means we need to get creative. In the past we handled such issues through manual in-line notes. The benefits of autogeneration are too great to go back to manual, but maybe we can handle multiple LTSes via tabbed content.

1 Like