29 lines
972 B
YAML
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 }}"
|