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

difftreelog

feat info subcommand

Yaroslav Bolyukin2021-10-01parent: #5fd92ba.patch.diff
in: trunk

4 files changed

addedcmds/fleet/src/cmds/info.rsdiffbeforeafterboth

no changes

modifiedcmds/fleet/src/cmds/mod.rsdiffbeforeafterboth
1pub mod build_systems;1pub mod build_systems;
2pub mod secrets;2pub mod secrets;
3pub mod info;
34
modifiedcmds/fleet/src/host.rsdiffbeforeafterboth
9};9};
1010
11use anyhow::Result;11use anyhow::Result;
12use serde::de::DeserializeOwned;
12use structopt::clap::ArgGroup;13use structopt::clap::ArgGroup;
13use structopt::StructOpt;14use structopt::StructOpt;
1415
80 .inherit_stdio()81 .inherit_stdio()
81 .run_json()82 .run_json()
82 }83 }
84 pub fn config_attr<T: DeserializeOwned>(&self, host: &str, attr: &str) -> Result<T> {
85 Command::new("nix")
86 .arg("eval")
87 .arg(self.full_attr_name(&format!(
88 "fleetConfigurations.default.configuredSystems.{}.config.{}",
89 host, attr
90 )))
91 .args(&["--json", "--show-trace"])
92 .inherit_stdio()
93 .run_json()
94 }
8395
84 pub fn data(&self) -> Ref<FleetData> {96 pub fn data(&self) -> Ref<FleetData> {
85 self.data.borrow()97 self.data.borrow()
modifiedcmds/fleet/src/main.rsdiffbeforeafterboth
11use structopt::clap::AppSettings::*;11use structopt::clap::AppSettings::*;
12use structopt::StructOpt;12use structopt::StructOpt;
1313
14use cmds::{build_systems::BuildSystems, secrets::Secrets};14use cmds::{build_systems::BuildSystems, info::Info, secrets::Secrets};
15use host::{Config, FleetOpts};15use host::{Config, FleetOpts};
1616
17#[derive(StructOpt)]17#[derive(StructOpt)]
20 BuildSystems(BuildSystems),20 BuildSystems(BuildSystems),
21 /// Secret management21 /// Secret management
22 Secrets(Secrets),22 Secrets(Secrets),
23 /// Config parsing
24 Info(Info),
23}25}
2426
25#[derive(StructOpt)]27#[derive(StructOpt)]
40 match command {42 match command {
41 Opts::BuildSystems(c) => c.run(config)?,43 Opts::BuildSystems(c) => c.run(config)?,
42 Opts::Secrets(s) => s.run(config)?,44 Opts::Secrets(s) => s.run(config)?,
45 Opts::Info(i) => i.run(config)?,
43 };46 };
44 Ok(())47 Ok(())
45}48}