feat(atlas): hybrid substrate — live specs for cluster nodes, authored rest
CD / Detect unsubstituted template (push) Successful in 1s
CD / Lint / Test / Vet (push) Successful in 6s
CD / Build & Import (push) Successful in 14s
CD / Deploy via GitOps (push) Successful in 1s

MergeSubstrate overlays live node specs onto the authored machine list by name:
cluster nodes (koala) get fresh live specs, non-cluster machines (iguana/flamingo/
piguard) stay authored, new live nodes are appended. Test-first. Restores the full
homelab machine list while keeping cluster nodes truthful.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-20 00:47:53 +02:00
co-authored by Claude Opus 4.8
parent 74dffc1ff3
commit 39fd9b9adc
3 changed files with 59 additions and 1 deletions
+1 -1
View File
@@ -38,7 +38,7 @@ func NewHandler() http.Handler {
return
}
if live := liveSubstrate(); len(live) > 0 {
a.Substrate = live
a.Substrate = atlas.MergeSubstrate(a.Substrate, live)
}
w.Header().Set("Content-Type", "application/json; charset=utf-8")
_ = json.NewEncoder(w).Encode(a)