Review: infra: rename pal-e-production to pal-e-app across all layers
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 haspal-e-productionservice 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.tflines 386-388 — verified: old pal-e-production probe exists alongside pal-e-app probe at 391 - [x]
pal-e-platform/terraform/modules/monitoring/main.tflines 649-661 — verified: pal-e-production dashboard ConfigMap with file() reference - [x]
pal-e-platform/terraform/modules/monitoring/main.tflines 730-741 — verified: embedding worker ServiceMonitor with pal-e-production namespace selector and app labels - [x]
pal-e-platform/terraform/modules/ops/main.tflines 109-125 — verified: embedding worker metrics service in var.pal_e_production_namespace - [x]
pal-e-platform/terraform/modules/ops/variables.tfline 1-2 — verified: variable "pal_e_production_namespace" with description - [x]
pal-e-platform/terraform/modules/database/main.tflines 59-67 — verified: data source + postgres secret in pal-e-production namespace - [x]
pal-e-platform/terraform/modules/database/outputs.tfline 11-13 — verified: output "pal_e_production_namespace" with description - [x]
pal-e-platform/terraform/network-policies.tflines 172, 196 — verified: cross-namespace allow rules referencing pal-e-production - [x]
pal-e-platform/terraform/secrets.auto.tfvars.exampleline 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-productionissue 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 toskill-decompose-ticketfor sub-board creation.
No blocking issues. Scope is solid. File targets all verified against live codebase.