Create ArgoCD application for pal-e-docs-api overlay (unblocks additive funnel) #282

Open
opened 2026-04-12 17:12:31 +00:00 by forgejo_admin · 0 comments
Contributor

Type

Feature

Lineage

Discovered during validation of forgejo_admin/pal-e-platform#278 (additive API funnel). The kustomize overlay at overlays/pal-e-docs-api/prod/ was merged via pal-e-deployments#113, but no ArgoCD Application exists to deploy it. The existing pal-e-docs ArgoCD app only watches overlays/pal-e-docs/prod/. Without a new ArgoCD app, the ingress lives in code but never reaches the cluster.

Repo

forgejo_admin/pal-e-platform (or forgejo_admin/pal-e-services — depends on where ArgoCD applications are managed. Check var.services in pal-e-services terraform or look for standalone ArgoCD Application manifests.)

User Story

As the Superuser (Lucas)
I want the api.pal-e-docs.tail5b443a.ts.net Tailscale funnel to actually deploy to the cluster
So that the additive API hostname serves JSON and step 1 of the hostname swap is complete

Traces to: story:reader-browse on project-pal-e-docs.

Context

The additive funnel overlay (pal-e-deployments#113) created:

  • overlays/pal-e-docs-api/prod/kustomization.yaml
  • overlays/pal-e-docs-api/prod/ingress.yaml

But ArgoCD apps are typically created via pal-e-services terraform (var.services map), which generates an ArgoCD Application CRD per service entry. The new overlay needs a corresponding entry.

How pal-e-production got its ArgoCD app: check ~/pal-e-services for a pal-e-production service entry in the terraform var.services map. Copy that pattern for pal-e-docs-api.

File Targets

Investigate first — then modify:

  • ~/pal-e-services/ — look for the terraform module that creates ArgoCD Applications (likely main.tf or services.tf or a var.services variable)
  • Add a new service entry for pal-e-docs-api pointing at overlays/pal-e-docs-api/prod/ in the pal-e-deployments repo

Acceptance Criteria

  • ArgoCD Application for pal-e-docs-api exists and is synced + healthy
  • kubectl -n pal-e-docs get ingress shows BOTH pal-e-docs-funnel (existing) AND pal-e-docs-api-funnel (new)
  • curl -I https://api.pal-e-docs.tail5b443a.ts.net/notes/arch-westside-emails returns 200 with content-type: application/json
  • Existing pal-e-docs.tail5b443a.ts.net unchanged (regression check)

Test Expectations

  • argocd app list | grep pal-e-docs-api shows the new app
  • argocd app get pal-e-docs-api shows Synced + Healthy
  • curl smoke tests from the ACs above

Constraints

  • Match the existing pattern used by pal-e-production service entry
  • Apply via tofu plan -lock=false && tofu apply per feedback_tofu_lock_false
  • Do NOT modify the existing pal-e-docs ArgoCD app — additive only

Checklist

  • Service entry added
  • tofu apply successful
  • ArgoCD app synced
  • Smoke tests pass
  • No unrelated changes
  • forgejo_admin/pal-e-platform#278 — the parent additive funnel ticket (overlay is merged, this ticket deploys it)
  • forgejo_admin/pal-e-deployments#113 — the merged overlay PR
  • validation-278-2026-04-12 — the validation note that surfaced this gap
  • forgejo_admin/pal-e-platform#280 — hostname swap roadmap (this is effectively step 1.5)
### Type Feature ### Lineage Discovered during validation of forgejo_admin/pal-e-platform#278 (additive API funnel). The kustomize overlay at `overlays/pal-e-docs-api/prod/` was merged via pal-e-deployments#113, but no ArgoCD Application exists to deploy it. The existing `pal-e-docs` ArgoCD app only watches `overlays/pal-e-docs/prod/`. Without a new ArgoCD app, the ingress lives in code but never reaches the cluster. ### Repo `forgejo_admin/pal-e-platform` (or `forgejo_admin/pal-e-services` — depends on where ArgoCD applications are managed. Check `var.services` in pal-e-services terraform or look for standalone ArgoCD Application manifests.) ### User Story As the Superuser (Lucas) I want the `api.pal-e-docs.tail5b443a.ts.net` Tailscale funnel to actually deploy to the cluster So that the additive API hostname serves JSON and step 1 of the hostname swap is complete Traces to: `story:reader-browse` on `project-pal-e-docs`. ### Context The additive funnel overlay (pal-e-deployments#113) created: - `overlays/pal-e-docs-api/prod/kustomization.yaml` - `overlays/pal-e-docs-api/prod/ingress.yaml` But ArgoCD apps are typically created via pal-e-services terraform (`var.services` map), which generates an ArgoCD Application CRD per service entry. The new overlay needs a corresponding entry. **How pal-e-production got its ArgoCD app:** check `~/pal-e-services` for a `pal-e-production` service entry in the terraform `var.services` map. Copy that pattern for `pal-e-docs-api`. ### File Targets Investigate first — then modify: - `~/pal-e-services/` — look for the terraform module that creates ArgoCD Applications (likely `main.tf` or `services.tf` or a `var.services` variable) - Add a new service entry for `pal-e-docs-api` pointing at `overlays/pal-e-docs-api/prod/` in the `pal-e-deployments` repo ### Acceptance Criteria - [ ] ArgoCD Application for `pal-e-docs-api` exists and is synced + healthy - [ ] `kubectl -n pal-e-docs get ingress` shows BOTH `pal-e-docs-funnel` (existing) AND `pal-e-docs-api-funnel` (new) - [ ] `curl -I https://api.pal-e-docs.tail5b443a.ts.net/notes/arch-westside-emails` returns 200 with `content-type: application/json` - [ ] Existing `pal-e-docs.tail5b443a.ts.net` unchanged (regression check) ### Test Expectations - [ ] `argocd app list | grep pal-e-docs-api` shows the new app - [ ] `argocd app get pal-e-docs-api` shows Synced + Healthy - [ ] curl smoke tests from the ACs above ### Constraints - Match the existing pattern used by `pal-e-production` service entry - Apply via `tofu plan -lock=false && tofu apply` per `feedback_tofu_lock_false` - Do NOT modify the existing `pal-e-docs` ArgoCD app — additive only ### Checklist - [ ] Service entry added - [ ] `tofu apply` successful - [ ] ArgoCD app synced - [ ] Smoke tests pass - [ ] No unrelated changes ### Related - `forgejo_admin/pal-e-platform#278` — the parent additive funnel ticket (overlay is merged, this ticket deploys it) - `forgejo_admin/pal-e-deployments#113` — the merged overlay PR - `validation-278-2026-04-12` — the validation note that surfaced this gap - `forgejo_admin/pal-e-platform#280` — hostname swap roadmap (this is effectively step 1.5)
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
ldraney/pal-e-platform#282
No description provided.