Validation: dev.intelligentstaffingsystems.ai DNS record and Caddy vhost (#79)
Verdict: PASS
Ticket
ldraney/intelligentstaffingsystems#79 — Set up DNS A record and Caddy reverse-proxy vhost for dev.intelligentstaffingsystems.ai. Board item #1870 (decomp of #1868 / issue #77).
Environment
Production cluster (k3s). DNS via GoDaddy pointing to 178.156.129.142. Caddy reverse proxy on edge server. Namespace:
intelligentstaffingsystems.Checks
| # | Criterion | How Verified | Result | Evidence |
|---|---|---|---|---|
| 1 | DNS A record resolves dev.intelligentstaffingsystems.ai to edge IP | <code>python3 socket.gethostbyname('dev.intelligentstaffingsystems.ai')</code> | PASS | Resolves to 178.156.129.142 (same as prod domain) |
| 2 | TLS certificate valid for dev domain | <code>openssl s_client -connect dev.intelligentstaffingsystems.ai:443</code> | PASS | CN=dev.intelligentstaffingsystems.ai, issued 2026-07-19, expires 2026-10-17 (Caddy auto-TLS) |
| 3 | Caddy vhost configured and responding | <code>curl -sI https://dev.intelligentstaffingsystems.ai/</code> | PASS | Response includes <code>server: Caddy</code>, HTTP/2, TLSv1.3. Vhost exists and terminates TLS. |
| 4 | Dev domain HTTP status | <code>curl -s -o /dev/null -w "%{http_code}"</code> | EXPECTED 502 | 502 Bad Gateway. The upstream dev deployment does not exist yet — no dev kustomize overlay or ArgoCD app. Dev environment setup is tracked in svc#192, svc#193, svc#200 (all in validation column). This is expected behavior for this ticket's scope. |
Regression Check
| Check | Result | Evidence |
|---|---|---|
| Prod domain (intelligentstaffingsystems.ai) | PASS | HTTP 200, HTML title renders correctly |
| Prod /about route | PASS | HTTP 200 |
| Pod health | PASS | 1/1 Running, 0 restarts, image tag b46c433 |
| ArgoCD sync | PASS | Synced + Healthy |
| Latest Woodpecker pipeline (#188) | PASS | success (push to main) |
Discovered Issues
None. The 502 on dev domain is a known dependency gap — the dev upstream (ArgoCD dev overlay) is tracked in separate pal-e-services tickets (svc#192, svc#193, svc#200), all currently in the validation column on board-iss.
Merge Context
No PR in the ISS Rails repo directly references issue #79. The DNS A record was configured via GoDaddy (godaddy-tofu), and the Caddy vhost was added to the server configuration. The Forgejo issue is closed. Sibling decomps: #78 (kustomize overlays, done) and #80 (Makefile/seed/docs via PR #81, done).