Skip to content

update Loot OS storefront: DKIM CNAMEs move under mail. (version 2) - #1813

Merged
pawel-kow merged 2 commits into
Domain-Connect:masterfrom
dylanclootlabs:update-lootos-storefront-v2
Sep 14, 2026
Merged

pawel-kow merged 2 commits into
Domain-Connect:masterfrom
dylanclootlabs:update-lootos-storefront-v2

Conversation

@dylanclootlabs

Copy link
Copy Markdown
Contributor

Description

Updates lootos.com.storefront.json to version 2. The three Amazon SES Easy DKIM CNAMEs move from %dkimN%._domainkey (on the storefront hostname itself) to %dkimN%._domainkey.mail, and the storefront's sign-in emails now come from no-reply@mail.<hostname> instead of no-reply@<hostname>. The description and variable description say so; nothing else changes (records for the storefront CNAME and the _cf-challenge TXT are identical to version 1).

Reason: version 1 put the DKIM selectors under the hostname's own _domainkey, which is where a customer's existing mail on that hostname keeps its selectors. Scoping the sender to the mail. subdomain keeps Loot OS records away from whatever mail the customer already runs. Records applied from version 1 are plain CNAMEs to *.dkim.amazonses.com and stay harmless; the version bump makes providers refetch the template.

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

Comments (unchanged from #1749):

  • Bare variable value: the _cf-challenge TXT carries %endpoint% on its own because CloudFront prescribes the exact record content (the distribution's routing endpoint) for its hostname ownership check; a prefix would make the check fail. It is scoped by its fixed _cf-challenge label and txtConflictMatchingMode: All, so a stale value from an earlier attempt is replaced rather than accumulated.
  • essential: not set on any record on purpose. All five records are required as-is for the storefront and its sender to work; there is none a user would need to edit independently.
  • The DKIM host values keep their fixed ._domainkey.mail suffix; the variable is still only the selector.

Online Editor test results

Editor test link(s):

Test lootos.com/storefront example.com/shop

@github-actions github-actions Bot added the hostRequired hostRequired is set label Sep 10, 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: 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

@github-actions

Copy link
Copy Markdown

Linter OK

lootos.com.storefront.json

Level Code Note
info DCTL1021 missing from iana definitions

@pawel-kow
pawel-kow added this pull request to the merge queue Sep 14, 2026
Merged via the queue into Domain-Connect:master with commit 0e1a46f Sep 14, 2026
6 checks passed
@github-actions

Copy link
Copy Markdown

Thanks @dylanclootlabs for contributing to the template. 🎉

This template has been reviewed and merged by @pawel-kow. 🙌

This template repository and its review process are maintained by independent individuals in their spare time, not as part of a paid role. If you or your company benefit from this protocol and its tools, please show your appreciation by buying a beer for @pawel-kow: https://github.com/sponsors/pawel-kow

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