From a4f875163841da3fccf25534127c34a94d6b31d4 Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Mon, 17 Aug 2026 21:15:46 +0200 Subject: [PATCH] main: doc: add release notes Signed-off-by: GnomeZworc --- release_notes/0.1.0.md | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 release_notes/0.1.0.md diff --git a/release_notes/0.1.0.md b/release_notes/0.1.0.md new file mode 100644 index 0000000..b31bde9 --- /dev/null +++ b/release_notes/0.1.0.md @@ -0,0 +1,52 @@ +Première version stable de **syonad/two**, orchestrateur réseau et VM mono-nœud. + +## Fonctionnalités + +**API et cycle de vie** + +- API HTTP `/vpcs`, `/subnets`, `/vms` : création et suppression asynchrones (202 + état en base) +- États unifiés pour les trois types de ressource : `creating` → `running` → `deleting` → `deleted`, + avec `error` en cas d'échec d'exécution ; suppression autorisée depuis `running` et `error` +- Migration au démarrage de l'agent : toute ressource restée dans un état transitoire est + basculée en `error`, la file de travail étant en mémoire + +**Réseau** + +- VPC isolés par network namespace, subnets en mode `vxlan` ou `bridge` +- DHCP par subnet via instances `dnsmasq@` dédiées, entrées ip→mac en base +- Route par défaut et route du VPC distribuées par DHCP (`default_route` par subnet) +- Isolation du DHCP par ebtables, redirection du service de metadata par iptables + +**Machines virtuelles** + +- Démarrage QEMU/KVM avec plusieurs disques et ordre de démarrage explicite +- Amorçage UEFI optionnel (OVMF), avec magasin de variables par VM +- Serveur de metadata cloud-init par VM (`metadata@`), sans base de données dans le processus +- Les VMs survivent à l'arrêt de l'agent : QEMU est lancé hors de son cgroup via `systemd-run` + +**Exploitation** + +- Métriques Prometheus : nombre de VPC, subnets et VMs par état +- `deploy.sh` avec profils d'host (`kvm`), préparation système déléguée à `bootstrap_kvm.sh` +- Units systemd et scripts publiés comme assets de release, avec manifeste `SHA256SUMS` + vérifié au déploiement + +## Périmètre et limites connues + +- Un seul nœud : pas d'ordonnanceur ni de placement entre hyperviseurs +- Pas de rollback en cas d'échec partiel d'une création — les ressources réseau orphelines + ne sont pas nettoyées automatiquement +- API destinée à un appelant logiciel : la validation de cohérence des entrées (CIDR, VXLAN + ID, format des noms) est à la charge de l'appelant +- Les packages `internal/netns`, `netif`, `qemu`, `vm`, `iptables` et `ebtables` ne + fonctionnent que sous Linux + +## Installation + +``` +curl -O https://git.g3e.fr/syonad/two/raw/branch/main/scripts/deploy.sh +bash ./deploy.sh -t 0.1.0 -i # -i : préparation de l'host (paquets, kernel, bridges) +``` + +`deploy.sh` se vérifie lui-même contre la branche et télécharge les binaires, les units et +le manifeste depuis cette release.