Review: infra: rename pal-e-production to pal-e-app across all layers

review-989-2026-04-12-r2 Review

review approved

Verdict: APPROVED

Re-review after refinement. All 6 items from review-989-2026-04-12 have been addressed. Ticket is well-scoped with verified file targets, clear decomposition, and blue-green execution strategy. Routes to skill-decompose-ticket for sub-board creation.

Template Completeness

  • [x] Type — Feature
  • [x] Lineage — standalone, references related bugs #99, #97, #81
  • [x] Repo — multi-repo documented (pal-e-services, pal-e-deployments, pal-e-platform, pal-e-production)
  • [x] User Story — platform operator naming convention compliance
  • [x] Context — explains 5-layer name embedding, blue-green strategy
  • [x] File Targets — comprehensive with line numbers, includes "do not touch" section
  • [x] Acceptance Criteria — 12 criteria covering all layers
  • [x] Test Expectations — tofu plan, curl, CORS, grep verification
  • [x] Constraints — blue-green, lock=false, SOPS, Harbor re-tag, dashboard filename
  • [x] Checklist — 10 items tracking execution
  • [x] Related — project, definition, CORS fix, naming convention
  • [x] Decomposition — 5-step ordered breakdown with parallelism noted

Traceability

  • [x] story:app-definition label — new story key for naming convention compliance initiative. Not yet in project-pal-e-app user-stories table. Acceptable for cross-cutting infra work.
  • [ ] story note NOT YET CREATED — [SCOPE] Add "app-definition" story entry to project-pal-e-app user-stories section: "As a platform operator, I want infrastructure names to match the naming convention so that discoverability and consistency are maintained."
  • [x] arch:pal-e-app label — references the component being renamed. Architecture notes (arch-deployment-pal-e-app) are listed as pending on the project page. Acceptable for infra rename — no arch diagram changes needed.
  • [ ] arch note pending — arch-deployment-pal-e-app not yet created per project page. Not blocking for this ticket.
  • [x] Forgejo issue — forgejo_admin/pal-e-deployments#114, open

File Targets

  • [x] pal-e-services/terraform/k3s.tfvars — verified: line 202 has pal-e-production service key with forgejo_repo, image_repo, source_path
  • [x] pal-e-deployments/overlays/pal-e-production/ — verified: directory exists with prod overlay (ingress.yaml, kustomization.yaml)
  • [x] pal-e-deployments/overlays/pal-e-docs/prod/kustomization.yaml — verified: 2 occurrences of pal-e-production (cross-namespace refs)
  • [x] pal-e-platform/terraform/modules/monitoring/main.tf lines 386-388 — verified: old pal-e-production probe exists alongside pal-e-app probe at 391
  • [x] pal-e-platform/terraform/modules/monitoring/main.tf lines 649-661 — verified: pal-e-production dashboard ConfigMap with file() reference
  • [x] pal-e-platform/terraform/modules/monitoring/main.tf lines 730-741 — verified: embedding worker ServiceMonitor with pal-e-production namespace selector and app labels
  • [x] pal-e-platform/terraform/modules/ops/main.tf lines 109-125 — verified: embedding worker metrics service in var.pal_e_production_namespace
  • [x] pal-e-platform/terraform/modules/ops/variables.tf line 1-2 — verified: variable "pal_e_production_namespace" with description
  • [x] pal-e-platform/terraform/modules/database/main.tf lines 59-67 — verified: data source + postgres secret in pal-e-production namespace
  • [x] pal-e-platform/terraform/modules/database/outputs.tf line 11-13 — verified: output "pal_e_production_namespace" with description
  • [x] pal-e-platform/terraform/network-policies.tf lines 172, 196 — verified: cross-namespace allow rules referencing pal-e-production
  • [x] pal-e-platform/terraform/secrets.auto.tfvars.example line 35 — verified: comment "pal-e-production"
  • [x] pal-e-platform/terraform/dashboards/pal-e-production-golden-signals.json — verified: file exists, needs rename

Repo Placement

OK. Issue filed on pal-e-deployments (central kustomize repo). Multi-repo scope is documented: pal-e-services, pal-e-deployments, pal-e-platform, pal-e-production. Decomposition section assigns each repo to a sub-task.

Dependencies

  • Board items #979 and #980 reference forgejo_admin/pal-e-production issue URLs — ticket documents these need updating post-rename (AC item 12)
  • Item #714 (namespace rename pal-e-docs-app to pal-e-app) overlaps — different rename vector (from pal-e-docs-app, not pal-e-production). May need coordination.
  • Sub-task ordering is correct: repo rename first, then parallel terraform/kustomize, then validation

Acceptance Criteria

12 criteria, all verifiable by an agent: kubectl checks, curl, grep, ArgoCD status, tofu plan. Test Expectations section provides specific commands. Comprehensive and testable.

Blast Radius

  • pal-e-docs CORS env var needs updating (documented in AC #6)
  • Woodpecker CI pipeline in pal-e-production repo references Harbor path — covered by sub-task 1 (repo rename)
  • ArgoCD app definition references old overlay path — covered by sub-task 3
  • No other services reference pal-e-production by name (checked network-policies.tf — only postgres and ollama netpols reference it)

Decomposition Assessment

12 AC across 4 repos, 13+ file targets. Clearly exceeds 5-minute rule. Ticket provides a 5-step decomposition with correct ordering and parallelism. Route to skill-decompose-ticket for sub-board creation.

Recommendation

  • [SCOPE] Add "app-definition" story entry to project-pal-e-app user-stories table. Suggested wording: "As a platform operator, I want infrastructure names to match the naming convention so that discoverability and consistency are maintained."
  • [DECOMPOSE] 12 AC across 4 repos, 5-step decomposition provided in ticket body. Route to skill-decompose-ticket for sub-board creation.
No blocking issues. Scope is solid. File targets all verified against live codebase.