是否可以从 Kubernetes go 操作符中读取和使用 Kubernetes 密钥的数据值?具体来说,我需要协调功能才能调用私人 github。授权令牌将存储在 k8s 机密中。因此,我需要能够加载指定的秘密并从秘密数据中提取令牌。
我能够得到这个秘密:
secret := &corev1.Secret{}
err = r.client.Get(context.TODO(), secretNamespaceName, secret)
reqLogger.Info("Secret", "object", secret, "data", secret.Data)
输出显示正确的秘密数据:
"data":{"Token":"<the token string>"}
我期待我可以在 github 请求 Authorization 标头中使用 secret.Data["Token"] 作为字符串:
reqLogger.Info(string(secret.Data["Token"]))
req.Header.Add("Authorization", "Token" + " " + string(secret.Data["Token"]))
这不起作用,日志将令牌字符串显示为一系列不可读的 unicode 字符。
我在这里是否缺少一些解码步骤或类似步骤,或者这是否可能?