在 argocd 中管理机密时,我使用 base64 对 argocd-secret 中的值进行编码并将其设置为 manifest。
在这种情况下,虽然我使用了 kusotomize、构建和应用它,但由 base64 编码的秘密将进一步编码为 base64。
$ echo -n "clientid" | base64
Y2xpZW50aWQ=
$ echo -n "clientsecret" | base64
Y2xpZW50c2VjcmV0
---
apiVersion: v1
kind: Secret
metadata:
name: argocd-secret
type: Opaque
stringData:
dex.github.clientID: Y2xpZW50aWQ=
dex.github.clientSecret: Y2xpZW50c2VjcmV0
如果你使用 kustomize build 构建并检查差异,它看起来像这样
$ kustomize build --load_restrictor none overlays/dev/ap-northeast-1/argocd | k diff -f -
+ dex.github.clientID: WTJ4cFpXNTBhV1E9
+ dex.github.clientSecret: WTJ4cFpXNTBjMlZqY21WMA==
我不明白为什么用 base64 编码的东西会被进一步编码。我要去寻求某人的帮助。
谢谢。