Skip to main content

Air-Gap System Requirements

Purpose: For operators, provides OS, CPU, memory, disk, and network requirements for air-gap deployments.

Build Host (Zone A)

The build host downloads all dependencies and creates the Zarf artifact.

ResourceMinimumRecommendedNotes
OSUbuntu 22.04 or 24.04Ubuntu 24.04Other Debian-based may work
CPU4 cores8 coresCompression is CPU-intensive
Memory8 GB16 GBImage pulls and Zarf packaging
Disk100 GB free200 GB freeImages + packages + final artifact
NetworkOutbound HTTPSOutbound HTTPSSee Firewall Whitelist
Python3.10+3.12For opencenter-airgap CLI
Git2.30+LatestRepository cloning

Required software

# Verify prerequisites
python3 --version # 3.10+
git --version # 2.30+

Optional (for final package creation):

zarf version        # Zarf CLI
cosign version # Cosign for signing

Disk layout

DirectoryEstimated sizeContents
build/10–20 GBCloned repositories
assets/images/30–60 GBContainer image tarballs
assets/repos/5–10 GBOS packages
assets/python-wheels/1–2 GBPython dependencies
assets/k8s-binaries/500 MBkubectl, kubelet, kubeadm
assets/terraform-mirror/200 MBTerraform providers
dist/20–40 GBFinal compressed artifact

Total: 70–130 GB typical. Allocate 200 GB to be safe.

Bastion Host (Zone C)

The bastion receives the Zarf artifact and serves dependencies to cluster nodes.

ResourceMinimumRecommendedNotes
OSUbuntu 24.04Ubuntu 24.04Must match target node OS family
CPU4 cores8 coresRegistry and nginx serving
Memory8 GB16 GBRegistry + concurrent pulls
Disk100 GB free200 GB freeExtracted artifact + registry storage
NetworkLocal subnet onlyLocal subnet onlyNo internet access
Podman4.0+LatestRuns the OCI registry container

Required ports

PortServiceDirectionConsumers
35000Container registryInboundTarget nodes (containerd pulls)
80Nginx file serverInboundTarget nodes (apt, pip, binaries)
22SSHOutboundBastion → target nodes (Ansible)

Disk layout

DirectoryEstimated sizeContents
/opt/opencenter/40–80 GBExtracted Zarf components
/var/lib/registry/30–60 GBOCI registry blob storage

Target Cluster Nodes (Zone C)

ResourceMinimum (worker)Minimum (control plane)Notes
OSUbuntu 24.04Ubuntu 24.04
CPU4 cores4 cores
Memory8 GB8 GB16 GB recommended for control plane
Disk50 GB100 GBetcd on control plane needs fast disk
NetworkAccess to bastionAccess to bastionPorts 35000 and 80

Node count

RoleMinimumRecommendedNotes
Control plane133 for HA; must be odd number
Worker13+Scale based on workload
Bastion11Single bastion per site

Network requirements between nodes

SourceDestinationPortsPurpose
All nodesBastion35000, 80Image pulls, package installs
BastionAll nodes22Ansible/Kubespray provisioning
Control planeControl plane2379-2380etcd peer communication
Control planeAll nodes6443Kubernetes API server
All nodesAll nodes10250kubelet API
All nodesAll nodes179Calico BGP (if using BGP mode)
All nodesAll nodesVXLAN (4789)Calico VXLAN overlay

Transfer Media (Zone B)

Media typeMinimum capacityNotes
USB 3.0 drive64 GBSufficient for most builds
External SSD128 GBFaster transfer, recommended
DVD/Blu-rayMultiple discsWrite-once for tamper evidence