sentinel_proxy/bundle/mod.rs
1//! Bundle command module
2//!
3//! Provides functionality to fetch and install bundled agents from their
4//! respective GitHub releases based on a version lock file.
5//!
6//! # Overview
7//!
8//! The bundle command allows users to install a curated set of Sentinel agents
9//! that are tested to work together. Versions are coordinated via a lock file
10//! that pins compatible versions.
11//!
12//! # Usage
13//!
14//! ```bash
15//! sentinel bundle install # Download and install all bundled agents
16//! sentinel bundle install --dry-run # Preview what would be installed
17//! sentinel bundle status # Show installed vs expected versions
18//! sentinel bundle list # List available agents in the bundle
19//! sentinel bundle uninstall # Remove installed agents
20//! ```
21//!
22//! # Lock File
23//!
24//! The `bundle-versions.lock` file defines which agent versions are included:
25//!
26//! ```toml
27//! [bundle]
28//! version = "26.01_1"
29//!
30//! [agents]
31//! waf = "0.2.0"
32//! ratelimit = "0.2.0"
33//! denylist = "0.2.0"
34//!
35//! [repositories]
36//! waf = "raskell-io/sentinel-agent-waf"
37//! ratelimit = "raskell-io/sentinel-agent-ratelimit"
38//! denylist = "raskell-io/sentinel-agent-denylist"
39//! ```
40
41mod commands;
42mod fetch;
43mod install;
44mod lock;
45mod status;
46
47pub use commands::{run_bundle_command, BundleArgs, BundleCommand};
48pub use lock::BundleLock;