fix(meta): declare the versions the role actually requires

The role claimed to work with ansible 2.9, but two of its building blocks did not exist back then. The path_join
filter was introduced in ansible-base 2.10 and the btrfs_subvolume module in community.general 6.6.0, which in turn
requires ansible-core 2.11. Running the role on 2.9 therefore failed with an undefined filter instead of a readable
message about an unsupported control node.

The collection is now declared in a requirements.yml, mirroring the layout of the certificate_authority role, and the
lower bound is pinned because an older community.general still resolves but lacks the btrfs module. The linter
workflow installs that file, because ansible-lint cannot resolve the btrfs_subvolume tasks without the collection
being present, which only surfaced in CI where no collections are preinstalled.

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-09-09 21:39:42 +02:00
co-authored by Copilot
parent 5f757914be
commit 00f465e5e1
4 changed files with 19 additions and 1 deletions
+11
View File
@@ -6,6 +6,17 @@ The ansible role `volker-raschek.unix-users` create and manage users on Linux ba
Linux, Fedora and Ubuntu. Furthermore, the role can also be used to create groups, `~/.forward`, `~/.netrc` and to
manage the `~/.ssh` directory.
## Requirements
The role requires `ansible-core` 2.11 or newer. A home directory can optionally be created as btrfs subvolume, which
relies on the `btrfs_subvolume` module of the collection `community.general`.
```bash
ansible-galaxy collection install -r requirements.yml
```
The role manages users, groups and their home directories, so it has to be executed with `become: true`.
## Examples
### User and group