Ansible Collection - kencx.ansible
This collection contains roles and playbooks for bootstrapping my homelab and workstation.
Roles
Refer to docs/roles.md for documentation.
security
provides basic hardening such as configuringsudo
, SSH hardening, installing ufw and fail2banterraform
installs Terraform CLIpython3
installs and updates Python3 and pip3dotfiles
installs custom dotfiles for remote machinesgoss
installs and runs Goss server validationssl
generates TLS certificates from root and intermediate CAs
Playbooks
Bootstraps a brand new development workstation. Tested on Ubuntu 21.04.
Refer to playbooks
for more details.
Development
Prerequisites
- ansible[lint]
- molecule[docker,vagrant]
- Docker
- Vagrant
- make
When testing locally, the collection can be quickly installed to the local collections path with
$ make galaxy-install
Molecule
To debug and test roles, run:
$ make converge scen=security
$ make verify scen=security
Issues
When running roles with service
, systemd is required. However,
there are
issues with
running systemd in Docker containers. As such, these roles require Vagrant and
molecule-vagrant. Affected roles:
security
Additionally, apt update
is not working well in Debian 10 container due to
"oldstable".
TODO
-
group_vars
- versioning
- molecule scenario for
binaries