Some checks failed
CI Pipeline / Clippy Lints (push) Failing after 0s
CI Pipeline / Rust Unit Tests (push) Failing after 0s
CI Pipeline / Rust Format Check (push) Successful in 4s
CI Pipeline / Frontend Lint & Type Check (push) Failing after 0s
CI Pipeline / Security Audit (push) Failing after 3s
CI Pipeline / Build .deb & Release (push) Has been skipped
- Fixed rustfmt.toml to only use stable options (removed nightly-only) - Applied cargo fmt --all to fix formatting violations - Stable options: edition=2021, max_width=100, reorder_imports/modules, match_block_trailing_comma
44 lines
1.4 KiB
Rust
44 lines
1.4 KiB
Rust
//! `pm-agent-client` — mTLS HTTP client for Linux Patch API agent communication.
|
|
//!
|
|
//! This crate provides [`client::AgentClient`], an async HTTP client that
|
|
//! establishes mutual-TLS connections (TLS 1.3) to `linux_patch_api` agents
|
|
//! running on managed hosts.
|
|
//!
|
|
//! # Quick start
|
|
//!
|
|
//! ```no_run
|
|
//! use pm_agent_client::AgentClient;
|
|
//!
|
|
//! # async fn run() -> Result<(), pm_agent_client::AgentClientError> {
|
|
//! let client = AgentClient::new(
|
|
//! "10.0.1.5",
|
|
//! 12443,
|
|
//! include_bytes!("../certs/client.crt"),
|
|
//! include_bytes!("../certs/client.key"),
|
|
//! include_bytes!("../certs/ca.crt"),
|
|
//! )?;
|
|
//!
|
|
//! let health = client.health().await?;
|
|
//! println!("Agent {}: {}", health.status, health.version);
|
|
//! # Ok(())
|
|
//! # }
|
|
//! ```
|
|
|
|
pub mod client;
|
|
pub mod error;
|
|
pub mod types;
|
|
|
|
// ── Convenience re-exports ──────────────────────────────────────────────────
|
|
|
|
/// Primary client — re-exported from [`client::AgentClient`].
|
|
pub use client::{AgentClient, DEFAULT_AGENT_PORT};
|
|
|
|
/// Error type — re-exported from [`error::AgentClientError`].
|
|
pub use error::AgentClientError;
|
|
|
|
/// Response envelope and all data types.
|
|
pub use types::{
|
|
AgentEnvelope, AgentErrorBody, HealthData, Package, PackagesData, Patch, PatchesData,
|
|
SystemInfoData,
|
|
};
|