blumeops/docs/reference/ansible/roles.md
Erich Blume dc46eb7def Update all docs titles to human-readable (#117)
## Summary
- Updated frontmatter `title:` in all 63 doc cards from slug-case to human-readable (e.g. `borgmatic` → `Borgmatic`, `ai-assistance-guide` → `AI Assistance Guide`)
- Titles now closely match file stems so `[[wiki-links]]` render naturally without alternate anchor text
- Corrected titles that diverged from stems (e.g. `host-inventory` → `Hosts`, `grafana-alloy` → `Alloy`, `argocd-applications` → `Apps`)
- Deleted `title-test-alpha.md` and `title-test-beta.md` test cards and removed their reference index entry

## Deployment and Testing
- [x] `docs-check-links` passes — all wiki-links valid
- [x] `docs-check-index` passes
- [x] `docs-check-filenames` passes
- [ ] Verify titles render correctly on docs site after deploy

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/117
2026-02-07 21:44:57 -08:00

1.4 KiB

title tags
Roles
ansible
reference

Ansible Roles

Roles for provisioning services on indri. Run via mise run provision-indri.

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.