Files
ansible-role-sudo/README.md
T
volker.raschekandCopilot fc06d1ba9b
Lint Markdown files / markdown-lint (push) Failing after 1m1s
Molecule / Molecule (push) Failing after 1m6s
Ansible Linter / ansible-lint (push) Failing after 1m8s
docs: fix the galaxy badge and describe the tests
The badge referenced the role id 58433 and linked to the unrelated role networking_role, so it neither showed the
download count of this role nor led anywhere useful. The heading is aligned with the galaxy role name as well.

Co-authored-by: Copilot <copilot@github.com>
2026-09-10 21:41:34 +02:00

61 lines
1.7 KiB
Markdown

# volker-raschek.sudo
![Ansible Role](https://img.shields.io/ansible/role/d/volker-raschek/sudo)
With following role can be created sudoers files in `/etc/sudoers.d`. For
example to grant a user special perimssions to execute a program as root.
## Supported distributions
- Arch Linux
- Debian
- Fedora
- RHEL
- Ubuntu 20.04
## Features
- Installing sudo
- Configuring drop-on files in `/etc/sudoers.d`
## Tests
The role is tested with [Molecule](https://ansible.readthedocs.io/projects/molecule/). The scenario starts one docker
container per supported distribution family, applies the role, asserts that a second run reports no change and finally
verifies the created drop-in files, their permissions and content, that a rule declared as `absent` is gone again and
that `visudo` accepts the resulting configuration.
Molecule ships only its `default` driver, therefore `docker` is required beside molecule itself. The collections are
declared in `molecule/default/collections.yml` and installed by molecule.
```bash
pip install molecule docker
```
The complete sequence creates the containers, tests them and removes them afterwards.
```bash
molecule test
```
While working on the role the containers are better kept alive.
```bash
# create the containers and apply the role
molecule converge
# run the assertions of molecule/default/verify.yml against the running containers
molecule verify
# open a shell in one of the containers
molecule login --host sudo-debian
# remove the containers
molecule destroy
```
## Configuring
In the default directory are examples how to configure the network stack. Copy the
defaults into your `host_vars` or `group_vars` and adapt the examples.