42 lines
1.2 KiB
YAML
42 lines
1.2 KiB
YAML
---
|
|
- include_tasks: creategroups.yml
|
|
loop: "{{ github_users }}"
|
|
loop_control:
|
|
loop_var: user_data
|
|
|
|
- name: Ensure user accounts are present
|
|
become: true
|
|
user:
|
|
name: "{{ item.user | default(item) }}"
|
|
shell: /bin/bash
|
|
createhome: true
|
|
groups: "{{ item.groups | default(item) }}"
|
|
append: yes
|
|
home: /home/{{ item.user | default(item) }}
|
|
state: present
|
|
password: "{{ created_users_pass }}"
|
|
update_password: "on_create"
|
|
with_items: "{{ github_users }}"
|
|
|
|
- name: Ensure authorized_keys for GitHub user accounts are present
|
|
become: true
|
|
authorized_key:
|
|
user: "{{ item.user | default(item) }}"
|
|
key: "{{ github_url }}/{{ item.account | default('') }}.keys"
|
|
manage_dir: true
|
|
state: present
|
|
exclusive: False
|
|
with_items: "{{ github_users }}"
|
|
ignore_errors: true
|
|
register: task_result
|
|
failed_when: "'blah' in task_result"
|
|
|
|
- name: Set passwordless sudo
|
|
become: true
|
|
lineinfile:
|
|
dest: /etc/sudoers
|
|
line: "{{ item.user | default(item) }} ALL=(ALL) NOPASSWD:ALL"
|
|
state: present
|
|
validate: "visudo -cf %s"
|
|
with_items: "{{ github_users }}"
|
|
when: item.user is defined and item.passwordless_sudo is true
|