Source code for spicerack.interactive
"""Interactive module."""
import logging
import os
from wmflib.interactive import get_secret
from spicerack.exceptions import SpicerackError
logger = logging.getLogger(__name__)
[docs]
def get_management_password() -> str:
"""Get the management password either from the environment or asking for it.
Raises:
spicerack.exceptions.SpicerackError: if the password is empty.
"""
password = os.getenv("MGMT_PASSWORD")
if password is None:
logger.debug("MGMT_PASSWORD environment variable not found")
# Ask for a password, raise exception if not a tty
password = get_secret("Management Password")
else:
logger.info("Using Management Password from the MGMT_PASSWORD environment variable")
if not password:
raise SpicerackError("Empty Management Password")
return password