# 2026-05-10 — Hermes Agent sur storage-01 ## Contexte Mise en place de Hermes Agent en service systemd sur storage-01, pointant sur LM Studio (gpu-01 `192.168.10.20:1234`). Données persistantes sur le RAID5. --- ## Rôle `hermes_agent` (nouveau) Structure créée : ``` roles/hermes_agent/ ├── defaults/main.yml → variables : user, home, data_dir, LLM endpoint, model ├── handlers/main.yml → Reload systemd + Restart hermes-agent ├── tasks/main.yml → installation, config, service └── templates/ ├── hermes-agent.service.j2 └── config.yaml.j2 ``` ### Ce que fait le rôle 1. **Dépendances** : `curl`, `git`, `tar` via dnf 2. **Utilisateur** : `hermes` avec home `/opt/hermes` (SSD OS, petit) 3. **HERMES_HOME** : `/srv/data/hermes` (RAID5) — données agent sur le stockage durable 4. **Installation** : `curl | bash` idempotent via `stat` sur le binaire (`/opt/hermes/.local/bin/hermes`) 5. **Config** : `config.yaml` déployé dans `HERMES_HOME` (template Jinja2) 6. **Service** : `hermes-agent.service` — `User=hermes`, `ExecStart=hermes gateway` 7. **Firewall** : port `8080/tcp` via firewalld (conditionnel si firewalld actif) ### Variables clés | Variable | Valeur par défaut | |---|---| | `hermes_data_dir` | `/srv/data/hermes` (overridé dans host_vars) | | `hermes_lm_base_url` | `http://192.168.10.20:1234/v1` | | `hermes_model` | `google/gemma-4-e4b-it` | | `hermes_context_length` | `16384` | | `hermes_gateway_port` | `8080` | --- ## Documentation - `admin/hermes.md` — commandes admin, config, validation API, réinstallation - `admin/README.md` — entrée ajoutée pour hermes.md --- ## Prochaines étapes - [ ] Appliquer : `ansible-playbook -i inventory.yml playbooks/storage-01.yml --tags hermes_agent` - [ ] Vérifier que `hermes gateway` démarre sans erreur et écoute sur 8080 - [ ] Ajuster `config.yaml.j2` si le format réel diffère (clé `llm.base_url` vs autre) - [ ] Route statique Freebox (192.168.10.0/24 → 192.168.1.200) - [ ] Premier commit GitHub (repo privé) - [ ] Stubs postgresql, qdrant, minio