From cef17b69f95d20feb93c427835e3485788920f37 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 1 Jul 2025 17:30:15 +0000 Subject: [PATCH] add: support for multiple system accounts and package vars --- roles/os_base/README.md | 46 +++++++++++++++++++++++++++++++++ roles/os_base/defaults/main.yml | 9 +++++-- 2 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 roles/os_base/README.md diff --git a/roles/os_base/README.md b/roles/os_base/README.md new file mode 100644 index 0000000..9fda65f --- /dev/null +++ b/roles/os_base/README.md @@ -0,0 +1,46 @@ +# OS Base + +Example config: +``` +system_accounts: + - name: sysmaint + state: 'present' + system: true + uid: 1000 + groups: + - sudo + - wheel + comment: 'Jzn42.net maintenance user' + create_home: true + sshkey_state: 'present' + sshkeys: + - ssh-ed25519 AAA... + permissions: &maint_permissions + - sudo + - sudo_nopass + - libvirt + + - name: jezĀ· + state: 'present' + uid: 1001 + groups: + - sudo + - wheel + comment: 'Jzn42 admin' + create_home: true + sshkey_state: 'present' + sshkeys: + - ssh-ed25519 AAA... + - ssh-ed25519 AAA... + permissions: *maint_permissions + +system_packages: + - htop + - vim + - ncdu + - git + - iftop + - rsync + - bash + +``` diff --git a/roles/os_base/defaults/main.yml b/roles/os_base/defaults/main.yml index a9ae966..ae5d69b 100644 --- a/roles/os_base/defaults/main.yml +++ b/roles/os_base/defaults/main.yml @@ -1,6 +1,11 @@ --- -system_accounts: [] -system_packages: [] system_packages_norecommend: false system_packages_nosuggest: false + +system_accounts__default: [] +system_packages__default: [] + +system_accounts: "{{ vars | dict2items | selectattr('key', 'match', '^system_accounts__.*') | map(attribute='value') | list | flatten | unique }}" +system_packages: "{{ vars | dict2items | selectattr('key', 'match', '^system_packages__.*') | map(attribute='value') | list | flatten | unique }}" +