Validation: dev.intelligentstaffingsystems.ai DNS record and Caddy vhost
Verdict: PARTIAL
Ticket
ldraney/intelligentstaffingsystems#79 — DNS A record and Caddy vhost for dev.intelligentstaffingsystems.ai (decomp of #77, sprint:B infra)
Merged PR: ldraney/pal-e-platform#543
Environment
Production edge proxy at 178.156.129.142 (Hetzner edge). Caddy reverse proxy managed via terraform in pal-e-platform. ArgoCD application
intelligentstaffingsystems in namespace intelligentstaffingsystems.Checks
| # | Criterion | How Verified | Result | Evidence |
|---|---|---|---|---|
| 1 | DNS A record for dev.intelligentstaffingsystems.ai points to edge proxy | curl -v (DNS resolution output) | PASS | IPv4: 178.156.129.142 confirmed in verbose curl output |
| 2 | Caddy vhost configured for dev subdomain | curl http://dev.intelligentstaffingsystems.ai/ | PASS | HTTP 308 redirect to https://dev.intelligentstaffingsystems.ai/ — vhost exists and routes |
| 3 | Dev domain accessible over HTTPS | curl https://dev.intelligentstaffingsystems.ai/ | FAIL | TLS handshake error: "tlsv1 alert internal error" — Caddy cannot provision Let's Encrypt cert |
| 4 | ArgoCD application synced and healthy | kubectl get application -n argocd | PASS | Sync: Synced, Health: Healthy |
| 5 | Pod running, no crash loops | kubectl get pods -n intelligentstaffingsystems | PASS | 1/1 Running, 0 restarts, 6h55m uptime |
Regression Check
Production domain unaffected:
- https://intelligentstaffingsystems.ai/ returns HTTP 200 with valid Let's Encrypt cert (expires Oct 5, 2026)
- /up health endpoint returns HTTP 200
- Landing page renders correctly with all CSS assets
- Pod image matches latest main commit: dc97ba0
Discovered Issues
TLS certificate provisioning for dev.intelligentstaffingsystems.ai is broken. Already tracked as issue #98 ("Fix TLS cert for dev.intelligentstaffingsystems.ai + deploy register.ftl to Keycloak configmap"). The DNS record and Caddy vhost (the explicit deliverables of #79) are deployed and functional, but the dev environment is not usable over HTTPS until #98 is resolved.