Prepare an offline installation bundle

On a connected Red Hat Enterprise Linux host, use the mirror-images tool to download Red Hat Edge Manager container images and RPMs into a single portable archive for transfer to an air-gapped target. Meet the prerequisites for Offline installation bundle on the prep machine.

Procedure

  1. Install the Flight Control CLI on the prep machine. The mirror-images command is included with the package:
    sudo dnf install -y flightctl-cli

    Your Red Hat Edge Manager release artifacts might include a prebuilt mirror-images binary; use that copy when your organization provides one instead of the CLI package. For the complete list of command-line flags, see mirror-images flag reference.

  2. Select the --variant value for your target Red Hat Enterprise Linux major version:
    Table 1. Bundle variant options
    Variant Use when

    rhem-el9

    Red Hat Enterprise Linux 9 with Red Hat registry images (requires registry.redhat.io credentials)

    rhem-el10

    Red Hat Enterprise Linux 10 with Red Hat registry images (requires registry.redhat.io credentials)

    Match the variant to the Red Hat Enterprise Linux major version on the air-gapped target host. For example, use rhem-el9 when the target runs Red Hat Enterprise Linux 9.

    Important

    When you pass --bundle-rpms, run mirror-images on Red Hat Enterprise Linux at the same major version as the air-gapped target. Building RPMs on a different operating system family (for example Fedora) can pull package versions that conflict with the target system packages. For image-only bundles without --bundle-rpms, any Linux host with skopeo is sufficient.

  3. Log in to registry.redhat.io on the prep machine:
    sudo podman login registry.redhat.io
  4. Create the bundle. The --bundle flag packages container images into a .tar.gz archive. The --bundle-rpms flag includes the flightctl-services RPM and dependencies. The --rpm-createrepo flag generates repository metadata so the target install script can install packages by name rather than by file glob.
    Important

    Image tags in the bundle must match the version expected by the installed RPM. Always pin the release; see Pinning bundle contents to a release version.

    mirror-images \
        --variant <variant> \
        --bundle ~/rhem-bundle.tar.gz \
        --bundle-rpms \
        --rpm-createrepo

    Replace <variant> with rhem-el9 or rhem-el10.

  5. Confirm the archive contains the expected layout:
    tar -tzf ~/rhem-bundle.tar.gz | head

    The bundle includes:

    • images/: Container images in skopeo dir: format
    • rpms/: flightctl-services RPM and dependencies
    • import.sh: Imports images into a local registry on the target
    • install-rpms.sh: Installs RPMs with dnf
    • artifact-manifest-<variant>.yaml: Artifact manifest for the variant you passed to --variant (for example artifact-manifest-rhem-el9.yaml)

Results

  • The bundle archive exists and extracts without errors.
  • The images/, rpms/, import.sh, install-rpms.sh, and artifact-manifest-<variant>.yaml paths are present after extraction on a test host.
  • Image tags in the bundle match the flightctl-services RPM version you intend to install.