Commit graph

262 commits

Author SHA1 Message Date
8658acfe08
f-46: dhcpd: build dhcp replies over insomniacslk/dhcp #46
internal/dhcpd décide quelles options partent vers quelle MAC, sans I/O ni
état. L'encodage RFC 3442 de l'option 121 est délégué à la bibliothèque, qui le
teste elle-même.

L'option 3 est omise plutôt qu'envoyée vide : la dhcp-option=3 nue n'existait
que pour empêcher dnsmasq d'annoncer sa propre adresse. La route par défaut est
conditionnée au subnet (DefaultGateway) et à l'interface (Host.DefaultRoute),
ce qui remplace le mécanisme de tags.

24 tests plus un fuzz sur BuildReply. Les assertions d'encodage sont validées
par mutation.

Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-09-05 23:17:58 +02:00
4f591f6ab5
f-46: ci: align go version with the module #46
build.yml épinglait setup-go sur 1.21 alors que le module déclarait go 1.24.0 :
la compilation se faisait en réalité avec la toolchain téléchargée par
GOTOOLCHAIN=auto, et le workflow affichait une version qui n'était pas celle qui
compilait.

Le passage à go-version-file: go.mod, qui supprimerait la dérive pour de bon,
est renvoyé à #48 — un input de setup-go n'est validable qu'en poussant un tag
tant que rien ne se déclenche sur push.

Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-09-05 23:17:57 +02:00
a5715af069
f-46: build: bump go to 1.25 #46
La bibliothèque DHCP retenue pour #46 (github.com/insomniacslk/dhcp) déclare
go 1.25.0. Relèvement de la directive et de la toolchain ; go.sum est inchangé,
la bibliothèque n'entrant qu'avec le code qui l'importe.

Vérifié : build darwin, build linux/amd64 en CGO_ENABLED=0 des trois binaires,
go vet, et trois passes de go test ./... sans échec.

Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-09-05 23:17:57 +02:00
0446c9084e
Merge branch 'docs' 2026-09-05 23:17:33 +02:00
45f8e43de8
docs: configuration for orchestrator
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-27 23:56:47 +02:00
cb904c4744
docs: premiere creation de documentation
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-26 23:41:50 +02:00
9a46b5cde7
docs: add first doc version
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-26 22:36:46 +02:00
10c9bc2985
Merge branch 'release-0.1.0' 2026-08-26 00:22:51 +02:00
2fd4987bca
0.1.0: release
All checks were successful
Release Pipeline / set-release-target (push) Successful in 2s
Release Pipeline / upload-assets (agent.service, systemd/agent.service) (push) Successful in 4s
Release Pipeline / upload-assets (dnsmasq@.service, systemd/dnsmasq@.service) (push) Successful in 4s
Release Pipeline / checksums (push) Successful in 4s
Release Pipeline / release (push) Successful in 11s
Release Pipeline / publish (push) Successful in 0s
Release Pipeline / upload-assets (metadata@.service, systemd/metadata@.service) (push) Successful in 4s
Release Pipeline / upload-assets (run-dnsmasq-in-netns.sh, scripts/run-dnsmasq-in-netns.sh) (push) Successful in 4s
Release Pipeline / build (agent, amd64, linux) (push) Successful in 0s
Release Pipeline / build (metadata, amd64, linux) (push) Successful in 0s
Release Pipeline / build (push) Successful in 1m31s
0.1.0
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-26 00:21:30 +02:00
aa685a879f
0.1.0: update release docs
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-26 00:21:01 +02:00
7138a6654a
Merge branch 'feature-33' 2026-08-25 23:57:35 +02:00
c47577db21
f-33: doc: update README
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-25 23:57:11 +02:00
642a9c2f7a
f-33: doc: update release note
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-25 23:56:55 +02:00
26d5805747
f-33: vm: start vms with multiple nic
All checks were successful
Release Pipeline / checksums (push) Successful in 4s
Release Pipeline / release (push) Successful in 11s
Release Pipeline / set-release-target (push) Successful in 2s
Release Pipeline / upload-assets (agent.service, systemd/agent.service) (push) Successful in 4s
Release Pipeline / upload-assets (dnsmasq@.service, systemd/dnsmasq@.service) (push) Successful in 4s
Release Pipeline / upload-assets (metadata@.service, systemd/metadata@.service) (push) Successful in 4s
Release Pipeline / upload-assets (run-dnsmasq-in-netns.sh, scripts/run-dnsmasq-in-netns.sh) (push) Successful in 4s
Release Pipeline / build (agent, amd64, linux) (push) Successful in 0s
Release Pipeline / build (metadata, amd64, linux) (push) Successful in 0s
Release Pipeline / publish (push) Successful in 0s
Release Pipeline / build (push) Successful in 1m36s
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-25 23:12:55 +02:00
0237acba81
f-33: net: add multi net in dispatch et vms #33
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-25 22:48:13 +02:00
1ec1d44c1a
f-33: mise en place d'un nouveau system de reservation #33
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-25 22:37:07 +02:00
f90514a5dc
f-33: dnsmasq: remove duplicated --no-daemon flag
Le drapeau était passé deux fois, en tête et en fin de ligne de commande.
Sans effet, mais gênant à la lecture.

Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-25 21:42:08 +02:00
30bb4107a1
f-33: dnsmasq: give each instance its own lease file
Sans --dhcp-leasefile, toutes les instances écrivaient dans le fichier de
baux par défaut du système : chacune relisait au démarrage des baux
appartenant aux autres subnets, puis réécrivait le fichier avec les siens
seulement.

Sans effet visible jusqu'ici — les réservations étant statiques,
l'adressage vient de la MAC et non du bail — mais la collision est réelle
et se manifeste à chaque redémarrage d'une instance.

Le fichier suit le même motif que le pidfile déjà en place, et vit dans
/run : ces baux n'ont aucun sens sans le netns, qui ne survit pas au
redémarrage de l'host.

Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-25 21:41:56 +02:00
032201d631
Merge branch 'feature-34'
All checks were successful
Release Pipeline / set-release-target (push) Successful in 2s
Release Pipeline / upload-assets (dnsmasq@.service, systemd/dnsmasq@.service) (push) Successful in 4s
Release Pipeline / upload-assets (agent.service, systemd/agent.service) (push) Successful in 4s
Release Pipeline / upload-assets (metadata@.service, systemd/metadata@.service) (push) Successful in 4s
Release Pipeline / upload-assets (run-dnsmasq-in-netns.sh, scripts/run-dnsmasq-in-netns.sh) (push) Successful in 4s
Release Pipeline / build (agent, amd64, linux) (push) Successful in 0s
Release Pipeline / build (metadata, amd64, linux) (push) Successful in 0s
Release Pipeline / checksums (push) Successful in 4s
Release Pipeline / release (push) Successful in 11s
Release Pipeline / publish (push) Successful in 0s
Release Pipeline / build (push) Successful in 1m31s
2026-08-25 20:18:47 +02:00
46596f8142
f-34: route: add default gateway full gestion
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-25 20:18:09 +02:00
d15454d35b
f-34: route: add test for route metadata #34
All checks were successful
Release Pipeline / set-release-target (push) Successful in 1s
Release Pipeline / upload-assets (agent.service, systemd/agent.service) (push) Successful in 3s
Release Pipeline / upload-assets (dnsmasq@.service, systemd/dnsmasq@.service) (push) Successful in 3s
Release Pipeline / upload-assets (metadata@.service, systemd/metadata@.service) (push) Successful in 3s
Release Pipeline / upload-assets (run-dnsmasq-in-netns.sh, scripts/run-dnsmasq-in-netns.sh) (push) Successful in 3s
Release Pipeline / build (agent, amd64, linux) (push) Successful in 0s
Release Pipeline / build (metadata, amd64, linux) (push) Successful in 0s
Release Pipeline / release (push) Successful in 11s
Release Pipeline / publish (push) Successful in 0s
Release Pipeline / build (push) Successful in 1m29s
Release Pipeline / checksums (push) Successful in 4s
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-24 22:57:30 +02:00
a2170fff08
f-34: route: fix missing route for metadata #34
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-24 22:57:03 +02:00
8078da0bda
f-34: doc: update api doc #34
All checks were successful
Release Pipeline / set-release-target (push) Successful in 1s
Release Pipeline / upload-assets (dnsmasq@.service, systemd/dnsmasq@.service) (push) Successful in 3s
Release Pipeline / upload-assets (metadata@.service, systemd/metadata@.service) (push) Successful in 3s
Release Pipeline / build (agent, amd64, linux) (push) Successful in 0s
Release Pipeline / build (metadata, amd64, linux) (push) Successful in 0s
Release Pipeline / upload-assets (agent.service, systemd/agent.service) (push) Successful in 3s
Release Pipeline / upload-assets (run-dnsmasq-in-netns.sh, scripts/run-dnsmasq-in-netns.sh) (push) Successful in 3s
Release Pipeline / checksums (push) Successful in 4s
Release Pipeline / release (push) Successful in 11s
Release Pipeline / publish (push) Successful in 0s
Release Pipeline / build (push) Successful in 1m33s
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-24 22:27:57 +02:00
e2fbb5fb7a
f-34: metadata: update api #34
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-24 22:27:36 +02:00
ae81158b2d
f-34: metadata: add metadata in dispatcher #34
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-24 22:20:13 +02:00
883d628bf6
f-34: metadata: update metadata gen files #34
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-24 22:14:15 +02:00
63fc305736
Merge branch 'feature-43' 2026-08-24 21:37:29 +02:00
ea9559c784
f-43: test: fix default route create for nothing #43
All checks were successful
Release Pipeline / set-release-target (push) Successful in 1s
Release Pipeline / upload-assets (agent.service, systemd/agent.service) (push) Successful in 3s
Release Pipeline / upload-assets (dnsmasq@.service, systemd/dnsmasq@.service) (push) Successful in 3s
Release Pipeline / upload-assets (metadata@.service, systemd/metadata@.service) (push) Successful in 3s
Release Pipeline / upload-assets (run-dnsmasq-in-netns.sh, scripts/run-dnsmasq-in-netns.sh) (push) Successful in 3s
Release Pipeline / build (agent, amd64, linux) (push) Successful in 0s
Release Pipeline / build (metadata, amd64, linux) (push) Successful in 0s
Release Pipeline / checksums (push) Successful in 4s
Release Pipeline / release (push) Successful in 11s
Release Pipeline / publish (push) Successful in 0s
Release Pipeline / build (push) Successful in 1m29s
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-24 21:19:50 +02:00
52d214404d
f-43: dhcp: fix default route create for nothing #43
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-24 21:19:39 +02:00
57448d758f
Merge branch 'feature-29' 2026-08-23 22:02:05 +02:00
cdbb5012b1
f-29: stop: add a proper stop
All checks were successful
Release Pipeline / upload-assets (metadata@.service, systemd/metadata@.service) (push) Successful in 4s
Release Pipeline / upload-assets (run-dnsmasq-in-netns.sh, scripts/run-dnsmasq-in-netns.sh) (push) Successful in 4s
Release Pipeline / build (agent, amd64, linux) (push) Successful in 0s
Release Pipeline / build (metadata, amd64, linux) (push) Successful in 0s
Release Pipeline / checksums (push) Successful in 4s
Release Pipeline / set-release-target (push) Successful in 2s
Release Pipeline / upload-assets (agent.service, systemd/agent.service) (push) Successful in 4s
Release Pipeline / upload-assets (dnsmasq@.service, systemd/dnsmasq@.service) (push) Successful in 4s
Release Pipeline / release (push) Successful in 11s
Release Pipeline / publish (push) Successful in 0s
Release Pipeline / build (push) Successful in 1m30s
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-18 00:41:01 +02:00
1ce84ffd58
f-29: watchdog: call this one #29
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-18 00:22:57 +02:00
d8ece59d1c
f-29: watchdog: change error messages #29
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-18 00:05:04 +02:00
2ce7ebafe7
f-29: watchdog: add specific config #29
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-17 23:52:48 +02:00
a1df88a1f2
f-29: watchdog: create runner #29
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-17 23:48:45 +02:00
cb812c97ab
f-29: watchdog: add checkvms #29
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-17 23:39:31 +02:00
0fa84b8320
f-29: watchdog: add checksubnet #29
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-17 23:39:25 +02:00
ea60c0db54
f-29: watchdog: add checkvpc #29
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-17 23:39:07 +02:00
f05c4e1fce
f-29: watchdog: add notify #29
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-17 23:38:41 +02:00
9445bc087a
main: doc: add release notes
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-17 22:21:33 +02:00
2ec819377f
main: ci: update release jobs
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-17 22:21:32 +02:00
82d678277c
main: ci: remove bad data
All checks were successful
Pre Release Workflow / set-release-target (push) Successful in 2s
Pre Release Workflow / upload-assets (dnsmasq@.service, systemd/dnsmasq@.service) (push) Successful in 4s
Pre Release Workflow / checksums (push) Successful in 11s
Pre Release Workflow / upload-assets (agent.service, systemd/agent.service) (push) Successful in 8s
Pre Release Workflow / upload-assets (metadata@.service, systemd/metadata@.service) (push) Successful in 4s
Pre Release Workflow / upload-assets (run-dnsmasq-in-netns.sh, scripts/run-dnsmasq-in-netns.sh) (push) Successful in 4s
Pre Release Workflow / build (agent, amd64, linux) (push) Successful in 0s
Pre Release Workflow / build (metadata, amd64, linux) (push) Successful in 0s
Pre Release Workflow / release (push) Successful in 9s
Pre Release Workflow / prerelease (push) Successful in 0s
Pre Release Workflow / build (push) Successful in 1m29s
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-17 19:57:39 +02:00
d042a1ab5b
Merge branch 'feature-37' 2026-08-16 22:54:44 +02:00
ba189cf9f5
f-37: scripts/ci: add manifest handle
Some checks failed
Pre Release Workflow / set-release-target (push) Successful in 2s
Pre Release Workflow / build (metadata, amd64, linux) (push) Has been cancelled
Pre Release Workflow / upload-assets (agent.service, systemd/agent.service) (push) Has been cancelled
Pre Release Workflow / upload-assets (dnsmasq@.service, systemd/dnsmasq@.service) (push) Has been cancelled
Pre Release Workflow / upload-assets (metadata@.service, systemd/metadata@.service) (push) Has been cancelled
Pre Release Workflow / upload-assets (run-dnsmasq-in-netns.sh, scripts/run-dnsmasq-in-netns.sh) (push) Has been cancelled
Pre Release Workflow / checksums (push) Has been cancelled
Pre Release Workflow / prerelease (push) Has been cancelled
Pre Release Workflow / build (agent, amd64, linux) (push) Has been cancelled
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-14 17:01:53 +02:00
ec33948b8c
f-37: scripts: change to locals
All checks were successful
Pre Release Workflow / prerelease (push) Successful in 11s
Pre Release Workflow / set-release-target (push) Successful in 1s
Pre Release Workflow / build (agent, amd64, linux) (push) Successful in 1m36s
Pre Release Workflow / build (metadata, amd64, linux) (push) Successful in 1m30s
Pre Release Workflow / upload-assets (agent.service, systemd/agent.service) (push) Successful in 7s
Pre Release Workflow / upload-assets (dnsmasq@.service, systemd/dnsmasq@.service) (push) Successful in 7s
Pre Release Workflow / upload-assets (metadata@.service, systemd/metadata@.service) (push) Successful in 8s
Pre Release Workflow / upload-assets (run-dnsmasq-in-netns.sh, scripts/run-dnsmasq-in-netns.sh) (push) Successful in 6s
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-14 13:52:06 +02:00
64438d64e6
f-37: script: clean commentaries
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-14 13:51:55 +02:00
3d2e42d9f1
f-37: scripts: refacto deploy.sh
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-14 13:51:54 +02:00
8d04472ec1
f-37: prometheus: add vms
All checks were successful
Pre Release Workflow / set-release-target (push) Successful in 1s
Pre Release Workflow / build (agent, amd64, linux) (push) Successful in 1m35s
Pre Release Workflow / build (metadata, amd64, linux) (push) Successful in 1m31s
Pre Release Workflow / upload-scripts (run-dnsmasq-in-netns.sh) (push) Successful in 8s
Pre Release Workflow / prerelease (push) Successful in 10s
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-14 01:00:00 +02:00
351248d250
f-37: script: add stop start agent
All checks were successful
Pre Release Workflow / set-release-target (push) Successful in 2s
Pre Release Workflow / build (agent, amd64, linux) (push) Successful in 1m35s
Pre Release Workflow / build (metadata, amd64, linux) (push) Successful in 1m31s
Pre Release Workflow / upload-scripts (run-dnsmasq-in-netns.sh) (push) Successful in 6s
Pre Release Workflow / prerelease (push) Successful in 10s
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-14 00:28:00 +02:00
c89e3f64de
f-37: add systemd-run
Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
2026-08-14 00:27:25 +02:00