feat: Westside Basketball Keycloak login theme #129
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
forgejo_admin/pal-e-platform#129
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
plan-wkq→ Phase 15 (Production Port — SPA Rebuild)Keycloak login is the entry point for the Westside app. A branded login page completes the user experience continuity.
Repo
forgejo_admin/pal-e-platformUser Story
As a Westside Basketball player or parent
I want the Keycloak login page to match the Westside app's dark theme
So that the login experience feels like part of the app, not a jarring redirect to a generic form
Context
Keycloak is deployed via raw Kubernetes manifests in
terraform/main.tfusing the stockquay.io/keycloak/keycloak:26.0.7image with zero theme customization. The login page is the default Keycloak light-mode UI — visually disconnected from the Westside app's dark-mode design system (#0a0a0abg,#d42026red,#ffd700gold).Keycloak supports per-realm themes via a directory structure under
/opt/keycloak/themes/. A minimal CSS-only theme inheriting from the defaultkeycloakparent theme is sufficient. Theme files will be mounted via a Kubernetes ConfigMap.Design tokens sourced from
~/westside-app/src/app.css:--color-black: #0a0a0a(page background)--color-dark: #141414(card/surface)--color-gray-800: #262626(inputs, borders)--color-red: #d42026(primary brand — buttons)--color-red-hover: #e8333a(button hover)--color-yellow: #ffd700(gold — secondary accent)--color-white: #ffffff(text)--radius: 4pxFile Targets
Files the agent should create:
keycloak/themes/westside/login/theme.properties— parent=keycloak, declares CSS overridekeycloak/themes/westside/login/resources/css/login.css— color overrides (~50-80 lines)Files the agent should modify:
terraform/main.tf— addkubernetes_config_map_v1.keycloak_westside_theme, add volume + volume_mount to Keycloak deploymentFiles the agent should NOT touch:
~/westside-app/src/app.css— source of truth, read-only for this workAcceptance Criteria
Test Expectations
tofu plan -lock=falseshows only ConfigMap + deployment volume changestofu applysucceeds, pod restarts with theme mountedcd ~/pal-e-platform/terraform && tofu plan -lock=falseConstraints
keycloakparent theme, don't copy/fork templatestofu planmust include-lock=false(per feedback_tofu_lock_false)Checklist
Related
project-westside-basketball— project this affectsplan-wkq→ Phase 15 — parent plan phase~/westside-app/src/app.css— design token source of truth