Review: Decommission basketball-api and westsidekingsandqueens namespaces
Verdict: NEEDS_REFINEMENT
Template Completeness
- [x] Type — Feature
- [x] Lineage — references #33 consolidation spike
- [x] Repo — specifies pal-e-deployments
- [x] User Story
- [x] Context — describes what's no longer needed after #35/#36
- [x] File Targets — pal-e-deployments overlays + Forgejo repo archival
- [x] Acceptance Criteria — 9 items
- [x] Test Expectations — kubectl verification commands
- [x] Constraints — prerequisite gates, PVC retention, archive-not-delete
- [x] Checklist
- [x] Related — links to #33, #35, #36
Traceability
- [ ] story:admin-roster-report label — MISMATCH. This is a namespace decommission ticket, not part of the admin roster report story. The story label should reflect the consolidation effort (e.g.,
story:consolidationorstory:infra-cleanup). [LABEL] Change story label to match actual work scope. - [ ] story note MISSING — No project page
project-westside-rorexists in pal-e-docs to verify any story entry. [SCOPE] Create project pageproject-westside-rorwith user-stories section. - [ ] arch note MISSING —
arch:westside-rorlabel present but noarch-westside-rornote found in pal-e-docs. [SCOPE] Create architecture notearch-westside-ror. - [x] Forgejo issue — #37, open, valid
File Targets
- [x]
pal-e-deployments/overlays/basketball-api/— verified: exists (6 files including kustomization.yaml, deployment-patch.yaml, postgres.yaml, pvc.yaml, secrets) - [x]
pal-e-deployments/overlays/westsidekingsandqueens/— verified: exists (prod: 4 files, dev: 4 files) - [x] westside-ror codebase — verified: only doc references (README.md, docs/db-reconciliation.md), no code changes needed. Correct.
- [ ]
pal-e-services/terraform/k3s.tfvars— MISSING from file targets. Containsbasketball-apiservice entry (lines 200-206),westsidekingsandqueensservice entry (lines 209-215), andwestside-spaKeycloak client (lines 90-105 with redirect URIs). If overlays are deleted but terraform entries remain,terraform applywill fail or attempt to recreate resources. [BODY] Addpal-e-services/terraform/k3s.tfvarsto file targets: remove basketball-api + westsidekingsandqueens service entries and westside-spa Keycloak client block.
Repo Placement
Issue filed on
ldraney/westside-ror but all work happens in pal-e-deployments (manifest removal), pal-e-services (terraform cleanup), Forgejo admin (repo archival), Keycloak admin, and Tailscale admin console. The issue body correctly identifies pal-e-deployments as the repo, but the Forgejo issue itself is on westside-ror. Acceptable since this is the consolidation project's repo and the PR checklist says "PR opened (on pal-e-deployments)." However, pal-e-services is also affected (see file targets).Dependencies
- [x] #35 (data migration) — board item 1365, column: done. Prerequisite satisfied.
- [x] #36 (URL cutover) — board item 1366, column: done. Prerequisite satisfied.
- [x] #33 (consolidation spike) — board item 1362, column: done. Parent work complete.
- No blocking items in
in_progressfor this work.
Acceptance Criteria
9 acceptance criteria. Most are verifiable by an agent via kubectl commands. Concerns:
- "Orphaned Tailscale nodes cleaned up in Tailscale admin console" — requires Tailscale admin UI access, not automatable by an agent. Manual step.
- "Sidecar postgres PVC preserved for 30 days" — this is a deferred action, not verifiable at implementation time. Needs a follow-up ticket or calendar reminder for day-30 deletion.
- "Keycloak westside-spa client disabled or deleted" — needs to specify whether this is via Keycloak admin UI or terraform (answer: terraform, since it's in k3s.tfvars).
Blast Radius
- pal-e-services/terraform — The
servicesmap ink3s.tfvarsdrives Argo CD applications, Harbor robot accounts, and Kubernetes namespaces via terraform. Removing overlays without removing the terraform entries will cause plan/apply drift or failures. This is the most critical gap. - pal-e-deployments README and dev-tunnel README reference these namespaces — minor doc cleanup.
- westside-ror README/docs — historical references only, no action needed.
- pal-e-services README, SERVICE_ONBOARDING.md, CLAUDE.md — reference basketball-api, minor doc cleanup.
Decomposition Assessment
9 AC across 5 systems (k8s cluster, pal-e-deployments, pal-e-services/terraform, Forgejo admin, Tailscale admin). Estimated agent work exceeds 5 minutes. However, the nature of this work is mostly imperative commands (kubectl delete, git rm, terraform changes) rather than code authoring. Some steps (Tailscale admin, PVC retention scheduling) are manual and cannot be agent-executed. Recommendation: NEEDS DECOMPOSITION — split into: (1) terraform cleanup PR on pal-e-services, (2) overlay removal PR on pal-e-deployments, (3) manual checklist for Forgejo archival + Tailscale cleanup + PVC retention timer. Route to
skill-decompose-ticket.Recommendation
[BODY]Addpal-e-services/terraform/k3s.tfvarsto File Targets — removebasketball-apiservice entry,westsidekingsandqueensservice entry, andwestside-spaKeycloak client block.[LABEL]Changestory:admin-roster-reporttostory:consolidationorstory:infra-cleanup— current label is a mismatch for decommission work.[SCOPE]Create project pageproject-westside-rorwith user-stories section.[SCOPE]Create architecture notearch-westside-ror.[DECOMPOSE]9 AC across 5 systems. Route toskill-decompose-ticketfor sub-ticket creation: (1) pal-e-services terraform cleanup, (2) pal-e-deployments overlay removal, (3) manual ops checklist (Forgejo archival, Tailscale nodes, PVC retention timer).