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 -1
View File
@@ -5,7 +5,7 @@
//! error mapping, query parameters, and URL construction.
use httpmock::prelude::*;
use clustri::{api_request, AuthContext, AuthMode, Error};
use clustri::{api_request, AuthContext, AuthMode, Error, ServerType};
use reqwest::Client;
use reqwest::Method as RMethod;
@@ -18,6 +18,7 @@ fn token_auth() -> AuthContext {
token: Some("root@pam!test-token".to_string()),
ticket: None,
csrf_token: None,
server_type: ServerType::Pve,
}
}
@@ -27,6 +28,7 @@ fn password_auth() -> AuthContext {
token: None,
ticket: Some(TICKET.to_string()),
csrf_token: Some(CSRF_TOKEN.to_string()),
server_type: ServerType::Pve,
}
}