feat: Implemented (un)install,start/stop flow and fixed actions flow

This commit is contained in:
2026-08-01 20:39:27 +01:00
parent eb01569f7d
commit d24fe0ffbf
29 changed files with 2331 additions and 166 deletions
+12 -2
View File
@@ -34,6 +34,13 @@ func main() {
log.Fatalf("Failed to init docker client: %v", err)
}
defer dc.Close()
if err := libcontainers.EnsureDataRoot(); err != nil {
log.Fatalf("Data root check failed: %v", err)
}
if err := cache.LoadInstalledContainers(); err != nil {
log.Fatalf("Failed to load installed containers: %v", err)
}
cache.ReconcileContainers(ctx, dc)
go cache.WatchContainers(ctx, dc)
}
@@ -42,8 +49,11 @@ func main() {
mux := http.NewServeMux()
mux.HandleFunc("/api/containers", containers.NewListContainersHandler(cache))
mux.HandleFunc("/api/ws", wsHub.HandleWS)
mux.HandleFunc("/api/containers/install", containers.InstallContainer)
mux.HandleFunc("/api/actions/{actionName}/{containerId}", actions.RunAction)
mux.HandleFunc("/api/containers/install", containers.InstallContainerHandler(cache))
mux.HandleFunc("/api/containers/uninstall", containers.UninstallContainerHandler(cache))
mux.HandleFunc("/api/containers/start", containers.StartContainerHandler(cache))
mux.HandleFunc("/api/containers/stop", containers.StopContainerHandler(cache))
mux.HandleFunc("/api/actions/{containerId}/{actionName}", actions.RunAction)
mux.HandleFunc("/api/registry", handlers.GetRegistry)
if os.Getenv("DEV_MODE") != "true" {