Ansible Roles

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

Available Roles

RolePurposeService
alloyObservability collectoralloy
borgmaticBackup automationborgmatic
borgmatic_metricsBackup metrics exporterborgmatic
caddyReverse proxy & TLSrouting
forgejoGit forgeforgejo
jellyfinMedia serverjellyfin
jellyfin_metricsMedia metrics exporterjellyfin
minikubeKubernetes clustercluster
minikube_metricsCluster metricscluster
zotContainer registryzot
zot_metricsRegistry metricszot

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.