• [management] resolve private services on custom domains in synthesized DNS zones (#6348)
    Some checks failed
    Release / FreeBSD Port / Build & Test (push) Has been cancelled
    Release / release (push) Has been cancelled
    Release / release_ui (push) Has been cancelled
    Release / release_ui_darwin (push) Has been cancelled
    Release / Windows Installer / Build Test (amd64, amd64) (push) Has been cancelled
    Release / Windows Installer / Build Test (arm64, arm64) (push) Has been cancelled
    Release / Comment release artifacts (push) Has been cancelled
    Release / trigger_signer (push) Has been cancelled
    sync tag / trigger_sync_tag (push) Has been cancelled
    sync tag / trigger_android_bump (push) Has been cancelled
    sync tag / trigger_ios_bump (push) Has been cancelled
    update docs / trigger_docs_api_update (push) Has been cancelled

    rainysy released this 2026-06-06 18:56:01 +08:00 | 40 commits to main since this release

    private services on a custom domain didn't resolve on clients — the synthesized DNS zone was anchored to the cluster, and the account's custom domains weren't even
    loaded.

    • account.go — SynthesizePrivateServiceZones now keys zones by a resolved apex (privateServiceDomainZone): cluster suffix → registered account.Domains (filtered by matching
      TargetCluster, longest wins) → skip if none. One zone per apex; custom-domain services group under their registered domain.
    • sql_store.go — GetAccount now loads account.Domains on both loaders (gorm Preload("Domains") + pgx goroutine via ListCustomDomains; errChan buffer bumped 12→16). This was
      the reason the deploy didn't work — the relation was empty in prod.
    • Tests — custom-domain zone synthesis cases (apex resolution, free+custom separation, sibling collapse, cluster mismatch, mixed cluster/custom/public) + GetAccount
      domain-preload tests on sqlite and Postgres.
    Downloads