This Argo CD Docker image comes pre-built with support for encrypted Helm value files using SOPS. No manual image building is required.
- GnuPG – For PGP key management
- Helm Sops (helm-secrets plugin) – For decrypting Helm secrets
Only the argocd-repo-server component requires the custom image. Other Argo CD components can continue using upstream images.
repoServer:
image:
repository: camptocamp/argocd
tag: v3.0.5_c2c.1
imagePullPolicy: ""Before creating the Kubernetes secret, export your GPG private key in ASCII-armored format:
gpg --armor --export-secret-keys <key-id> > gpg.privkey.ascReplace <key-id> with your actual GPG key ID. This file (key.asc) will be used in the next step.
Create a Kubernetes secret containing the exported GPG private key:
kubectl create secret generic argocd-secret --from-file=gpg.privkey.asc -n argocdrepoServer:
volumes:
- name: "gpg-private-key"
secret:
secretName: "argocd-secret"
items:
- key: "gpg.privkey.asc"
path: "privkey.asc"
defaultMode: 0600Make the GPG key accessible to Helm inside the argocd-repo-server container:
repoServer:
volumeMounts:
- name: "gpg-private-key"
mountPath: "/app/config/gpg/privkey.asc"
subPath: "privkey.asc"The
helm-secretsplugin will use this path to access GPG keys during chart decryption.
By default, Argo CD only allows http:// and https:// value file schemes. To support helm-secrets schemes, update the argocd-cm ConfigMap:
configs:
cm:
helm.valuesFileSchemes: >-
secrets+gpg-import, secrets+gpg-import-kubernetes,
secrets+age-import, secrets+age-import-kubernetes,
secrets, secrets+literal,
httpsThis enables Argo CD to recognize and process encrypted Helm value files using schemes like
secrets+gpg-import://.