SOPS

只加密 YAML/JSON 的值、保留结构与注释,密钥交给 age 或 KMS。CNCF 项目。

和整文件加密不同:SOPS 只加密**值**,键名、结构与注释保持明文 —— 所以加密后的文件在 Git 里仍然能看出 diff 是改了哪一项。数据密钥本身用 age、PGP 或云 KMS 包一层,可以配多个接收方(人 + CI 各一把)。Flux 内置解密 SOPS 文件;Argo CD 侧要靠插件或 KSOPS。原本由 Mozilla 维护,现已进 CNCF。

License
MPL-2.0
语言
Go
自托管
单二进制 · deb / rpm
上游托管版
无
分类
密钥交付
可替换
Doppler
仓库
github.com/getsops/sops
上游文档
文档官网

上游活跃度

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 检查比靠自觉可靠

同类工具(密钥交付)