Capsailer is a CLI tool for delivering Kubernetes applications into air-gapped (offline) environments.
Capsailer packages Helm charts and container images into a portable archive that can be deployed in air-gapped Kubernetes environments. It handles the entire workflow from bundle creation to deployment without requiring external dependencies like Docker or skopeo.
- Package container images and Helm charts into a single portable bundle
- Deploy a local container registry and Helm chart repository in air-gapped environments
- Push images and charts without requiring external tools
- Self-contained CLI with no dependencies in the air-gapped environment
# Linux (amd64)
curl -Lo capsailer.tar.gz https://github.com/capsailer/capsailer-cli/releases/latest/download/capsailer-linux-amd64.tar.gz
tar -xzf capsailer.tar.gz
chmod +x capsailer
sudo mv capsailer /usr/local/bin/
# macOS (Intel)
curl -Lo capsailer.tar.gz https://github.com/capsailer/capsailer-cli/releases/latest/download/capsailer-darwin-amd64.tar.gz
tar -xzf capsailer.tar.gz
chmod +x capsailer
sudo mv capsailer /usr/local/bin/
# macOS (Apple Silicon)
curl -Lo capsailer.tar.gz https://github.com/capsailer/capsailer-cli/releases/latest/download/capsailer-darwin-arm64.tar.gz
tar -xzf capsailer.tar.gz
chmod +x capsailer
sudo mv capsailer /usr/local/bin/For Windows, download from the releases page.
git clone https://github.com/capsailer/capsailer-cli.git
cd capsailer
go build -o capsailer cmd/capsailer/main.goimages:
- nginx:1.25
- redis:7.0
charts:
- name: redis
repo: https://charts.bitnami.com/bitnami
version: 17.11.7
valuesFile: redis-values.yamlcapsailer init --manifest manifest.yaml
capsailer build --manifest manifest.yaml --output bundle.tar.gz# Deploy registry
capsailer registry --namespace my-registry
# Push artifacts from bundle
capsailer push --bundle bundle.tar.gz --namespace my-registry
# Deploy applications
kubectl port-forward -n my-registry svc/chartmuseum 8080:8080 &
helm repo add local-charts http://localhost:8080
helm repo update
helm install my-release local-charts/redis| Command | Description |
|---|---|
init |
Validate and normalize the manifest |
build |
Download and package images and charts |
registry |
Deploy a container registry in Kubernetes |
push |
Push images and charts to a registry |
unpack |
Extract bundle contents |
For complete documentation, visit docs.capsailer.dev or build locally:
pip install -r requirements.txt
mkdocs serveContributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.