Report keychain signature status

This commit is contained in:
Eric Wendland 2026-05-19 16:05:57 +02:00
commit 788522404d
7 changed files with 20 additions and 4 deletions

View file

@ -1102,6 +1102,7 @@ fn print_response(response: ControlResponse, json: bool) -> Result<()> {
ControlResponse::KeychainStatus(status) => {
println!("initialized: {}", status.initialized);
println!("admin_keys: {}", status.admin_keys);
println!("signatures: {}", status.signatures);
println!("users: {}", status.users);
println!("devices: {}", status.devices);
println!("nodes: {}", status.nodes);

View file

@ -592,6 +592,7 @@ pub struct NodeIdResponse {
pub struct KeychainStatusResponse {
pub initialized: bool,
pub admin_keys: usize,
pub signatures: usize,
pub users: usize,
pub devices: usize,
pub nodes: usize,

View file

@ -2914,6 +2914,7 @@ pub fn handle_request(
Ok(ControlResponse::KeychainStatus(KeychainStatusResponse {
initialized: view.initialized,
admin_keys: view.admin_keys.len(),
signatures: store.list_keychain_signatures()?.len(),
users: view.users.len(),
devices: view.devices.len(),
nodes: view.nodes.len(),

View file

@ -709,6 +709,7 @@ fn keychain_init_and_status_use_local_keychain_log() {
geth_control::ControlResponse::KeychainStatus(status) => {
assert!(status.initialized);
assert_eq!(status.admin_keys, 1);
assert_eq!(status.signatures, 0);
assert_eq!(status.users, 0);
}
other => panic!("unexpected response: {other:?}"),
@ -762,6 +763,15 @@ fn keychain_init_can_record_openssh_signatures() {
.list_keychain_signatures()
.expect("list signatures");
assert_eq!(signatures.len(), 2);
let response = geth_node::handle_request(&node, geth_control::ControlRequest::KeychainStatus)
.expect("keychain status");
match response {
geth_control::ControlResponse::KeychainStatus(status) => {
assert_eq!(status.signatures, 2);
}
other => panic!("unexpected response: {other:?}"),
}
}
#[test]