Add Render custom domain templates (render.com)#1468
Open
anurag wants to merge 1 commit into
Open
Conversation
Three templates for connecting custom domains to Render services: subdomain CNAME, apex via CNAME (for providers that flatten a root CNAME), and apex via A record. The apex variants carry the www record in a separate record group so a root+www pair costs one consent. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
✅ JSON Filename Check Passed |
|
✅ JSON Schema Validation Passed |
Linter OK
|
| Level | Code | Note |
|---|
render.com.custom-domain-apex.json
| Level | Code | Note |
|---|
render.com.custom-domain-subdomain.json
| Level | Code | Note |
|---|
anurag
marked this pull request as ready for review
July 26, 2026 20:09
PR Description Check PassedAll required sections are filled in correctly. Details |
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
Three new templates from Render (cloud application platform) for connecting a customer's custom domain to their Render service:
render.com.custom-domain-subdomain.jsonCNAME @ → %renderService%(applied underhost)render.com.custom-domain-apex.jsonapex:CNAME @; groupwww:CNAME wwwrender.com.custom-domain-apex-a.jsonapex:A @ → 216.24.57.1; groupwww:CNAME wwwDesign notes for reviewers:
hostRequireddiffers between the apex variants and this is intentional. The CNAME variant setshostRequired: truebecause the linter (DCTL1012) requires it next to aCNAMEon host@— a literal root CNAME is invalid DNS, so that variant is only onboarded by providers that flatten (e.g. Cloudflare), which per DCTL5006 ignorehostRequired. The A variant setshostRequired: falseand is the general-purpose apex template.wwwrecord in a separate group so that configuring a root domain plus itswwwcosts a single consent screen; the apply URL'sgroupIdselectsapexorapex,www.%renderService%as a fullpointsTovalue (checklist item below): the CNAME target is exactly the customer's<service>.onrender.comhostname, prescribed by Render's platform — there is no fixed prefix a CNAME target can carry. All apply URLs are signed (syncPubKeyDomainis set), so the value is attested by Render's key, and Render's server-side verification independently checks the resulting DNS before activating the domain.syncRedirectDomainisrender.com(registrable domain), matching how the spec scopes redirect validation.dc-template-linterclean (default,-cloudflare, and-logosmodes) and validate againsttemplate.schema.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.
See Template Quality Guidelines for details and rationale on each rule.
syncPubKeyDomainis set — this is mandatory; omitting it requires explicit justification in the PR description or the PR will be rejectedwarnPhishingis not set alongsidesyncPubKeyDomain— the two must not appear togethersyncRedirectDomainis set whenever the template usesredirect_uriin the synchronous flow"v=spf1 ...") — use theSPFMrecord type instead (no TXT records in these templates)txtConflictMatchingModeis set on every TXT record that must be unique per label or content prefix (e.g. DMARC) (no TXT records in these templates)@ TXT "%foo%") unless necessary — prefer@ TXT "service-foo=%foo%"; if bare, justify in the PR description (justified above: CNAMEpointsTois the service hostname itself; requests are signed)hostlabel — the non-variable parts are fixed to limit misuse (e.g.%dkimkey%._domainkey, not%dkimhost%) (hosts are fixed@andwww)hostfield to create a subdomain — use thehostparameter ormultiInstanceinstead%host%does not appear explicitly in anyhostattributeessentialis set toOnApplyon records the end user may need to modify or remove without breaking the template (e.g. DMARC) (all records here areessential: "Always"deliberately: each one IS the service connection, and a manual edit to any of them breaks the domain — there is no record a user should change independently of the template)Online Editor test results
Editor test link(s):