ArgoCD Operations¶
ArgoCD manages GitOps deployments for the cluster. This document covers operational procedures for ArgoCD.
GitHub Webhook Configuration¶
ArgoCD receives push notifications from GitHub via webhook to trigger immediate syncs (instead of waiting for polling).
Webhook Architecture¶
GitHub (org webhook) → Cloudflare Tunnel → ArgoCD Server
push event argocd-wh.fzymgc.net /api/webhook
Initial Setup¶
Prerequisites: - Cloudflare Tunnel deployed and healthy - ArgoCD running with webhook secret configured
Step 1: Get webhook secret from Vault
Step 2: Configure GitHub organization webhook
- Go to: https://github.com/organizations/fzymgc-house/settings/hooks
- Click "Add webhook"
- Configure:
| Field | Value |
|---|---|
| Payload URL | https://argocd-wh.fzymgc.net/api/webhook |
| Content type | application/json |
| Secret | (paste from Step 1) |
| Events | "Just the push event" |
| Active | ✅ |
- Click "Add webhook"
Step 3: Verify webhook delivery
- Push to any fzymgc-house repository
- Check webhook deliveries at: https://github.com/organizations/fzymgc-house/settings/hooks
- Look for green checkmark and 200 response
Verification¶
| Test | Command | Expected |
|---|---|---|
| DNS resolves | dig argocd-wh.fzymgc.net |
CNAME to cfargotunnel.com |
| Endpoint reachable | curl -I https://argocd-wh.fzymgc.net/api/webhook |
400 (missing payload) or 200 |
| Webhook delivery | Push to repo, check GitHub | Green ✓, 200 response |
| ArgoCD refresh | Check app sync after push | Immediate (not 3-min delay) |
Troubleshooting¶
| Symptom | Cause | Fix |
|---|---|---|
| 401/403 response | Webhook secret mismatch | Verify secret in Vault matches GitHub config |
| 404 response | Tunnel route missing | Check Cloudflare Tunnel ingress config |
| 502 response | ArgoCD unreachable | Check argocd-server pod status |
| No sync after push | Repo URL mismatch | Verify Application repo URL matches webhook source |
Check ArgoCD logs for webhook activity:
Disabling Webhook¶
To revert to polling-only mode:
- Delete the GitHub organization webhook
- ArgoCD automatically falls back to polling (default: 3 minutes)
No ArgoCD configuration changes required.
Access¶
| URL | Purpose |
|---|---|
| https://argocd.fzymgc.house | Web UI |
| https://argocd-wh.fzymgc.net/api/webhook | GitHub webhook endpoint |
Related Documentation¶
- Cloudflare Operations - Tunnel configuration
- HCP Terraform - GitOps automation
- Vault Operations - Secret management