carlos / platform Public

Merge pull request #259 from carlosframework/multi-region-steering

Multi-region steering: latency DNS, health checks, the probe (#238 Part 4)
Paul Campbell pushed by paul@keymail.dev ddc2fcc45d1da92a9ef0a59f429abcecd710f77c parent ab58c52parent 7441ff0
44 files changed, +7148 −148
  • apimode.go +29 −0
  • apimode_test.go +69 −0
  • cli.go +7 −0
  • cli_test.go +15 −0
  • cmd/console/main.go +25 −0
  • docs/superpowers/plans/2026-08-23-multi-region-steering.md +398 −8
  • docs/superpowers/specs/2026-08-20-multi-region-ingress-design.md +180 −19
  • infra/modules/README.md +3 −0
  • infra/modules/region-host/main.tf +91 −0
  • infra/modules/region-host/variables.tf +20 −0
  • instances_cli.go +107 −2
  • instances_e2e_test.go +43 −0
  • internal/console/apidomains.go +1 −1
  • internal/console/apiinstances.go +89 −19
  • internal/console/apiinstances_test.go +284 −0
  • internal/console/appsettings.go +1 −1
  • internal/console/server.go +41 −2
  • internal/console/server_test.go +63 −4
  • internal/console/view.go +90 −19
  • internal/console/view_test.go +9 −9
  • internal/edge/edge.go +40 −7
  • internal/edge/homemap.go +67 −1
  • internal/edge/homemap_test.go +122 −0
  • internal/edge/steeringprobe.go +120 −0
  • internal/edge/steeringprobe_test.go +231 −0
  • internal/edge/wildcard.go +64 −0
  • internal/host/agent.go +61 −16
  • internal/host/edgesfile.go +111 −13
  • internal/host/edgesfile_test.go +308 −10
  • internal/host/steering_loop.go +246 −0
  • internal/host/steering_loop_test.go +525 −0
  • internal/provision/provision.go +37 −0
  • internal/provision/provision_test.go +57 −1
  • internal/provision/reconcile.go +107 −10
  • internal/provision/reconcile_test.go +89 −0
  • internal/registry/registry.go +84 −6
  • internal/registry/registry_test.go +92 −0
  • internal/steering/deployment.go +73 −0
  • internal/steering/deployment_test.go +151 −0
  • internal/steering/route53.go +965 −0
  • internal/steering/route53_test.go +1241 −0
  • internal/steering/steering.go +364 −0
  • internal/steering/steering_test.go +424 −0
  • main.go +4 −0
apimode.go

Loading diff…

apimode_test.go

Loading diff…

cli.go

Loading diff…

cli_test.go

Loading diff…

cmd/console/main.go

Loading diff…

docs/superpowers/plans/2026-08-23-multi-region-steering.md

Loading diff…

docs/superpowers/specs/2026-08-20-multi-region-ingress-design.md

Loading diff…

infra/modules/README.md

Loading diff…

infra/modules/region-host/main.tf

Loading diff…

infra/modules/region-host/variables.tf

Loading diff…

instances_cli.go

Loading diff…

instances_e2e_test.go

Loading diff…

internal/console/apidomains.go

Loading diff…

internal/console/apiinstances.go

Loading diff…

internal/console/apiinstances_test.go

Loading diff…

internal/console/appsettings.go

Loading diff…

internal/console/server.go

Loading diff…

internal/console/server_test.go

Loading diff…

internal/console/view.go

Loading diff…

internal/console/view_test.go

Loading diff…

internal/edge/edge.go

Loading diff…

internal/edge/homemap.go

Loading diff…

internal/edge/homemap_test.go

Loading diff…

internal/edge/steeringprobe.go

Loading diff…

internal/edge/steeringprobe_test.go

Loading diff…

internal/edge/wildcard.go

Loading diff…

internal/host/agent.go

Loading diff…

internal/host/edgesfile.go

Loading diff…

internal/host/edgesfile_test.go

Loading diff…

internal/host/steering_loop.go

Loading diff…

internal/host/steering_loop_test.go

Loading diff…

internal/provision/provision.go

Loading diff…

internal/provision/provision_test.go

Loading diff…

internal/provision/reconcile.go

Loading diff…

internal/provision/reconcile_test.go

Loading diff…

internal/registry/registry.go

Loading diff…

internal/registry/registry_test.go

Loading diff…

internal/steering/deployment.go

Loading diff…

internal/steering/deployment_test.go

Loading diff…

internal/steering/route53.go

Loading diff…

internal/steering/route53_test.go

Loading diff…

internal/steering/steering.go

Loading diff…

internal/steering/steering_test.go

Loading diff…

main.go

Loading diff…