Files
homelab-frontend/tasks/6.3-argocd-application.md
T
Story Crater BotandClaude Opus 5 058f11cf2b
CI / Test (push) Canceled after 0s
CI / Vet (push) Canceled after 0s
CI / Build (push) Canceled after 0s
CI / Security (govulncheck) (push) Canceled after 0s
chore: initial commit of Go API gateway
Baseline for the Kong replacement on api.riotpiao.com. Brings the working
tree under version control for the first time: gateway source, the task
board that drives the agent runs, test fixtures, and K8s manifests.

Anchor the gateway ignore rule to the repo root. Unanchored, "gateway"
also matched the cmd/gateway/ source directory, so the program entrypoint
was excluded from every commit.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
2026-08-19 20:54:34 -07:00

1.7 KiB

6.3 — Argo Application in the homelab-root GitOps repo (GREEN)

Phase: 6 — Deploy and cutover Stage: GREEN Depends on: 6.2

Verified live 2026-08-19: zero Argo Applications anywhere in the cluster source from any Forgejo URL. github.com/Riotpiaole/riotpiao.homelab.com is authoritative — do not introduce a second source of truth.

  • An Argo Application for the gateway is committed under k8s/argocd/apps/ in github.com/Riotpiaole/riotpiao.homelab.com
  • repoURL is that GitHub repo. No Forgejo URL, no local path, no second remote
  • It targets the api namespace, alongside the existing Kong deployment
  • Its sync wave orders it so the gateway is healthy before anything that depends on it, and does not disturb Kong's existing wave-7 Application
  • Automated sync with prune and selfHeal is enabled, so drift is corrected without a human
  • The Application reaches Synced and Healthy and stays there across a resync
  • Adding it changes nothing about live traffic — Kong still serves api.riotpiao.com after this lands
  • The commit is pushed and Argo picks it up on its own. No kubectl apply of the Application itself (G7)

Verify

kubectl -n argocd get app homelab-frontend \
  -o jsonpath='{.spec.source.repoURL}{" "}{.status.sync.status}{" "}{.status.health.status}{"\n"}'
# expected: the GitHub repo URL, Synced, Healthy

kubectl -n argocd get app -o json | grep -ci forgejo
# expected: 0 — GitHub remains the only Application source

curl -s -o /dev/null -w '%{http_code}\n' https://api.riotpiao.com/v1/models
# expected: 200, still served by Kong — this task changed no live traffic