blumeops/docs/reference/tools/ansible.md
Erich Blume 2b408cd305 Add reference/tools/ category with Dagger, ArgoCD CLI, Ansible, and Pulumi cards
Create a dedicated tools section in reference docs. Move ansible/roles.md
to tools/ansible.md (broadened with CLI patterns), add new cards for Dagger,
ArgoCD CLI, and Pulumi. Update existing docs to reflect Dagger build process
and fix all [[roles]] wiki-links to [[ansible]].

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 19:15:58 -08:00

1.6 KiB

title modified tags
Ansible 2026-02-12
ansible
reference

Ansible

Configuration management for native services on indri. The primary playbook is ansible/playbooks/indri.yml.

CLI Patterns

# Full provisioning
mise run provision-indri

# Specific role only
mise run provision-indri -- --tags caddy

# Dry run (preview changes)
mise run provision-indri -- --check --diff

Available Roles

Role Purpose Service
alloy Observability collector alloy
borgmatic Backup automation borgmatic
borgmatic_metrics Backup metrics exporter borgmatic
caddy Reverse proxy & TLS routing
forgejo Git forge forgejo
jellyfin Media server jellyfin
jellyfin_metrics Media metrics exporter jellyfin
minikube Kubernetes cluster cluster
minikube_metrics Cluster metrics cluster
zot Container registry zot
zot_metrics Registry metrics zot

Role Structure

Each role follows Ansible conventions:

ansible/roles/<role>/
├── defaults/main.yml    # Default variables
├── tasks/main.yml       # Task definitions
├── handlers/main.yml    # Handlers (restarts, etc.)
├── templates/           # Jinja2 templates
└── files/               # Static files

Secrets

Roles that need secrets use 1Password via the playbook's pre_tasks. Secrets are gathered at playbook start and passed to roles as variables.