Switch pal-e-app to adapter-static + nginx #53
Labels
No labels
domain:backend
domain:devops
domain:frontend
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/pal-e-docs-app#53
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
Depends on
forgejo_admin/pal-e-app#52(auth + data fetching must be client-side first).Repo
forgejo_admin/pal-e-appUser Story
As pal-e-app
I want to build to static files served by nginx
So that I follow the platform SvelteKit convention and am Capacitor-ready
Context
Once auth and data fetching are client-side (issue #52), pal-e-app no longer needs a Node.js runtime. It can switch to adapter-static and be served by nginx — matching the mcd-tracker-app pattern. This makes pal-e-app Capacitor-ready for future mobile deployment and reduces resource usage (nginx alpine vs Node.js).
Blocker: This ticket literally cannot succeed until #52 is complete. The codebase currently has 14
+page.server.tsfiles, 3+server.tsAPI routes,hooks.server.ts, andsrc/auth.ts— all using server-only imports ($env/dynamic/private,@auth/sveltekit). adapter-static will fail to build with any of these present.Scope clarification:
@auth/sveltekitremoval is handled by #52, not this ticket. By the time this ticket starts, all server-only code should already be gone.File Targets
Files to modify:
svelte.config.js— switch adapter-node to adapter-static with fallback: 'index.html'Dockerfile— replace Node.js multi-stage with nginx pattern (match ~/mcd-tracker-app/Dockerfile)k8s/deployment.yaml— remove pal-e-auth-secrets secretRef, remove PAL_E_DOCS_API_URL env, remove PAL_E_DOCS_API_KEY env, update containerPort 3000 → 80, update probes for nginxpackage.json— swap @sveltejs/adapter-node for @sveltejs/adapter-staticFiles to remove:
k8s/pal-e-auth-secrets.enc.yaml— no server secrets neededFiles the agent should NOT touch:
src/routes or components — those were handled in issue #52Acceptance Criteria
npm run buildproduces static files inbuild/directory$env/dynamic/privateimports remain (verified by grep)Test Expectations
npm run buildsucceeds with adapter-staticdocker build .produces working imagenpm run build && npm run test:e2eConstraints
harbor.tail5b443a.ts.net/pal-e-app/appChecklist
Related
forgejo_admin/pal-e-app#52— hard prerequisite (client-side auth + data)forgejo_admin/pal-e-app#51— convention specproject-pal-e-docs— pal-e-app is the frontendconvention-sveltekit-spa— the spec this followsScope Review: NEEDS_REFINEMENT
Review note:
review-414-2026-03-26Ticket is well-structured with all template sections present and all file targets verified, but has three issues blocking READY status.
#2(closed scaffold issue) but actual dependency is#52(client-side auth migration, open/backlog)forgejo_admin referenced this issue2026-03-27 02:17:53 +00:00