pal-e-admin: Scaffold SvelteKit app + Keycloak OIDC auth #340
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ldraney/pal-e-platform#340
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 — scoped during platform SSO initiative (2026-05-04). Depends on platform realm (#335).
Repo
forgejo_admin/pal-e-platform(for Forgejo repo creation) + new repoforgejo_admin/pal-e-adminUser Story
As a platform admin
I want a SvelteKit app that authenticates me via Keycloak
So that I have a single entry point to my entire platform
Context
pal-e-admin is a new SvelteKit project that serves as the admin dashboard landing page. It authenticates via Keycloak (platform realm) and displays links to all platform services. The key value prop: after logging in here, clicking any service link (Forgejo, Grafana, etc.) requires zero re-authentication because all services share the same Keycloak realm session.
Follow existing SvelteKit patterns from westside app. Use @auth/sveltekit for OIDC integration. CSS follows playground philosophy (design tokens, Atkinson Hyperlegible, mobile-first, no Tailwind).
File Targets
Files the agent should modify or create:
pal-e-admin/with SvelteKit scaffoldsrc/routes/+page.svelte— landing page with service linkssrc/hooks.server.ts— auth setupsrc/app.css— design tokens from playground conventionstatic/— any static assetsFiles the agent should NOT touch:
Acceptance Criteria
Test Expectations
npm run buildsucceedsnpm run buildConstraints
Checklist
Related
project-pal-e-platform— platform projectconvention-frontend-css— CSS philosophy