How to work offline

The objective of this page is to assist users who find themselves deploying and/or managing Juju within an offline network.

For the purposes here, a network is considered offline if the systems on that network have been deliberately deprived of access to any outside network, the internet in particular. This is typically done for security reasons.

Such a network can also be called a proxy-restricted environment since, normally, access is allowed to a few internet-enabled systems that act as intermediaries (proxies) for necessary services. In a Juju context, such services would commonly provide access to:

  • charmed operators
  • APT packages
  • Various HTTP-based resources
  • snaps

Examples of common offline clouds are LXD, MAAS, and OpenStack.

This subject is broken up into several sub-topics, each with its own page. They all assume Juju has been installed on a system dedicated to the management of the offline environment.


Configuring Juju for offline usage

Juju needs to be configured in order for its various parts (client, controller, machines) to know how to request the resources necessary for various actions (controller creation, machine creation, charmed operator deployments, etc.) to be successful. This section will show how this is done via the CLI. See Configuring Juju for offline usage.

Deploying charmed operators offline

Once the auxiliary services have been set up and Juju has been configured to use those services Juju charmed operators can be deployed. This section describes how this is done. See Deploying charmed operators offline.

Installing snaps offline

The exemplar snap for Juju users is charmed Operator Tools but the guidance provided here can be applied to any snap. See Installing snaps offline.

Using the localhost cloud offline

Here, an example of an offline Juju installation is provided through the use of the localhost cloud (LXD). Go to Using the localhost cloud offline.

Last updated 2 years ago. Help improve this document in the forum.