Commit Graph
10 Commits
Author SHA1 Message Date
volker.raschekandCopilot 00f465e5e1 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>
2026-09-09 21:39:42 +02:00
volker.raschekandCopilot 5f757914be fix(tasks): remove the btrfs subvolume of a deleted unix user
Deleting a user whose home is a btrfs subvolume left that subvolume behind. The role passed remove=true to the user
module, but userdel removes a home directory with rmdir, which refuses to delete a subvolume that still holds nested
subvolumes or is otherwise not empty. The home therefore survived the removal and blocked a later recreation of the
same user, because btrfs_subvolume then found the path already occupied.

The subvolume is now deleted explicitly by the same module that created it, which keeps the creation and the removal
symmetric. Snapshots are stored outside the subvolume, so a btrbk based backup keeps the data available even though
the home itself is gone.

The removal is skipped when the home directory no longer exists, since findmnt fails on a missing path.

Co-authored-by: Copilot <copilot@github.com>
2026-09-09 21:39:42 +02:00
volker.raschek 86d85c431c fix!: rename environments to envs
Ansible Linter / ansible-lint (push) Successful in 19s
Lint Markdown files / markdown-lint (push) Successful in 4s
2026-01-07 11:16:12 +01:00
volker.raschek 88e9a163e1 docs: support environment variables in authorized_keys file
Ansible Linter / ansible-lint (push) Successful in 18s
Lint Markdown files / markdown-lint (push) Successful in 5s
2026-01-07 10:35:40 +01:00
volker.raschek 69491c9aa0 feat: support environment variables in authorized_keys file
Ansible Linter / ansible-lint (push) Successful in 21s
Lint Markdown files / markdown-lint (push) Successful in 5s
2026-01-07 10:28:13 +01:00
volker.raschek af94964494 docs(README): remove dead link
Lint Markdown files / markdown-lint (push) Successful in 10s
Ansible Linter / ansible-lint (push) Successful in 31s
2025-07-12 23:27:07 +02:00
volker.raschek 7bced73bdf docs(README): add further details
Lint Markdown files / markdown-lint (push) Failing after 11s
Ansible Linter / ansible-lint (push) Successful in 48s
2025-07-12 23:22:31 +02:00
volker.raschek 08e1625648 docs(README): remove drone badge
Ansible Linter / ansible-lint (push) Successful in 13s
Lint Markdown files / markdown-lint (push) Successful in 4s
2025-06-01 12:27:40 +02:00
volker.raschek e07bf4c459 fix: ansible galaxy id 2022-05-09 10:24:35 +02:00
volker.raschek 35890645a6 Initial Commit 2022-05-09 10:17:07 +02:00