refactor: Remove RegisterSelf — Central domain from config

Central no longer self-registers as a service. Its own domain comes
from config (cloud.central.domain) and is injected directly into
reconciliation as an HTTPRoute. This is cleaner — Central's own
services are config-driven, not registration-driven.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-09 20:30:34 +00:00
parent 548be903e7
commit 9de2311357

View File

@@ -110,39 +110,6 @@ func envOrDefault(key, defaultVal string) string {
return defaultVal return defaultVal
} }
// RegisterSelf registers Wild Central's own UI as a service so it gets
// DNS + proxy + TLS via its own networking stack. Idempotent — safe to
// call on every startup. Skips silently if no domain is configured.
func (api *API) RegisterSelf(port int) {
globalConfigPath := filepath.Join(api.dataDir, "config.yaml")
globalCfg, err := config.LoadGlobalConfig(globalConfigPath)
if err != nil {
return
}
domain := globalCfg.Cloud.Central.Domain
if domain == "" {
return
}
svc := services.Service{
Source: "wild-central",
Domain: domain,
Backend: services.Backend{
Address: fmt.Sprintf("127.0.0.1:%d", port),
Type: services.BackendHTTP,
},
Reach: services.ReachInternal,
TLS: services.TLSTerminate,
}
if err := api.services.Register(svc); err != nil {
slog.Warn("failed to self-register", "domain", domain, "error", err)
} else {
slog.Info("registered wild-central", "domain", domain)
}
}
// StartDDNS loads DDNS config and starts the background goroutine. // StartDDNS loads DDNS config and starts the background goroutine.
func (api *API) StartDDNS(ctx gocontext.Context) { func (api *API) StartDDNS(ctx gocontext.Context) {
api.ctx = ctx api.ctx = ctx