Air-gapped Argo CD Helm chart image (chart 9.5.11 / Argo CD v3.3.9); helm entrypoint
184
Self-contained Argo CD Helm chart image for air-gapped installs. ENTRYPOINT is helm.
This image bakes the vendored Argo CD Helm chart (plus an empty repo config and an app-of-apps parent chart) on top of alpine/helm, so you can run helm subcommands against the chart with no network access. It is meant for air-gapped environments: mount a kubeconfig and use it to template or install Argo CD into your cluster. Container images referenced by the chart are not bundled — you must make them available to the target cluster on-prem.
docker pull n8500x/argocd
The entry point is helm, so pass helm subcommands as args. The chart is baked in at ./argo-cd-9.5.11.tgz (working directory /argocd).
Render the baked manifests (no cluster needed):
docker run --rm n8500x/argocd \
template argocd ./argo-cd-9.5.11.tgz -n argocd
Install into a cluster (mount your kubeconfig read-only):
docker run --rm -v $HOME/.kube:/root/.kube:ro n8500x/argocd \
install argocd ./argo-cd-9.5.11.tgz -n argocd --create-namespace
alpine/helm (provides the helm binary and entry point).argo-cd version 9.5.11 (vendored as argo-cd-9.5.11.tgz).appofapps/ (chart version 0.1.0) — renders a set of child Argo CD Application resources from values.yaml, so a single parent Application can bootstrap a tree of children./argocd, containing the chart, an empty repo config, and the appofapps chart.Container images are NOT bundled in this image — make the images referenced by the chart available to the target cluster on-prem (e.g. a local registry / mirror).
helm — the container runs helm <your args>. Provide the subcommand and flags (template, install, -n, --create-namespace, etc.)./root/.kube (read-only) for commands that talk to a cluster, e.g. -v $HOME/.kube:/root/.kube:ro../argo-cd-9.5.11.tgz relative to the /argocd working directory.No custom environment variables or exposed ports are defined by this image; behavior is driven entirely by the helm subcommands you pass.
The bundled appofapps chart is configured via appofapps/values.yaml. Shared defaults include argocdNamespace (argocd), project (default), destinationServer (https://kubernetes.default.svc), targetRevision (HEAD), a repoBase/repoSuffix used to derive each app's repoURL, chartPath, and a syncPolicy (automated prune + selfHeal, CreateNamespace=true). Each entry in applications is either a bare app name or a map overriding name, repoURL, path, namespace, targetRevision, or syncWave.
From this directory:
docker build -t argocd-installer:3.3.9 .
Save for air-gapped transport:
docker save argocd-installer:3.3.9 -o argocd-installer-3.3.9.tar
template/install.backend-protocol: HTTPS + proxy-ssl-verify: off, or TLS passthrough). See EXPOSE.md, argocd-server-ingress.yaml, and argocd-ui-tunnel.sh for UI exposure on minikube and on-prem.admin):
kubectl -n argocd get secret argocd-initial-admin-secret \
-o jsonpath='{.data.password}' | base64 -d; echo
--grpc-web.Content type
Image
Digest
sha256:1c527c99f…
Size
34.9 MB
Last updated
4 months ago
docker pull n8500x/argocd:20260530-091442