Compare commits

...

1 Commits

Author SHA1 Message Date
core-devops b6f124e6a7 workspace-server/Dockerfile: add HEALTHCHECK for /health endpoint
CI / Canvas Deploy Reminder (pull_request) Blocked by required conditions
E2E API Smoke Test / E2E API Smoke Test (pull_request) Blocked by required conditions
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Blocked by required conditions
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Blocked by required conditions
Harness Replays / Harness Replays (pull_request) Blocked by required conditions
audit-force-merge / audit (pull_request) Waiting to run
Block internal-flavored paths / Block forbidden paths (pull_request) Waiting to run
CI / Detect changes (pull_request) Waiting to run
CI / Platform (Go) (pull_request) Waiting to run
CI / Canvas (Next.js) (pull_request) Waiting to run
CI / Shellcheck (E2E scripts) (pull_request) Waiting to run
CI / Python Lint & Test (pull_request) Waiting to run
CI / all-required (pull_request) Waiting to run
E2E API Smoke Test / detect-changes (pull_request) Waiting to run
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Waiting to run
Handlers Postgres Integration / detect-changes (pull_request) Waiting to run
Harness Replays / detect-changes (pull_request) Waiting to run
lint-required-no-paths / lint-required-no-paths (pull_request) Waiting to run
Runtime PR-Built Compatibility / detect-changes (pull_request) Waiting to run
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Blocked by required conditions
Secret scan / Scan diff for credential-shaped strings (pull_request) Waiting to run
gate-check-v3 / gate-check (pull_request) Waiting to run
sop-checklist / all-items-acked (pull_request) Waiting to run
sop-tier-check / tier-check (pull_request) Waiting to run
qa-review / approved (pull_request) Refired via /qa-recheck by unknown
security-review / approved (pull_request) Refired via /security-recheck by unknown
mc#1158: workspace/Dockerfile has a HEALTHCHECK; workspace-server/Dockerfile
was missing one. Without this, docker ps never shows (healthy) for this
container, and orchestrators that poll /health directly have no equivalent
signal baked into the image layer.

HEALTHCHECK probes http://localhost:8080/health every 30s with a 5s
timeout, 3 retries, and a 30s start period to allow for server boot.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-15 23:17:47 +00:00
+7
View File
@@ -69,6 +69,13 @@ COPY .tenant-bundle-deps/plugins /plugins
# Non-root runtime with Docker socket access for workspace provisioning.
RUN addgroup -g 1000 platform && adduser -u 1000 -G platform -s /bin/sh -D platform
EXPOSE 8080
# HEALTHCHECK: probe the /health endpoint so orchestrators and docker's
# health monitoring can detect a crashed or wedged server.
# mc#1158: workspace/Dockerfile has a HEALTHCHECK; workspace-server/Dockerfile
# was missing one, so docker ps never shows (healthy) for this container.
# Interval 30s, timeout 5s, 3 retries, 30s start period (server boot).
HEALTHCHECK --interval=30s --timeout=5s --retries=3 --start-period=30s \
CMD wget -qO- --timeout=5 http://localhost:8080/health || exit 1
COPY <<'ENTRY' /entrypoint.sh
#!/bin/sh
# Set up docker-socket group (unchanged from pre-sidecar entrypoint).