Funk-lab/ansible/roles/hermes_user
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 feat: rôle hermes_user + ask-agent + skills délégation 2026-05-13 16:03:43 +02:00
tasks feat: rôle hermes_user + ask-agent + skills délégation 2026-05-13 16:03:43 +02:00
templates feat: rôle hermes_user + ask-agent + skills délégation 2026-05-13 16:03:43 +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_user

Crée le user hermes (uid/gid 1002) sur les deux hôtes avec SSH partagé : la clé générée sur storage-01 est autorisée sur gpu-01, ce qui permet à l'agent de lancer des commandes read-only sur le nœud GPU.

Ce que fait le rôle

  • User/groupe hermes (1002:1002, home /opt/hermes)
  • Sudo limité (listes blanches différentes storage-01 / gpu-01)
  • Génération clé ed25519 sur storage-01 → poussée dans authorized_keys de gpu-01
  • ~/.ssh/config + known_hosts pré-remplis (gpu-01)
  • Copie du kubeconfig dans ~hermes/.kube/ si présent (accès kubectl read-only)
  • Ajout au groupe systemd-journal

Variables principales

Variable Défaut
hermes_user / hermes_group hermes
hermes_uid / hermes_gid 1002
hermes_home /opt/hermes
hermes_ssh_key_type ed25519

Ordre d'exécution

Doit passer avant hermes_agent (qui suppose le user existant). C'est le premier rôle des deux playbooks.

Caveat

Le rôle touche les deux machines mais avec des branches conditionnelles (inventory_hostname) — un run sur storage-01 seul ne pousse pas la clé sur gpu-01 : lancer les deux playbooks après régénération de clé.