我想创建一个类似的东西:
{{with secret "secret/data"}}
{{range $k, $v := .Data}}
{{if eq $k "db-primary"}}
{{with $secret := secret "mysql-$v/creds/primary"}}
{{$secret.username}}:{{$secret.password}}
{{end}}
{{end}}
{{end}}
{{end}}
,其中$v
为动态值。我不知道如何让嵌套的with
语句解析$v
的值到它的参数。
如果有人想做类似的事情,我找到了答案
{{with secret "secret/data"}}
{{range $k, $v := .Data}}
{{if eq $k "db-primary"}}
{{with $secret := secret (printf "mysql-%s/creds/primary" $v)}}
{{$secret.username}}:{{$secret.password}}
{{end}}
{{end}}
{{end}}
{{end}}
使用printf
可以让我动态地替换和注入值。