Argo Workflows Air-Gap Module
What is This?
This module provides the configuration and tools needed to deploy Argo Workflows in an air-gapped (offline) environment. It includes image lists, Helm chart packaging scripts, and modified configurations for private container registries.
When to Use This Module
- Deploying Argo Workflows in environments without internet access
- Working with air-gapped Kubernetes clusters
- Preparing offline deployment packages
- Learning air-gap deployment patterns
Files
images.txt- Complete list of required container imageshelm-values.yaml- Helm values configured for private registrypackage-charts.sh- Script to package Helm charts for offline useREADME.md- This documentation
Usage
Step 1: Package Helm Charts
cd modules/kubernetes/argo-workflows-airgap
./package-charts.shThis creates a charts/ directory with packaged Helm charts.
Step 2: Mirror Images
Use the images.txt file with your image mirroring script:
# In your preparation environment (with internet)
while IFS= read -r image; do
[[ "$image" =~ ^#.*$ ]] && continue # Skip comments
docker pull "$image"
docker save "$image" -o "images/$(echo $image | tr '/:' '_').tar"
done < images.txtStep 3: Deploy in Air-Gapped Environment
- Transfer charts and images to air-gapped environment
- Load images into local registry
- Install using packaged charts with modified values
Image Registry Configuration
The helm-values.yaml is pre-configured to use a local registry at local-registry:5000.
Important: You must:
- Tag images with your registry prefix before loading
- Update the registry address in helm-values.yaml if different
- Ensure the registry is accessible from your cluster
Harbor Notes
While this module uses Docker Registry by default, Harbor is a common choice for production air-gapped environments:
Harbor Advantages:
- Web UI for image management
- Vulnerability scanning
- Image replication and synchronization
- RBAC and project-based organization
- Better suited for large-scale deployments
When to Consider Harbor:
- Multiple air-gapped environments to manage
- Need vulnerability scanning
- Require image replication between sites
- Need fine-grained access control
Harbor Migration: To use Harbor instead of Docker Registry:
- Deploy Harbor in your air-gapped environment
- Update registry address in helm-values.yaml
- Use Harbor's replication features for image sync
- Configure Harbor projects for organization
For Harbor-specific deployment, see Harbor documentation for detailed setup instructions.