Skip to content

add Ploro, App hosting#1344

Open
benarmstead wants to merge 2 commits into
Domain-Connect:masterfrom
benarmstead:add-ploro-dev-hosting
Open

add Ploro, App hosting#1344
benarmstead wants to merge 2 commits into
Domain-Connect:masterfrom
benarmstead:add-ploro-dev-hosting

Conversation

@benarmstead

@benarmstead benarmstead commented Jul 8, 2026

Copy link
Copy Markdown

Description

New template ploro.dev.hosting.json for Ploro (ploro.dev), a multi-tenant
app-hosting platform. It connects an operator's external subdomain to their Ploro
app in one click: a routing CNAME to the Cloudflare-for-SaaS custom-hostname
target, plus the custom-hostname ownership TXT (_cf-custom-hostname) and the ACME
DCV TXTs (_acme-challenge) that pre-validate the HTTPS certificate. All four
values are issued per hostname and passed as template variables on the apply URL.

hostRequired is true because the routing record is a CNAME, which cannot live at
a zone apex — the flow is offered for subdomains only.

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?

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

Note: the template also passes the official dc-template-linter
(-tolerate warn, exit 0); the only remaining messages are two info-level
notes — DCTL1029 (no syncPubKeyDomain, intentional — see below) and
DCTL1021 (_cf-custom-hostname is a Cloudflare-specific underscore TXT host,
not in the IANA list). logoUrl (https://ploro.dev/favicon.ico) returns 200
image/svg+xml.

Checklist of common problems

  • syncPubKeyDomain is set — N/A, justified: this platform's synchronous apply requests are unsigned, so warnPhishing: true is used instead of syncPubKeyDomain (the two are mutually exclusive). Matches the pattern of other unsigned hosting templates (e.g. animacontent.hosting.json).
  • warnPhishing is not set alongside syncPubKeyDomain — only warnPhishing is set.
  • syncRedirectDomain is set whenever the template uses redirect_uri — set to ploro.dev.
  • no TXT record contains SPF content — none present.
  • txtConflictMatchingMode is set on TXT records that must be unique — set to All on all three TXT records.
  • no variable is used as a bare full record value unless necessaryjustified: %owntxt%, %dcv1% and %dcv2% are opaque tokens whose exact value is dictated verbatim by Cloudflare-for-SaaS ownership verification and by the ACME (DCV) challenge respectively; no fixed prefix is permitted by those protocols.
  • no bare variable is used as the full host label — all TXT hosts are fixed (_cf-custom-hostname, _acme-challenge); the CNAME host is @.
  • no variable is used in the host field to create a subdomain — the subdomain is carried via the host apply parameter (hostRequired: true).
  • %host% does not appear explicitly in any host attribute.
  • essential is set on records the user may need to modify — N/A; every record is required for the connection to function, none is safe to remove.

Online Editor test results

Editor test link(s):

Test ploro.dev/hosting example.com/shop

New template ploro.dev.hosting.json: one-click custom-subdomain connection
for the Ploro app-hosting platform (routing CNAME + Cloudflare-for-SaaS
ownership and ACME DCV TXT records). hostRequired; warnPhishing (unsigned
synchronous apply).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added PR description incomplete The PR description template was not filled in at all, altered or filled in improperly. Test links missing No test links from Online Editor provided hostRequired hostRequired is set labels Jul 8, 2026
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

JSON Filename Check Passed

@github-actions github-actions Bot added the no syncPubKeyDomain syncPubKeyDomain not set. Template is not secured. label Jul 8, 2026
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

JSON Schema Validation Passed

@github-actions github-actions Bot added the warnPhishing warnPhishing is set. Template is not secured. label Jul 8, 2026
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

Linter OK

ploro.dev.hosting.json

Level Code Note
info DCTL1029 template does not have syncPubKeyDomain
info DCTL1021 missing from iana definitions

@github-actions github-actions Bot removed PR description incomplete The PR description template was not filled in at all, altered or filled in improperly. Test links missing No test links from Online Editor provided labels Jul 8, 2026
@github-actions

github-actions Bot commented Jul 8, 2026

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: 10/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

Comment thread ploro.dev.hosting.json
"logoUrl": "https://ploro.dev/favicon.ico",
"description": "Connects a domain to an app built on Ploro: routes traffic to the app and pre-validates its HTTPS certificate.",
"variableDescription": "target: the Cloudflare-for-SaaS routing hostname the CNAME points to. owntxt: the custom-hostname ownership token. dcv1/dcv2: the ACME (DCV) certificate-validation tokens. All four values are issued per hostname by Ploro and passed on the apply URL.",
"warnPhishing": true,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Re-consider using syncPubKeyDomain.
Yes, the template has still a lot of variables and some providers require it by policy and the templates need to be updated.

@github-actions github-actions Bot added the review issues Changes requested from PR review label Jul 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hostRequired hostRequired is set no syncPubKeyDomain syncPubKeyDomain not set. Template is not secured. review issues Changes requested from PR review warnPhishing warnPhishing is set. Template is not secured.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants