From 36c3879a739bba68dab86f6f67b4629b1959eecb Mon Sep 17 00:00:00 2001 From: Sasha Date: Thu, 23 Oct 2025 00:41:31 +0200 Subject: [PATCH 1/5] chore: add health status --- standards/application/waku-api.md | 54 +++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/standards/application/waku-api.md b/standards/application/waku-api.md index 03d4bf68..9cc412cd 100644 --- a/standards/application/waku-api.md +++ b/standards/application/waku-api.md @@ -30,6 +30,8 @@ contributors: * [Predefined values](#predefined-values) * [Extended definitions](#extended-definitions) * [The Validation API](#the-validation-api) + * [Health Status](#health-status) + * [Event Source](#event-source) * [Security/Privacy Considerations](#securityprivacy-considerations) * [Copyright](#copyright) @@ -313,6 +315,58 @@ that would contain all validation parameters including RLN. In the time being, parameters specific to RLN are accepted for the message validation. RLN can also be disabled. +## Health Status + +#### Type definitions + +```yml +types: + HealthStatus: + type: enum + values: [Unhealthy, MinimallyHealthy, Healthy] + description: "Used to identify health of the operating node" +``` + +#### Extended definitions + +`Unhealthy` indicates that the node has lost connectivity for message reception, +sending, or both, and as a result, it cannot reliably process or transmit messages. + +`MinimallyHealthy` indicates that the node meets the minimum operational requirements, +although performance or reliability may be impacted. + +`Healthy` indicates that the node is operating optimally, +with full support for message processing and transmission. + +## Event source + +#### Type definitions + +```yaml +types: + HealthStatus: + type: object + fields: + eventType: + type: string + default: "health" + description: "Event type identifier" + status: + type: HealthStatus + description: "Node health status emitted on state change" + +EventSource: + type: object + description: "Event source for Waku API events" + fields: + onEvent: + type: function + description: "Callback for captured events" + parameters: + - name: event + type: HealthStatus +``` + ## Security/Privacy Considerations See [WAKU2-ADVERSARIAL-MODELS](https://github.com/waku-org/specs/blob/master/informational/adversarial-models.md). From ed2ffc151a3d0969bfd1acd469730c838afaf563 Mon Sep 17 00:00:00 2001 From: Sasha <118575614+weboko@users.noreply.github.com> Date: Thu, 23 Oct 2025 00:44:30 +0200 Subject: [PATCH 2/5] use capital Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- standards/application/waku-api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/standards/application/waku-api.md b/standards/application/waku-api.md index 9cc412cd..7eaf3292 100644 --- a/standards/application/waku-api.md +++ b/standards/application/waku-api.md @@ -338,7 +338,7 @@ although performance or reliability may be impacted. `Healthy` indicates that the node is operating optimally, with full support for message processing and transmission. -## Event source +## Event Source #### Type definitions From 88783f088d469a058eada785838c045ebeb0e18d Mon Sep 17 00:00:00 2001 From: Sasha Date: Thu, 23 Oct 2025 00:45:30 +0200 Subject: [PATCH 3/5] remove ambiguity --- standards/application/waku-api.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/standards/application/waku-api.md b/standards/application/waku-api.md index 7eaf3292..33cf149c 100644 --- a/standards/application/waku-api.md +++ b/standards/application/waku-api.md @@ -344,7 +344,7 @@ with full support for message processing and transmission. ```yaml types: - HealthStatus: + HealthStatusEvent: type: object fields: eventType: @@ -364,7 +364,7 @@ EventSource: description: "Callback for captured events" parameters: - name: event - type: HealthStatus + type: HealthStatusEvent ``` ## Security/Privacy Considerations From b957762ada12b8bc9856c0e4c72fae3de8a88b95 Mon Sep 17 00:00:00 2001 From: Sasha <118575614+weboko@users.noreply.github.com> Date: Fri, 24 Oct 2025 01:48:17 +0200 Subject: [PATCH 4/5] up text Co-authored-by: fryorcraken <110212804+fryorcraken@users.noreply.github.com> --- standards/application/waku-api.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/standards/application/waku-api.md b/standards/application/waku-api.md index 33cf149c..7f79533c 100644 --- a/standards/application/waku-api.md +++ b/standards/application/waku-api.md @@ -332,7 +332,8 @@ types: `Unhealthy` indicates that the node has lost connectivity for message reception, sending, or both, and as a result, it cannot reliably process or transmit messages. -`MinimallyHealthy` indicates that the node meets the minimum operational requirements, +`MinimallyHealthy` indicates that the node meets the minimum operational requirements: connect to at least one peer with a protocol to send messages ([LIGHT-PUSH]() or [RELAY]()) and one peer with a protocol to receive messages ([FILTER ] or [RELAY]) +and one peer with store service capabilities. although performance or reliability may be impacted. `Healthy` indicates that the node is operating optimally, From 78d0b9de668dfe0719084097d7dea95b470e71a3 Mon Sep 17 00:00:00 2001 From: Sasha Date: Tue, 28 Oct 2025 01:41:59 +0100 Subject: [PATCH 5/5] address comments --- standards/application/waku-api.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/standards/application/waku-api.md b/standards/application/waku-api.md index 7f79533c..2d5b889f 100644 --- a/standards/application/waku-api.md +++ b/standards/application/waku-api.md @@ -330,14 +330,16 @@ types: #### Extended definitions `Unhealthy` indicates that the node has lost connectivity for message reception, -sending, or both, and as a result, it cannot reliably process or transmit messages. +sending, or both, and as a result, it cannot reliably receive or transmit messages. -`MinimallyHealthy` indicates that the node meets the minimum operational requirements: connect to at least one peer with a protocol to send messages ([LIGHT-PUSH]() or [RELAY]()) and one peer with a protocol to receive messages ([FILTER ] or [RELAY]) -and one peer with store service capabilities. -although performance or reliability may be impacted. +`MinimallyHealthy` indicates that the node meets the minimum operational requirements: +it is connected to at least one peer with a protocol to send messages ([LIGHTPUSH](https://github.com/vacp2p/rfc-index/blob/main/waku/standards/core/19/lightpush.md) or [RELAY](https://github.com/vacp2p/rfc-index/blob/main/waku/standards/core/11/relay.md)), +one peer with a protocol to receive messages ([FILTER](https://github.com/vacp2p/rfc-index/blob/main/waku/standards/core/12/filter.md) or [RELAY](https://github.com/vacp2p/rfc-index/blob/main/waku/standards/core/11/relay.md)), +and one peer with [STORE](https://github.com/vacp2p/rfc-index/blob/main/waku/standards/core/13/store.md) service capabilities, +although performance or reliability may still be impacted. `Healthy` indicates that the node is operating optimally, -with full support for message processing and transmission. +with full support for message reception and transmission. ## Event Source