This repository contains infrastructure automation tools and configurations for managing homelab infrastructure.
- ansible/ - Ansible playbooks, roles, and inventory for infrastructure provisioning
- .taskfiles/ - Task automation using Taskfile
- Ansible >= 2.9
- Python >= 3.8
- Task (for automation tasks)
- 1Password CLI (for secret management)
- Configure variables in:
ansible/files/host_config/<hostname>.ymlfor host-specific variablesansible/files/group_config/<groupname>.ymlfor group variables
- Generate inventory variables:
task ansible:generate-config - Run playbooks as needed (see ansible/README.md)
- Storage Backup - Automated BTRFS snapshot backup to S3-compatible storage using restic
View available tasks:
task --listThis repository uses 1Password for secret management. Sensitive values are stored as references in the format:
password: op://vault/item/fieldThe task ansible:generate-config command resolves these references using the 1Password CLI before generating the actual inventory files.
See Secret Reference Syntax for more details.