mod args; mod did; fn main() -> Result<(), ()> { // load configuration let config = match args::load_config() { Ok(res) => res, Err(_) => { // q return Err(()); } }; println!("{:#?}", config); // resolve handle to did let did_doc = match did::get_did(config.handle) { Ok(res) => res, Err(_) => { // q return Err(()); } }; println!("{:#?}", did_doc); // resolve did+repoName to knotserver // connect to /events on knotserver // on event: // parse json // validate meets expected schema (allow unknown vals) // filter by did and reponame // exec shell command in user shell (/bin/sh as fallback) return Ok(()); }