Commit graph

12 commits

Author SHA1 Message Date
Adam Belkacemi
80b6c0722d ajoute le stock chaud, la correction automatique et les nouveaux essais de création de stack
Stock de stacks prêtes par lab dans Redis (prise atomique en Lua, ménage
par comparaison avec Heat, disjoncteur), files gérées par Horizon, séances
planifiables. Correcteur Go sur l'hyperviseur : socket Unix, commandes lues
dans le lab.yaml uniquement, exécution par l'agent invité QEMU. Une création
de stack ratée est supprimée et réessayée deux fois, puis la session passe
en échec, visible du prof.

Corrige aussi trois défauts des étapes précédentes : la console se coupait
à la première frappe d'un navigateur (trames texte), l'élève ne pouvait pas
rejoindre une séance, la déconnexion n'avait pas de jeton CSRF.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 21:52:16 +02:00
Adam Belkacemi
ca2f6f3b7a ajoute le runbook de rotation du compte de service OpenStack
Redémarre aussi le worker de file quand Ansible change une variable de
.env : queue:work lit la configuration une seule fois au démarrage, et
garderait sinon l'ancien mot de passe après une rotation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 21:01:08 +02:00
Adam Belkacemi
67a754f733 ajoute la liaison Laravel-OpenStack et le modèle Heat du lab 08
Un gabarit Heat généré depuis chaque lab.yaml, une stack par session de
lab (création à l'admission, suppression à l'expiration via des jobs
Redis et un worker systemd dédié). Passage du compte de service à une
authentification par mot de passe : Heat refuse de créer un trust à
partir d'un jeton d'application credential (voir ADR 0002).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-08 10:14:24 +02:00
Adam Belkacemi
8742bde807 ajoute le proxy console Go et le relais WebSocket vers nova-serialproxy
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-08 09:35:16 +02:00
Adam Belkacemi
30e14b1c54 ajoute le portail Laravel : connexion prof/élève, session unique, gestion de classe, salle d'attente
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-08 02:01:58 +02:00
Adam Belkacemi
aa31b6112f ajoute la supervision : règles d'alerte Prometheus, relais ntfy, Uptime Kuma
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-07 21:20:01 +02:00
Adam Belkacemi
44384847e5 construit l'image paillasse-debian, crée le projet OpenStack et teste la console série
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-07 16:14:06 +02:00
Adam Belkacemi
21c9de6d10 restreint l'écoute des bases OVN à l'interface interne, supprime le volume proxysql_socket résiduel
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-07 15:57:46 +02:00
Adam Belkacemi
db2842689a déploie OpenStack 2025.2 avec Kolla-Ansible (tout-en-un, API sur dummy0)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 15:50:54 +02:00
Adam Belkacemi
87c8aac5f5 ajoute le réseau pour OpenStack : dummy0, paire veth, NAT restreint au réseau externe
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 11:40:34 +02:00
Adam Belkacemi
e879a214a9 ajoute les sauvegardes chiffrées vers Dedibackup (rôle Ansible, timer quotidien, rotation)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-07 11:08:22 +02:00
Adam Belkacemi
f5a5e8d8a9 durcit le serveur : pare-feu nftables, SSH par clé, fail2ban, chrony, mises à jour de sécurité
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-07 10:32:09 +02:00