feat(semaphore): add semaphore_force_admin_user option
- When set to true, deletes existing admin user before creating - Useful for recovering from bad password or broken user state
This commit is contained in:
@@ -29,3 +29,6 @@ semaphore_admin_user: admin
|
|||||||
semaphore_admin_name: Administrator
|
semaphore_admin_name: Administrator
|
||||||
semaphore_admin_email: admin@local.mk-labs.cloud
|
semaphore_admin_email: admin@local.mk-labs.cloud
|
||||||
# semaphore_admin_password: defined in vault
|
# semaphore_admin_password: defined in vault
|
||||||
|
|
||||||
|
# Set to true to force recreation of the admin user (deletes existing user first)
|
||||||
|
semaphore_force_admin_user: false
|
||||||
|
|||||||
@@ -100,3 +100,30 @@
|
|||||||
- semaphore_admin_password is defined
|
- semaphore_admin_password is defined
|
||||||
- semaphore_admin_user not in semaphore_user_list.stdout
|
- semaphore_admin_user not in semaphore_user_list.stdout
|
||||||
no_log: true
|
no_log: true
|
||||||
|
|
||||||
|
- name: Force delete admin user if requested
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: "podman exec {{ semaphore_container_name }} semaphore user delete --login {{ semaphore_admin_user }}"
|
||||||
|
register: delete_admin_result
|
||||||
|
failed_when: false
|
||||||
|
changed_when: delete_admin_result.rc == 0
|
||||||
|
when:
|
||||||
|
- semaphore_force_admin_user | bool
|
||||||
|
- semaphore_admin_user in semaphore_user_list.stdout
|
||||||
|
no_log: true
|
||||||
|
|
||||||
|
- name: Create initial admin user (forced)
|
||||||
|
ansible.builtin.command:
|
||||||
|
cmd: >
|
||||||
|
podman exec {{ semaphore_container_name }} semaphore user add --admin
|
||||||
|
--login {{ semaphore_admin_user }}
|
||||||
|
--name "{{ semaphore_admin_name }}"
|
||||||
|
--email {{ semaphore_admin_email }}
|
||||||
|
--password {{ semaphore_admin_password }}
|
||||||
|
register: create_admin_result
|
||||||
|
changed_when: create_admin_result.rc == 0
|
||||||
|
failed_when: create_admin_result.rc != 0
|
||||||
|
when:
|
||||||
|
- semaphore_force_admin_user | bool
|
||||||
|
- semaphore_admin_password is defined
|
||||||
|
no_log: true
|
||||||
|
|||||||
Reference in New Issue
Block a user