Skip to main content

rusmes_cli/
lib.rs

1//! # rusmes-cli
2//!
3//! Administrative command-line interface for the **RusMES** Rust Mail Enterprise Server.
4//!
5//! This crate provides the `rusmes` binary, a comprehensive management tool for
6//! interacting with a running RusMES instance over its REST API, as well as
7//! performing offline operations (backup, restore, migration, config validation).
8//!
9//! ## Features
10//!
11//! - **User management** — add, list, delete, change passwords, adjust quotas, enable/disable accounts
12//! - **Mailbox management** — create, delete, rename, repair, subscribe/unsubscribe mailboxes
13//! - **Queue management** — list, inspect, flush, retry, purge queued messages
14//! - **Backup** — full and incremental backups with optional AES-256-GCM encryption,
15//!   gzip/zstd compression, and S3-compatible upload
16//! - **Restore** — full, user-scoped, and point-in-time restore with optional decryption
17//! - **Migration** — online migration between storage backends (filesystem ↔ PostgreSQL)
18//! - **Config validation** — parse and validate `rusmes.toml` configuration files
19//! - **Server status** — inspect process health and listening ports
20//! - **Shell completions** — generate completions for bash, zsh, fish, etc.
21//!
22//! ## Usage
23//!
24//! ```text
25//! rusmes --help
26//! rusmes user add alice@example.com --password s3cr3t
27//! rusmes backup full --output /var/backups/rusmes.tar.zst --compression zstd
28//! rusmes restore restore --backup /var/backups/rusmes.tar.zst
29//! rusmes migrate --from filesystem --to postgres
30//! rusmes check-config --config /etc/rusmes/rusmes.toml
31//! ```
32
33pub mod client;
34pub mod commands;