char/sorcery
static-files based git repo viewer
git clone https://git.t4t.associates/char/sorcery
8f07a0e
main
1use std:: path:: PathBuf ; 2use std:: time:: Duration ; 3 4use anyhow:: Result ; 5use clap:: Parser ; 6use sorcery:: daemon::{ self , Config }; 7 8# [ derive ( Parser )] 9struct Args { 10# [ arg ( long , env = "SORCERY_REPOSITORIES" , value_name = "DIR" )] 11repositories : PathBuf , 12# [ arg ( long , env = "SORCERY_CACHE" , value_name = "DIR" )] 13cache : PathBuf , 14# [ arg ( long , env = "SORCERY_SOCKET" , value_name = "PATH" )] 15socket : PathBuf , 16# [ arg ( long , env = "SORCERY_INSTANCE_NAME" , value_name = "NAME" )] 17instance_name : String , 18# [ arg ( 19long , 20env = "SORCERY_INTERNAL_PREFIX" , 21default_value = "/_sorcery" , 22value_name = "PATH" 23)] 24internal_prefix : String , 25# [ arg ( 26long , 27env = "SORCERY_GIT_INTERNAL_PREFIX" , 28default_value = "/_sorcery-git" , 29value_name = "PATH" 30)] 31git_internal_prefix : String , 32# [ arg ( 33long , 34env = "SORCERY_CHECK_INTERVAL" , 35default_value_t = 2 , 36value_name = "SECONDS" 37)] 38check_interval : u64 , 39# [ arg ( 40long , 41env = "SORCERY_MAX_GIT_PROCESSES" , 42default_value_t = 8 , 43value_name = "COUNT" 44)] 45max_git_processes : usize , 46# [ arg ( long , env = "SORCERY_REFRESH_TOKEN_FILE" , value_name = "PATH" )] 47refresh_token_file : Option < PathBuf >, 48# [ arg ( long , env = "SORCERY_CLONE_URL_BASE" , value_name = "URL" )] 49clone_url_base : Option < String >, 50} 51 52# [ tokio :: main ] 53async fn main () ->Result <()> { 54let args =Args :: parse (); 55 daemon:: run ( Config { 56repositories : args. repositories , 57cache : args. cache , 58socket : args. socket , 59instance_name : args. instance_name , 60internal_prefix : args. internal_prefix , 61git_internal_prefix : args. git_internal_prefix , 62check_interval : Duration :: from_secs ( args. check_interval ), 63max_git_processes : args. max_git_processes , 64refresh_token_file : args. refresh_token_file , 65clone_url_base : args. clone_url_base , 66}) 67. await 68}