Add fleet ops dashboard, Calibrate enforcement, and dead-code cleanup.

Ship live alerts, pool status, AI monitor, remote agent commands, build manager, and uninstall flow; wire Calibrate settings (WS ping, pool traffic log, retention limits) at runtime and exclude server/data from git.
This commit is contained in:
drjones
2026-05-27 09:16:04 -07:00
parent 9d223b8137
commit df81eb7744
75 changed files with 8891 additions and 966 deletions

View File

@@ -3,6 +3,7 @@ package api
import (
"net"
"net/http"
"net/url"
"strings"
)
@@ -15,7 +16,7 @@ type ServerInfo struct {
WebSocketURL string `json:"websocket_url"`
}
func (h *Handler) GetServerInfo(w http.ResponseWriter, r *http.Request) {
func GetServerInfo(w http.ResponseWriter, r *http.Request, publicURLOverride string) {
host := r.Host
if idx := strings.Index(host, ":"); idx > 0 {
host = host[:idx]
@@ -35,6 +36,13 @@ func (h *Handler) GetServerInfo(w http.ResponseWriter, r *http.Request) {
}
suggestedURL := "http://" + net.JoinHostPort(suggestedHost, itoa(port))
if strings.TrimSpace(publicURLOverride) != "" {
suggestedURL = strings.TrimSpace(publicURLOverride)
suggestedHost = suggestedURL
if u, err := url.Parse(suggestedURL); err == nil && u.Hostname() != "" {
suggestedHost = u.Hostname()
}
}
info := ServerInfo{
Port: port,
Host: host,