Skip to content

Commit 56b68f7

Browse files
committed
admin: add sentinel commands for validator multicast publisher management
Add sentinel subcommand to doublezero-admin with two commands: - find-validator-multicast-publishers: cross-reference onchain IBRL users with validator metadata to show publisher status - create-validator-multicast-publishers: bulk-create multicast publisher users for IBRL validators via 3-step onchain flow Shared library crate (doublezero-sentinel) provides readers, writers, and pure logic with unit tests. DZClient gets rpc_client() and payer_keypair() accessors for sentinel command integration.
1 parent bdb6542 commit 56b68f7

17 files changed

Lines changed: 1839 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ All notable changes to this project will be documented in this file.
1010

1111
- CLI
1212
- Reset SIGPIPE to SIG_DFL at the start of main() in all 3 CLI binaries (doublezero, doublezero-geolocation, doublezero-admin) so the process exits silently like standard CLI tools
13-
- SDK
13+
- Add sentinel admin commands to find and create multicast publishers for IBRL validators
1414
- Add Go SDK for shred subscription program with read-only account deserialization (epoch state, seat assignments, pricing, settlement, validator client rewards), PDA derivation helpers, RPC fetchers, compatibility tests, and a fetch example CLI
1515
- Tools
1616
- Add `twamp-debug` diagnostic tool for testing kernel timestamping support on switches; sends real TWAMP probes to verify which SO_TIMESTAMPING modes (RX/TX software/hardware/sched) actually deliver timestamps, and reports RTT statistics comparing userspace vs kernel timestamp sources

Cargo.lock

Lines changed: 147 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ members = [
1313
"smartcontract/programs/doublezero-geolocation",
1414
"smartcontract/programs/common",
1515
"e2e/docker/ledger/fork-accounts",
16+
"crates/sentinel",
1617
]
1718
default-members = []
1819
exclude = [
@@ -69,6 +70,7 @@ log = "0"
6970
metrics = "0"
7071
metrics-util = "0"
7172
mockall = "0"
73+
reqwest = "0"
7274
regex = "1"
7375
serde = "1"
7476
serde_bytes = "0"
@@ -98,6 +100,7 @@ tokio = { version = "1", default-features = false, features = [
98100
"signal",
99101
] }
100102
doublezero-config = { path = "config" }
103+
doublezero-sentinel = { path = "crates/sentinel" }
101104
doublezero_cli = { path = "smartcontract/cli" }
102105
doublezero-program-common = { path = "smartcontract/programs/common" }
103106
doublezero_sdk = { path = "smartcontract/sdk/rs" }

controlplane/doublezero-admin/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,4 @@ doublezero_cli.workspace = true
4444
doublezero-config.workspace = true
4545
doublezero-serviceability.workspace = true
4646
doublezero-program-common.workspace = true
47+
doublezero-sentinel.workspace = true

controlplane/doublezero-admin/src/cli/command.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use super::multicast::MulticastCliCommand;
1+
use super::{multicast::MulticastCliCommand, sentinel::SentinelCliCommand};
22
use crate::cli::{
33
accesspass::AccessPassCliCommand, config::ConfigCliCommand, contributor::ContributorCliCommand,
44
device::DeviceCliCommand, exchange::ExchangeCliCommand, globalconfig::GlobalConfigCliCommand,
@@ -66,6 +66,9 @@ pub enum Command {
6666
/// Manage multicast
6767
#[command()]
6868
Multicast(MulticastCliCommand),
69+
/// Sentinel admin commands
70+
#[command()]
71+
Sentinel(SentinelCliCommand),
6972
/// Export all data to files
7073
#[command()]
7174
Export(ExportCliCommand),

controlplane/doublezero-admin/src/cli/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@ pub mod location;
1010
pub mod multicast;
1111
pub mod multicastgroup;
1212
pub mod permission;
13+
pub mod sentinel;
1314
pub mod tenant;
1415
pub mod user;

0 commit comments

Comments
 (0)