Track CAS providers
This commit is contained in:
parent
df70b81a1d
commit
c9803ea7f2
8 changed files with 161 additions and 11 deletions
|
|
@ -67,6 +67,9 @@ pub enum ControlRequest {
|
|||
CasCleanup {
|
||||
dry_run: bool,
|
||||
},
|
||||
CasProviders {
|
||||
hash: BlobHash,
|
||||
},
|
||||
CasList,
|
||||
CasRootAdd {
|
||||
name: String,
|
||||
|
|
@ -324,6 +327,10 @@ pub enum ControlResponse {
|
|||
CasList {
|
||||
blobs: Vec<CasBlob>,
|
||||
},
|
||||
CasProviders {
|
||||
hash: BlobHash,
|
||||
providers: Vec<CasProvider>,
|
||||
},
|
||||
CasRootAdded {
|
||||
root: FileRoot,
|
||||
},
|
||||
|
|
@ -569,6 +576,13 @@ pub struct CasBlob {
|
|||
pub pinned: bool,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
|
||||
pub struct CasProvider {
|
||||
pub peer_node_id: String,
|
||||
pub endpoint_id: String,
|
||||
pub last_seen_ms: i64,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(tag = "type", rename_all = "kebab-case")]
|
||||
pub enum PeerControlRequest {
|
||||
|
|
@ -881,6 +895,27 @@ mod tests {
|
|||
request
|
||||
);
|
||||
|
||||
let request = ControlRequest::CasProviders {
|
||||
hash: "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef".into(),
|
||||
};
|
||||
assert_eq!(
|
||||
decode_request(&encode_request(&request).expect("encode")).expect("decode"),
|
||||
request
|
||||
);
|
||||
|
||||
let response = ControlResponse::CasProviders {
|
||||
hash: "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef".into(),
|
||||
providers: vec![CasProvider {
|
||||
peer_node_id: "node:peer".to_owned(),
|
||||
endpoint_id: "endpoint:peer".to_owned(),
|
||||
last_seen_ms: 42,
|
||||
}],
|
||||
};
|
||||
assert_eq!(
|
||||
decode_response(&encode_response(&response).expect("encode")).expect("decode"),
|
||||
response
|
||||
);
|
||||
|
||||
let request = ControlRequest::SshRevocationExport {
|
||||
out: PathBuf::from("revocations.krl-spec"),
|
||||
format: "openssh-krl-spec".to_owned(),
|
||||
|
|
|
|||
Loading…
Reference in a new issue