pub struct ClusterJoinResponse {
pub node_id: String,
pub raft_node_id: u64,
pub overlay_ip: String,
pub slice_cidr: String,
pub peers: Vec<ClusterPeer>,
pub role: String,
pub node_jwt: Option<String>,
pub wrapped_dek: Option<Vec<u8>>,
pub dek_generation: Option<u64>,
pub join_secret: Option<String>,
pub warnings: Option<Vec<String>>,
}Expand description
Response body for POST /api/v1/cluster/join.
Fields§
§node_id: StringAssigned node UUID
raft_node_id: u64Assigned Raft node ID (monotonic u64)
overlay_ip: StringAssigned overlay IP for the new node
slice_cidr: StringPer-node slice CIDR assigned by the leader (e.g. “10.200.42.0/28”). Empty string if the leader is not slice-aware yet.
peers: Vec<ClusterPeer>Existing peers in the cluster
role: StringRole assigned to this node: “voter” or “learner”
node_jwt: Option<String>Node JWT minted by the leader for this joiner — roles: ["node"],
node_id set. Used to authenticate inter-node calls separately
from any user identity. None on legacy responses.
wrapped_dek: Option<Vec<u8>>Sealed-box-wrapped copy of the cluster DEK addressed to the
joiner’s secrets_pubkey. The joiner unwraps with its node X25519
private key and holds the DEK in zeroized memory. None on legacy
responses or when the joiner did not provide a secrets_pubkey.
dek_generation: Option<u64>Cluster DEK generation that wrapped_dek was sealed under. Lets
the joiner detect rotation drift if it re-joins after a revocation
rotated the cluster DEK. None when wrapped_dek is None.
join_secret: Option<String>Cluster-wide HMAC join secret. Returned to authenticated joiners
so they can derive the same internal RPC bearer as the leader.
None on legacy responses from older leaders.
warnings: Option<Vec<String>>Server-side advisory warnings to surface to the operator/CLI.
Examples: “your token format is deprecated and will be removed in
release X.Y”, “consider rotating the signing key, last rotated N
days ago”. Present-but-empty means “no warnings”; serialized as
null (skip-if-none) when there are none.
Trait Implementations§
Source§impl Clone for ClusterJoinResponse
impl Clone for ClusterJoinResponse
Source§fn clone(&self) -> ClusterJoinResponse
fn clone(&self) -> ClusterJoinResponse
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more