Review: Set up westsidekingsandqueens.com via Hetzner edge proxy
Verdict: APPROVED
Re-review of board item #1607. Prior review (
review-1607-2026-06-24) returned NEEDS_REFINEMENT with 8 BODY fixes, 1 LABEL fix, 2 SCOPE items. All 9 BODY+LABEL issues have been resolved. The issue has been completely rewritten with correct file targets, correct repo scope, and accurate patterns. Two SCOPE items (backing notes) remain as non-blocking documentation recommendations.Template Completeness
- [x] Type — Feature
- [x] Lineage — references #54, story WS-AUTH
- [x] Repo —
forgejo_admin/pal-e-platform(minor: actual org isldraney, notforgejo_admin) - [x] User Story — present, clear actor/want/so-that
- [x] Context — clear, references landscaping-assistant.app pattern, explains architecture
- [x] File Targets — 2 targets verified, plus explicit "should NOT touch" list
- [x] Feature Flag — "none" (correct for infra work)
- [x] Acceptance Criteria — 6 criteria, all testable
- [x] Test Expectations — 4 items with real commands
- [x] Constraints — present, accurate
- [x] Checklist — present, includes terraform plan and salt state
- [x] Related — present, references #54 and #57
Traceability
- [x] story:WS-AUTH label — present on board item
- [ ] story note MISSING — WS-AUTH does not exist in project-westside-basketball user-stories section. The concept is valid (public URL enables auth flow), but no formal entry exists. [SCOPE] Create WS-AUTH user story entry on project-westside-basketball user-stories section.
- [x] arch:hetzner-proxy label — present on board item
- [ ] arch note MISSING —
arch-hetzner-proxynote does not exist in pal-e-docs. [SCOPE] Create architecture notearch-hetzner-proxydocumenting the GoDaddy DNS → Hetzner Caddy edge proxy → Tailscale → k8s pattern. - [x] Forgejo issue — ldraney/westside-basketball#56, open
File Targets
- [x]
pal-e-platform/terraform/dns.tf— verified:godaddy_dns_record.landscaping_assistant_aat line 12 is the exact pattern to follow. File exists, pattern confirmed. - [x]
pal-e-platform/salt/pillar/caddy.sls— verified:landscapingsite entry at line 17-20 is the exact pattern to follow. File exists, pattern confirmed. - [x] "Should NOT touch" list — correctly excludes
godaddy-tofu/(provider repo),pal-e-services/, andpal-e-deployments/.
Prior Review Issues — Resolution Status
- [x] [BODY] godaddy-tofu → pal-e-platform/terraform/dns.tf — FIXED
- [x] [BODY] vague proxy config → salt/pillar/caddy.sls — FIXED
- [x] [BODY] remove TLS cert provisioning target — FIXED (Caddy handles ACME)
- [x] [BODY] clarify/remove pal-e-deployments target — FIXED (moved to "should NOT touch")
- [x] [BODY] remove pal-e-services target — FIXED (moved to "should NOT touch")
- [x] [BODY] remove ~/secrets/stripe constraint — FIXED
- [x] [BODY] add Salt highstate / terraform apply AC — FIXED (in AC and Checklist)
- [x] [BODY] fix WS-S7 lineage reference — FIXED (now says WS-AUTH)
- [x] [LABEL] remove depends:godaddy-tofu — FIXED (label removed from board item)
Repo Placement
Issue filed on
westside-basketball, actual work in pal-e-platform. Acceptable as a cross-repo feature issue filed against the consuming project. The issue now correctly identifies only pal-e-platform as the target repo. Minor note: Repo field says forgejo_admin/pal-e-platform but actual owner is ldraney — cosmetic, not blocking.Dependencies
- Board item #1608 ("Update Keycloak redirect URIs") has
depends:56— correctly depends on this ticket. - Board item #1605 ("Add Keycloak auth") is the story parent (story:WS-AUTH).
- No blocking dependencies for this ticket — it can proceed independently.
- Dependency chain documented in Related section (#54, #57).
Acceptance Criteria
6 criteria, all agent-verifiable. Test commands are real (
dig, curl -vI, curl -sI). Salt state application is covered in AC #6. Terraform plan is covered in Checklist. Complete and testable.Blast Radius
Low. Adding a new DNS record and a new Caddy site entry follows the exact pattern of 2 existing sites (palinks.app, landscaping-assistant.app). Caddyfile.j2 template iterates over pillar data — new entries cannot break existing sites. No changes to existing entries.
Decomposition Assessment
2 file edits in 1 repo. 6 AC (within limit). Estimated agent time: 2-3 minutes. Well within 5-minute rule. No decomposition needed.
Recommendations
- [BODY] Minor: Fix Repo field from
forgejo_admin/pal-e-platformtoldraney/pal-e-platform(cosmetic, non-blocking) - [SCOPE] Create user story entry WS-AUTH on project-westside-basketball user-stories section — the concept is valid but no formal entry exists yet. Can be done in parallel with or after this ticket.
- [SCOPE] Create architecture note
arch-hetzner-proxydocumenting the GoDaddy DNS → Hetzner Caddy edge proxy → Tailscale → k8s pattern. Can be done in parallel with or after this ticket.