Source code for controller.commands.password_modules.postgres

from controller.app import Application
from controller.deploy.docker import Docker
from controller.utilities import services

SERVICE_NAME = __name__
PASSWORD_VARIABLES = ["ALCHEMY_PASSWORD"]
IS_RUNNING_NEEDED = True


[docs] def password(container: tuple[str, str], old_password: str, new_password: str) -> None: docker = Docker() # Interactively: # \password username # Non interactively: # https://ubiq.co/database-blog/how-to-change-user-password-in-postgresql user = Application.env.get("ALCHEMY_USER") db = Application.env.get("ALCHEMY_DB") docker.exec_command( container, user=services.get_default_user(SERVICE_NAME), command=f""" psql -U {user} -d {db} -c \" ALTER USER {user} WITH PASSWORD \'{new_password}\'; \" """, )