commonware_deployer/lib.rs
1//! Deploy infrastructure across cloud providers.
2//!
3//! `commonware-deployer` automates the deployment of infrastructure across different cloud providers, closing the gap
4//! between a local demo and remote deployment. `commonware-deployer` is both available as a CLI tool for standard
5//! operation and as a library for custom workflows.
6//!
7//! # CLI Installation
8//!
9//! ## Local
10//!
11//! ```bash
12//! cargo install --path . --force
13//! ```
14//!
15//! ## Crates.io
16//!
17//! ```bash
18//! cargo install commonware-deployer
19//! ```
20//!
21//! # CLI Commands
22//!
23//! _While the crate is named `commonware-deployer`, the CLI is named `deployer`._
24//!
25//! ## `ec2`
26//!
27//! Deploy a custom binary (and configuration) to any number of EC2 instances across multiple regions. Collect
28//! metrics and logs from all instances via a private network.
29//!
30//! ### `create`
31//!
32//! Deploy EC2 instances across multiple regions from a YAML configuration file.
33//!
34//! ### `update`
35//!
36//! Update binaries (and configurations) in-place on all instances.
37//!
38//! ### `refresh`
39//!
40//! Add the deployer's current IP to all security groups (if not already present).
41//!
42//! ### `destroy`
43//!
44//! Destroy all resources associated with a given deployment.
45
46pub mod ec2;