| 14 | /// Request to join an existing cluster. |
| 15 | #[derive(Debug, Clone, rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)] |
| 16 | pub struct JoinRequest { |
| 17 | pub node_id: u64, |
| 18 | pub listen_addr: String, |
| 19 | pub wire_version: u16, |
| 20 | /// SPIFFE URI SAN from the joiner's mTLS leaf certificate, if present. |
| 21 | pub spiffe_id: Option<String>, |
| 22 | /// SHA-256 SPKI fingerprint of the joiner's mTLS leaf certificate. |
| 23 | /// Stored as `Vec<u8>` for rkyv compatibility; always 32 bytes when present. |
| 24 | pub spki_pin: Option<Vec<u8>>, |
| 25 | } |
| 26 | |
| 27 | /// Response to a join request — carries full cluster state. |
| 28 | #[derive(Debug, Clone, rkyv::Archive, rkyv::Serialize, rkyv::Deserialize)] |
no outgoing calls