add Customdomain custom-domain onboarding catalog (16 templates)#1346
Merged
pawel-kow merged 1 commit intoJul 8, 2026
Merged
Conversation
|
✅ JSON Filename Check Passed |
|
✅ JSON Schema Validation Passed |
Linter OK
|
| Level | Code | Note |
|---|
customdomain.ai.apex-aaaa.json
| Level | Code | Note |
|---|
customdomain.ai.apex-cname.json
| Level | Code | Note |
|---|---|---|
| info | DCTL1038 | APEXCNAME and REDIRxxx records are not widely supported |
customdomain.ai.apex-www.json
| Level | Code | Note |
|---|---|---|
| info | DCTL1031 | all record groupId values are the same |
customdomain.ai.caa.json
| Level | Code | Note |
|---|---|---|
| info | DCTL1016 | unexpeceted record type |
| info | DCTL1016 | unexpeceted record type |
customdomain.ai.connect-verified.json
| Level | Code | Note |
|---|---|---|
| info | DCTL1031 | all record groupId values are the same |
customdomain.ai.email-dkim.json
| Level | Code | Note |
|---|
customdomain.ai.email-dmarc.json
| Level | Code | Note |
|---|
customdomain.ai.email-full.json
| Level | Code | Note |
|---|---|---|
| info | DCTL1031 | all record groupId values are the same |
customdomain.ai.email-mx.json
| Level | Code | Note |
|---|
customdomain.ai.email-spf.json
| Level | Code | Note |
|---|
customdomain.ai.redirect.json
| Level | Code | Note |
|---|---|---|
| info | DCTL1038 | APEXCNAME and REDIRxxx records are not widely supported |
customdomain.ai.subdomain.json
| Level | Code | Note |
|---|
customdomain.ai.verify.json
| Level | Code | Note |
|---|
customdomain.ai.wildcard.json
| Level | Code | Note |
|---|
customdomain.ai.www.json
| Level | Code | Note |
|---|
3d5128d to
b18198a
Compare
providerId=customdomain.ai templates covering every DNS shape a custom-domain product needs: pointing (apex-a/aaaa/cname/www, subdomain, www, wildcard), ownership+TLS (verify, connect-verified, caa), email (spf/dkim/dmarc/mx/full), redirect. All signed via syncPubKeyDomain=customdomain.ai (_dck1). srv/ds/ clickfunnels deferred per catalog plan.
b18198a to
3f68f41
Compare
PR Description Check PassedAll required sections are filled in correctly. Details |
Merged
via the queue into
Domain-Connect:master
with commit Jul 8, 2026
ec6280b
8 of 9 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds the Customdomain custom-domain onboarding catalog — 16 templates under
providerId: customdomain.ai(providerName: Customdomain, https://customdomain.ai)covering every DNS shape a custom-domain product needs. Companion to the two already
merged: the subdomain Custom domain (#1340) and the apex Website (#1323), which
are not resubmitted here.
One template per shape, variable-driven, so a single template serves every customer. All
synchronous-flow requests are signed (
syncPubKeyDomain: customdomain.ai; the public keyis published at
_dck1.customdomain.ai).Pointing (serve the domain from the Customdomain edge):
apex-a(A @ →%edgeIp%),apex-aaaa(AAAA @ →%edgeIp6%),apex-cname(APEXCNAME @),apex-www(A @ + CNAME www,grouped),
subdomain(CNAME,hostRequired),www(CNAME www),wildcard(CNAME *).Ownership / TLS:
verify(TXT @,txtConflictMatchingMode: Prefix+essential: OnApplyso re-verification updates in place),
connect-verified(A @ + verify TXT, grouped —one-step connect + prove),
caa(CAA @ authorizing the edge's ACME issuer;essential: OnApply).Email / deliverability:
email-spf(SPFM),email-dkim(CNAME%selector%._domainkey),email-dmarc(TXT_dmarc,txtConflictMatchingMode: All),email-mx(MX),email-full(grouped MX + SPFM + DKIM + DMARC). Redirect:
redirect(REDIR301).Record types exercised: A, AAAA, APEXCNAME, CNAME, TXT, MX, SPFM, CAA, REDIR301. Every
template carries
logoUrl: https://customdomain.ai/logo.svg. All 16 passdc-template-linterwith 0 errors and validate againsttemplate.schema.Catalog scope (deliberate deferrals)
srv(SRV) — deferred: spec-parity shape shipped only when a concrete use case appears.ds(DNSSEC) — deferred: a host-API-gated capability, not a request-time DC template record.clickfunnels— held: a brand composite that adds no new record shape overapex-cname+verify+email-spf; folded into the generic catalog instead of shipped as its own template.email-mxuses a fixedpriority: 10(the conventional default) rather than a variable —the DC
priorityfield is a numeric type, so it takes a value, not a substitution token.Type of change
Please mark options that are relevant.
How Has This Been Tested?
Please mark the following checks done
<providerId>.<serviceId>.jsonlogoUrlis actually served by a webserverChecklist of common problems
Mark all the checkboxes after conducting the check. Comment on any point which is not fulfilled.
syncPubKeyDomainis set on every template (published at_dck1.customdomain.ai)warnPhishingis not set alongsidesyncPubKeyDomainsyncRedirectDomainis set whenever the template usesredirect_uri— n/a: no template usesredirect_uri(theredirecttemplate uses aREDIR301record, not the OAuth async param)v=spf1 ...) — SPF is expressed with theSPFMrecord type (email-spf,email-full)txtConflictMatchingModeis set on every TXT record that must be unique per label/content —verify/connect-verifiedusePrefix(customdomain-verify=);email-dmarc/email-fulluseAll%edgeIp%/%edgeIp6%(A/AAAA),%mxHost%(MX),%dkimTarget%(DKIM CNAME),%redirectTarget%(REDIR301)hostlabel — hosts are@,www,*,_dmarc, or%selector%._domainkey(embedded, not bare)hostfield to create a subdomain — thehostparameter is used (subdomainsetshostRequired)%host%does not appear explicitly in anyhostattributeessentialis set toOnApplyon records the user may need to modify without breaking the template —caa,verify, andconnect-verified's verification TXTOnline Editor test results
Editor test link(s) — host + no-host per non-
hostRequiredtemplate, one for thehostRequiredsubdomain(31 links total, each generated from the Online Editor withdomain=example.com):apex-a— Point apex (A record) — host=www· apex (no host)applied →
www A 192.0.2.10 · @ A 192.0.2.10apex-aaaa— Point apex (IPv6) — host=www· apex (no host)applied →
www AAAA 2001:db8::10 · @ AAAA 2001:db8::10apex-cname— Point apex (flatten-capable hosts) — host=www· apex (no host)applied →
@ APEXCNAME edge.customdomain.aiapex-www— Point apex + www — host=www· apex (no host)applied →
www A 192.0.2.10 · www.www CNAME edge.customdomain.ai · @ A 192.0.2.10 · www CNAME edge.customdomain.aisubdomain— Point a subdomain — host=wwwapplied →
www CNAME edge.customdomain.aiwww— Point www — host=www· apex (no host)applied →
www.www CNAME edge.customdomain.ai · www CNAME edge.customdomain.aiwildcard— Point all subdomains (wildcard) — host=www· apex (no host)applied →
*.www CNAME edge.customdomain.ai · * CNAME edge.customdomain.aiverify— Verify domain ownership — host=www· apex (no host)applied →
www TXT customdomain-verify=cd-verify-1a2b3c4d · @ TXT customdomain-verify=cd-verify-1a2b3c4dconnect-verified— Connect + verify (one step) — host=www· apex (no host)applied →
www A 192.0.2.10 · www TXT customdomain-verify=cd-verify-1a2b3c4d · @ A 192.0.2.10 · @ TXT customdomain-verify=cd-verify-1a2b3c4dcaa— Authorize SSL issuance (CAA) — host=www· apex (no host)applied →
www CAA 0 issue "letsencrypt.org" · www CAA 0 issuewild "letsencrypt.org" · @ CAA 0 issue "letsencrypt.org" · @ CAA 0 issuewild "letsencrypt.org"email-spf— Email SPF (merge) — host=www· apex (no host)applied →
www TXT v=spf1 include:spf.customdomain.ai ~all · @ TXT v=spf1 include:spf.customdomain.ai ~allemail-dkim— Email DKIM — host=www· apex (no host)applied →
cd1._domainkey.www CNAME cd1.dkim.customdomain.ai · cd1._domainkey CNAME cd1.dkim.customdomain.aiemail-dmarc— Email DMARC — host=www· apex (no host)applied →
_dmarc.www TXT v=DMARC1; p=none; rua=mailto:mailto:dmarc@example.com · _dmarc TXT v=DMARC1; p=none; rua=mailto:mailto:dmarc@example.comemail-mx— Email MX — host=www· apex (no host)applied →
www MX mx.customdomain.ai · @ MX mx.customdomain.aiemail-full— Full email setup — host=www· apex (no host)applied →
www MX mx.customdomain.ai · www TXT v=spf1 include:spf.customdomain.ai ~all · cd1._domainkey.www CNAME cd1.dkim.customdomain.ai · _dmarc.www TXT v=DMARC1; p=none; rua=mailto:mailto:dmarc@example.com · @ MX mx.customdomain.ai · @ TXT v=spf1 include:spf.customdomain.ai ~all · cd1._domainkey CNAME cd1.dkim.customdomain.ai · _dmarc TXT v=DMARC1; p=none; rua=mailto:mailto:dmarc@example.comredirect— Forward this domain — host=www· apex (no host)applied →
www A 127.0.0.1 · www AAAA ::1 · www REDIR301 https://app.customdomain.ai · @ A 127.0.0.1 · @ AAAA ::1 · @ REDIR301 https://app.customdomain.ai