camptocamp/argocd本Argo CD Docker镜像包含使用Sops加密Helm值文件所需的工具,基于原生Argo CD镜像构建,额外集成了加密/解密相关组件,旨在简化Argo CD环境中加密Helm值文件的管理流程。
valueFiles、values等原生Helm功能,无需配置自定义工具链。/app/config/gpg/privkey.asc的GPG私钥(若存在)。适用于需要在Argo CD中安全管理敏感配置的场景,尤其是通过Sops加密Helm值文件的场景。支持以下加密方式:
适用于Kubernetes环境中需通过Argo CD部署包含敏感信息应用的团队或项目。
参考Helm Sops官方文档开始使用Sops加密Helm值文件。
通过Argo CD Helm chart部署时,需在chart值文件中指定本镜像:
yamlglobal: image: repository: "camptocamp/argocd" tag: "v2.11.3_c2c.1" # 请使用最新镜像标签
如需使用GPG密钥进行Sops解密,需在chart值文件中添加以下配置:
yamlglobal: securityContext: fsGroup: 2000 # 确保容器有权限访问密钥文件 repoServer: volumes: - name: "gpg-private-key" secret: secretName: "argocd-secret" items: - key: "gpg.privkey.asc" path: "privkey.asc" defaultMode: 0600 # 限制密钥文件权限为仅所有者可读 volumeMounts: - name: "gpg-private-key" mountPath: "/app/config/gpg/privkey.asc" # GPG私钥必须挂载至此路径 subPath: "privkey.asc"
将GPG私钥导入argocd-secret(通过加密值文件配置):
gpg --export-secret-keys --armor <密钥ID>yamlconfigs: secret: extra: gpg.privkey.asc: | -----BEGIN PGP PRIVATE KEY BLOCK----- ... # 此处填入导出的GPG私钥内容 -----END PGP PRIVATE KEY BLOCK-----
若使用AWS KMS密钥且无法通过IAM实例配置文件授权,需在chart值文件中添加以下配置:
yamlrepoServer: env: - name: "AWS_ACCESS_KEY_ID" valueFrom: secretKeyRef: name: "argocd-secret" key: "aws.accessKeyId" - name: "AWS_SECRET_ACCESS_KEY" valueFrom: secretKeyRef: name: "argocd-secret" key: "aws.secretAccessKey"
创建专用IAM访问密钥,并在加密值文件中添加:
yamlconfigs: secret: extra: aws.accessKeyId: <Access Key ID> # 替换为实际Access Key ID aws.secretAccessKey: <Secret Access Key> # 替换为实际Secret Access Key
生成AGE密钥:
bashage-keygen -o key.txt
配置Argo CD:在chart值文件中添加以下配置:
yamlrepoServer: env: - name: SOPS_AGE_KEY_FILE value: /app/config/age/keys.txt # AGE密钥文件路径 volumeMounts: - mountPath: /app/config/age/keys.txt name: sops-age subPath: keys.txt volumes: - name: sops-age secret: defaultMode: 420 # 权限0644 items: - key: keys.txt path: keys.txt secretName: argocd-secret
将AGE密钥添加至argocd-secret(通过加密值文件):
yamlconfigs: secret: extra: keys.txt: | ... # 填入key.txt文件内容(AGE密钥)
包含示例应用及对应Argo CD部署配置的示例仓库可参考:argocd-helm-sops-example。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务