From eafe8bfbfdc5173e5dd50bca91f9fe4f0ad1dca3 Mon Sep 17 00:00:00 2001 From: John Coffey Date: Mon, 28 Sep 2026 17:02:47 -0700 Subject: [PATCH 1/4] Webhooks: send one sample event to a saved webhook --- crates/common/src/telemetry/webhooks/mod.rs | 157 ++++++++++++++++++-- crates/http/src/api/mod.rs | 11 ++ crates/jmap/src/inbuxa/mod.rs | 1 + crates/jmap/src/inbuxa/webhook_test.rs | 61 ++++++++ 4 files changed, 221 insertions(+), 9 deletions(-) create mode 100644 crates/jmap/src/inbuxa/webhook_test.rs diff --git a/crates/common/src/telemetry/webhooks/mod.rs b/crates/common/src/telemetry/webhooks/mod.rs index 218b039..004f6e6 100644 --- a/crates/common/src/telemetry/webhooks/mod.rs +++ b/crates/common/src/telemetry/webhooks/mod.rs @@ -156,15 +156,7 @@ async fn post_webhook_events( // Add HMAC-SHA256 signature let mut headers = settings.headers.clone(); - if !settings.key.is_empty() { - let key = hmac::Key::new(hmac::HMAC_SHA256, settings.key.as_bytes()); - let tag = hmac::sign(&key, body.as_bytes()); - - headers.insert( - "X-Signature", - STANDARD.encode(tag.as_ref()).parse().unwrap(), - ); - } + sign(&mut headers, &settings.key, &body); // Send request let response = settings @@ -188,3 +180,150 @@ async fn post_webhook_events( )) } } + +/// Adds the HMAC-SHA256 `X-Signature` a receiver checks, when the webhook has a key. +fn sign(headers: &mut hyper::HeaderMap, key: &str, body: &str) { + if !key.is_empty() { + let key = hmac::Key::new(hmac::HMAC_SHA256, key.as_bytes()); + let tag = hmac::sign(&key, body.as_bytes()); + + headers.insert( + "X-Signature", + STANDARD.encode(tag.as_ref()).parse().unwrap(), + ); + } +} + +/// inbuxa: "Send test" for a saved webhook (settings-reorg, Webhooks). One +/// sample event, sent the way a real batch is: the same URL, headers, sign-in, +/// signature, timeout and certificate checks. The event's type, +/// `webhook.test`, is none the server raises, and an `X-Inbuxa-Test` header +/// marks it, so a receiver can tell it apart. Answers the HTTP status, or why +/// nothing came back. +pub async fn send_test(hook: ®istry::schema::structs::WebHook) -> Result { + let mut headers = hook + .http_auth + .build_headers(hook.http_headers.clone(), "application/json".into()) + .await + .map_err(|err| format!("Unable to build HTTP headers: {err}"))?; + let key = hook + .signature_key + .secret() + .await + .map_err(|err| format!("Unable to retrieve signature key: {err}"))? + .unwrap_or_default() + .into_owned(); + + let created = now(); + let body = serde_json::json!({ + "events": [{ + "id": format!("test-{created}"), + "createdAt": mail_parser::DateTime::from_timestamp(created as i64).to_rfc3339(), + "type": "webhook.test", + "data": { "details": "A test from inbuxa Admin. Nothing happened on the server." }, + }] + }) + .to_string(); + sign(&mut headers, &key, &body); + headers.insert("X-Inbuxa-Test", "true".parse().unwrap()); + + let response = utils::http::http_client_builder(hook.allow_invalid_certs) + .build() + .map_err(|err| format!("Unable to build an HTTP client: {err}"))? + .post(&hook.url) + .timeout(hook.timeout.into_inner()) + .headers(headers) + .body(body) + .send() + .await + .map_err(|err| format!("Webhook request to {} failed: {err}", hook.url))?; + Ok(response.status().as_u16()) +} + +#[cfg(test)] +mod tests { + use super::*; + use registry::schema::structs::{SecretKeyOptional, SecretKeyValue, WebHook}; + use tokio::io::{AsyncReadExt, AsyncWriteExt}; + + /// One request in, the given status out; hands back what was received. + async fn receiver(status: &'static str) -> (String, tokio::task::JoinHandle) { + let listener = tokio::net::TcpListener::bind("127.0.0.1:0").await.unwrap(); + let url = format!("http://{}/hook", listener.local_addr().unwrap()); + let task = tokio::spawn(async move { + let (mut socket, _) = listener.accept().await.unwrap(); + let mut buf = Vec::new(); + let mut chunk = [0u8; 4096]; + loop { + let n = socket.read(&mut chunk).await.unwrap(); + buf.extend_from_slice(&chunk[..n]); + let text = String::from_utf8_lossy(&buf); + if let Some(end) = text.find("\r\n\r\n") { + let length = text[..end] + .lines() + .find_map(|l| { + l.to_ascii_lowercase() + .strip_prefix("content-length:") + .map(|v| v.trim().parse::().unwrap()) + }) + .unwrap_or(0); + if buf.len() >= end + 4 + length || n == 0 { + break; + } + } + } + socket + .write_all( + format!("HTTP/1.1 {status}\r\ncontent-length: 0\r\nconnection: close\r\n\r\n") + .as_bytes(), + ) + .await + .unwrap(); + String::from_utf8_lossy(&buf).into_owned() + }); + (url, task) + } + + #[tokio::test] + async fn send_test_signs_and_marks_the_sample() { + let (url, task) = receiver("204 No Content").await; + let hook = WebHook { + url, + enable: false, + signature_key: SecretKeyOptional::Value(SecretKeyValue { secret: "k".into() }), + ..Default::default() + }; + assert_eq!(send_test(&hook).await, Ok(204)); + + let request = task.await.unwrap(); + let (head, body) = request.split_once("\r\n\r\n").unwrap(); + let head = head.to_ascii_lowercase(); + assert!(head.contains("x-inbuxa-test: true"), "{head}"); + let parsed: serde_json::Value = serde_json::from_str(body).unwrap(); + assert_eq!(parsed["events"][0]["type"], "webhook.test"); + let tag = hmac::sign(&hmac::Key::new(hmac::HMAC_SHA256, b"k"), body.as_bytes()); + assert!( + head.contains(&format!( + "x-signature: {}", + STANDARD.encode(tag.as_ref()).to_ascii_lowercase() + )), + "{head}" + ); + } + + #[tokio::test] + async fn send_test_reports_what_came_back() { + let (url, _task) = receiver("403 Forbidden").await; + let hook = WebHook { + url, + ..Default::default() + }; + assert_eq!(send_test(&hook).await, Ok(403)); + + let hook = WebHook { + url: "http://127.0.0.1:9/hook".into(), + ..Default::default() + }; + assert!(send_test(&hook).await.unwrap_err().contains("failed")); + } +} diff --git a/crates/http/src/api/mod.rs b/crates/http/src/api/mod.rs index b35a721..774eada 100644 --- a/crates/http/src/api/mod.rs +++ b/crates/http/src/api/mod.rs @@ -131,6 +131,17 @@ impl ManagementApi for Server { let answer = jmap::inbuxa::directory_test::test(self, &request).await?; Ok(JsonResponse::new(answer).no_cache().into_http_response()) } + // inbuxa: send one sample event to a saved webhook + "webhook" if is_post && path.get(1).copied() == Some("test") => { + let (_in_flight, access_token) = self.authenticate_headers(req, session).await?; + jmap::inbuxa::webhook_test::assert_allowed(&access_token)?; + let request = body + .as_deref() + .and_then(|body| serde_json::from_slice::(body).ok()) + .unwrap_or_default(); + let answer = jmap::inbuxa::webhook_test::test(self, &request).await?; + Ok(JsonResponse::new(answer).no_cache().into_http_response()) + } "account" => { // Authenticate request let (_in_flight, access_token) = self.authenticate_headers(req, session).await?; diff --git a/crates/jmap/src/inbuxa/mod.rs b/crates/jmap/src/inbuxa/mod.rs index 44fafb5..998ec48 100644 --- a/crates/jmap/src/inbuxa/mod.rs +++ b/crates/jmap/src/inbuxa/mod.rs @@ -18,6 +18,7 @@ pub mod ai_limits; pub mod log_settings; pub mod data_inventory; pub mod directory_test; +pub mod webhook_test; pub mod explanation; pub mod protocol_policy; pub mod tenant_protocol_policy; diff --git a/crates/jmap/src/inbuxa/webhook_test.rs b/crates/jmap/src/inbuxa/webhook_test.rs new file mode 100644 index 0000000..d4fa474 --- /dev/null +++ b/crates/jmap/src/inbuxa/webhook_test.rs @@ -0,0 +1,61 @@ +/* + * SPDX-FileCopyrightText: 2026 Coffey Labs + * + * SPDX-License-Identifier: AGPL-3.0-only + */ + +//! `POST /api/webhook/test`: send one sample event to a saved webhook +//! (settings-reorg, Webhooks "Send test"). +//! +//! ```json +//! {"webhookId": "b"} +//! ``` +//! +//! The answer is `{"sent": true, "status": 200, "ms": 84}` when the receiver +//! answered 2xx, `{"sent": false, "status": 403, …}` when it answered +//! otherwise, and `{"sent": false, "error": "…"}` when nothing came back. The +//! webhook is used as saved, even when it's off, so it can be tried before +//! it's switched on. The request goes where the saved webhook already sends, +//! so this gives nobody a reach they didn't have. +//! +//! For server-level administrators who may change webhooks. + +use common::{Server, auth::AccessToken}; +use registry::schema::{enums::Permission, structs::WebHook}; +use serde_json::{Value, json}; +use std::{str::FromStr, time::Instant}; +use types::id::Id; + +pub fn assert_allowed(access_token: &AccessToken) -> trc::Result<()> { + if access_token.tenant_id().is_some() { + return Err(trc::JmapEvent::Forbidden + .into_err() + .details("Webhook tests are for server-level administrators.")); + } + access_token.enforce_permission(Permission::SysWebHookUpdate) +} + +pub async fn test(server: &Server, body: &Value) -> trc::Result { + let webhook_id = body + .get("webhookId") + .and_then(Value::as_str) + .and_then(|id| Id::from_str(id).ok()) + .ok_or_else(|| { + trc::ResourceEvent::BadParameters + .into_err() + .details("Expected {\"webhookId\": …}") + })?; + let Some(hook) = server.registry().object::(webhook_id).await? else { + return Ok(json!({ "sent": false, "error": "There's no such webhook. Save it first." })); + }; + + let started = Instant::now(); + Ok(match common::telemetry::webhooks::send_test(&hook).await { + Ok(status) => json!({ + "sent": (200..300).contains(&status), + "status": status, + "ms": started.elapsed().as_millis() as u64, + }), + Err(error) => json!({ "sent": false, "error": error }), + }) +} -- 2.54.0 From 9fd1d327996c5ffe0ad6be691e760941ec899014 Mon Sep 17 00:00:00 2001 From: John Coffey Date: Mon, 28 Sep 2026 17:11:32 -0700 Subject: [PATCH 2/4] Explain: don't prepare answers for date fields --- crates/jmap/src/inbuxa/explanation.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/crates/jmap/src/inbuxa/explanation.rs b/crates/jmap/src/inbuxa/explanation.rs index b5e54b9..d0a9975 100644 --- a/crates/jmap/src/inbuxa/explanation.rs +++ b/crates/jmap/src/inbuxa/explanation.rs @@ -798,6 +798,10 @@ mod tests { assert!(delivery_facts(&mut Facts::default(), &message, "no@example.com").is_err()); } + fn is_timestamp(value: &str) -> bool { + chrono::DateTime::parse_from_rfc3339(value).is_ok() + } + /// The settings questions a release prepares answers for (EX-26): every /// non-secret property of every settings object, at the object's own /// default, built exactly as a live question is. @@ -842,6 +846,12 @@ mod tests { if info.secret { continue; } + // A date's default is the moment the object is built, so its + // question changes every run and no live question ever + // matches it: nothing worth preparing. + if matches!(map[&property].as_str(), Some(v) if is_timestamp(v)) { + continue; + } let mut facts = Facts::default(); push_setting(&mut facts, &object, &property, &info, &map[&property]); out.push((object.clone(), property, facts)); @@ -856,6 +866,7 @@ mod tests { assert!(questions.len() > 500, "found {}", questions.len()); assert!(questions.iter().any(|(o, p, _)| o == "x:Domain" && p == "dnsManagement")); assert!(!questions.iter().any(|(o, p, _)| o == "x:AiModel" && p == "httpAuth")); + assert!(!questions.iter().any(|(o, p, _)| o == "x:Account" && p == "createdAt")); } /// Writes `resources/explain/settings.json.gz` (EX-26). Run before a -- 2.54.0 From 0232e5928368ac24658dd7f3df7ab3c4d986a399 Mon Sep 17 00:00:00 2001 From: John Coffey Date: Mon, 28 Sep 2026 18:00:45 -0700 Subject: [PATCH 3/4] Ports: each node checks the others' ports from outside --- crates/common/src/lib.rs | 3 + crates/common/src/reachability.rs | 293 ++++++++++++++++++ crates/http/src/api/mod.rs | 12 + crates/services/src/task_manager/scheduler.rs | 21 ++ 4 files changed, 329 insertions(+) create mode 100644 crates/common/src/reachability.rs diff --git a/crates/common/src/lib.rs b/crates/common/src/lib.rs index 521fa9e..b0b2b26 100644 --- a/crates/common/src/lib.rs +++ b/crates/common/src/lib.rs @@ -70,6 +70,7 @@ pub mod cache; pub mod audit; // inbuxa: the audit log (audit-hold-lock spec, AU) pub mod hold; // inbuxa: legal holds (audit-hold-lock spec, LH) pub mod privacy; // inbuxa: the personal-data catalog, evaluated +pub mod reachability; // inbuxa: whether the outside world reaches each node's ports pub mod config; pub mod expr; pub mod i18n; @@ -129,6 +130,8 @@ pub const KV_LOCK_QUEUE_MESSAGE: u8 = 21; pub const KV_LOCK_TASK: u8 = 23; pub const KV_LOCK_DAV: u8 = 25; pub const KV_SIEVE_ID: u8 = 26; +// inbuxa: far above upstream's prefixes, so a new one of theirs never collides +pub const KV_PORT_REACHABILITY: u8 = 200; #[derive(Clone)] pub struct Server { diff --git a/crates/common/src/reachability.rs b/crates/common/src/reachability.rs new file mode 100644 index 0000000..df72f80 --- /dev/null +++ b/crates/common/src/reachability.rs @@ -0,0 +1,293 @@ +/* + * SPDX-FileCopyrightText: 2026 Coffey Labs + * + * SPDX-License-Identifier: AGPL-3.0-only + */ + +//! Whether the outside world can reach each node's ports (settings-reorg, +//! Ports: the reachability check). +//! +//! A server can't answer this about itself: a connection to its own public +//! address never leaves the machine, so it passes whatever the firewall in +//! front says. In a cluster the other nodes are outside that machine. Every +//! ten minutes each node resolves every other active node's hostname, as a +//! sender would, and tries a TCP connection to each listener port on each +//! address. What it saw goes in the shared in-memory store for an hour, under +//! (target, prober), so whichever node the admin asks can report it all. +//! +//! A single server has no one outside to ask. It reports only whether each +//! port is listening, and says so. +//! +//! A connection is all that's tried: nothing is sent, so no protocol logs a +//! session and no rate limit counts it. + +use crate::{KV_PORT_REACHABILITY, Server}; +use registry::schema::{enums::ClusterNodeStatus, structs::NetworkListener}; +use serde::{Deserialize, Serialize}; +use serde_json::{Value, json}; +use std::{ + collections::BTreeSet, + net::{IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr}, + time::{Duration, Instant}, +}; +use store::{dispatch::lookup::KeyValue, write::now}; + +/// How often each node probes the others. +pub const PROBE_INTERVAL: Duration = Duration::from_secs(600); +/// How long one node's view of another is kept: long enough to span a missed round. +const KEEP_FOR: u64 = 3600; +const CONNECT_TIMEOUT: Duration = Duration::from_secs(5); + +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +pub struct Probe { + pub port: u16, + pub address: String, + pub ok: bool, + #[serde(default, skip_serializing_if = "Option::is_none")] + pub error: Option, +} + +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +pub struct Report { + /// Unix seconds. + pub checked_at: u64, + pub probes: Vec, + /// The hostname didn't resolve, so nothing could be tried. + #[serde(default, skip_serializing_if = "Option::is_none")] + pub error: Option, +} + +/// The ports a sender or client could reach: every listener's port, leaving +/// out listeners bound only to loopback, which are private by design. +pub fn public_ports<'x>(listeners: impl IntoIterator) -> Vec { + listeners + .into_iter() + .flat_map(|l| l.bind.iter()) + .map(|addr| addr.0) + .filter(|addr| !addr.ip().is_loopback()) + .map(|addr| addr.port()) + .collect::>() + .into_iter() + .collect() +} + +fn key(target: &str, prober: &str) -> Vec { + format!("{target}\n{prober}").into_bytes() +} + +async fn connect(address: SocketAddr) -> Result<(), String> { + match tokio::time::timeout(CONNECT_TIMEOUT, tokio::net::TcpStream::connect(address)).await { + Ok(Ok(_)) => Ok(()), + Ok(Err(err)) => Err(err.to_string()), + Err(_) => Err("no answer within 5 seconds".into()), + } +} + +/// Tries each port on each address `hostname` resolves to. +pub async fn probe_host(hostname: &str, ports: &[u16]) -> Report { + let checked_at = now(); + let addresses = match tokio::net::lookup_host((hostname, 0)).await { + Ok(found) => found.map(|a| a.ip()).collect::>(), + Err(err) => { + return Report { + checked_at, + probes: vec![], + error: Some(format!("{hostname} doesn't resolve: {err}")), + }; + } + }; + let tries = addresses.iter().flat_map(|ip| { + ports.iter().map(move |port| { + let address = SocketAddr::new(*ip, *port); + async move { + let result = connect(address).await; + Probe { + port: *port, + address: ip.to_string(), + ok: result.is_ok(), + error: result.err(), + } + } + }) + }); + Report { + checked_at, + probes: futures::future::join_all(tries).await, + error: None, + } +} + +async fn listeners(server: &Server) -> trc::Result> { + Ok(server + .registry() + .list::() + .await? + .into_iter() + .map(|l| l.object) + .collect()) +} + +/// Where to knock to see a port listening on this machine: the bound +/// address, or loopback of the same family for a wildcard bind. +pub fn local_targets<'x>( + listeners: impl IntoIterator, +) -> Vec { + listeners + .into_iter() + .flat_map(|l| l.bind.iter()) + .map(|addr| addr.0) + .filter(|addr| !addr.ip().is_loopback()) + .map(|addr| match addr.ip() { + IpAddr::V4(ip) if ip.is_unspecified() => { + SocketAddr::new(Ipv4Addr::LOCALHOST.into(), addr.port()) + } + IpAddr::V6(ip) if ip.is_unspecified() => { + SocketAddr::new(Ipv6Addr::LOCALHOST.into(), addr.port()) + } + _ => addr, + }) + .collect::>() + .into_iter() + .collect() +} + +/// One round: this node probes every other active node and records what it saw. +pub async fn probe_peers(server: &Server) -> trc::Result<()> { + let nodes = server.registry().cluster_node_list().await?; + let me = server.registry().node_id() as u64; + let Some(prober) = nodes + .iter() + .find(|n| n.node_id == me) + .map(|n| n.hostname.clone()) + else { + return Ok(()); + }; + let ports = public_ports(&listeners(server).await?); + for target in nodes.iter().filter(|n| { + n.node_id != me && n.status == ClusterNodeStatus::Active && n.hostname != prober + }) { + let report = probe_host(&target.hostname, &ports).await; + server + .in_memory_store() + .key_set( + KeyValue::with_prefix( + KV_PORT_REACHABILITY, + key(&target.hostname, &prober), + serde_json::to_vec(&report).unwrap_or_default(), + ) + .expires(KEEP_FOR), + ) + .await?; + } + Ok(()) +} + +/// What `GET /api/ports/check` answers. +pub async fn report(server: &Server) -> trc::Result { + let listeners = listeners(server).await?; + let ports = public_ports(&listeners); + let nodes = if server.core.storage.coordinator.is_enabled() { + server.registry().cluster_node_list().await? + } else { + vec![] + }; + let active = nodes + .iter() + .filter(|n| n.status == ClusterNodeStatus::Active) + .collect::>(); + + if active.len() < 2 { + // No one outside to ask: only whether each port is listening here. + let started = Instant::now(); + let listening = futures::future::join_all(local_targets(&listeners).into_iter().map( + |address| async move { + let result = connect(address).await; + json!({ "port": address.port(), "address": address.ip().to_string(), "listening": result.is_ok() }) + }, + )) + .await; + return Ok(json!({ + "mode": "local", + "ports": ports, + "listening": listening, + "ms": started.elapsed().as_millis() as u64, + })); + } + + let mut out = Vec::new(); + for target in &active { + let mut seen_by = Vec::new(); + for prober in active.iter().filter(|p| p.node_id != target.node_id) { + let stored = server + .in_memory_store() + .key_get::(KeyValue::<()>::build_key( + KV_PORT_REACHABILITY, + key(&target.hostname, &prober.hostname), + )) + .await?; + let report = stored.and_then(|raw| serde_json::from_str::(&raw).ok()); + seen_by.push(json!({ "prober": prober.hostname, "report": report })); + } + out.push(json!({ "hostname": target.hostname, "seenBy": seen_by })); + } + Ok(json!({ + "mode": "cluster", + "ports": ports, + "intervalSeconds": PROBE_INTERVAL.as_secs(), + "nodes": out, + })) +} + +#[cfg(test)] +mod tests { + use super::*; + + fn listener(binds: &[&str]) -> NetworkListener { + NetworkListener { + bind: registry::schema::prelude::Map::new( + binds.iter().map(|b| b.parse().unwrap()).collect(), + ), + ..Default::default() + } + } + + #[test] + fn public_ports_leave_out_loopback_only_listeners() { + let listeners = [ + listener(&["[::]:25"]), + listener(&["0.0.0.0:993", "[::]:993"]), + listener(&["127.0.0.1:8080"]), + listener(&["203.0.113.5:465"]), + ]; + assert_eq!(public_ports(listeners.iter()), vec![25, 465, 993]); + assert_eq!( + local_targets(listeners.iter()) + .iter() + .map(ToString::to_string) + .collect::>(), + vec!["127.0.0.1:993", "203.0.113.5:465", "[::1]:25", "[::1]:993"] + ); + } + + #[tokio::test] + async fn probe_host_reports_open_and_closed_ports() { + let open = tokio::net::TcpListener::bind("127.0.0.1:0").await.unwrap(); + let open_port = open.local_addr().unwrap().port(); + let closed_port = { + let l = std::net::TcpListener::bind("127.0.0.1:0").unwrap(); + l.local_addr().unwrap().port() + }; + let report = probe_host("127.0.0.1", &[open_port, closed_port]).await; + assert_eq!(report.error, None); + let ok = |port| report.probes.iter().find(|p| p.port == port).unwrap().ok; + assert!(ok(open_port)); + assert!(!ok(closed_port)); + } + + #[tokio::test] + async fn probe_host_says_when_a_name_does_not_resolve() { + let report = probe_host("does-not-exist.invalid", &[25]).await; + assert!(report.probes.is_empty()); + assert!(report.error.unwrap().contains("doesn't resolve")); + } +} diff --git a/crates/http/src/api/mod.rs b/crates/http/src/api/mod.rs index 774eada..4c0a053 100644 --- a/crates/http/src/api/mod.rs +++ b/crates/http/src/api/mod.rs @@ -142,6 +142,18 @@ impl ManagementApi for Server { let answer = jmap::inbuxa::webhook_test::test(self, &request).await?; Ok(JsonResponse::new(answer).no_cache().into_http_response()) } + // inbuxa: whether the outside world reaches each node's ports + "ports" if path.get(1).copied() == Some("check") => { + let (_in_flight, access_token) = self.authenticate_headers(req, session).await?; + if access_token.tenant_id().is_some() { + return Err(trc::JmapEvent::Forbidden + .into_err() + .details("Port checks are for server-level administrators.")); + } + access_token.enforce_permission(Permission::SysNetworkListenerGet)?; + let answer = common::reachability::report(self).await?; + Ok(JsonResponse::new(answer).no_cache().into_http_response()) + } "account" => { // Authenticate request let (_in_flight, access_token) = self.authenticate_headers(req, session).await?; diff --git a/crates/services/src/task_manager/scheduler.rs b/crates/services/src/task_manager/scheduler.rs index d283ef6..a32a2d6 100644 --- a/crates/services/src/task_manager/scheduler.rs +++ b/crates/services/src/task_manager/scheduler.rs @@ -46,6 +46,8 @@ enum Event { StoreMetrics, // inbuxa: MON-25: alert evaluation EvaluateAlerts, + // inbuxa: settings-reorg: probe the other nodes' ports + ProbePeerPorts, } /// When the next metric-history tick is due (MON-4), read from the registry @@ -95,6 +97,11 @@ pub fn spawn_task_scheduler(inner: Arc) { Instant::now() + server.registry().refresh_node_id_interval(), Event::RenewNodeIdLease, ); + // inbuxa: first round a minute after start, once the others have a lease + queue.schedule( + Instant::now() + Duration::from_secs(60), + Event::ProbePeerPorts, + ); } // Spam classifier training @@ -229,6 +236,19 @@ pub fn spawn_task_scheduler(inner: Arc) { } }); } + Event::ProbePeerPorts => { + queue.schedule( + Instant::now() + common::reachability::PROBE_INTERVAL, + Event::ProbePeerPorts, + ); + + let server = server.clone(); + tokio::spawn(async move { + if let Err(err) = common::reachability::probe_peers(&server).await { + trc::error!(err.details("Failed to probe the other nodes' ports")); + } + }); + } Event::OtelMetrics => { if let Some(otel) = &server.core.metrics.otel { queue.schedule(Instant::now() + otel.interval, Event::OtelMetrics); @@ -476,6 +496,7 @@ impl Event { Event::RenewNodeIdLease => "renewNodeIdLease", Event::StoreMetrics => "storeMetrics", Event::EvaluateAlerts => "evaluateAlerts", + Event::ProbePeerPorts => "probePeerPorts", } } } -- 2.54.0 From d2b0750e1d1060a3af930d005103d33385d39fe5 Mon Sep 17 00:00:00 2001 From: John Coffey Date: Mon, 28 Sep 2026 18:23:26 -0700 Subject: [PATCH 4/4] Release 2026.9.28.6 --- crates/types/src/branding.rs | 2 +- resources/explain/settings.json.gz | Bin 58489 -> 57337 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/types/src/branding.rs b/crates/types/src/branding.rs index fa177b0..12f589a 100644 --- a/crates/types/src/branding.rs +++ b/crates/types/src/branding.rs @@ -81,7 +81,7 @@ fn legacy_setting(name: &str, is_set: impl Fn(&str) -> bool) -> Option { #[macro_export] macro_rules! brand_version { () => { - "2026.9.28.5" + "2026.9.28.6" }; } diff --git a/resources/explain/settings.json.gz b/resources/explain/settings.json.gz index 68888e79efb0eb5fb02fe2b69b9d9e1742d33bad..f94429e1de5eb5639c27be7fdb35ecbb4929b9db 100644 GIT binary patch delta 57202 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 delta 58366 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 vIXjP#4`7s=*}{Q3X&3*Y}A=b~FG2#o^(7&C@h -- 2.54.0