Add relaydns.dev.relay-connect template - #1642
Open
endibuka wants to merge 1 commit into
Open
Conversation
This JSON file defines the configuration for the RelayDNS service, including provider details, service information, and DNS records.
|
✅ JSON Filename Check Passed |
|
✅ JSON Schema Validation Passed |
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
New template for RelayDNS. It points a customer-supplied subdomain at a RelayDNS
relay host and adds the verification TXT record for that setup, so an end user can
connect a domain without editing DNS by hand.
Type of change
How Has This Been Tested?
Please mark the following checks done
<providerId>.<serviceId>.jsonlogoUrlis actually served by a webserverChecklist of common problems
syncPubKeyDomainis set — this is mandatorywarnPhishingis not set alongsidesyncPubKeyDomainsyncRedirectDomainis set whenever the template usesredirect_uritxtConflictMatchingModeis set on every TXT record that must be uniquehostlabelhostfield to create a subdomain%host%does not appear explicitly in anyhostattributeessentialis set toOnApplyon records the end user may need to modify — see note belowJustification — bare variable as a full record value.
The CNAME uses
"pointsTo": "%target%". A CNAME's value is by definition a completehostname, so unlike a TXT record there is no fixed prefix available to scope it with;
service-foo=%foo%has no CNAME equivalent. The variable is constrained on our sideinstead: the service only ever emits relay hostnames we operate, and every apply URL
is RSA-SHA256 signed against the key published at
_dcpubkeyv1.relaydns.dev, so athird party cannot substitute a target of their own.
Note —
essential.Deliberately not set. Neither record is user-modifiable: removing or editing either
breaks the setup rather than degrading it, so
OnApplywould misrepresent them.Note —
hostRequired.Set to
true. The template places a CNAME athost: "@", and a CNAME on a zone apexis invalid DNS, so a host must be supplied at apply time. Verified in the editor: an
apply with no host is refused with "Template requires a host name". Per the exception
in the PR template, no apex test link is included.
Note — linter DCTL1031 (shared
groupId).Intentional. Both records carry
groupId: "relay"because they are meaninglessapart — a CNAME without its verification TXT produces a domain that is configured
but can never be verified. They must be applied together, not offered as independent
options.
Online Editor test results
Editor test link(s):
https://domainconnect.paulonet.eu/dc/free/templateedit?token=H4sIAMh7iWoC%2F%2B1UXW%2FbOgz9K4KAPsX27HRNGwMD9pE97N7brusybENRBIrF2FodyVei03hF%2F%2FsoOx%2FOWux5A%2FZmieTxOeSh7jnCsioFAk%2FveWXNSkmw7yRPuYVSNFK7SMKKB7vYhVhSLr%2Fy0cnFR4o4sCuVwb4ozIzWkOE%2Btil6090zwaRZCqUZGtYDWoF1ymieJgEvjMMr%2BL9WFggXbQ0BL01uPtmSgArEyqXPnvU57g6hzwuNDkuVFxi5VU7YElxmVYUtPr80SqMjHlnt0CzBMlfPN5wE7jgxoSUTUjqGBTCipxYqEx6DWciMlWxhLMWoxAHWVeRFCKvEvITJwQ9R2BwwbXF26C1h5pVq6g%2FFlOvxcIWpS8kqT5VIBQyiPOpqor7uiLp4C7rDrsCGLZVDtm1GwApYB0w5V4NkdwXotsQzceB85ynGMgvkBumluEZnl%2FX8X2gmLaXHpvAZr0uT3fJ0IUoH3c0VSBpbhrsqUakDysFPMF0zHU%2Bv7zk2VWuVi1fnbymUW1NXe2vxzhl0fOk92Y5xauh41HX4iG4RySLHozh%2BCHZw0y%2FTX4HNtoS8UwSKntKwbWTz4qjt4QE%2Bfa6RPL0oVYbnArNC6fzcSP%2FDSwsLteZPpmxij%2F%2FBH24eAv7daJjtW3JDlLaNvC0bG5VK3%2B6p52YrbKa2%2BZWwYun8Rm8rr3ulN9vaa19Mp651%2FrxZ3INhtRleu09wKtcgERyeno25Z0sXxsLMBwTWFrbLuqxLVDNxJ%2FZXMpuJqiobEucoSniP5627l6JVtZnEk6QOxjCTmRer%2FGSz58NFvEhG4WmSnIbPR%2BNReJYMk3CUxPPk%2BPhkvIjnvefsqafuVw9av%2Bu0NKBRCf8ivSrvROP4wyPPbQTtHBb1pf1sgMP2%2FrYabwJy2d%2FZ%2FZmzo3V2YgVyJnziMB6OwvgsHA6nSUx005NRdHw6PInHgzhO49gLIUmd5nva9%2F6m86%2BT9ZtPg8t1%2Ffod6sH424dmfP4fzicCzUBPC1VN%2Fnl%2FN%2FiM7wc5PW4%2FAFUM6jRtCAAA