PLAN: Dev Template Ingress Cleanup After Platform-Managed Routing
IMPLEMENTATION RULES: Before implementing this plan, read and follow:
- WORKFLOW.md - The implementation process
- PLANS.md - Plan structure and best practices
Status: Complete
Goal: Remove redundant ingress.yaml and obsolete urbalurba-scripts/ from dev templates — routing is now the platform's responsibility.
Last Updated: 2026-03-04
Investigation: INVESTIGATE-dev-template-ingress-cleanup
Prerequisites: Platform-managed IngressRoute (Phase 6 of PLAN-argocd-register-redesign) — deployed and tested
Problem Summary
Now that uis argocd register creates a platform-managed IngressRoute (HostRegexp(<app_name>..+)), repos no longer need to ship their own ingress manifests. But:
- All 7 templates in
urbalurba-dev-templatesstill includeingress.yaml - The live test repo
urb-dev-typescript-hello-worldstill hasingress.yaml - Both repos still ship
urbalurba-scripts/with obsolete registration scripts replaced byuis argocd register/remove/list/verify - README files reference both
ingress.yamlandurbalurba-scripts/
Repos should only contain deployment.yaml and kustomization.yaml in their manifests.
Phase 1: Clean up hello-world repo (test first) — ✅ DONE
Repo: urb-dev-typescript-hello-world (/Users/terje.christensen/learn/projects-2026/urb-family/dev-templates/urb-dev-typescript-hello-world)
Do this first so we can push, register, and verify the platform IngressRoute works without any repo-level ingress.
Tasks
- 1.1 Delete
manifests/ingress.yaml(Traefik IngressRoute routingurb-dev-typescript-hello-world.localhost— redundant now that the platform routeshello-world.localhost) - 1.2 Edit
manifests/kustomization.yaml— remove- ingress.yamlfrom theresources:list - 1.3 Delete
urbalurba-scripts/directory (contains obsoleteregister-argocd.sh,remove-argocd.sh,check-deployment.sh,setup-local-dns.shand.batequivalents) - 1.4 Edit
README-typescript-basic-webserver.md— removeingress.yamlfrom the file structure tree - 1.5 Commit and push to GitHub (commit 223cef6)
Validation
After pushing:
uis argocd remove hello-world
uis argocd register hello-world https://github.com/terchris/urb-dev-typescript-hello-world
# Wait for ArgoCD sync
kubectl get ingressroute -n hello-world
# Should show only hello-world-ingressroute (platform-managed), no repo-level IngressRoute
curl http://hello-world.localhost
# Should return app response via platform IngressRoute
User confirms ArgoCD shows app as healthy and synced (no missing ingress.yaml errors).
Phase 2: Clean up all 7 templates — ✅ DONE
Repo: urbalurba-dev-templates (/Users/terje.christensen/learn/projects-2026/urb-family/urbalurba-dev-templates)
Only proceed after Phase 1 verification passes.
Tasks
- 2.1 Delete
ingress.yamlfrom all 7 templates - 2.2 Edit
kustomization.yamlin all 7 templates — remove- ingress.yamlfrom theresources:list - 2.3 Delete
urbalurba-scripts/directory at repo root - 2.4 Edit all 7 template README files — remove
ingress.yamlfrom file structure trees - 2.5 Edit root
README.md— removed urbalurba-scripts section, updated registration instructions - 2.6 Commit and push to GitHub (commit 56c96d9)
Validation
User confirms changes look correct and README accurately reflects the new workflow.
Acceptance Criteria
-
urb-dev-typescript-hello-worlddeploys and routes correctly with onlydeployment.yamlandkustomization.yaml(noingress.yaml) — verified Round 7/8 - ArgoCD syncs the hello-world app without errors — verified Round 7
-
curl http://hello-world.localhostreturns app response via platform IngressRoute — verified Round 8 - No
ingress.yamlin any of the 7 templates — commit 56c96d9 - No
urbalurba-scripts/directory in either repo — commits 223cef6 and 56c96d9 - All README files updated — no references to removed files or obsolete scripts
Out of Scope (tracked elsewhere)
| Item | Where tracked |
|---|---|
Restore replace_placeholders() in dev-template.sh | devcontainer-toolbox#67 |
Remove urbalurba-scripts/ copy block in dev-template.sh | devcontainer-toolbox#67 |
Files to Modify
Phase 1 — urb-dev-typescript-hello-world
| File | Action |
|---|---|
manifests/ingress.yaml | Delete |
manifests/kustomization.yaml | Edit — remove ingress.yaml from resources |
urbalurba-scripts/ | Delete directory |
README-typescript-basic-webserver.md | Edit — remove ingress from file tree |
Phase 2 — urbalurba-dev-templates
| File | Action |
|---|---|
templates/*/manifests/ingress.yaml (7 files) | Delete |
templates/*/manifests/kustomization.yaml (7 files) | Edit — remove ingress.yaml from resources |
urbalurba-scripts/ | Delete directory |
templates/*/README-*.md (7 files) | Edit — remove ingress from file tree |
README.md | Edit — remove urbalurba-scripts section, update registration instructions |