Skip to content

feat(platform): Add regional delivery and managed HTTPS - #184

Merged
yuanzui-cf merged 26 commits into
developfrom
feat/gateway-dns-providers
Sep 9, 2026
Merged

feat(platform): Add regional delivery and managed HTTPS#184
yuanzui-cf merged 26 commits into
developfrom
feat/gateway-dns-providers

Conversation

@yuanzui-cf

@yuanzui-cf yuanzui-cf commented Sep 9, 2026

Copy link
Copy Markdown
Member

Summary

Deployments can select a region and are scheduled onto healthy Serve nodes with capacity in that region. Every Serve node retains the full Host route snapshot and can reach the assigned deployment through one peer hop, including across regions.

Regional CNAME entries support verified custom-domain HTTPS. TXT ownership and domain review gate serving and issuance; Node TLS selects certificates by SNI, enforces Host matching, and reloads renewed certificates. The Control API and Console manage Let's Encrypt, ZeroSSL EAB, HTTP-01 publication acknowledgements, delegated DNS-01, manual imports, renewal retries, entry health, and certificate installation status. Additive migrations store encrypted certificate state and Node acknowledgements.

Gateway requests follow the destination's authentication mode, covering all four token/trusted-network combinations. DNSPod, Route53, and Cloudflare reconciliation preserve unrelated TXT values and encrypt write-only provider credentials. Dependency updates address the HTTP/2 empty-frame and test-server path-traversal advisories. Deployment documentation includes native TLS configuration and a HAProxy TCP passthrough example.

The integration preserves the original commits from #185 and #186 as merge parents. The implementation files remain identical to the previously validated 79080b19; the only file change in the integration commit removes completed capabilities from docs/todo.md. Merge this PR into develop with a merge commit so all three source branch histories enter the base branch and GitHub can mark the related PRs as merged.

Validation

  • just quality passed on the final integration tree before commit: 483 Control API tests, 117 Node tests, and 225 Console tests, plus formatting, lint, checks, production builds, and license validation. Infrastructure-dependent ignored tests are covered separately by CI where configured.
  • The Node Serve suite also passed 50 targeted local tests, including native HTTPS, certificate replacement/withdrawal, entry failover, all four gateway authentication combinations, and redirect/traversal protections.
  • Prior integrated CI passed the suites, dependency audits, migration application, explicit certificate schema inspection, regional ingress migration upgrade/rollback, and Docker Node delivery smoke test.
  • Verified that the original heads of both related feature branches are ancestors of the integration commit and that all files other than the TODO match 79080b19 exactly.
  • Final integration CI passed both Quality and Node delivery smoke for 982c5d58, including migration/schema checks and dependency audits.

Tracking

Parent: #179

Related PRs: #185 and #186, both targeting develop and integrated through this PR.

Closes #180
Closes #181
Closes #182
Closes #183

The default branch is main; repeat these closing references in the later promotion PR from develop to main.

Known Limitations

  • Live DNS provider operations and public Let's Encrypt/ZeroSSL issuance have not been exercised with dedicated domains and runtime credentials. Provider contract tests and a local ACME CA provide the available automated coverage.
  • Standalone tsc --noEmit fails on the existing Console setup because React/Node type dependencies are missing; the same failure was reported on the unchanged develop baseline. Standard vp check, tests, and production builds pass.
  • Automatic deployment relocation after the assigned Serve node fails remains separate work. Entry failover assumes the assigned Serve node remains healthy.

Preserve mixed gateway modes and reject credential-bearing redirects and path traversal.

Refs #182
Add ownership-gated issuance, regional challenge acknowledgements, encrypted certificate lifecycle state, and Console management.

Refs #181
Preserve concurrent credential rotations and manual imports, and isolate malformed legacy state by region.

Refs #181
Integrate native Node TLS, ownership-gated ACME issuance, encrypted certificate state, regional challenge acknowledgements, Console controls, and entry failover validation.

Refs #181
@yuanzui-cf yuanzui-cf added this to the 0.1.0 milestone Sep 9, 2026
@yuanzui-cf yuanzui-cf added type: feat New product functionality area: backend Control API and backend domain logic area: frontend Console user interface and browser behavior area: node Build and serve node behavior area: infra Continuous integration and delivery infrastructure labels Sep 9, 2026
@yuanzui-cf yuanzui-cf self-assigned this Sep 9, 2026
@yuanzui-cf
yuanzui-cf marked this pull request as draft September 9, 2026 19:28
@yuanzui-cf
yuanzui-cf changed the base branch from main to develop September 9, 2026 19:39
Preserve the original regional scheduling and ingress commits already integrated into this branch, keeping the validated implementation intact. Remove the completed product capabilities from the remaining-work document for the develop merge.

Refs #179, #180, #181, #182, #183
@yuanzui-cf
yuanzui-cf marked this pull request as ready for review September 9, 2026 19:42
@yuanzui-cf
yuanzui-cf merged commit d18cd1b into develop Sep 9, 2026
2 checks passed
@yuanzui-cf
yuanzui-cf deleted the feat/gateway-dns-providers branch September 9, 2026 19:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: backend Control API and backend domain logic area: frontend Console user interface and browser behavior area: infra Continuous integration and delivery infrastructure area: node Build and serve node behavior type: feat New product functionality

Projects

None yet

1 participant