summaryrefslogtreecommitdiff
path: root/roles/core/users/tasks/main.yml
blob: 847711abc553c248153199d79e8fedff0c44149a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
---
- name: load os/distrubtion/version specific variables
  include_vars: "{{ item }}"
  with_first_found:
    - files:
        - "{{ ansible_distribution_release }}.yml"
        - "{{ ansible_distribution }}.yml"
        - "{{ ansible_os_family }}.yml"

- name: load os/distrubtion/version specific tasks
  vars:
    params:
      files:
      - "{{ ansible_distribution_release }}.yml"
      - "{{ ansible_distribution }}.yml"
      - "{{ ansible_os_family }}.yml"
  loop: "{{ q('first_found', params) }}"
  loop_control:
    loop_var: tasks_file
  include_tasks: "{{ tasks_file }}"

- name: add normal users
  loop: "{{ normal_users | difference(admin_users) }}"
  user:
    name: "{{ item }}"
    state: present
    password: "{{ hostvars[inventory_hostname]['vault_user_password_'+item] }}" ## TODO: find nicer way to do this
    shell: "{{ users[item].shell | default(users_default_shell) }}"

- name: add admin users
  loop: "{{ admin_users }}"
  user:
    name: "{{ item }}"
    state: present
    password: "{{ hostvars[inventory_hostname]['vault_user_password_'+item] }}" ## TODO: find nicer way to do this
    groups: "{{ admin_users_groups }}"
    append: yes
    shell: "{{ users[item].shell | default(users_default_shell) }}"

- name: install ssh keys for users
  loop: "{{ normal_users | union(admin_users) }}"
  when: "'ssh' in users[item]"
  authorized_key:
    user: "{{ item }}"
    key: "{{ users[item].ssh | join('\n') }}"
    exclusive: yes