1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//! Advanced backup policy DSL for oxirs-cluster.
//!
//! This module provides a complete backup management system:
//!
//! - [`policy::BackupPolicy`] — schedule + retention + GFS + encryption + destination
//! - [`retention::RetentionTier`] — hot/warm/cold retention windows
//! - [`gfs::GfsRotation`] — Grandfather-Father-Son rotation
//! - [`executor::BackupExecutor`] — write artefacts + audit log
//! - [`destination::DestinationConfig`] — local FS (default) or S3 (feature-gated)
//!
//! # Quick start
//!
//! ```rust
//! use std::env;
//! use oxirs_cluster::backup::{
//! BackupPolicy, RetentionTier, GfsRotation, BackupExecutor,
//! destination::DestinationConfig,
//! policy::{CronSchedule, EncryptionConfig},
//! };
//!
//! let dir = env::temp_dir().join("my_backups");
//! let policy = BackupPolicy {
//! name: "daily".into(),
//! schedule: CronSchedule::daily(),
//! retention: RetentionTier::standard(),
//! gfs: Some(GfsRotation::default()),
//! encryption: EncryptionConfig::none(),
//! destination: DestinationConfig::Filesystem { path: dir.clone() },
//! };
//!
//! let executor = BackupExecutor::new();
//! let size = executor.execute_backup(&policy, b"my data", &dir).unwrap();
//! assert_eq!(size, 7);
//! # let _ = std::fs::remove_dir_all(&dir);
//! ```
pub use ;
pub use ;
pub use BackupPolicy;
pub use RetentionTier;