feat: add PBS datastore management and harden macOS keychain storage

Add Proxmox Backup Server datastore management: overview, datastore detail, download/prune/verify/GC dialogs, usePbs hook, backend commands, and tests.

Fix macOS keychain re-writes failing with 'item already exists': replace keyring 3 with keyring-core plus per-platform stores (macOS Keychain, Windows Credential Manager, Linux keyutils), recover by deleting the stale item and retrying once, and surface actionable messages for locked keychains.
This commit is contained in:
Matt
2026-08-13 01:02:33 +00:00
parent 5960102489
commit 039ac6f9d3
43 changed files with 4934 additions and 430 deletions
+3
View File
@@ -10,6 +10,7 @@ use httpmock::prelude::*;
use httpmock::Mock;
use clustri::{
api_request, AuthContext, AuthMode, ConnectionConfig, ConnectionManager, EndpointConfig, Error,
ServerType,
};
use reqwest::Client;
use reqwest::Method as RMethod;
@@ -32,6 +33,7 @@ fn token_auth() -> AuthContext {
token: Some(TOKEN.to_string()),
ticket: None,
csrf_token: None,
server_type: ServerType::Pve,
}
}
@@ -70,6 +72,7 @@ async fn setup_manager_with_fallbacks(
username: None,
nodes: vec![],
cluster_id: None,
server_type: "pve".to_string(),
};
manager
.add_connection(config, &path)