Skip to content
English
  • There are no suggestions because the search field is empty.

Exporting and Importing EDS Artifacts in an Offline Environment

This guide describes how to export EDS (Enthought Deployment Server) artifacts from an internet-connected environment and import them into an isolated (offline/air-gapped) EDS instance.

1. Prepare Your Environment

Before exporting EDS artifacts, ensure your environment is properly configured:

a. Create an EDM Environment

Start by creating a new EDM environment. In this guide, we'll use eds-sync as the environment name:

edm environments create eds-sync
 

b. Install Required Tools

Install the enthought_it_tools package into the eds-sync environment from the enthought/platform repository:

edm install -e eds-sync --add-repository enthought/platform enthought_it_tools 
 

Note: Access to enthought/platform requires valid credentials. Ensure your EDM configuration is properly authenticated.

 c. Set Environment Variable and Install Package

Set the following environment variable to avoid OpenSSL legacy errors:

export CRYPTOGRAPHY_OPENSSL_NO_LEGACY=true
 
Then install the hvac package in the same environment:

edm install -e eds-sync hvac


2. Synchronize EDS Artifacts with an Offline System

This process involves two main steps: exporting EDS artifacts from a live environment and importing them into an EDS instance running on an isolated machine.

Important: Ensure that the target machine already has a running EDS container service. If not, refer to the official setup documentation or contact Enthought Support for assistance.

Step 1: Export EDS Artifacts

From an administrative machine with internet access, run the following command to export the required artifacts:

edm run -e eds-sync -- en eds export --platform <target_platform> <repository_1>, ..., <repository_n>

Example:

Export eggs for both Windows and Red Hat 8 from the enthought/free repository:

for platform in win-x86_64 rh8-x86_64; do
edm run -e eds-sync -- en eds export \
--server packages.enthought.com \
--token <api token from .edm.yaml> \
--platform $platform \
enthought/free
done

By default, artifacts will be exported into a directory such as eds_export or en_eds_export.

Cleanup (Optional but Recommended):

After export, review the contents of the export directory. You may remove any unused platforms or Python versions. However, if a directory named None is present, do not delete it, as it may be required for import.

Step 2: Transfer directory to the target machine

Transfer the exported artifact directory (e.g., eds_export) to the target machine.

Step 3: Import Artifacts to the Offline EDS Instance

Then, import the packages into the offline EDS instance: 

en eds import --server <server hostname> \
--directory <path to eds_export directory> \
  --platform <target_platform> <repository_1>, ..., <repository_n>
Example:

To import packages for Windows and Red Hat 8 from the enthought/free repository:

for platform in win-x86_64 rh8-x86_64; do
en eds import --server <server hostname> \
--directory <path to eds_export directory containing the eggs> \
--platform $platform \
enthought/free
done

Once complete, the packages will be available in the EDS server on the target machine.

Support

For additional help or troubleshooting, refer to the official Enthought documentation or contact Enthought Support.