templates - Consul-Termplate - 将变量插入“带秘密”证书调用的语法是什么
问题描述
我正在尝试使用 vault-agent 的模板功能将服务器特定的证书和密钥从 vault 下载到我的每个领事服务器。
推荐的方法是将通用名称和 SAN 设置为 HOSTNAME.DATACENTER.DOMAIN。我正在使用模板变量来构建特定于模板中节点的 CN,但我无法获得正确的语法以在“with secret”调用中正确使用该变量
模板现在看起来像这样
{{ with node }}
{{ $CN := {{ .Node.Node }}.{{ .Node.Datacenter }}.paradigm }}
{{ with secret "pki/issue/certs" "common_name=$CN" "alt_names=localhost $CN" "ip_sans=127.0.0.1" "ttl=72h" }}
{{- .Data.certificate -}}
{{ end }}
{{ end }}
当我在 with secret 调用中手动键入所需的 CN 时,它可以正常工作并写出证书,因此我的 Vault 访问正常工作。但是,当使用变量方法时,这会失败并显示“$CN 不是此角色允许的通用名称”。这似乎表明模板正在将“$CN”作为文字文本读取,而不是将其解析为设置值。
这对我来说似乎是一个语法错误,但在过去 2 天里尝试了多个选项,我希望有人能给我一个关于正确语法的指针(或者让我摆脱痛苦并告诉我我正在尝试不可能完成的任务)
在此先感谢您的帮助
解决方案
推荐阅读
- javascript - 尝试在新标签(AngularJS)中下载 PDF 时获取垃圾字符
- python - 如何编写使用其他 C 程序的父程序?
- php - 循环遍历 JSON 对象,另一个数组中的一个数组
- javascript - 每次循环更改变量
- c - 替换键盘中断(中断 9)进行两次调用而不是一次调用
- visual-studio - 是否可以在 resx 文件中替换令牌?
- powerbi - Power BI:如何使可视化设置切片器值?
- python - 在文件名列表的每个项目中搜索日期时间值
- autohotkey - AutoHotKey - ImageSearch 两个或多个图像
- powershell - 使用 PowerShell 保存 Outlook 附件