Оператор Kubernetes Go использует секретные данные
Можно ли читать и использовать значения данных секрета Kubernetes из оператора Kubernetes go? В частности, мне нужна функция согласования, чтобы иметь возможность вызывать частный 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>"}
Я ожидал, что тогда я смогу просто использовать secret.Data["Token"] как строку в заголовке авторизации запроса github:
reqLogger.Info(string(secret.Data["Token"]))
req.Header.Add("Authorization", "Token" + " " + string(secret.Data["Token"]))
Это не работает, и журнал показывает строку токена как нечитаемую серию символов Unicode.
Есть ли какой-то шаг декодирования или аналогичный, который мне здесь не хватает, или это вообще возможно?