v0.280.0: the setup gate (decision 46); R-710 'I changed it' + absent-record window; R-709 password fields off the page; password:N:special generator
gates / gates (push) Successful in 25s

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-09-29 08:51:46 +02:00
parent 2548b4c924
commit 7fa8768cfd
37 changed files with 4015 additions and 107 deletions
+4
View File
@@ -1684,6 +1684,10 @@ func main() {
go waiter.Run(ctx)
}
// v0.280.0 (`09` §3 decision 46): the setup gate's loop — every closed gate's traefik file exists, a probe
// that says "set up" opens its gate, and a gate file nobody owns is removed.
go stackMgr.RunSetupGateLoop(ctx, 20*time.Second)
// --- Initialize API router ---
apiRouter := api.NewRouter(cfg, *configPath, sett, stackMgr, syncer, cpuCollector, backupMgr, metricsStore, updater, notifier, logger)
if reportTrigger != nil {