feat(preview-deployments): variable templates and settings overhaul#4291
Open
colocated wants to merge 4 commits intoDokploy:canaryfrom
Open
feat(preview-deployments): variable templates and settings overhaul#4291colocated wants to merge 4 commits intoDokploy:canaryfrom
colocated wants to merge 4 commits intoDokploy:canaryfrom
Conversation
Add {appname}/{branch}/{pr}/{hash} templates for preview domains and
paths alongside the legacy `*` wildcard. Auto-detect traefik.me,
nip.io, sslip.io and backname.io to inject the server IP.
Overhaul the settings modal: sectioned layout, clickable variable
chips, live preview URL, greyed-out form when disabled, HTTPS lock
for traefik.me, form state survives enable-toggle refetches.
Preserve unknown {...} tokens in substitute and throw with a listing of
supported variables so typos surface instead of producing a mangled
domain. Slugify {appname} alongside the other variables for consistency.
Add resolveWildcardDomain helper so the legacy *.traefik.me URL shape
(appname-ip.traefik.me) is preserved for wildcard-mode users on any
dynamic DNS provider; template-mode users keep the new two-label shape.
Contributor
Author
|
All three inline comments addressed in 29fe9b7:
@greptileai please re-review. |
Contributor
Author
|
yes i got claude to autofix, i was feeling lazy after i'd redesigned the UI 🤣 |
Contributor
Author
|
not doing that again, claude broke the preview url box ffs |
Contributor
Author
|
@greptileai run it back |
Contributor
Author
|
@greptileai review |
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.
What is this PR about?
Overhauls the Preview Deployment settings experience. Adds
{variable}URL templates, support for four dynamic-DNS providers, and a redesigned settings modal. Preview domains and paths can now use{appname},{branch},{pr},{hash}placeholders alongside the legacy*.domain.comwildcard — no more long hashed subdomains unless you want them.Key features
{appname},{branch},{pr},{hash}(case-insensitive) for both the Domain Template and Path fields. Example:pr-{pr}.preview.example.comwith path/pr-{pr}/.Checklist
Before submitting this PR, please make sure that:
canarybranch.Issues related (if applicable)
N/A
Screenshots (if applicable)
Greptile Summary
This PR overhauls the Preview Deployment settings UI — adding
{variable}URL templates, four dynamic-DNS provider integrations (traefik.me, nip.io, sslip.io, backname.io), variable-chip insertion, a live URL preview, and a sectioned modal layout. All three previously-flagged concerns are now resolved: unknown tokens are preserved bysubstituteand rejected byassertNoUnresolvedTokens, mixed*/{…}templates are caught by both the zod superRefine andresolveWildcardDomain, and the wildcard path retains the originalappName-slugIpsingle-label format so existing traefik.me URLs are not broken.Confidence Score: 5/5
Safe to merge; all previously flagged P1s are addressed and only a cosmetic IP preview discrepancy remains.
All prior P1 issues (silent unknown-token substitution, mixed wildcard+template acceptance, unslugified appname, URL format change for existing traefik.me users) are definitively resolved in this revision. The one remaining finding is a P2 UI discrepancy in the example URL when server.ipAddress is unset, which does not affect actual deployment logic.
No files require special attention.
Reviews (4): Last reviewed commit: "fix: dont allow wildcard and variables i..." | Re-trigger Greptile