mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-27 02:41:53 +00:00
* wip: enabling support for wireguard and firewall * wip * wip * wip * wip * wip * implement some things * fix warning * wip * alpha.23 * misc fixes * remove ufw since no longer required * remove debug info * add cli bindings * debugging * fixes * individualized acme and privacy settings for domains and bindings * sdk version bump * migration * misc fixes * refactor Host::update * debug info * refactor webserver * misc fixes * misc fixes * refactor port forwarding * recheck interfaces every 5 min if no dbus event * misc fixes and cleanup * misc fixes
39 lines
1.1 KiB
Rust
39 lines
1.1 KiB
Rust
use std::ffi::OsString;
|
|
|
|
use rpc_toolkit::CliApp;
|
|
use serde_json::Value;
|
|
|
|
use crate::service::cli::{ContainerCliContext, ContainerClientConfig};
|
|
use crate::util::logger::LOGGER;
|
|
use crate::version::{Current, VersionT};
|
|
|
|
lazy_static::lazy_static! {
|
|
static ref VERSION_STRING: String = Current::default().semver().to_string();
|
|
}
|
|
|
|
pub fn main(args: impl IntoIterator<Item = OsString>) {
|
|
LOGGER.enable();
|
|
if let Err(e) = CliApp::new(
|
|
|cfg: ContainerClientConfig| Ok(ContainerCliContext::init(cfg)),
|
|
crate::service::effects::handler(),
|
|
)
|
|
.run(args)
|
|
{
|
|
match e.data {
|
|
Some(Value::String(s)) => eprintln!("{}: {}", e.message, s),
|
|
Some(Value::Object(o)) => {
|
|
if let Some(Value::String(s)) = o.get("details") {
|
|
eprintln!("{}: {}", e.message, s);
|
|
if let Some(Value::String(s)) = o.get("debug") {
|
|
tracing::debug!("{}", s)
|
|
}
|
|
}
|
|
}
|
|
Some(a) => eprintln!("{}: {}", e.message, a),
|
|
None => eprintln!("{}", e.message),
|
|
}
|
|
|
|
std::process::exit(e.code);
|
|
}
|
|
}
|