Add unitops.app.portal template (signed-sync CNAME)#1272
Draft
neilberkman wants to merge 2 commits into
Draft
Conversation
|
✅ JSON Filename Check Passed |
|
✅ JSON Schema Validation Passed |
Linter OK
|
| Level | Code | Note |
|---|
PR Description Check FailedThe PR description is missing required elements. Please update it according to the PR template. Details |
simplyi
pushed a commit
to simplyi/Templates
that referenced
this pull request
Jun 25, 2026
# Description Supersedes Domain-Connect#1272. Contains identical template plus completed Online Editor testing. <!-- short description of the template(s) and/or reason for update --> ## Type of change Please mark options that are relevant. - [X] 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 - [X] Template functionality checked using [Online Editor](https://domainconnect.paulonet.eu/dc/free/templateedit) - [X] Template file name follows the pattern `<providerId>.<serviceId>.json` (`unitops.app.portal.json`) - [X] Resource URL provided with logoUrl is actually served by a webserver (https://unitops.app/images/logo.svg → HTTP 200, image/svg+xml) # Checklist of common problems Mark all the checkboxes after conducting the check. Comment on any point which is not fulfilled. See [Template Quality Guidelines](../README.md#template-quality-guidelines) for details and rationale on each rule. - [X] `syncPubKeyDomain` is set (unitops.app) - [X] `warnPhishing` is **not** set alongside `syncPubKeyDomain` - [X] `syncRedirectDomain` is set whenever the template uses `redirect_uri` — N/A, this template does not use `redirect_uri` - [X] no TXT record contains SPF content — N/A, no TXT records - [X] `txtConflictMatchingMode` is set on TXT records that must be unique — N/A, no TXT records - [ ] no variable is used as a bare full record value — **bare variable used, justified**: pointsTo: "%target%" is the UnitOps service hostname supplied by the service provider (not user free-text), same pattern as approximated.app.subdomaincname. It is a single fixed param we pass so the one-click target stays in sync with our manual-setup instructions. - [X] no bare variable is used as the full `host` label (`host` is `@`) - [X] no variable is used in the `host` field to create a subdomain (uses the `host` parameter / `hostRequired`) - [X] `%host%` does not appear explicitly in any `host` attribute - [X] `essential` is set to `OnApply` on records the end user may need to modify — N/A, the single CNAME is the template's purpose and isn't user-modifiable ## Online Editor test results <!-- Required. Follow these steps in the Online Editor (https://domainconnect.paulonet.eu/dc/free/templateedit): 1. Load your template and use "Check template" to perform extended schema and consistency check 2. Fill in domain/host as well as variable values 3. Click "Test apply template" 4. Click "Copy Markdown" and paste the link below 5. If necessary repeat steps 2-4 with different group setups and/or domain/host configuration --> **Editor test link(s):** [Test unitops.app/portal oakhollowstorage.com/rent](https://domainconnect.paulonet.eu/dc/free/templateedit?token=H4sIACpjOmoC%2F91T227bMAz9FUNAhw1LHMVNHNTAgHXtekHXpuvlYS0Cg7FZR5gtqZKcLA3y76NyL9r9wJ5skodHh0fUjDmsdAkOWTJj2qixyNGc5yxhtRROaRuC1qyxKV1BRVB2T8W%2BtlSwaMYiw0WLVsZBuU2uwLdOGSgwMCipbIMPgUMJ0gUb%2FBiNFUqypN1gpSrUvSmpb%2BSctkmrtaOkJSpisi0PCu24oN4cbWaEdot%2Bdq0EEU9VbYKstk5VQa4qEDKAVXal%2FF9iQq8GjIBhicevmB2YAl0gbOBGuKEZKeskjblIHl0dXn4nIpJAKBV8xLAIgx35nzy9ncrsuh5e4PR4Ie2N157zBp9rYZBcdabGBjOYKZNbljzOmJtqb%2BvitBWcwq%2F%2BlhZH3ykK95Z69yjrHLm5H3M%2BH8wb7EVJTLd0A3JwLUPB75EqSzWxyxsLM1VtD%2FCOUVQYVetUrJs1GKis3541zeP7PIM10eOSieKlRJ%2FZNcCLFIVUBlNLX3C1wbUNVV06kcIEtqk8S6mrnNJMlqrE9tYiuVzE1QQ5OHhj%2BsakBkvzzM8j%2FEpjFD%2F1nnjc7HXyYbOTPcXN4QH0mnG3s9%2FDvItxdLDzPN55Oe8%2BkNeWorX0I8Av%2FWE5gall8%2FmgQfb%2BJ6PQXVsYY56Ch0Y8ipukI9q%2Fa%2FOkEyVdHvLooNNtf%2BY84dyPgNYtZ5vRNuzuAbPts9sTeV6cdC9P5c2fiv88wuFz%2Fuvbff%2By3%2B%2FEcPqgf1zdnL088C9s%2FhcGkJx84QQAAA%3D%3D) --------- Co-authored-by: Neil Berkman <neil@xuku.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
New signed-sync template for UnitOps (self-storage facility-management platform). It lets an operator point a subdomain (e.g.
rent.theirstorage.com) at their UnitOps rentals & tenant portal with a single CNAME, via Domain Connect.Single CNAME at
host: "@",hostRequired: true(subdomain-only; a CNAME can't live at the apex), signed sync (syncPubKeyDomain: unitops.app).Type of change
Please mark options that are relevant.
How Has This Been Tested?
Please mark the following checks done
<providerId>.<serviceId>.json(unitops.app.portal.json)logoUrlis actually served by a webserver (https://unitops.app/images/logo.svg→ HTTP 200,image/svg+xml)Additionally validated locally: passes the repo
template.schema, anddc-template-linterreports no findings (exit 0). The signed-sync chain was verified end to end — a signed apply request verifies against the public key published at_dck1.unitops.app(RSA-SHA256).Checklist of common problems
syncPubKeyDomainis set (unitops.app)warnPhishingis not set alongsidesyncPubKeyDomainsyncRedirectDomainis set whenever the template usesredirect_uri— N/A, this template does not useredirect_uritxtConflictMatchingModeis set on TXT records that must be unique — N/A, no TXT recordspointsTo: "%target%"is the UnitOps service hostname supplied by the service provider (not user free-text), same pattern asapproximated.app.subdomaincname. It is a single fixed param we pass so the one-click target stays in sync with our manual-setup instructions.hostlabel (hostis@)hostfield to create a subdomain (uses thehostparameter /hostRequired)%host%does not appear explicitly in anyhostattributeessentialis set toOnApplyon records the user may modify — N/A, the single CNAME is the template's purpose and isn't user-modifiableOnline Editor test results
Editor test link(s):