Rename westside-app repo to westside-landing [DECOMPOSED] #109

Open
opened 2026-03-27 06:21:43 +00:00 by forgejo_admin · 5 comments

DECOMPOSED

This ticket has been decomposed into 4 atomic sub-tickets per review review-450-2026-03-28. Do not work this ticket directly — work the sub-tickets in order.

Execution Order

  1. [BLOCKED] forgejo_admin/westside-app#147 — Rename repo on Forgejo + Woodpecker verify (blocked by #534, #529)
  2. forgejo_admin/pal-e-services#41 — Update terraform refs (tfvars, keycloak-import.sh, services.tf) — after sub-ticket 1
  3. forgejo_admin/pal-e-deployments#68 — Update ArgoCD overlays (5 files) — after sub-ticket 1, parallel with 2
  4. forgejo_admin/pal-e-platform#229 — Update blackbox probe in monitoring module — after sub-ticket 1, parallel with 2+3

Review Findings Incorporated

  • Fixed file path: pal-e-platform/terraform/modules/monitoring/main.tf (not terraform/main.tf)
  • Added missing file targets: keycloak-import.sh (lines 13, 28-29), services.tf (line 173)
  • Fixed AC: Harbor project derives from image_repo prefix (westsidekingsandqueens), not repo name — no Harbor changes needed
  • Documented blocker: in-progress items #534 and #529 must complete before rename
  • Keycloak client_id rename deferred — separate scope decision needed
  • Added pal-e-platform PR to checklist (was missing)

Board Items

# Board Item Repo Column
1 #587 westside-app backlog
2 #588 pal-e-services backlog
3 #589 pal-e-deployments backlog
4 #590 pal-e-platform backlog

Original ticket body (preserved for reference)

Type

Feature

Lineage

Standalone — architectural decision from 2026-03-27 session. Public landing site and authenticated portal need separate repos.

Repo

forgejo_admin/westside-app

User Story

As a superadmin
I want the public landing site repo named westside-landing instead of westside-app
So that westside-app is freed up for the authenticated portal (admin, coach, parent, player dashboards) which will become the App Store target.

Context

westside-app currently holds both (public) routes (8-page landing site) and (app) routes (13 authenticated pages). The name westside-app implies the authenticated app, not the public site. Renaming to westside-landing makes the architecture self-documenting:

  • westside-landing = public brand site at westsidekingsandqueens.tail5b443a.ts.net
  • westside-app (future, separate ticket) = auth portal, App Store target
  • basketball-api = backend API

This is Phase 1 of a 3-phase split. Phase 2 (extract (app) routes to new westside-app) and Phase 3 (separate funnels) are separate tickets.

File Targets

Files the agent should modify:

  • Forgejo repo settings (rename via API)
  • pal-e-services/terraform/k3s.tfvars — service key + forgejo_repo reference
  • pal-e-deployments/overlays/westsidekingsandqueens/ — ArgoCD source references
  • pal-e-platform/terraform/main.tf — blackbox probe service name if referenced
  • .woodpecker.yaml — clone URL uses ${CI_REPO} (auto-adjusts, verify only)
  • Woodpecker webhook + secrets (may need re-creation after rename)

Files the agent should NOT touch:

  • basketball-api/ — no changes needed, it references westside by hostname not repo name
  • Keycloak config — realm/client names are independent of repo name
  • ~/westside-app local directory — local clone rename is manual

Acceptance Criteria

  • Repo renamed to westside-landing on Forgejo
  • CI pipeline builds and pushes successfully under new name
  • ArgoCD syncs under new repo reference
  • Site remains live at westsidekingsandqueens.tail5b443a.ts.net
  • No broken webhooks or secrets
  • Harbor project updated or new project created

Test Expectations

  • Manual: push a no-op commit, verify CI pipeline runs end-to-end
  • Manual: verify westsidekingsandqueens.tail5b443a.ts.net still serves pages
  • Manual: verify ArgoCD app shows Synced status
  • Run command: curl -s -o /dev/null -w '%{http_code}' https://westsidekingsandqueens.tail5b443a.ts.net/

Constraints

  • Must be done in a single coordinated session (rename + all infra updates atomically)
  • Woodpecker webhook URL changes automatically on Forgejo repo rename — verify, don't fight it
  • ${CI_REPO} in .woodpecker.yaml auto-adjusts — no code change needed
  • Harbor project naming follows feedback_harbor_project_naming.md — derive from image_repo prefix
  • tofu plan -lock=false before any terraform changes

Checklist

  • PR opened (for pal-e-services + pal-e-deployments changes)
  • Tests pass
  • No unrelated changes
  • project-westside-basketball
  • pal-e-services#35 — dead funnel ingress (related cleanup)
  • Phase 2: Extract (app) routes to new westside-app repo (future ticket)
  • Phase 3: Separate funnels for landing vs app (future ticket)
## DECOMPOSED This ticket has been decomposed into 4 atomic sub-tickets per review `review-450-2026-03-28`. Do not work this ticket directly — work the sub-tickets in order. ### Execution Order 1. **[BLOCKED]** `forgejo_admin/westside-app#147` — Rename repo on Forgejo + Woodpecker verify (blocked by #534, #529) 2. `forgejo_admin/pal-e-services#41` — Update terraform refs (tfvars, keycloak-import.sh, services.tf) — after sub-ticket 1 3. `forgejo_admin/pal-e-deployments#68` — Update ArgoCD overlays (5 files) — after sub-ticket 1, parallel with 2 4. `forgejo_admin/pal-e-platform#229` — Update blackbox probe in monitoring module — after sub-ticket 1, parallel with 2+3 ### Review Findings Incorporated - Fixed file path: `pal-e-platform/terraform/modules/monitoring/main.tf` (not `terraform/main.tf`) - Added missing file targets: `keycloak-import.sh` (lines 13, 28-29), `services.tf` (line 173) - Fixed AC: Harbor project derives from `image_repo` prefix (`westsidekingsandqueens`), not repo name — no Harbor changes needed - Documented blocker: in-progress items #534 and #529 must complete before rename - Keycloak `client_id` rename deferred — separate scope decision needed - Added pal-e-platform PR to checklist (was missing) ### Board Items | # | Board Item | Repo | Column | |---|-----------|------|--------| | 1 | #587 | westside-app | backlog | | 2 | #588 | pal-e-services | backlog | | 3 | #589 | pal-e-deployments | backlog | | 4 | #590 | pal-e-platform | backlog | --- <details> <summary>Original ticket body (preserved for reference)</summary> ### Type Feature ### Lineage Standalone — architectural decision from 2026-03-27 session. Public landing site and authenticated portal need separate repos. ### Repo `forgejo_admin/westside-app` ### User Story As a superadmin I want the public landing site repo named `westside-landing` instead of `westside-app` So that `westside-app` is freed up for the authenticated portal (admin, coach, parent, player dashboards) which will become the App Store target. ### Context `westside-app` currently holds both `(public)` routes (8-page landing site) and `(app)` routes (13 authenticated pages). The name `westside-app` implies the authenticated app, not the public site. Renaming to `westside-landing` makes the architecture self-documenting: - `westside-landing` = public brand site at `westsidekingsandqueens.tail5b443a.ts.net` - `westside-app` (future, separate ticket) = auth portal, App Store target - `basketball-api` = backend API This is Phase 1 of a 3-phase split. Phase 2 (extract `(app)` routes to new `westside-app`) and Phase 3 (separate funnels) are separate tickets. ### File Targets Files the agent should modify: - Forgejo repo settings (rename via API) - `pal-e-services/terraform/k3s.tfvars` — service key + forgejo_repo reference - `pal-e-deployments/overlays/westsidekingsandqueens/` — ArgoCD source references - `pal-e-platform/terraform/main.tf` — blackbox probe service name if referenced - `.woodpecker.yaml` — clone URL uses `${CI_REPO}` (auto-adjusts, verify only) - Woodpecker webhook + secrets (may need re-creation after rename) Files the agent should NOT touch: - `basketball-api/` — no changes needed, it references westside by hostname not repo name - Keycloak config — realm/client names are independent of repo name - `~/westside-app` local directory — local clone rename is manual ### Acceptance Criteria - [ ] Repo renamed to `westside-landing` on Forgejo - [ ] CI pipeline builds and pushes successfully under new name - [ ] ArgoCD syncs under new repo reference - [ ] Site remains live at `westsidekingsandqueens.tail5b443a.ts.net` - [ ] No broken webhooks or secrets - [ ] Harbor project updated or new project created ### Test Expectations - [ ] Manual: push a no-op commit, verify CI pipeline runs end-to-end - [ ] Manual: verify `westsidekingsandqueens.tail5b443a.ts.net` still serves pages - [ ] Manual: verify ArgoCD app shows Synced status - Run command: `curl -s -o /dev/null -w '%{http_code}' https://westsidekingsandqueens.tail5b443a.ts.net/` ### Constraints - Must be done in a single coordinated session (rename + all infra updates atomically) - Woodpecker webhook URL changes automatically on Forgejo repo rename — verify, don't fight it - `${CI_REPO}` in `.woodpecker.yaml` auto-adjusts — no code change needed - Harbor project naming follows `feedback_harbor_project_naming.md` — derive from image_repo prefix - `tofu plan -lock=false` before any terraform changes ### Checklist - [ ] PR opened (for pal-e-services + pal-e-deployments changes) - [ ] Tests pass - [ ] No unrelated changes ### Related - `project-westside-basketball` - `pal-e-services#35` — dead funnel ingress (related cleanup) - Phase 2: Extract `(app)` routes to new `westside-app` repo (future ticket) - Phase 3: Separate funnels for landing vs app (future ticket) </details>
Author
Owner

Scope Review: NEEDS_REFINEMENT

Review note: review-450-2026-03-26
Issue template is complete and traceability is solid, but four refinements needed before READY:

  • Missing file targets: k8s/deployment.yaml, k8s/ingress.yaml (in-repo manifests), and keycloak-import.sh should be acknowledged in the do-not-touch list
  • Ambiguous Harbor criterion: Harbor project is westsidekingsandqueens (from image_repo prefix), not tied to Forgejo repo name -- clarify or remove "Harbor project updated" criterion
  • Missing tofu plan criterion: Add acceptance criterion for tofu plan -lock=false showing zero drift after k3s.tfvars update
  • (Minor) Explicitly document that k8s resource names stay westside-app in Phase 1, deferred to Phase 2
## Scope Review: NEEDS_REFINEMENT Review note: `review-450-2026-03-26` Issue template is complete and traceability is solid, but four refinements needed before READY: - **Missing file targets**: `k8s/deployment.yaml`, `k8s/ingress.yaml` (in-repo manifests), and `keycloak-import.sh` should be acknowledged in the do-not-touch list - **Ambiguous Harbor criterion**: Harbor project is `westsidekingsandqueens` (from image_repo prefix), not tied to Forgejo repo name -- clarify or remove "Harbor project updated" criterion - **Missing tofu plan criterion**: Add acceptance criterion for `tofu plan -lock=false` showing zero drift after k3s.tfvars update - **(Minor)** Explicitly document that k8s resource names stay `westside-app` in Phase 1, deferred to Phase 2
Author
Owner

Refinement (post review-450)

Addressed findings:

  1. Missing file targets added to "do not touch" list:

    • k8s/deployment.yaml, k8s/ingress.yaml — hardcoded westside-app references are k8s resource names, independent of Forgejo repo name. Unchanged in Phase 1, renamed in Phase 2.
    • pal-e-services/keycloak-import.shwestside-app is a Keycloak client key, not a repo reference. No change needed.
  2. Harbor criterion clarified: Harbor project westsidekingsandqueens derives from image_repo prefix (westsidekingsandqueens/app), not the Forgejo repo name. No Harbor changes needed. Removed misleading criterion.

  3. tofu plan criterion added: After updating forgejo_repo in k3s.tfvars, run tofu plan -var-file=k3s.tfvars -lock=false and verify only the ArgoCD app source URL changes.

  4. Phase 1 vs Phase 2 boundary explicit: K8s resource names (westside-app Deployment, Service, Ingress, Secret) remain unchanged in Phase 1. Phase 2 creates the new westside-app repo for the auth portal, at which point k8s names get reassigned. No collision risk in Phase 1.

Updated AC

  • Repo renamed to westside-landing on Forgejo
  • pal-e-services/k3s.tfvars forgejo_repo updated to forgejo_admin/westside-landing
  • tofu plan shows only ArgoCD app source URL change (no Harbor, no namespace)
  • CI pipeline triggers on push to westside-landing repo
  • Site remains live at westsidekingsandqueens.tail5b443a.ts.net
  • No orphaned Woodpecker webhooks

Status: READY

## Refinement (post review-450) ### Addressed findings: 1. **Missing file targets added to "do not touch" list:** - `k8s/deployment.yaml`, `k8s/ingress.yaml` — hardcoded `westside-app` references are k8s resource names, independent of Forgejo repo name. Unchanged in Phase 1, renamed in Phase 2. - `pal-e-services/keycloak-import.sh` — `westside-app` is a Keycloak client key, not a repo reference. No change needed. 2. **Harbor criterion clarified:** Harbor project `westsidekingsandqueens` derives from `image_repo` prefix (`westsidekingsandqueens/app`), not the Forgejo repo name. **No Harbor changes needed.** Removed misleading criterion. 3. **tofu plan criterion added:** After updating `forgejo_repo` in k3s.tfvars, run `tofu plan -var-file=k3s.tfvars -lock=false` and verify only the ArgoCD app source URL changes. 4. **Phase 1 vs Phase 2 boundary explicit:** K8s resource names (`westside-app` Deployment, Service, Ingress, Secret) remain unchanged in Phase 1. Phase 2 creates the new `westside-app` repo for the auth portal, at which point k8s names get reassigned. No collision risk in Phase 1. ### Updated AC - [ ] Repo renamed to `westside-landing` on Forgejo - [ ] `pal-e-services/k3s.tfvars` `forgejo_repo` updated to `forgejo_admin/westside-landing` - [ ] `tofu plan` shows only ArgoCD app source URL change (no Harbor, no namespace) - [ ] CI pipeline triggers on push to `westside-landing` repo - [ ] Site remains live at `westsidekingsandqueens.tail5b443a.ts.net` - [ ] No orphaned Woodpecker webhooks ### Status: READY
Author
Owner

Scope Review: NEEDS_REFINEMENT

Review note: review-450-2026-03-27

Well-structured ticket with all template sections present and full traceability triangle. However, 5 issues need clarification before dispatch:

  1. K8s resource naming ambiguity (critical) — Ticket conflates Forgejo repo name with k8s resource names (Deployment, Service, Ingress, Secret all named westside-app). Must clarify: are k8s names also renamed to westside-landing? This determines whether the blast radius is 3 files or 10+, and whether decomposition is needed.
  2. Keycloak client_id collisionkeycloak_clients["westside-app"] and client_id = "westside-app" will conflict with the future auth portal. Needs explicit acknowledgment as Phase 2/3 scope or addressed here.
  3. PR scope unclear — "PR opened (for pal-e-services + pal-e-deployments changes)" implies one PR for two repos. Forgejo PRs are per-repo. Enumerate which repos get PRs.
  4. Harbor criterion likely no-op — Harbor project is already westsidekingsandqueens (from image_repo prefix), not westside-app. Confirm or remove criterion.
  5. Missing file target — Dev overlay at pal-e-deployments/overlays/westsidekingsandqueens/dev/deployment.yaml:50 has hostPath /home/ldraney/westside-app.

If k8s names stay unchanged, this is a clean single-agent ticket (~3 changes). If k8s names also change, recommend decomposition via template-board.

## Scope Review: NEEDS_REFINEMENT Review note: `review-450-2026-03-27` Well-structured ticket with all template sections present and full traceability triangle. However, 5 issues need clarification before dispatch: 1. **K8s resource naming ambiguity (critical)** — Ticket conflates Forgejo repo name with k8s resource names (Deployment, Service, Ingress, Secret all named `westside-app`). Must clarify: are k8s names also renamed to `westside-landing`? This determines whether the blast radius is 3 files or 10+, and whether decomposition is needed. 2. **Keycloak client_id collision** — `keycloak_clients["westside-app"]` and `client_id = "westside-app"` will conflict with the future auth portal. Needs explicit acknowledgment as Phase 2/3 scope or addressed here. 3. **PR scope unclear** — "PR opened (for pal-e-services + pal-e-deployments changes)" implies one PR for two repos. Forgejo PRs are per-repo. Enumerate which repos get PRs. 4. **Harbor criterion likely no-op** — Harbor project is already `westsidekingsandqueens` (from `image_repo` prefix), not `westside-app`. Confirm or remove criterion. 5. **Missing file target** — Dev overlay at `pal-e-deployments/overlays/westsidekingsandqueens/dev/deployment.yaml:50` has hostPath `/home/ldraney/westside-app`. If k8s names stay unchanged, this is a clean single-agent ticket (~3 changes). If k8s names also change, recommend decomposition via `template-board`.
Author
Owner

Scope Review: NEEDS_REFINEMENT

Review note: review-450-2026-03-27
Three fixable issues found in file targets and acceptance criteria.

  • Wrong file path: pal-e-platform/terraform/main.tf has no westside-app reference. Actual location is terraform/modules/monitoring/main.tf (lines 366-368, blackbox probe name + URL).
  • Missing AC: No acceptance criterion for the pal-e-platform monitoring module update (blackbox probe service name/URL). An agent following AC literally would skip this.
  • Multi-repo PRs not explicit: Issue touches 4 repos but doesn't explicitly state that 3 separate PRs are needed (pal-e-services, pal-e-deployments, pal-e-platform).
## Scope Review: NEEDS_REFINEMENT Review note: `review-450-2026-03-27` Three fixable issues found in file targets and acceptance criteria. - **Wrong file path**: `pal-e-platform/terraform/main.tf` has no westside-app reference. Actual location is `terraform/modules/monitoring/main.tf` (lines 366-368, blackbox probe name + URL). - **Missing AC**: No acceptance criterion for the pal-e-platform monitoring module update (blackbox probe service name/URL). An agent following AC literally would skip this. - **Multi-repo PRs not explicit**: Issue touches 4 repos but doesn't explicitly state that 3 separate PRs are needed (pal-e-services, pal-e-deployments, pal-e-platform).
Author
Owner

Scope Review: NEEDS_REFINEMENT

Review note: review-450-2026-03-28
Ticket is well-structured (all template sections present, traceability complete) but has scope gaps and exceeds the 5-minute rule.

Issues found:

  • Wrong file path: pal-e-platform/terraform/main.tf should be terraform/modules/monitoring/main.tf (lines 366-368)
  • Missing file targets: pal-e-services/terraform/keycloak-import.sh (lines 13, 28-29) and services.tf (line 173)
  • Incorrect AC: Harbor project uses hostname prefix (westsidekingsandqueens), not repo name — no Harbor change needed
  • Checklist omits pal-e-platform PR
  • Board item #450 title is "None" — needs updating
  • Undocumented blocker: items #534 and #529 are in_progress on arch:westside-app — rename will break their CI
  • Scope decision needed: Should Keycloak client_id rename from westside-app to westside-landing?
  • Recommend decomposition via template-board — 8+ files across 4 repos, 9 AC, ~15-20 min estimated
## Scope Review: NEEDS_REFINEMENT Review note: `review-450-2026-03-28` Ticket is well-structured (all template sections present, traceability complete) but has scope gaps and exceeds the 5-minute rule. **Issues found:** - Wrong file path: `pal-e-platform/terraform/main.tf` should be `terraform/modules/monitoring/main.tf` (lines 366-368) - Missing file targets: `pal-e-services/terraform/keycloak-import.sh` (lines 13, 28-29) and `services.tf` (line 173) - Incorrect AC: Harbor project uses hostname prefix (`westsidekingsandqueens`), not repo name — no Harbor change needed - Checklist omits pal-e-platform PR - Board item #450 title is "None" — needs updating - **Undocumented blocker:** items #534 and #529 are `in_progress` on `arch:westside-app` — rename will break their CI - **Scope decision needed:** Should Keycloak `client_id` rename from `westside-app` to `westside-landing`? - **Recommend decomposition via template-board** — 8+ files across 4 repos, 9 AC, ~15-20 min estimated
forgejo_admin changed title from Rename westside-app repo to westside-landing to Rename westside-app repo to westside-landing [DECOMPOSED] 2026-03-28 19:09:54 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/westside-landing#109
No description provided.