[nomad-step-5] S5-fix-4 — staging health check 404: host volume empty, needs content seeded #1010
Labels
No labels
action
backlog
blocked
bug-report
cannot-reproduce
in-progress
in-triage
needs-triage
prediction/actioned
prediction/dismissed
prediction/unreviewed
priority
rejected
reproduced
tech-debt
underspecified
vision
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: disinto-admin/disinto#1010
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Step 5 verification: staging health check returns 404 because
/srv/siteis empty — host volume has no content.Root cause
Staging jobspec mounts
host_volume "site-content"→/srv/site:ro. The host dir (/srv/disinto/site-contentor similar) is empty. In the compose stack, staging mounts./docker:/srv/site:rowhich hasindex.html. The Nomad host volume has nothing.Health check does
GET /→ Caddy returns 404 for empty directory → deployment never goes healthy.Fix — two options (pick one)
A (quick): Change health check from HTTP to TCP:
TCP confirms Caddy is listening. Content presence is a separate concern.
B (correct): Populate the host volume during init. In
bin/disinto's deploy step, before deploying staging:Then the HTTP check works because
/returns 200 with the index.Prefer B — health check should verify the service actually works.
Acceptance criteria
deploy.sh stagingcompletes within timeout.nomad alloc checks <staging>showsStatus = success.curl http://<staging-ip>:80/returns content.Labels / meta
backlog+bug-report.