TODOΒΆ

  • tasks/02_breakglass.yml:20-25 hands the break-glass password to semaphore user change-by-login as the --password argument of a container exec call, so the value is part of the process argument list on the hosting node and in the container while the command runs, and of the command text of the task in a deploy log whenever MASK_CREDENTIALS_IN_LOGS is off. Cause: the task builds the command line from SEMAPHORE_ADMIN_PASSWORD. Options: use a stdin or environment route when semaphore user change-by-login --help offers one; let a shell inside the container expand $SEMAPHORE_ADMIN_PASSWORD, which templates/env.j2 already sets there, which keeps the value out of the command text of the task but not out of the argument list of the semaphore process; or change the password through POST /api/users/<id>/password with the JSON body fed on stdin.