* feat(ansible): serveur dédié Satisfactory sur gpu-01
- Nouveau rôle satisfactory_server : install steamcmd (login anonyme,
app 1690800), service systemd avec update auto en ExecStartPre,
MemoryMax=16G + Nice=5 (protège le llama-server), firewalld 7777 tcp+udp
- Retries steamcmd (« Missing configuration » rc=8 au premier run)
- Fcontext SELinux bin_t sur steamcmd/ et server/ (203/EXEC sinon)
- gateway : DNAT 192.168.1.200:7777 → gpu-01:7777 (TCP+UDP) + forward
- Doc admin/ops/satisfactory.md (accès, exploitation, pièges rencontrés)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* fix(satisfactory): ouvrir le port 8888/tcp Reliable Messaging
Depuis la 1.1, le client ouvre un socket TCP :8888 en plus du jeu UDP
:7777. Bloqué par firewalld, le join réussissait puis le client était
déconnecté (~60 s) avec « connection to the host has been lost »
(log client : LogReliableMessaging: Failed to connect to server socket).
- firewalld gpu-01 : + 8888/tcp (variable satisfactory_reliable_port)
- gateway s01 : DNAT + forward étendus à 8888/tcp
- doc : tableau des 3 sockets + piège n°3
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* docs(satisfactory): accès internet via IPv4 full-stack Free
Le remap de port Freebox (17777→7777) ne fonctionne pas : le serveur
annonce ses ports dans le protocole (externe = interne obligatoire).
Option IPv4 full-stack activée → redirections 1:1 7777 tcp+udp + 8888 tcp
vers funk-s01, DNAT existant inchangé.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Ansible roles:
- node_exporter : déploie node_exporter v1.9.1 sur storage-01 et gpu-01
avec textfile collector + services systemd. ROCm activé sur gpu-01 uniquement
via group_vars. Collecte métriques GPU via sysfs (temp, VRAM, utilisation)
— pas de dépendance rocm-smi (remplacé dans ROCm 7.x)
- alertmanager_webhook : service Python sur storage-01 (:9093/webhook)
reçoit alertes AlertManager et les route vers ask-agent monitor → Hermes
Playbooks: node_exporter + alertmanager_webhook ajoutés à storage-01 et gpu-01
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Nouveau rôle hermes_user : création user/group UID 1002 sur storage-01
et gpu-01, sudoers limités par host, clé SSH ed25519 générée sur
storage-01 et distribuée vers gpu-01, ssh_config + known_hosts
- Kubeconfig copié depuis ansible vers hermes sur storage-01
- ask-agent : script bash LiteLLM pour déléguer aux agents
system/monitor/brain/funk-ai
- hermes-skills/funk/agent-delegation : skill Hermes pour les
inter-profile calls avec pattern Terminal: ask-agent
- Playbooks storage-01 et gpu-01 : ajout du rôle hermes_user
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>