feat: intégrer viewLogs et viewServices comme dépendances Go compilées dans CORE

- go.mod/go.sum : require + replace pour viewLogs et viewServices (chemins locaux)
- main.go : enregistrement loader.RegisterModule(viewlogs.New()) + viewservices.New()
- Dockerfile : build context parent proxmoxPanel/ pour accéder aux 3 repos
- docker-compose.yml : context: .. + dockerfile: core/backend/Dockerfile
- nginx.conf : locations /viewLogs/ et /viewServices/ proxyfiées vers backend:3001

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
enzo 2026-03-22 04:35:27 +01:00
parent ec7d120ef6
commit cbf87a87fc
5 changed files with 42 additions and 8 deletions

View file

@ -1,18 +1,22 @@
# ── Étape 1 : Build du binaire Go ──────────────────────────────────────────
# Build context = proxmoxPanel/ (parent de core/)
FROM golang:1.26-alpine AS builder
# Dépendances de compilation (git pour les modules Go)
RUN apk add --no-cache git
WORKDIR /build
WORKDIR /workspace
# Copier les fichiers de dépendances en premier (optimise le cache Docker)
COPY go.mod go.sum ./
# Copier les sources des trois modules
COPY core/backend/ ./core/backend/
COPY viewLogs/ ./viewLogs/
COPY viewServices/ ./viewServices/
WORKDIR /workspace/core/backend
# Télécharger les dépendances
RUN go mod download
# Copier tout le code source
COPY . .
# Compiler le binaire de façon statique
# -ldflags="-s -w" : supprime les infos de debug pour réduire la taille
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \

View file

@ -3,6 +3,8 @@ module git.geronzi.fr/proxmoxPanel/core/backend
go 1.26.1
require (
git.geronzi.fr/proxmoxPanel/viewLogs v0.0.0
git.geronzi.fr/proxmoxPanel/viewServices v0.0.0
github.com/go-chi/chi/v5 v5.2.5
github.com/golang-jwt/jwt/v5 v5.3.1
github.com/gorilla/websocket v1.5.3
@ -10,6 +12,11 @@ require (
modernc.org/sqlite v1.47.0
)
replace (
git.geronzi.fr/proxmoxPanel/viewLogs => ../../viewLogs
git.geronzi.fr/proxmoxPanel/viewServices => ../../viewServices
)
require (
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/google/uuid v1.6.0 // indirect

View file

@ -17,6 +17,8 @@ import (
sshpool "git.geronzi.fr/proxmoxPanel/core/backend/internal/ssh"
"git.geronzi.fr/proxmoxPanel/core/backend/internal/websocket"
"git.geronzi.fr/proxmoxPanel/core/backend/modules"
viewlogs "git.geronzi.fr/proxmoxPanel/viewLogs"
viewservices "git.geronzi.fr/proxmoxPanel/viewServices"
"github.com/go-chi/chi/v5"
"github.com/go-chi/chi/v5/middleware"
@ -68,6 +70,8 @@ func main() {
// ── Chargement des modules actifs ──────────────────────────────────────
loader := modules.NewLoader(database, sshPool, encryptor)
loader.RegisterModule(viewlogs.New())
loader.RegisterModule(viewservices.New())
if err := loader.LoadActive(); err != nil {
log.Fatalf("Erreur chargement modules : %v", err)
}