# 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é.
