Merge pull request #245 from carlosframework/multi-region-writer-map-certs
Multi-region stage 1-2: writer map + cert distribution (#238, closes #158)
16 files changed,
+6416
−227
docs/superpowers/plans/2026-08-20-multi-region-writer-map-and-certs.md+284 −100docs/superpowers/specs/2026-08-20-bucket-writer-audit.md+399 −0docs/superpowers/specs/2026-08-20-multi-region-ingress-design.md+46 −10internal/edge/certcache.go+8 −0internal/edge/certsync.go+1387 −0internal/edge/certsync_e2e_test.go+1157 −0internal/edge/certsync_test.go+1671 −0internal/edge/edge.go+89 −9internal/edge/storedoor_test.go+94 −0internal/edge/wildcard.go+121 −38internal/edge/wildcard_test.go+9 −2internal/host/agent.go+51 −5internal/host/housekeeper.go+424 −0internal/host/housekeeper_test.go+513 −0internal/host/snapshot_loop.go+51 −36internal/host/snapshot_loop_test.go+112 −27
docs/superpowers/plans/2026-08-20-multi-region-writer-map-and-certs.mdLoading diff…
docs/superpowers/specs/2026-08-20-bucket-writer-audit.mdLoading diff…
docs/superpowers/specs/2026-08-20-multi-region-ingress-design.mdLoading diff…
internal/edge/certcache.goLoading diff…
internal/edge/certsync.goLoading diff…
internal/edge/certsync_e2e_test.goLoading diff…
internal/edge/certsync_test.goLoading diff…
internal/edge/edge.goLoading diff…
internal/edge/storedoor_test.goLoading diff…
internal/edge/wildcard.goLoading diff…
internal/edge/wildcard_test.goLoading diff…
internal/host/agent.goLoading diff…
internal/host/housekeeper.goLoading diff…
internal/host/housekeeper_test.goLoading diff…
internal/host/snapshot_loop.goLoading diff…
internal/host/snapshot_loop_test.goLoading diff…