feat: bring back the tag block

This commit is contained in:
Simon Cornet 2025-07-14 15:02:08 +02:00
commit bcd3ee8064

View file

@ -1,65 +1,70 @@
--- ---
# manage facts # manage users
- name: "user - set default facts for {{ __user['username'] }}" - name: "manage users"
ansible.builtin.set_fact: tags: "usermanagement"
sudo_hosts: "{{ __user['hosts'] | default('all') }}" block:
sudo_file: "{{ __user['sudo'] | default('False') }}"
sudo_pwless: "{{ __user['sudo_passwordless'] | default('False') }}"
user_state: "{{ __user['state'] | default('present') }}"
# create user with password # manage facts
- name: "user - create users with password - {{ __user['username'] }}" - name: "user - set default facts for {{ __user['username'] }}"
ansible.builtin.user: ansible.builtin.set_fact:
name: "{{ __user['username'] }}" sudo_hosts: "{{ __user['hosts'] | default('all') }}"
comment: "{{ __user['name'] }}" sudo_file: "{{ __user['sudo'] | default('False') }}"
password: "{{ __user['password'] }}" sudo_pwless: "{{ __user['sudo_passwordless'] | default('False') }}"
shell: "{{ __user['shell'] | default('/bin/bash') }}" user_state: "{{ __user['state'] | default('present') }}"
state: "present"
when:
- "__user['password'] is defined"
- "user_state == 'present'"
# create user without password # create user with password
- name: "user - create users without password - {{ __user['username'] }}" - name: "user - create users with password - {{ __user['username'] }}"
ansible.builtin.user: ansible.builtin.user:
name: "{{ __user['username'] }}" name: "{{ __user['username'] }}"
comment: "{{ __user['name'] }}" comment: "{{ __user['name'] }}"
shell: "{{ __user['shell'] | default('/bin/bash') }}" password: "{{ __user['password'] }}"
state: "{{ user_state }}" shell: "{{ __user['shell'] | default('/bin/bash') }}"
when: state: "present"
- "__user['password'] is not defined" when:
- "user_state == 'present'" - "__user['password'] is defined"
- "user_state == 'present'"
# manage authorized_keys # create user without password
- name: "user - manage authorized_keys - {{ __user['username'] }}" - name: "user - create users without password - {{ __user['username'] }}"
ansible.posix.authorized_key: ansible.builtin.user:
user: "{{ __user['username'] }}" name: "{{ __user['username'] }}"
key: "{{ __user['publickey'] }}" comment: "{{ __user['name'] }}"
state: "present" shell: "{{ __user['shell'] | default('/bin/bash') }}"
manage_dir: "true" state: "{{ user_state }}"
when: "__user['publickey'] is defined" when:
- "__user['password'] is not defined"
- "user_state == 'present'"
# delete users # manage authorized_keys
- name: "user - delete users - {{ __user['username'] }}" - name: "user - manage authorized_keys - {{ __user['username'] }}"
ansible.builtin.user: ansible.posix.authorized_key:
name: "{{ __user['username'] }}" user: "{{ __user['username'] }}"
state: "absent" key: "{{ __user['publickey'] }}"
remove: true state: "present"
when: "user_state == 'absent'" manage_dir: "true"
when: "__user['publickey'] is defined"
# manage sudoers file # delete users
- name: "user - create sudoers file - {{ __user['username'] }}" - name: "user - delete users - {{ __user['username'] }}"
ansible.builtin.template: ansible.builtin.user:
src: "templates/usermanagement/sudoers.d/sudoers.j2" name: "{{ __user['username'] }}"
dest: "/etc/sudoers.d/{{ __user['username'] }}" state: "absent"
owner: "root" remove: true
group: "root" when: "user_state == 'absent'"
mode: "0644"
when: "sudo_file"
- name: "user - delete sudoers file - {{ __user['username'] }}" # manage sudoers file
ansible.builtin.file: - name: "user - create sudoers file - {{ __user['username'] }}"
state: "absent" ansible.builtin.template:
path: "/etc/sudoers.d/{{ __user['username'] }}" src: "templates/usermanagement/sudoers.d/sudoers.j2"
when: "not sudo_file" dest: "/etc/sudoers.d/{{ __user['username'] }}"
owner: "root"
group: "root"
mode: "0644"
when: "sudo_file"
- name: "user - delete sudoers file - {{ __user['username'] }}"
ansible.builtin.file:
state: "absent"
path: "/etc/sudoers.d/{{ __user['username'] }}"
when: "not sudo_file"