Review: Mount mcd-tracker-playground in playground nginx

review-199-2026-03-18 Review

review ready

Verdict: READY

Template Completeness

  • [x] Lineage — links to plan-mcd-tracker Phase 7, references upstream playground issue
  • [x] Repo — forgejo_admin/pal-e-deployments
  • [x] User Story — clear: developer reviewing playground prototypes on phone
  • [x] Context — explains current state (pal-e-playground at /, westside at /westside/), the gap (404 for /mcd-tracker/), and why it matters (blocks playground gate)
  • [x] File Targets — two files to modify, four files explicitly excluded with reasons
  • [x] Acceptance Criteria — four verifiable curl checks
  • [x] Test Expectations — kubectl apply, rollout status, manual curl verification
  • [x] Constraints — references existing westside pattern to follow
  • [x] Checklist — standard PR/verify/no-unrelated-changes
  • [x] Related — links to mcd-tracker project, upstream issue #6, downstream issue #10

File Targets

  • [x] overlays/playground/prod/deployment.yaml — verified: exists, currently has pal-e-playground and westside-playground hostPath volumes + volumeMounts. Adding a third volume follows the established pattern exactly.
  • [x] overlays/playground/prod/configmap.yaml — verified: exists, currently has location /westside/ block with alias /srv/westside-playground/. Adding location /mcd-tracker/ with alias /srv/mcd-tracker-playground/ follows the same pattern.
  • [x] ~/mcd-tracker-playground/ — verified: directory exists on host with 14 HTML files including index.html and scan.html (both referenced in acceptance criteria).
  • [x] Hub landing page (~/pal-e-playground/index.html) — verified: already links to /mcd-tracker/ at line 215. This is the broken link the ticket fixes.

Repo Placement

Correct. The Forgejo issue is filed on forgejo_admin/pal-e-deployments and both file targets live in that repo's overlays/playground/prod/ directory. Single-repo change, no cross-repo coordination needed.

Dependencies

  • Upstream: ~/mcd-tracker-playground directory must exist on the k3s node. Verified present with content.
  • Downstream: mcd-tracker-playground #6 (scan page redesign) is blocked on this mount per the issue body. mcd-tracker-app #10 is downstream of the playground gate.
  • Board: No blockers on the board. Phase 7 (SvelteKit + Capacitor) is in_progress — this issue supports it. No other board items reference this issue or compete for the same files.

Acceptance Criteria

All four criteria are directly testable via curl after deployment. The test commands are real and verifiable. One minor note: the criterion for /mcd-tracker/ returning 200 will work because index.html exists in the playground directory and the nginx try_files directive will serve it. No gaps found.

Blast Radius

  • Minimal. The change adds a new nginx location block and volume mount — purely additive. No existing configuration is modified.
  • Existing routes unaffected. The /, /guide/, and /westside/ routes remain unchanged. Acceptance criteria explicitly verifies these still return 200.
  • No similar bug elsewhere. The pattern is already proven with the westside mount. No other playground repos are waiting for mounts (checked the hub landing page — only pal-e, westside, and mcd-tracker are linked).
  • capacitor-dev overlay: Already has a /mcd-tracker/ location (proxy_pass for dev). This is a separate deployment in a different namespace — no conflict.

Recommendation

No action needed. Scope is clean, file targets verified, pattern is proven. This is a 1-point ticket and the scope matches — two file edits following an established pattern. Ready for agent execution.