## 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
47 lines
1.4 KiB
Markdown
47 lines
1.4 KiB
Markdown
---
|
|
title: Roles
|
|
tags:
|
|
- 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.
|
|
|
|
## Related
|
|
|
|
- [[indri]] - Target host
|
|
- [[observability]] - Metrics collection
|