Funk-lab/ansible/roles/hermes_agent
Alkatrazz 0aa4c3650d 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>
2026-06-10 15:21:24 +02:00
..
defaults ajout de linterface hermes + route 2026-05-12 18:01:50 +02:00
handlers ajout de linterface hermes + route 2026-05-12 18:01:50 +02:00
tasks feat(postfix): relay SMTP Gmail + suppression règles Conan nftables 2026-05-17 16:46:42 +02:00
templates feat(voice): améliorer hermes-voice + fix hermes-agent 2026-06-02 16:24:21 +02:00
README.md docs(ansible): README par rôle (19) + gaps IaC découverts à l'audit 2026-06-10 15:21:24 +02:00

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 :

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