Module client

Module client 

Source
Expand description

OpenADP Rust Client Implementation

This module provides Rust client implementations for OpenADP servers, matching the Go and Python client functionality exactly:

  • OpenADPClient: Basic JSON-RPC client (no encryption)
  • EncryptedOpenADPClient: JSON-RPC client with Noise-NK encryption
  • MultiServerClient: High-level client managing multiple servers

All clients implement standardized interfaces for cross-language compatibility.

Structs§

BackupInfo
Information about a backup
EncryptedOpenADPClient
Encrypted OpenADP client with Noise-NK encryption
JsonRpcError
JSON-RPC 2.0 error structure
JsonRpcRequest
JSON-RPC 2.0 request structure
JsonRpcResponse
JSON-RPC 2.0 response structure
ListBackupsRequest
Standardized request for ListBackups operation
ListBackupsResponse
Standardized response for ListBackups operation
MultiServerClient
Multi-server client managing multiple servers
NoiseNK
Noise-NK protocol implementation using Snow
OpenADPClient
Basic OpenADP client with JSON-RPC communication (no encryption)
RecoverSecretRequest
Standardized request for RecoverSecret operation
RecoverSecretResponse
Standardized response for RecoverSecret operation
RegisterSecretRequest
Standardized request for RegisterSecret operation
RegisterSecretResponse
Standardized response for RegisterSecret operation
ServerInfo
Server information from registry or configuration
ServerInfoResponse
Standardized response for GetServerInfo operation
ServersResponse
Server discovery functions JSON response from server registry

Enums§

ErrorCode
ServerSelectionStrategy

Functions§

discover_servers
Discover servers with fallback
generate_keypair
Generate X25519 keypair for Noise-NK
get_fallback_server_info
Get fallback server info (matching Go implementation)
get_fallback_servers
Get fallback server URLs (matching Go implementation)
get_server_urls
Get server URLs from registry
get_servers
Get servers from registry
parse_server_public_key
Parse server public key from base64