Source code for controller.commands.password_modules.backend

from typing import Tuple

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

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


[docs] def password(container: Tuple[str, str], old_password: str, new_password: str) -> None: docker = Docker() # restapi init need the env variable to be updated but can't be done after # the restart because it often fails because unable to re-connect to # services in a short time and some long sleep would be needed # => applied a workaround to be able to execute it before the restart docker = Docker() docker.exec_command( container, user=services.get_default_user(SERVICE_NAME), command=f"""/bin/bash -c ' AUTH_DEFAULT_PASSWORD=\"{new_password}\" restapi init --force-user ' """, )