docs(ansible): README par rôle (19) + gaps IaC découverts à l'audit

Audit complet des rôles vs état réel du cluster. Chaque rôle a maintenant
un README.md : but, variables (défauts + surcharges host_vars/vault),
handlers, vérifications, caveats.

Gaps découverts et documentés :
- minio : rôle VIDE (tasks/main.yml sans aucune tâche), service inactif —
  placeholder à implémenter ou retirer (ports 9000/9001 ouverts pour rien)
- llama_server : ne gère que l'instance GPU :1234 — les services CPU
  llama-server-system :1236 et llama-server-monitor :1237 sont créés à la
  main sur gpu-01, non reproductibles par make apply-gpu (+ un
  llama-server-dev.service non documenté présent sur l'hôte)
- hermes_auto_improve : defaults port/repo/branch/log non consommés
  (valeurs en dur dans les scripts), défaut branch obsolète
- lm_studio : README de dépréciation, candidat suppression

Tables admin/ops/ansible.md, README.md et CLAUDE.md corrigées en conséquence.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Alkatrazz 2026-06-10 15:21:24 +02:00
parent 40fd7f0868
commit 0aa4c3650d
22 changed files with 538 additions and 6 deletions

View file

@ -0,0 +1,37 @@
# hermes_agent
Installe et configure l'agent Hermes sur storage-01 : binaire, profils, skills, dashboard, gateway HTTP.
## Ce que fait le rôle
- Dépendances + installation du binaire via le script officiel (`curl | bash`) — **seulement si absent**
- `HERMES_HOME=/srv/data/hermes` (données NVMe), code dans `/opt/hermes`
- `.env` : `LM_BASE_URL` → LiteLLM `:4000`, `LM_API_KEY=lm-studio`
- `config.yaml` (profils), services systemd `hermes-agent` (gateway `:8080`) et `hermes-dashboard` (`:9119`)
- Wrapper global `/usr/local/bin/hermes`
- Ouvre le port gateway dans nftables
## Variables principales
| Variable | Défaut |
|---|---|
| `hermes_home` | `/opt/hermes` (code) |
| `hermes_data_dir` | `/srv/data/hermes` (profils/données) |
| `hermes_lm_base_url` | `http://127.0.0.1:4000/v1` |
| `hermes_model` | `hermes-default` |
| `hermes_gateway_port` | 8080 |
| `hermes_dashboard_port` / `hermes_dashboard_allowed_ip` | 9119 / 192.168.1.10 |
## ⚠️ Caveat premier déploiement — deux runs
L'installation du binaire et sa configuration sont dans le même rôle, mais la config est conditionnelle à `hermes_binary.stat.exists` **évalué avant l'installation**. Sur un hôte vierge :
```bash
ansible-playbook -i inventory.yml playbooks/storage-01.yml --tags hermes_agent # run 1 : installe
ansible-playbook -i inventory.yml playbooks/storage-01.yml --tags hermes_agent # run 2 : configure
```
## Pièges connus (voir aussi memory feedback_hermes_litellm)
- `LM_API_KEY=lm-studio` obligatoire dans `.env` — sans elle, Hermes boucle en erreurs d'auth
- Lancer `hermes -z` depuis `/srv/data/hermes` (HERMES_HOME), pas depuis `/opt/hermes`