Initial commit: EduBox V2 platform
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
)
|
||||
|
||||
var (
|
||||
serverAddr = flag.String("server", "ws://localhost:3001", "Adresse WebSocket du serveur")
|
||||
nodeID = flag.String("node-id", defaultNodeID(), "ID du nœud (défaut: hostname)")
|
||||
dataDir = flag.String("data-dir", "./edubox-data", "Répertoire de données")
|
||||
uiEnabled = flag.Bool("ui", true, "Activer l'interface locale HTMX")
|
||||
)
|
||||
|
||||
func defaultNodeID() string {
|
||||
h, err := os.Hostname()
|
||||
if err != nil {
|
||||
return "unknown"
|
||||
}
|
||||
return h
|
||||
}
|
||||
|
||||
func main() {
|
||||
flag.Parse()
|
||||
|
||||
dd := *dataDir
|
||||
if !filepath.IsAbs(dd) {
|
||||
ex, err := os.Executable()
|
||||
if err == nil {
|
||||
dd = filepath.Join(filepath.Dir(ex), dd)
|
||||
} else {
|
||||
wd, _ := os.Getwd()
|
||||
dd = filepath.Join(wd, dd)
|
||||
}
|
||||
}
|
||||
*dataDir = dd
|
||||
|
||||
if err := os.MkdirAll(*dataDir, 0755); err != nil {
|
||||
log.Fatalf("Cannot create data-dir: %v", err)
|
||||
}
|
||||
|
||||
fmt.Printf("EduBox Agent - node: %s - data-dir: %s\n", *nodeID, *dataDir)
|
||||
|
||||
if *uiEnabled {
|
||||
go startUI(*dataDir, *nodeID, *serverAddr)
|
||||
}
|
||||
|
||||
startWebSocket(*serverAddr, *nodeID, *dataDir)
|
||||
}
|
||||
Reference in New Issue
Block a user