ansible-role-accounts/tasks/users.yml
2021-10-14 22:05:02 +02:00

29 lines
972 B
YAML

- name: store dynamic defaults
set_fact:
dynamic_defaultuser:
home: "{{ ('/var/lib/'+currentuser.key) if (currentuser.value.system|d(True)) else ('/home/'+currentuser.key) }}"
- name: apply overrides to current user
set_fact:
user: "{{ {}|combine(defaultuser, dynamic_defaultuser, currentuser.value|d({}), {'name': currentuser.key} ) }}"
- name: "create user ({{ user.name }})"
user:
name: "{{ user.name }}"
generate_ssh_key: "{{ user.genssh }}"
ssh_key_type: "{{ user.ssh_key_type }}"
group: "{{ user.group }}"
groups: "{{ user.groups }}"
home: "{{ (user.home) }}"
system: "{{ user.system }}"
state: "{{ user.state }}"
uid: "{{ user.uid|d(omit) }}"
password: "{{ user.password }}"
shell: "{{ user.shell }}"
- name: "setup ssh key(s) ({{ user.name }})"
loop: "{{ user.authorized_keys|dict2items }}"
authorized_key:
user: "{{ user.name }}"
key: "{{ item.value }}"
comment: "{{ item.key }}"