urma-node 0.7.0

Optional URMA archive node: Litecoin follower, record archive, libp2p overlay and loopback service
Documentation
use std::path::PathBuf;

#[derive(Clone, Copy, Debug, PartialEq, Eq, clap::ValueEnum)]
pub enum InitChoice {
    Auto,
    Systemd,
    Openrc,
    Runit,
    Windows,
}

#[derive(Clone, Debug, clap::Subcommand)]
pub enum Action {
    #[command(about = "Register, configure and start the system service")]
    Install {
        #[arg(long, value_enum, default_value = "auto")]
        init: InitChoice,
    },
    #[command(about = "Rewrite the service registration and restart it")]
    Update,
    #[command(about = "Stop and remove the service registration")]
    Uninstall {
        #[arg(long, help = "Also remove data, configuration and the service account")]
        purge: bool,
    },
    #[command(about = "Print init kind, registration and run state as JSON")]
    Status,
}

#[derive(Clone, Debug, Default)]
pub struct Host {
    pub sudo_user: String,
    pub sudo_uid: String,
    pub pkexec_uid: String,
    pub binary: PathBuf,
}