iofogctl allows users to deploy container images to edge nodes that cannot access the internet for pulling images. OfflineImage enables developers to pull images on their local machine with iofogctl installed, then transfer and load those images on remote edge hosts via SSH, automatically creating catalog items with registry ID 2 (from_cache).
---
apiVersion: iofog.org/v3
kind: OfflineImage
metadata:
name: alpine-offline
spec:
x86: alpine:latest
arm: alpine:latest
auth:
username: foo
password: bar
agent:
- edge-1
- edge-2
- edge-3| Field | Description |
|---|---|
metadata.name |
Unique name for the offline image resource |
spec.x86 |
Docker image tag for x86/amd64 architecture (e.g., alpine:latest) |
spec.arm |
Docker image tag for ARM architecture (e.g., alpine:latest) |
spec.auth |
(Optional) Authentication credentials for pulling images from private registries |
spec.auth.username |
Username for registry authentication |
spec.auth.password |
Password or authentication token for registry authentication |
spec.agent |
List of agent names where the image should be transferred and loaded |
Deploy an OfflineImage using iofogctl:
iofogctl deploy -f offline-image.yaml| Flag | Description |
|---|---|
--no-cache |
Disable caching for OfflineImage images after download |
--transfer-pool int |
Maximum number of concurrent OfflineImage transfers (default: 2) |
# Deploy with default settings (2 concurrent transfers, caching enabled)
iofogctl deploy -f offline-image.yaml
# Deploy without caching images after download
iofogctl deploy -f offline-image.yaml --no-cache
# Deploy with custom transfer pool size
iofogctl deploy -f offline-image.yaml --transfer-pool 4This feature is essential for edge deployments in air-gapped or network-restricted environments where edge nodes cannot directly access container registries. For the full airgap workflow (control plane, Agents, and microservice images), see Airgap Deployment.