git.delta.rocks / jrsonnet / refs/commits / fad91f8a3923

difftreelog

source

src/main.rs835 Bsourcehistory
1#![feature(once_cell)]23pub mod command;4pub mod host;5pub mod keys;67pub mod cmds;8pub mod db;9pub mod nix;1011use anyhow::Result;12use clap::Clap;13use cmds::{build_systems::BuildSystems, fetch_keys::FetchKeys, generate_secrets::GenerateSecrets};1415#[derive(Clap)]16#[clap(version = "1.0", author = "CertainLach <iam@lach.pw>")]17enum Opts {18	/// Fetch encryption (ssh) public keys from remote hosts19	FetchKeys(FetchKeys),20	/// Force generation of missing secrets21	GenerateSecrets(GenerateSecrets),22	/// Prepare systems for deployments23	BuildSystems(BuildSystems),24}2526fn main() -> Result<()> {27	env_logger::Builder::new()28		.filter_level(log::LevelFilter::Info)29		.init();30	let opts = Opts::parse();3132	match opts {33		Opts::FetchKeys(c) => c.run()?,34		Opts::BuildSystems(c) => c.run()?,35		Opts::GenerateSecrets(c) => c.run()?,36	};37	Ok(())38}