Offline Air-Gapped Deployment

OpenIaC includes a modular Offline Artifact Packager designed for strict air-gapped data centers, financial institutions, and defense environments without internet access.

3-Step Air-Gapped Workflow

Step 1: Bundle Offline Artifacts (On an Internet-Connected Bastion)

Run the packager command on an internet-connected RHEL / Rocky Linux machine matching your target OS architecture. It automatically collects all required binaries, RPM dependencies, Python wheels, Ansible Galaxy collections, and container images into a single portable .tar.gz archive:

# Bundle artifacts for your target platform
make pack-k8s
make pack-k3s
make pack-openshift
make pack-kubevirt
make pack-openstack

Step 2: Transfer & Extract in the Air-Gapped Environment

Copy the generated openiac-<platform>-offline-el*.tar.gz archive to your air-gapped bootstrap node and extract it inside the packager/ directory:

cd openiac/packager
tar -xzf openiac-k8s-offline-el9.tar.gz

Step 3: Enable Air-Gapped Mode & Deploy

Set airgapped_mode: true in ansible/inventories/<platform>-sample/group_vars/all.yml and run the standard deployment command:

cd ..
make k8s

Supported Air-Gapped Platforms

| Platform | Bundled Offline Artifacts | | :--- | :--- | | k8s | Containerd & Kubeadm RPMs, Calico CNI manifest, Control Plane container images | | k3s | K3s binary, k3s-airgap-images-amd64.tar, SELinux & iptables RPMs | | openshift | openshift-install, oc client bundle, nmstate & Podman RPMs | | kubevirt | KubeVirt & CDI Operator manifests, virtctl CLI binary | | openstack | kolla-ansible & python-openstackclient wheels, openstack.kolla Galaxy tarball, LVM/Podman RPMs |