GCP秘密经理,Live-Reloaded,和守一起去 笔记

GCP秘密经理,Live-Reloaded,和守一起去

Google Cloud Secret Manager 采用清晰且具明确导向的模型:一个 Secret 是一个容器,其中包含不可变且带编号的版本。您永远不直接修改某个版本,而是添加一个新版本(1、2、3……),待其就绪后,将流量切换至该版本,通常通过解析最新别名(或禁用旧版本)来实现。这是一种真正优秀的设计。但它与大多数 Go 服务消费 Secret 的方式相冲突:您在启动时仅调用一次 AccessSecretVersion("latest") 并缓存结果。从那一刻起,您的进程便固定于启动时"latest"所指代的版本。若此时添加版本 4 并禁用版本 3,您的服务仍会 happily 继续使用版本 3,直到有人重启它——这至多是一次计划内的重新部署,最坏则是在禁用版本不再可解析时引发事故。