feat: système de rebuild Docker pour installation de modules has_backend
- internal/docker/client.go : client HTTP brut sur socket Unix - BuildImage() : build depuis repo git avec ARG MODULES - RebuildAndRestart() : rebuild async + remplacement de container - HandleReplacement() : le container successeur arrête et renomme l'ancien - Restart() : redémarrage simple (enable/disable sans rebuild) - cmd/gen-modules/main.go : générateur de registered_modules.go Lit MODULES env var, génère imports + appels RegisterModules() - registered_modules.go : version par défaut (aucun module) - main.go : appel RegisterModules(loader) + HandleReplacement() au démarrage - settings.go : inject DockerClient, has_backend dans moduleResp/moduleJSON, trigger rebuild à l'install, restart à l'enable/disable - migrations/006 : colonne has_backend sur table modules - Dockerfile : ARG MODULES, git clone modules, go run ./cmd/gen-modules - docker-compose.yml : socket Docker, group_add, env vars CONTAINER_NAME/GIT_REPO/GIT_BRANCH Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
dcf3b937fa
commit
a61f805cd0
8 changed files with 658 additions and 27 deletions
3
backend/internal/db/migrations/006_has_backend.sql
Normal file
3
backend/internal/db/migrations/006_has_backend.sql
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
-- Migration 006 : ajout colonne has_backend aux modules
|
||||
-- Indique si le module contient du code Go backend (nécessite un rebuild Docker pour installation).
|
||||
ALTER TABLE modules ADD COLUMN has_backend INTEGER NOT NULL DEFAULT 0;
|
||||
Loading…
Add table
Add a link
Reference in a new issue