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:
@@ -25,7 +25,7 @@ use std::time::Duration;
|
||||
|
||||
use clustri::{
|
||||
api_request, derive_node_url, AuthContext, AuthMode, ConnectionConfig, ConnectionManager,
|
||||
EndpointConfig,
|
||||
EndpointConfig, ServerType,
|
||||
};
|
||||
use reqwest::Method;
|
||||
|
||||
@@ -136,6 +136,7 @@ async fn manager_with_session(
|
||||
username: Some(user.to_string()),
|
||||
nodes: vec![],
|
||||
cluster_id: None,
|
||||
server_type: "pve".to_string(),
|
||||
};
|
||||
manager
|
||||
.add_connection(config, &path)
|
||||
@@ -155,6 +156,7 @@ fn ticket_auth(ticket: &str) -> AuthContext {
|
||||
token: None,
|
||||
ticket: Some(ticket.to_string()),
|
||||
csrf_token: None,
|
||||
server_type: ServerType::Pve,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -909,6 +911,7 @@ async fn live_failover_to_fallback() {
|
||||
username: Some(user.to_string()),
|
||||
nodes: vec![],
|
||||
cluster_id: None,
|
||||
server_type: "pve".to_string(),
|
||||
};
|
||||
manager
|
||||
.add_connection(config, &path)
|
||||
@@ -993,6 +996,7 @@ async fn live_cluster_identity_consistent_across_nodes() {
|
||||
username: Some(user.to_string()),
|
||||
nodes: vec![],
|
||||
cluster_id: None,
|
||||
server_type: "pve".to_string(),
|
||||
};
|
||||
manager
|
||||
.add_connection(config, &path)
|
||||
|
||||
Reference in New Issue
Block a user