Skip to content

spinlab.studio.casino: Replace APEXCNAME with CNAME for Cloudflare#905

Merged
kerolasa merged 4 commits intoDomain-Connect:masterfrom
SwartZCoding:fix-apexcname-to-cname
Mar 27, 2026
Merged

spinlab.studio.casino: Replace APEXCNAME with CNAME for Cloudflare#905
kerolasa merged 4 commits intoDomain-Connect:masterfrom
SwartZCoding:fix-apexcname-to-cname

Conversation

@SwartZCoding
Copy link
Copy Markdown
Contributor

@SwartZCoding SwartZCoding commented Mar 26, 2026

Description

Replace APEXCNAME record with CNAME host: "@" + hostRequired: true for Cloudflare compatibility. Cloudflare does not support the APEXCNAME extension record type in their Domain Connect implementation, which causes the consent page to crash with a JS error (Cannot read properties of undefined (reading 'proxyable')).

Using CNAME with host: "@" and hostRequired: true instead — Cloudflare automatically applies CNAME flattening at the zone apex, so a CNAME record at @ is resolved to A/AAAA records transparently. Cloudflare ignores the hostRequired flag.

Version bumped from 1 to 3 to trigger Cloudflare auto-sync.

Context: Discussed with Cloudflare Domain Connect team who confirmed APEXCNAME is not supported and recommended using CNAME with hostRequired=true for schema compliance.

Records configured:

  • `CNAME @` → `apex.spinlab.studio` (apex via CNAME flattening)
  • `CNAME www` → `apex.spinlab.studio`
  • `CNAME api` → `apex.spinlab.studio`

Type of change

  • 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?

  • Template functionality checked using Online Editor
  • Template validated with `dc-template-linter -cloudflare` (passes Cloudflare-specific validation)
  • Manually tested apply flow on Cloudflare with a live domain
  • Template file name follows the pattern `providerId.serviceId.json`
  • resource URL provided with `logoUrl` is actually served by a webserver

Checklist of common problems

  • `syncPubKeyDomain` is set — this is mandatory
  • `warnPhishing` is not set alongside `syncPubKeyDomain`
  • `syncRedirectDomain` is specified when intended to use `redirect_uri` — N/A (not using redirect_uri)
  • no TXT record with SPF content instead of using SPFM record type — N/A (no TXT records)
  • `txtConflictMatchingMode` is set on TXT records which shall be unique on a label — N/A (no TXT records)
  • no variable is used as a bare full record value — N/A (no variables)
  • no variable is used in the `host` field — N/A (no variables)
  • `%host%` does not appear explicitly in any `host` attribute
  • `essential` setting is used on records — N/A (all records are essential by default)

Online Editor test results

Editor test link(s):

Test spinlab.studio/casino example.com/sub

@github-actions github-actions bot added the Test links missing No test links from Online Editor provided label Mar 26, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 26, 2026

JSON Filename Check Passed

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 26, 2026

JSON Schema Validation Passed

@github-actions github-actions bot added the schema-error JSON Schema validation failed label Mar 26, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 26, 2026

Linter OK

spinlab.studio.casino.json

Level Code Note

@SwartZCoding SwartZCoding force-pushed the fix-apexcname-to-cname branch from e5ff81a to b5f9233 Compare March 26, 2026 13:05
@github-actions github-actions bot added the Forged editor links At least one of the provided editor links is not genuine. label Mar 26, 2026
Cloudflare does not support APEXCNAME in their Domain Connect
implementation, causing the consent page to crash. Using CNAME
with host "@" instead, which Cloudflare automatically flattens.

Bump version to 3 to trigger auto-sync.
@SwartZCoding SwartZCoding force-pushed the fix-apexcname-to-cname branch from b5f9233 to 54195fd Compare March 26, 2026 13:54
@github-actions github-actions bot removed the Forged editor links At least one of the provided editor links is not genuine. label Mar 26, 2026
@SwartZCoding
Copy link
Copy Markdown
Contributor Author

Note on test link coverage

The test link provided covers the www and api CNAME records but not the CNAME @ (apex) record. This is due to a known limitation of the Online Editor which does not support:

  • CNAME with host: "@" (rejects with "Invalid data for CNAME host")
  • APEXCNAME record type (rejects with "Template validation error: 'host'")

This is the same issue reported in #876.

Why CNAME @ instead of APEXCNAME?

Our original template (#840) used APEXCNAME, but Cloudflare's Domain Connect implementation does not support the APEXCNAME extension — it crashes the consent page with a JS error (Cannot read properties of undefined (reading 'proxyable')). Cloudflare's Domain Connect team confirmed this and recommended using CNAME with host: "@" instead, since Cloudflare applies CNAME flattening automatically at the zone apex.

Validation performed

  • Template passes dc-template-linter -cloudflare (Cloudflare-specific linter accepts CNAME @)
  • Apply flow tested manually on Cloudflare with a live domain
  • Public key signature verified with dc-debug-pubkey

Could a maintainer override the "Test links missing" check given this editor limitation? Happy to provide any additional info needed.

@pawel-kow
Copy link
Copy Markdown
Member

@SwartZCoding a better approach would be just to define hostRequired=true.
AFAIK Cloudflare would just ignore it @kerolasa can confirm this is true.

The template would be then compliant and also usable with other providers who don't support CNAME flattening.

@pawel-kow pawel-kow requested a review from kerolasa March 26, 2026 16:26
Per Cloudflare team recommendation: hostRequired=true makes the template
compliant with the standard schema while Cloudflare ignores the flag.
This also enables proper testing in the Online Editor.
@github-actions github-actions bot added hostRequired hostRequired is set and removed schema-error JSON Schema validation failed labels Mar 26, 2026
@SwartZCoding
Copy link
Copy Markdown
Contributor Author

SwartZCoding commented Mar 26, 2026

@SwartZCoding a better approach would be just to define hostRequired=true. AFAIK Cloudflare would just ignore it @kerolasa can confirm this is true.

The template would be then compliant and also usable with other providers who don't support CNAME flattening.

Should be good now i have add hostRequired=true, if yes please merge this asap :)

@SwartZCoding
Copy link
Copy Markdown
Contributor Author

@kerolasa Everything is good for merge ?

@pawel-kow pawel-kow mentioned this pull request Mar 27, 2026
17 tasks
Copy link
Copy Markdown
Collaborator

@kerolasa kerolasa left a comment

Choose a reason for hiding this comment

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

Removing the APXEXCNAME and replacing it with @ hostname will work in Cloudflare. Cloudflare does not have support for APEXCNAME record, an attempt to apply a template with such record will simply fail.

AFAIK Cloudflare would just ignore it @kerolasa can confirm this is true.

correct.

@kerolasa kerolasa enabled auto-merge March 27, 2026 12:34
@SwartZCoding SwartZCoding requested a review from kerolasa March 27, 2026 13:05
@SwartZCoding
Copy link
Copy Markdown
Contributor Author

@kerolasa Can you please process the merge manually because of the editor don't accept this format for Cname i can't merge by myself.

Thanks by advance :)

@pawel-kow
Copy link
Copy Markdown
Member

@SwartZCoding just do a test with filled in host. This works fine in the editor and the check script will pass.

@github-actions github-actions bot removed the Test links missing No test links from Online Editor provided label Mar 27, 2026
@github-actions
Copy link
Copy Markdown

PR Description Check Passed

All required sections are filled in correctly.

Details
  OK  Type of change: 1/4 checkboxes ticked
  OK  How Has This Been Tested?: all 5 checkboxes ticked
  OK  Checklist of common problems: 9/9 checkboxes ticked
  OK  Online Editor test results: 1 link(s) found
  OK  Template coverage: all 1 template(s) covered
Labels to remove: Checklist of common problems not complete, Forged editor links, PR description incomplete, Test links missing

PR description check PASSED

@kerolasa kerolasa added this pull request to the merge queue Mar 27, 2026
Merged via the queue into Domain-Connect:master with commit ec60b14 Mar 27, 2026
6 of 8 checks passed
ccarse added a commit to ccarse/Templates that referenced this pull request Mar 30, 2026
- Changed record type from A (hardcoded IPs) to CNAME pointing to plop.so
- Set hostRequired: true (required by spec for CNAME with host "@",
  Cloudflare ignores this flag and applies CNAME flattening at apex)
- Bumped version to 2
- Follows same pattern as spinlab.studio PR Domain-Connect#905 (confirmed by
  Cloudflare Domain Connect team)
- Fixes Error 1000 for Cloudflare-to-Cloudflare domains

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ccarse added a commit to ccarse/Templates that referenced this pull request Mar 31, 2026
Use CNAME with host:"@" and hostRequired:true instead of hardcoded
A record IPs. Cloudflare applies CNAME flattening at apex and ignores
hostRequired. Follows same pattern as PR Domain-Connect#905 (spinlab.studio),
confirmed by Cloudflare Domain Connect team.

Fixes Error 1000 for Cloudflare-to-Cloudflare domains caused by
shared proxy IPs (104.21.9.9, 172.67.140.209).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
github-merge-queue bot pushed a commit that referenced this pull request Apr 1, 2026
## Description
Updates the plop.so.website-apex template to use a CNAME record at apex
instead of hardcoded A record IPs. The previous A record IPs
(104.21.9.9, 172.67.140.209) are Cloudflare shared proxy IPs that caused
Error 1000 for domains also on Cloudflare.

Uses CNAME with \`host: "@"\` and \`hostRequired: true\` — Cloudflare
applies CNAME flattening at the zone apex automatically and ignores the
hostRequired flag. This follows the same pattern as PR #905
(spinlab.studio), which was confirmed by the Cloudflare Domain Connect
team.

Changes:
- Record type: 2x A records -> CNAME pointing to plop.so
- Set hostRequired: true (required by spec for CNAME with host "@")
- Version bumped to 2

## Type of change
- [ ] New template
- [x] 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?
- [x] Template functionality checked using Online Editor
- [x] Template filename follows \`<providerId>.<serviceId>.json\`
pattern
- [x] Resource URL with \`logoUrl\` is served by webserver

## Checklist of common problems
- [x] \`syncPubKeyDomain\` is set in every template
- [x] \`warnPhishing\` is not used alongside \`syncPubKeyDomain\`
- [x] \`syncRedirectDomain\` not needed (no redirect_uri)
- [x] No SPF content in TXT records
- [x] \`txtConflictMatchingMode\` not needed (no TXT records)
- [x] No bare variables as full record values
- [x] No bare variables as full host labels
- [x] No variables creating subdomains in host field
- [x] \`%host%\` not used in host attributes
- [x] \`essential\` not needed (non-modifiable records)

## Online Editor test results

plop.so.website-apex subdomain test (hostRequired=true):

https://domainconnect.paulonet.eu/dc/free/templateedit?token=H4sIAOIKy2kC%2F91SYW%2FTMBD9K5E%2FgWhKljRtEwmJbgOBEB2MMYSqKro4l86Q2MZ22oaq%2Fx27bWg7ED%2BAT8ndvXt%2B7%2B42xGAtKzBI0g2RSixZgeptQVIiKyH7WpDe7%2FQUajwUbFajWjKKO%2BwKc80M%2BiBxfSyd4L3XrELvjdCG8YX3ZGJxTy1wiUozwUka2n9QDPIKr1FTxaTZ5cmV4Byp8VrRKM%2FRe4WogXHPCO%2Bg0CuF8krH%2F7DndwpaTi8rQb%2BTtIRKo808gMLiGFrAhyZ%2Fh%2B31ju%2FMsOO5xR8N23UY1dgGhVSoQpN0tiGmlc7Y1XTy%2FtUBbsOXblSCcaPvxBmdMRVJo2EQbOfbHvkpOGZHtnmPFJ0CXINdBvapqI%2B0zpm24UKJRmasa5KgoNZua1377Kx%2F3hHMDgzubbbgQmGm7RdMo7AzVzeVYRms4JgqaAZSVq2Vqm3V8vxpnO8X3CkswMDfjfdIVlCnlblrCcskGcYx9WEMQ38QFrmfQ5D4%2BYiOyjK4CBPAk7N7dI3%2FuLtHE0OtkRsGVgSZVCtoNdlu5z07vf%2FEit2xhiUWGThsGIRDP4j8KLgLo3QwSKNBP45GyTh5FgRpEDgXqM3e2sZew%2BkdELH%2B9nEd3yw0XEwmXy5XZnz%2F9SaGaby%2BlWX4CT%2BH92paPU%2BSweIF2f4CJMAxTjgEAAA%3D

Note: Apex test (no host) is not applicable since hostRequired=true.
Cloudflare ignores this flag and applies CNAME flattening at apex
regardless — confirmed by Cloudflare Domain Connect team in PR #905.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hostRequired hostRequired is set

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants