fix(go): repair migration wire contracts and runtime lifecycle; document incomplete port

This commit is contained in:
CAtlas0784 committed 2026-10-29 15:35:35 +07:00
1 parent e43a310617
commit 32e47014b5
35 files changed
+16826 -438

No files matched your search

+12 -2
View File
@@ -6,6 +6,7 @@ import (
"fmt"
"html/template"
"log"
"net"
"net/http"
"sync"
"time"
@@ -43,15 +44,24 @@ func (a *AdminServer) Start() error {
mux.HandleFunc("/api/command", a.handleCommand)
mux.HandleFunc("/api/sessions", a.handleSessions)
addr := fmt.Sprintf("%s:%d", a.cfg.Network.BindHost, a.cfg.Admin.Port)
host := a.cfg.Admin.Host
if host == "" {
host = "127.0.0.1"
}
addr := net.JoinHostPort(host, fmt.Sprint(a.cfg.Admin.Port))
a.httpSrv = &http.Server{
Addr: addr,
Handler: mux,
}
ln, err := net.Listen("tcp", addr)
if err != nil {
cancel()
return err
}
go func() {
log.Printf("[ADMIN-GM] Admin Web Panel running at http://%s:%d/", a.cfg.Network.AdvertisedHost, a.cfg.Admin.Port)
if err := a.httpSrv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
if err := a.httpSrv.Serve(ln); err != nil && err != http.ErrServerClosed {
log.Printf("[ADMIN-GM] Web server error: %v", err)
}
}()
+7 -1
View File
@@ -5,6 +5,7 @@ import (
"encoding/json"
"fmt"
"log"
"net"
"net/http"
"time"
@@ -40,9 +41,14 @@ func (d *DebugServer) Start() error {
Handler: mux,
}
ln, err := net.Listen("tcp", addr)
if err != nil {
cancel()
return err
}
go func() {
log.Printf("[DEBUG-API] Debug WebUI panel at http://%s:5809/", d.cfg.Network.AdvertisedHost)
if err := d.httpSrv.ListenAndServe(); err != nil && err != http.ErrServerClosed {
if err := d.httpSrv.Serve(ln); err != nil && err != http.ErrServerClosed {
log.Printf("[DEBUG-API] Debug server error: %v", err)
}
}()
+18
View File
@@ -0,0 +1,18 @@
package web
import (
"ananta-ps/internal/config"
"testing"
)
func TestAdminHonorsConfiguredHost(t *testing.T) {
cfg := &config.Config{Network: config.NetworkConfig{BindHost: "0.0.0.0"}, Admin: config.AdminConfig{Enabled: true, Host: "127.0.0.1"}}
a := NewAdmin(cfg, nil)
if err := a.Start(); err != nil {
t.Fatal(err)
}
defer a.Stop()
if a.httpSrv.Addr != "127.0.0.1:0" {
t.Fatalf("admin bind ignored: %s", a.httpSrv.Addr)
}
}