Certificate lifecycle: emit events for issuance, renewal and failure #44

Open
opened 2026-10-22 11:23:12 +00:00 by james.oates · 0 comments
Owner

Deferred from the per-name ACME work (spec: obsidian/Personal/Projects/edge-router/specs/2026-10-22-remove-tpm-openbao-encryption-design.md).

Emit events when a certificate is issued, renewed, fails, or is removed, so something outside ER can alert on them.

Why it waits: ER has no event or metrics surface at all today, so this is not a feature on an existing mechanism — it is the mechanism. The removal work instead puts expiry and last-error in /ready's JSON, which is the cheapest thing that makes a failing renewal visible, and that was judged sufficient at the current fleet size (~10 names).

Decide first: what the surface is. Options are a Prometheus /metrics endpoint, structured log lines with stable fields that an external collector matches on, or a webhook. That choice is wider than certificates — whatever is chosen here becomes ER's event surface for everything — which is exactly why it should not be decided as a side effect of the cert work.

Deferred from the per-name ACME work (spec: `obsidian/Personal/Projects/edge-router/specs/2026-10-22-remove-tpm-openbao-encryption-design.md`). Emit events when a certificate is issued, renewed, fails, or is removed, so something outside ER can alert on them. **Why it waits:** ER has no event or metrics surface at all today, so this is not a feature on an existing mechanism — it is the mechanism. The removal work instead puts expiry and last-error in `/ready`'s JSON, which is the cheapest thing that makes a failing renewal visible, and that was judged sufficient at the current fleet size (~10 names). **Decide first:** what the surface is. Options are a Prometheus `/metrics` endpoint, structured log lines with stable fields that an external collector matches on, or a webhook. That choice is wider than certificates — whatever is chosen here becomes ER's event surface for everything — which is exactly why it should not be decided as a side effect of the cert work.
Sign in to join this conversation.
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
IsoHex/edge-router#44
No description provided.