diff options
Diffstat (limited to 'roles/core/groups')
-rw-r--r-- | roles/core/groups/tasks/main.yml | 26 | ||||
-rw-r--r-- | roles/core/groups/vars/main.yml | 3 |
2 files changed, 29 insertions, 0 deletions
diff --git a/roles/core/groups/tasks/main.yml b/roles/core/groups/tasks/main.yml new file mode 100644 index 00000000..aa19aabc --- /dev/null +++ b/roles/core/groups/tasks/main.yml @@ -0,0 +1,26 @@ +--- +- name: add system groups + loop: "{{ system_groups | list }}" + group: + name: "{{ item }}" + state: present + system: yes + +- name: add normal groups + loop: "{{ normal_groups | list }}" + group: + name: "{{ item }}" + state: present + + ## TODO: until something like this https://github.com/ansible/ansible/issues/11024 lands + ## we will do this the quick and dirty way + +- name: set group members the hacky way + loop: "{{ normal_groups | combine(system_groups) | dict2items }}" + loop_control: + label: "{{ item.key }}" + lineinfile: + path: /etc/group + regexp: '^{{ item.key }}:(.*):[^:]*$' + backrefs: yes + line: '{{ item.key }}:\1:{{ item.value | sort | join(",") }}' diff --git a/roles/core/groups/vars/main.yml b/roles/core/groups/vars/main.yml new file mode 100644 index 00000000..e09ecea3 --- /dev/null +++ b/roles/core/groups/vars/main.yml @@ -0,0 +1,3 @@ +--- +normal_groups: "{{ normal_groups_group | combine(normal_groups_host) }}" +system_groups: "{{ system_groups_group | combine(system_groups_host) }}" |