Ansible playbook for configuring a systems baseline
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Simon Cornet a0a1f8719a
All checks were successful
ci/woodpecker/push/linting Pipeline was successful
docs: improve readme
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-05 17:28:44 +02:00
.woodpecker chore(package): update cr.simoncor.net/dockerhub/davidanson/markdownlint-cli2 docker tag to v0.23.3 2026-09-20 05:46:43 +00:00
roles fix: update requirements to forgejo repo locations 2026-05-15 13:51:05 +02:00
.ansible-lint fix: exclude only sops yml files from lint 2026-07-14 16:23:35 +02:00
.editorconfig chore: add .editorconfig and .gitattributes 2026-05-27 14:23:38 +02:00
.gitattributes chore: add .editorconfig and .gitattributes 2026-05-27 14:23:38 +02:00
.gitignore feat: initial commit 2026-01-24 18:46:03 +01:00
.markdownlint-cli2.jsonc style: ignore line length for markdown tables 2026-05-15 13:44:02 +02:00
.sops.yaml fix: correct sops regex to ya?ml 2026-07-14 16:01:42 +02:00
.yamllint chore: exclude .yml files from lint configs 2026-07-14 16:17:18 +02:00
AGENTS.md style: align markdown table formatting for MD060 compliance 2026-05-18 18:26:21 +02:00
ansible.cfg chore: sync linting and config files from common 2026-07-14 11:33:15 +02:00
playbook.yaml chore(playbook): run galaxy install only on first host 2026-08-13 08:49:03 +02:00
readme.md docs: improve readme 2026-10-05 17:28:44 +02:00
renovate.json feat: initial commit 2026-01-24 18:46:03 +01:00

Ansible Playbook: Base

Configure the system baseline by combining the common role (core OS components and system defaults) with the zabbix_agent role (Zabbix Agent 2 monitoring). The repository contains no role of its own, only a playbook.

Requirements

Supported operating systems follow the child roles: Debian 13 and Alpine 3.23 (see the common role for the full list it handles).

Dependencies

Both roles are installed from roles/requirements.yml (branch main):

Role Description Repository
common Core OS components and system defaults common
zabbix_agent Zabbix Agent 2 monitoring zabbix-agent

Variables

This playbook defines no variables of its own. Configure the child roles through the inventory, see the readme of each role for the available variables.

Example

# group_vars/all.yaml
timezone: "Europe/Amsterdam"
ntp_server: "time.cloudflare.com"

Usage

Run the playbook through Semaphore using playbook.yaml. The playbook first runs ansible-galaxy install -f -r roles/requirements.yml to refresh the roles, then runs common followed by zabbix_agent on all hosts with privilege escalation. Role tags (for example apt or sshd from common) can be used to limit a run.