From 9dfcfe1ef36afe920b06a87f6e97808018c81068 Mon Sep 17 00:00:00 2001 From: Patrick Marchand Date: Tue, 23 Aug 2022 17:45:19 -0400 Subject: [PATCH] Made it possible to only create a subset of users The evolinux_users_create variable is a list of tags that defaults to ['active']. Only the users that have one of the tags in the evolinux_users_create list will be created. --- CHANGELOG.md | 1 + evolinux-users/defaults/main.yml | 4 ++++ evolinux-users/tasks/main.yml | 4 +++- evolinux-users/tasks/ssh.yml | 1 + evolinux-users/tasks/sudo.yml | 4 ++++ 5 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a4d0f3a6..b01a2bb1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ The **patch** part changes is incremented if multiple releases happen the same m ### Added * php: install php-xml with recent PHP versions +* evolinux_user_create variable for evolinux-users that allows creating only a subset of users, defaults to active ### Changed diff --git a/evolinux-users/defaults/main.yml b/evolinux-users/defaults/main.yml index 8ff94551..cbe6bca4 100644 --- a/evolinux-users/defaults/main.yml +++ b/evolinux-users/defaults/main.yml @@ -6,3 +6,7 @@ evolinux_ssh_group: "evolinux-ssh" evolinux_internal_group: "" evolinux_root_disable_ssh: True + +# Defines which groups of users are created +evolinux_users_create: + - active \ No newline at end of file diff --git a/evolinux-users/tasks/main.yml b/evolinux-users/tasks/main.yml index 1b838e01..e8c52408 100644 --- a/evolinux-users/tasks/main.yml +++ b/evolinux-users/tasks/main.yml @@ -16,7 +16,9 @@ vars: user: "{{ item.value }}" loop: "{{ evolinux_users | dict2items }}" - when: evolinux_users | length > 0 + when: + - user.create | intersect(evolinux_users_create) | length > 0 + - evolinux_users | length > 0 - name: Configure sudo include: sudo.yml diff --git a/evolinux-users/tasks/ssh.yml b/evolinux-users/tasks/ssh.yml index b0bf8b58..16c4eb67 100644 --- a/evolinux-users/tasks/ssh.yml +++ b/evolinux-users/tasks/ssh.yml @@ -50,6 +50,7 @@ user: "{{ item.value }}" loop: "{{ evolinux_users | dict2items }}" when: + - user.create | intersect(evolinux_users_create) | length > 0 - ssh_allowusers - not ssh_allowgroups diff --git a/evolinux-users/tasks/sudo.yml b/evolinux-users/tasks/sudo.yml index 4056e7ad..fa537079 100644 --- a/evolinux-users/tasks/sudo.yml +++ b/evolinux-users/tasks/sudo.yml @@ -6,6 +6,7 @@ loop: "{{ evolinux_users | dict2items }}" when: - evolinux_users | length > 0 + - user.create | intersect(evolinux_users_create) | length > 0 - ansible_distribution_release == "jessie" @@ -16,6 +17,9 @@ vars: user: "{{ item.value }}" loop: "{{ evolinux_users | dict2items }}" + when: + - evolinux_users | length > 0 + - user.create | intersect(evolinux_users_create) | length > 0 when: - ansible_distribution_major_version is defined - ansible_distribution_major_version is version('9', '>=')