Skip to content

API endpoints for health(z) #2282

@sthaha

Description

@sthaha

Target Version

Current version (0.10.0+) - New Architecture

Feature Description

Applications running in Kubernetes often rely on external probes (liveness/readiness) to determine pod health. Currently, the kepler does not expose any HTTP endpoints that can be used by these probes or by monitoring systems. This makes it difficult to:

  1. Verify that the service is fully initialized before accepting traffic.
  2. Detect and recover from runtime failures automatically via Kubernetes’ self‑healing mechanisms.

Desired Feature

Problem Statement

Currently, the kepler does not expose any HTTP endpoints that can be used by these probes or by monitoring systems. This makes it difficult to:

  1. Verify that the service is fully initialized before accepting traffic.
  2. Detect and recover from runtime failures automatically via Kubernetes’ self‑healing mechanisms.

Proposed Solution

Introduce two lightweight RESTful endpoints: (see: https://kubernetes.io/docs/reference/using-api/health-checks/ )

Endpoint Purpose Example Response
GET /probe/readyz Readiness – confirms the application is ready to serve traffic. { "status": "ok" }
GET /probe/livez Liveness – checks that the process is running and not dead‑locked. { "status": "alive" }

Both endpoints should:

  • Return HTTP 200 when healthy.
  • Return a non‑2xx status (e.g., 503) when unhealthy.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions