HarperFast / HarperFast/harper-pro

Replication observability: cert expiry as a scrapable field

Open
#590 0 comments 0 reactions 0 assignees View on GitHub
area:replication enhancement
Dominant language
JavaScript
Stars
3
Forks
0
Avg merge
1d 21h
Merged PRs (30d)
80

Description

**Replication observability gap — surfaced by Chris Nelson (monitoring), 2026-07-15.**
Child of #430 (Replication epic) / #532 (Monitoring tracking); slot under #437 (W8 observability) Tier 1/2.

## Problem
Replication **cert expiry is invisible**. We already page on *public* cert expiry, but the certs securing replication links have no scrapable field anywhere in `cluster_status`, `hdb_analytics`, or the metrics pipeline. An expired replication cert silently kills a link.

This is the **leading suspect for the 31-day dead links** (see the disconnect-reason-code work) and is the single most *preventable* link killer — an expiry we can see coming is an expiry we page on before it fires.

## Ask
- Expose per-link (and/or per-node) **replication cert `notAfter`** as a field in `cluster_status` and as a scrapable metric (`..._cert_expiry_seconds` with per-peer labels) via the native OpenMetrics endpoint (harper#1636).
- Ideally also the CA/chain expiry if the link presents a chain.

## Acceptance criteria
- Replication cert expiry timestamp is queryable via `cluster_status` and scrapable per peer.
- An expiring replication cert can be alerted on **before** the link dies (parity with public cert paging).

---
🤖 Filed by KrAIs on behalf of Kris.

Contributor guide

Open the contributing guide

Research direction

Start by tracing how replication data is exposed through cluster_status and the native OpenMetrics endpoint, checking hdb_analytics and the existing public certificate expiry path for related conventions. Done means the replication certificate notAfter is queryable in cluster_status and emitted as a per-peer cert_expiry_seconds metric that can trigger alerts before link failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, nodejs, prometheus
Domain
databases, observability
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.