Source code for tcms.utils.secrets
"""
Helper module which deals with loading values from ENV or Docker Secrets.
"""
import os
[docs]
def get_secret(key, default):
"""
key could be:
- an ENV variable
- /run/secrets/a_secret_name
- /arbitrary/file/inside/container
"""
value = os.environ.get(key, default)
if value and value.startswith("/") and os.path.isfile(value):
with open(value, "r", encoding="utf-8") as secret_file:
return secret_file.read().strip()
return value