Оператор 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.

Есть ли какой-то шаг декодирования или аналогичный, который мне здесь не хватает, или это вообще возможно?

0 ответов

Другие вопросы по тегам