Validation: #278 Hostname swap step 1 — additive api.pal-e-docs funnel

validation-278-2026-04-12 Doc

validation partial

Validation: #278 Hostname swap step 1 — additive api.pal-e-docs funnel

Ticket

Forgejo: forgejo_admin/pal-e-platform#278
PR: forgejo_admin/pal-e-deployments#113 (merged as 8f34147)
Board item: #972 on board-pal-e-docs
What shipped: New kustomize overlay at overlays/pal-e-docs-api/prod/ containing an Ingress resource for api.pal-e-docs Tailscale funnel pointing to the existing pal-e-docs service on port 8000.

Environment

Prod cluster (k3s), namespace pal-e-docs, ArgoCD-managed deployments via pal-e-deployments repo.

Checks

# Criterion How to Verify Result Evidence
1 ArgoCD synced PR #113 merge commit <code>kubectl get application -n argocd pal-e-docs -o jsonpath='{.status.sync.revision}'</code> PASS Revision = <code>8f34147264821a8e5c91ac68cb41c9e6c00c1ec2</code>, status = Synced, health = Healthy
2 New ingress <code>pal-e-docs-api-funnel</code> exists <code>kubectl -n pal-e-docs get ingress</code> BLOCKED Only <code>pal-e-docs-funnel</code> exists. The new overlay lives at <code>overlays/pal-e-docs-api/prod/</code> — a <strong>separate path</strong> from the existing <code>overlays/pal-e-docs/prod/</code> ArgoCD app. No ArgoCD application exists for <code>pal-e-docs-api</code> to deploy this overlay.
3 New hostname resolves: <code>api.pal-e-docs.tail5b443a.ts.net</code> curl BLOCKED Ingress not created — no hostname to test.
4 Regression: existing hostname still works <code>curl -sI https://pal-e-docs.tail5b443a.ts.net/notes/arch-westside-emails</code> PASS (implicit) Existing <code>pal-e-docs-funnel</code> ingress unchanged (47d age). No modifications to existing overlay.

Verdict

PARTIAL — The kustomize overlay is merged and the existing ArgoCD app (pal-e-docs) has synced the commit, but the new overlay at overlays/pal-e-docs-api/prod/ has no corresponding ArgoCD application to deploy it. The ingress resource is defined in code but not applied to the cluster.
Next step required: Create an ArgoCD application (likely via var.services in pal-e-services, or a standalone ArgoCD Application resource) that points to overlays/pal-e-docs-api/prod/ in the pal-e-deployments repo. Once that app is created and synced, the pal-e-docs-api-funnel ingress will be deployed and the Tailscale funnel will provision api.pal-e-docs.tail5b443a.ts.net.

Discovered Issues

The PR merged a new overlay directory but did not include the ArgoCD application definition needed to deploy it. This is consistent with the ticket title ("step 1: additive") — the overlay is additive and safe, but a step 2 is needed to wire the ArgoCD app. This should be tracked as a follow-up ticket if not already scoped.