pub struct NodeIdentity {
pub node_id: String,
pub secrets_pubkey: [u8; 32],
pub wg_pubkey: String,
pub joined_at: DateTime<Utc>,
pub revoked_at: Option<DateTime<Utc>>,
}Expand description
Per-node identity and key material.
Each node generates an X25519 keypair on first start and publishes the
pubkey via RegisterNode during cluster join. Lives in Raft state so
every node knows the recipient set when wrapping the cluster DEK.
Fields§
§node_id: StringCluster-wide UUID for this node (matches Raft’s view of the node).
secrets_pubkey: [u8; 32]32-byte X25519 pubkey used as the sealed-box recipient when the leader wraps the cluster DEK to this node.
wg_pubkey: StringWireGuard pubkey, kept here for reference — overlay/tunnelling
already track this elsewhere; duplicating it in NodeIdentity lets
callers correlate sealed-box identity with overlay identity without
a second lookup.
joined_at: DateTime<Utc>When this node was registered with the cluster.
revoked_at: Option<DateTime<Utc>>Soft-revocation timestamp. When set, the node no longer receives
new wraps and must be excluded from RotateDek after a quorum
confirms it has been physically removed.
Trait Implementations§
Source§impl Clone for NodeIdentity
impl Clone for NodeIdentity
Source§fn clone(&self) -> NodeIdentity
fn clone(&self) -> NodeIdentity
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more