SOPS
只加密 YAML/JSON 的值、保留结构与注释,密钥交给 age 或 KMS。CNCF 项目。
和整文件加密不同:SOPS 只加密**值**,键名、结构与注释保持明文 —— 所以加密后的文件在 Git 里仍然能看出 diff 是改了哪一项。数据密钥本身用 age、PGP 或云 KMS 包一层,可以配多个接收方(人 + CI 各一把)。Flux 内置解密 SOPS 文件;Argo CD 侧要靠插件或 KSOPS。原本由 Mozilla 维护,现已进 CNCF。
上游活跃度
2026-08-23 抓取 · 数据来自 getsops/sops (github)star22,899
最近提交2026-08-17
最新版本v3.13.32026-07-23
数字由构建期抓取,非实时;star 数不同代码托管平台之间不可直接比较。
运行依赖
- 一把主密钥:age 密钥对(最简)、PGP,或云 KMS
上手前注意
- 解密的一端仍需要拿到私钥 —— 在 K8s 里那把私钥又是一个 Secret,链条到这里并没有凭空消失
- 轮换接收方要对所有文件重新 `updatekeys`,漏掉的文件会在某次部署时才暴露
- .sops.yaml 的 creation_rules 决定哪些路径用哪把密钥,写错的后果是「以为加密了其实是明文提交」—— 加一条 CI 检查比靠自觉可靠