Skip to content

Drainer: health endpoint + livenessProbe #26

Description

@hhuuggoo

The drainer binary (cmd/drainer) exposes NO health endpoint (no http.Server//healthz), so no chart livenessProbe is possible today.

A wedged single-replica drainer pauses metering — but this is recoverable, not loss: Postgres is the system-of-record, the Valkey stream persists, and a restart re-consumes at-least-once (the drainer reads the stream from its last position). So a wedge is metering LAG, not LOSS. But a wedged drainer does not self-heal, and lag accrues silently until someone notices.

Add a health endpoint to the drainer (reflecting real consumer health — connected to Valkey, making progress / not stuck on a single XREAD), then a chart livenessProbe pointed at it so the kubelet restarts a wedged consumer.

Tracked follow-up from the phoebe Helm chart review (saturn-k8s PR #981); Ben-ruled a follow-up, not a chart blocker.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions