Skip to content

Add structured keeper events and an inspectable health snapshot #5

Description

@karagozemin

Context

keeper:watch emits human-only console strings, making production alerting and liveness inspection difficult.

Scope

Add typed lifecycle events, JSON logging, and a lightweight optional health endpoint while retaining readable logs.

Acceptance criteria

  • Events cover tick start/end, reveal open, reveal/skip, clear, settle, void, retry, and error.
  • Support text and newline-delimited JSON modes.
  • JSON includes timestamp, network, contract, round, event, status, and actionable error metadata.
  • Track start time, last completed tick/action, active rounds, and recent error summary.
  • Expose an optional localhost-by-default health/readiness endpoint.
  • Never expose secret keys, signed XDR, or sensitive env values.
  • Test serialization, redaction, and readiness transitions.
  • Document configuration and sample output.

Out of scope

Hosted monitoring or a metrics database.

Verification

Demonstrate text, JSON, and health output in the PR.

Metadata

Metadata

Assignees

Labels

Stellar WaveIssue proposed for the Drips Stellar Wave programarea: keeperPermissionless keeper servicecomplexity: mediumExpected medium implementation complexitydrips-candidateCandidate for a Drips Stellar Wave

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions