Vault не возвращает токен, обновленный скриптомPython

Программы на Python
Anonymous
Vault не возвращает токен, обновленный скриптом

Сообщение Anonymous »

Я пишу скрипт для обновления токенов Hashicorp Vault. Но я столкнулся с проблемой. Когда токен автоматически обновляется сценарием, Vault возвращает значение n/a вместо значения токена, поэтому я не могу его нигде сохранить, например, в секрете kubernetes.
Вывод выглядит следующим образом:

Код: Выделить всё

---                  -----
token                n/a
token_accessor       -------------
token_duration       10h
token_renewable      true
token_policies       ["default"]
identity_policies    []
policies             ["default"]
Мой сценарий:

Код: Выделить всё

import subprocess
import json
from kubernetes import client, config

def renew_vault_token(vault_pod, token_id):
try:
result = subprocess.run(
['kubectl', 'exec', '-ti', vault_pod, '-n', 'vault', '--', 'vault', 'token', 'renew', '-accessor', token_id],
capture_output=True, text=True, check=True
)

output = result.stdout
print("Vault renew output:", output)  # Debugging output

token_line = next(line for line in output.splitlines() if line.startswith('token'))
new_token = token_line.split(None, 1)[1]

print(new_token)
return new_token

except subprocess.CalledProcessError as e:
print(f"Error renewing token: {e}")
return None

if __name__ == "__main__":
VAULT_POD = 'vault-0'
TOKEN_ID = '----------------'

new_token = renew_vault_token(VAULT_POD, TOKEN_ID)
Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/790 ... -by-script

Вернуться в «Python»