Skip to content

Add Readymag template#778

Merged
pawel-kow merged 3 commits intoDomain-Connect:masterfrom
iam-medvedev:readymag
Feb 23, 2026
Merged

Add Readymag template#778
pawel-kow merged 3 commits intoDomain-Connect:masterfrom
iam-medvedev:readymag

Conversation

@iam-medvedev
Copy link
Contributor

Description

Added 2 new templates for connecting custom domains to Readymag:

  • readymag.com.apex.json — for apex domains (sets A, AAAA, TXT verification and CAA)
  • readymag.com.subdomain.json — for subdomains (sets CNAME, TXT verification and CAA)

Type of change

Please mark options that are relevant.

  • New template
  • Bug fix (non-breaking change which fixes an issue in the template)
  • New feature (non-breaking change which adds functionality to the template)
  • Breaking change (fix or feature that would cause existing template behavior to be not backward compatible)

How Has This Been Tested?

Please mark the following checks done

  • Schema validated using JSON Schema template.schema
  • Template functionality checked using Online Editor
  • Template is checked using template linter
  • Template file name follows the pattern <providerId>.<serviceId>.json
  • resource URL provided with logoUrl is actually served by a webserver

Checklist of common problems

Mark all the checkboxes after conducting the check. Comment on any point which is not fulfilled.

  • digital signatures are used and syncPubKeyDomain specified (yes, warnPhishing is an option, but some providers reject such templates by policy, so signing shall be a default)
  • syncRedirectDomain is specified when intended to use redirect_uri parameter in the synchronous flow
  • no TXT record with SPF content (i.e. "v=spf1 ...") instead of using SPFM record type on APEX
  • txtConflictMatchingMode is set on TXT records which shall be unique on a label (like DMARC)
  • variables are set to the smallest scope needed (i.e. limit possibility to be misused to set any arbitrary record and conflict with other template). Too broad scope example: @ TXT "%verification%". Better usage: @ TXT "foo-verification=%verification%".
  • no variables as a host name to apply template on subdomain instead of standard host parameter
  • no explicit usage of %host% variable in host attribute
  • essential setting is used on records, which the user shall be able to change or remove manually later without dropping the whole template (like DMARC)

Example variable values

NOTE: There is a problem with CAA in the online editor. I don't know how okay that is, but I had to run the check without them.

Error! A problem has been occurred while submitting your data: Unknown record type (CAA) in template

apex:

{
  "testData": {
    "apex": {
      "variables": {
        "domain": "example.com",
        "ipv4": "192.0.2.1",
        "ipv6": "0000:0000:0000:0000:0000:ffff:c000:0201",
        "verificationToken": "test"
      },
      "results": [
        {
          "type": "A",
          "name": "@",
          "ttl": 300,
          "data": "192.0.2.1"
        },
        {
          "type": "AAAA",
          "name": "@",
          "ttl": 300,
          "data": "0000:0000:0000:0000:0000:ffff:c000:0201"
        },
        {
          "type": "TXT",
          "name": "_readymag",
          "ttl": 300,
          "data": "\"readymag-verification=test\""
        }
      ]
    }
  }
}

subdomain:

{
  "testData": {
    "subdomain": {
      "variables": {
        "domain": "example.com",
        "host": "subdomain",
        "cname": "cname.example.com",
        "verificationToken": "test"
      },
      "results": [
        {
          "type": "CNAME",
          "name": "subdomain",
          "ttl": 300,
          "data": "cname.example.com"
        },
        {
          "type": "TXT",
          "name": "_readymag.subdomain",
          "ttl": 300,
          "data": "\"readymag-verification=test\""
        }
      ]
    }
  }
}

@github-actions
Copy link

github-actions bot commented Feb 20, 2026

Linter OK:

Linter result for readymag.com.apex.json
{"level":"info","template":"readymag.com.apex.json","groupid":"","record":4,"type":"CAA","code":"DCTL1016","dctl_note":"unexpeceted record type","time":1771853674}
{"level":"info","template":"readymag.com.apex.json","groupid":"","record":5,"type":"CAA","code":"DCTL1016","dctl_note":"unexpeceted record type","time":1771853674}
Linter result for readymag.com.subdomain.json
{"level":"info","template":"readymag.com.subdomain.json","groupid":"","record":3,"type":"CAA","code":"DCTL1016","dctl_note":"unexpeceted record type","time":1771853674}
{"level":"info","template":"readymag.com.subdomain.json","groupid":"","record":4,"type":"CAA","code":"DCTL1016","dctl_note":"unexpeceted record type","time":1771853674}

Copy link
Member

@pawel-kow pawel-kow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@pawel-kow pawel-kow added this pull request to the merge queue Feb 23, 2026
Merged via the queue into Domain-Connect:master with commit b5adc01 Feb 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants