## Summary - Create `docs/reference/tools/` with four reference cards: Dagger (build engine), ArgoCD CLI (deployment workflows), Ansible (config management), and Pulumi (DNS/Tailscale IaC) - Move `ansible/roles.md` → `tools/ansible.md`, broadened with CLI patterns and dry-run usage - Update `reference.md` index: add "Tools" section, remove old "Ansible" section - Update `update-documentation.md` to reflect Dagger build process (workflow steps, manual build recipe, runner environment) - Update `adopt-dagger-ci.md` plan to note how-to articles were handled via reference card + existing how-to updates - Fix all broken `[[roles]]` wiki-links across 5 files → `[[ansible]]` ## Verification - `docs-check-links` ✓ — no broken wiki-links - `docs-check-index` ✓ — all docs referenced in category index - `docs-check-filenames` ✓ — no duplicate filenames - All pre-commit hooks pass Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/178
61 lines
1.6 KiB
Markdown
61 lines
1.6 KiB
Markdown
---
|
|
title: Ansible
|
|
modified: 2026-02-12
|
|
tags:
|
|
- ansible
|
|
- reference
|
|
---
|
|
|
|
# Ansible
|
|
|
|
Configuration management for native services on [[indri]]. The primary playbook is `ansible/playbooks/indri.yml`.
|
|
|
|
## CLI Patterns
|
|
|
|
```bash
|
|
# 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.
|
|
|
|
## Related
|
|
|
|
- [[indri]] — Target host
|
|
- [[observability]] — Metrics collection
|