1.8 KiB
1.8 KiB
health-check Specification
Purpose
Expose a public GET /up healthcheck that responds quickly and without authentication, exposes no secrets, and fails when the application cannot boot, so orchestrators and CI can verify availability.
Requirements
Requirement: Public health endpoint responds without authentication
The system SHALL expose GET /up as a public healthcheck endpoint that does not require authentication.
Scenario: Application is healthy
- WHEN a client sends
GET /upwhile the application is running normally - THEN the system responds with HTTP 200 in a timely manner
Scenario: Health endpoint exposes no secrets
- WHEN a client sends
GET /up - THEN the response MUST NOT include credentials, tokens, stack traces, or environment secrets
Requirement: Health endpoint reflects application failure
The system SHALL return a failure status when the application cannot initialize properly.
Scenario: Application cannot boot
- WHEN the application fails to boot due to misconfiguration or missing dependencies
- THEN the health endpoint MUST NOT return HTTP 200
Requirement: Staging health and smoke use the public /up endpoint
Staging healthchecks and post-deploy smoke MUST call GET /up without authentication and MUST treat a non-200 response as deployment failure (SPEC §15.5, §16.2). The health response MUST NOT expose secrets.
Scenario: Staging healthcheck probes /up
- WHEN Dokploy or the container runtime evaluates application health after deploy
- THEN it MUST request
/up - AND MUST require HTTP 200 before marking the service healthy
Scenario: Smoke failure on /up fails the deploy gate
- WHEN post-deploy smoke requests
/upand receives a non-200 response - THEN the staging promotion MUST be considered failed