Dedicated Tailscale funnel for svelte-playground #7
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type
Feature
Lineage
Standalone — discovered during westside prototype deploy. Replaces shared
/svelte/subpath with dedicated hostname.Repo
forgejo_admin/pal-e-deployments(deployment config)forgejo_admin/svelte-playground(vite base path revert)User Story
As a superuser, I want svelte-playground served from its own hostname so that Vite assets resolve naturally without base path hacks, and prototype URLs are clean for client demos.
story:prototype-iterate, story:client-demo
Context
svelte-playground is currently served at
playground.tail5b443a.ts.net/svelte/as a subpath of the shared playground nginx. This requiresbase: '/svelte/'in vite.config.js and every internal link to be prefixed. We hit this exact problem during the westside prototype deploy — spent 20 minutes debugging CSS/link resolution. Our own SOP (feedback_spa_no_subpath_proxy) warns: "SPAs can't be path-proxied. Vite assets are absolute from /. One hostname per project or swap ports." The project architecture note already listed "dedicated Tailscale funnel" as an option.File Targets
Files to create (pal-e-deployments):
overlays/svelte-playground/prod/deployment.yaml— nginx pod serving~/svelte-playground/distat/overlays/svelte-playground/prod/service.yaml— ClusterIP serviceoverlays/svelte-playground/prod/ingress.yaml— Tailscale funnel ingress (hostname:svelte-playgroundorsvelte)overlays/svelte-playground/prod/configmap.yaml— nginx config (simple, serve from root)Files to modify (pal-e-deployments):
overlays/playground/prod/deployment.yaml— remove svelte-playground volume + volumeMountoverlays/playground/prod/configmap.yaml— remove/svelte/nginx location blockFiles to modify (svelte-playground):
vite.config.js— removebase: '/svelte/'(revert to default/)index.html— revert/svelte/prefixed links to/Files NOT to touch:
Acceptance Criteria
https://{hostname}.tail5b443a.ts.net/vite.config.jshas nobaseoverride (default/)/svelte/prefixplayground.tail5b443a.ts.net/svelte/no longer serves content (or redirects)/,/westside/,/mcd-tracker/) unaffectednpm run buildoutput serves correctly from new hostname{hostname}.tail5b443a.ts.net/westside/Test Expectations
curl https://{hostname}.tail5b443a.ts.net/returns hub pagecurl https://{hostname}.tail5b443a.ts.net/westside/returns westside prototypecurl https://playground.tail5b443a.ts.net/svelte/returns 404 or redirectConstraints
overlays/playground/prod/ingress.yamlsvelte-playground(new namespace)~/svelte-playground/distChecklist
Related
project-svelte-playground— project pagefeedback_spa_no_subpath_proxy— the lesson that predicted this problemScope Review: NEEDS_REFINEMENT
Review note:
review-376-2026-03-25File Targets section is incomplete — 6 files with 54
/svelte/path references are not listed.westside/staff.html(16),westside/success.html(12),westside/sponsors.html(13),westside/index.html(5),westside/App.svelte(1),westside/Nav.svelte(7)/svelte/prefix removalScope refinement based on review-376-2026-03-25:
1. Expanded File Targets (svelte-playground)
Files to modify — ALL files with
/svelte/path references:vite.config.js— removebase: '/svelte/'index.html— revert/svelte/prefixed hub linkswestside/staff.html— 16/svelte/references in nav, links, assetswestside/sponsors.html— 13/svelte/referenceswestside/success.html— 12/svelte/referenceswestside/index.html— 5/svelte/referenceswestside/Nav.svelte— 7/svelte/referenceswestside/App.svelte— 1/svelte/referenceTotal: 54 path references across 8 files. A global find-replace of
/svelte/→/covers most, but each file should be verified.2. Deployment ordering constraint
Step 1: Merge + apply pal-e-deployments PR (create new namespace + remove from shared)
Step 2: Then merge svelte-playground PR (base path revert)
Step 3: Rebuild (
npm run build) and verify3. Added acceptance criterion
/svelte/prefix removalgrep -r '/svelte/' dist/returns zero matches after buildScope Review: READY
Review note:
review-376-2026-03-25-r2Re-review after refinement. All 3 findings from previous review (
review-376-2026-03-25) resolved:/svelte/references across 8 files)grep -r '/svelte/' dist/zero-match verificationTicket is ready for
next_up. Agent should read both issue body and comment #7350 when executing.