Skip to main content

Using the PoC Installer in an Air-Gapped Environment

Defining Air-Gapped Environments

An air-gapped environment is any environment in which the running hosts will not have access to the greater internet. This proposes a situation in which these hosts are unable to get access to various needed bits of software from Element and also are unable to share telemetry data back with Element.

For some of these environments, they can be connected to the internet from time to time and updated during those connection periods. In other environments, the hosts are never connected to the internet and everything must be moved over sneaker net.

This guide will cover running the microk8s installer when only sneaker net is available as that is the most restrictive of these environments.

Preparing the media to sneaker net into the air gapped environment

Run the script to run download the images to a local directory. The script will also compute your images digest in a file named images_digests.yml. Copy the whole directory containing the images and the images_digests.yml file over the airgapped environment.

It is also required to get the airgap dependencies. They are made of two tar.gz files :

  • element-enterprise-poc-installer-airgapped-deps-<version>.tar.gz
  • element-enterprise-poc-installer-airgapped-microk8-microk8s-<version>.tar.gz

Running the installer in the air gapped environment

Extract the airgapped dependencies to the airgapped directory at the root of the installer folder. You obtain the following directories :

  • airgapped/pip
  • airgapped/galaxy
  • airgapped/snaps
  • airgapped/containerd

You airgapped machine will still require access to airgapped linux repositories depending on your OS.

Add the following parameters in your parameters.yml :

  • local_registry:
  • images_dir: <absolute path to the copied image directory>

The installer will upload the images automatically to your local registry, and use these references to start the workloads.

When running the install script, add the parameter --airgapped so that it installs its pip and galaxy dependencies from the airgapped folder.