Skip to content

add CloudBac, CloudBac Custom Domain#1303

Merged
pawel-kow merged 1 commit into
Domain-Connect:masterfrom
abhi-cloudbac:add-cloudbac-customdomain
Jun 30, 2026
Merged

add CloudBac, CloudBac Custom Domain#1303
pawel-kow merged 1 commit into
Domain-Connect:masterfrom
abhi-cloudbac:add-cloudbac-customdomain

Conversation

@abhi-cloudbac

Copy link
Copy Markdown
Contributor

Description

New Domain Connect template connecting a customer's custom domain to a CloudBac website (Cloudflare for SaaS custom hostname). It applies the traffic CNAME plus the Cloudflare custom-hostname ownership TXT and the ACME (SSL DCV) validation TXT. Subdomain-only by design (hostRequired: true), since the traffic record is a CNAME and a CNAME cannot live at a zone apex.

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

  • Template functionality checked using Online Editor
  • 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.
See Template Quality Guidelines for details and rationale on each rule.

  • syncPubKeyDomain is set — this is mandatory; omitting it requires explicit justification in the PR description or the PR will be rejected
  • warnPhishing is not set alongside syncPubKeyDomain — the two must not appear together
  • syncRedirectDomain is set whenever the template uses redirect_uri in the synchronous flow
  • no TXT record contains SPF content ("v=spf1 ...") — use the SPFM record type instead
  • txtConflictMatchingMode is set on every TXT record that must be unique per label or content prefix (e.g. DMARC)
  • no variable is used as a bare full record value (e.g. @ TXT "%foo%") unless necessary — prefer @ TXT "service-foo=%foo%"; if bare, justify in the PR description
    • Justification (bare by necessity): the two TXT data values are bare because the DNS provider must publish the exact opaque token the validating system issues, with no prefix: %ownervalue% is Cloudflare's custom-hostname ownership token and %acmevalue% is the ACME (SSL DCV) token — a prefix would break validation. The CNAME pointsTo (%cnametarget%) is the service's fixed routing host, the same pattern as the merged unkey.com.custom-domain template. All three are guarded by fixed hosts and (for the TXTs) txtConflictMatchingMode.
  • no bare variable is used as the full host label — the non-variable parts are fixed to limit misuse (e.g. %dkimkey%._domainkey, not %dkimhost%); if bare, justify in the PR description
  • no variable is used in the host field to create a subdomain — use the host parameter or multiInstance instead
  • %host% does not appear explicitly in any host attribute
  • essential is set to OnApply on records the end user may need to modify or remove without breaking the template (e.g. DMARC)
    • N/A: none of the records are user-modifiable. The CNAME, ownership TXT, and ACME TXT are all service-managed and required for the connection/SSL to function; removing any breaks the service, so none are marked essential.

Online Editor test results

Editor test link(s):

Test cloudbac.org/customdomain example.com/www

Tested with domain=example.com, host=www (subdomain). Apex test is not required because hostRequired: true.

New template connecting a customer's custom domain to a CloudBac website
(Cloudflare for SaaS custom hostname): traffic CNAME + ownership TXT + ACME
(SSL DCV) TXT.

Type of change:
- [x] New template

Checks:
- [x] Passes template.schema
- [x] dc-template-linter clean (-loglevel error -tolerate info -logos; exit 0)
- [x] File named <providerId>.<serviceId>.json
- [x] syncPubKeyDomain set; warnPhishing NOT set
- [x] syncRedirectDomain set (sync flow uses redirect_uri)
- [x] txtConflictMatchingMode set on the unique verification TXT records
- [x] hostRequired:true (apex CNAME @ requires it; also enforces subdomain-only)
- [ ] Online Editor test link — paste in PR description (subdomain test; apex
      not required since hostRequired=true)
- [ ] logoUrl served by a webserver — replace placeholder before opening PR

Bare-variable justification (PR checklist): the two TXT data values
(%ownervalue%, %acmevalue%) MUST be the exact opaque tokens Cloudflare/ACME
issue — no prefix is permitted, so they are necessarily bare. The CNAME
pointsTo (%cnametarget%) is the service's fixed routing host, same pattern as
the merged unkey.com.custom-domain template.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added the hostRequired hostRequired is set label Jun 27, 2026
@github-actions

Copy link
Copy Markdown

JSON Filename Check Passed

@github-actions

Copy link
Copy Markdown

JSON Schema Validation Passed

@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 3 checkboxes ticked
  OK  Checklist of common problems: 9/10 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

@github-actions

Copy link
Copy Markdown

Linter OK

cloudbac.org.customdomain.json

Level Code Note
info DCTL1021 missing from iana definitions

@pawel-kow pawel-kow added this pull request to the merge queue Jun 30, 2026
Merged via the queue into Domain-Connect:master with commit 6c7962a Jun 30, 2026
6 checks passed
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.

2 participants