Added some fixes for the Linux installer/service - now shipping a log4rs config; creates /var/log for log files; fixed name of service file
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful

This commit is contained in:
Gregory Ballantine 2022-10-26 09:58:46 -04:00
parent b97a4b1c0f
commit 75d71e9695
5 changed files with 33 additions and 4 deletions

View File

@ -25,6 +25,7 @@ section = "video"
assets = [ assets = [
["target/release/zealot", "usr/bin/zealot", "755"], ["target/release/zealot", "usr/bin/zealot", "755"],
["build/etc/example.toml", "etc/zealot/example.toml", "644"], ["build/etc/example.toml", "etc/zealot/example.toml", "644"],
["build/etc/log4rs.yaml", "etc/zealot/log4rs.yaml", "755"],
["README.md", "usr/share/doc/zealot/README", "644"] ["README.md", "usr/share/doc/zealot/README", "644"]
] ]
[package.metadata.deb.systemd-units] [package.metadata.deb.systemd-units]

View File

@ -4,7 +4,7 @@ Description=Zealot video transcoder service
[Service] [Service]
User=zealot User=zealot
Group=zealot Group=zealot
ExecStart=/usr/bin/zealot ExecStart=/usr/bin/zealot -l /etc/zealot/log4rs.yaml
SuccessExitStatus=143 SuccessExitStatus=143
[Install] [Install]

12
build/etc/log4rs.yaml Normal file
View File

@ -0,0 +1,12 @@
appenders:
stdout:
kind: console
encoder:
pattern: "{d(%+)(utc)} {h({l})}: {m}{n}"
filters:
- kind: threshold
level: info
root:
level: info
appenders:
- stdout

View File

@ -5,6 +5,7 @@ GETENT_GROUP=$(getent group zealot)
# Create the zealot user if it doesn't already exist # Create the zealot user if it doesn't already exist
if [ "$GETENT_USER" = "" ]; then if [ "$GETENT_USER" = "" ]; then
echo "Creating the 'zealot' user."
useradd -r zealot useradd -r zealot
else else
echo "The 'zealot' user already exists, skipping creation." echo "The 'zealot' user already exists, skipping creation."
@ -12,6 +13,7 @@ fi
# Create the zealot group if it doesn't already exist # Create the zealot group if it doesn't already exist
if [ "$GETENT_GROUP" = "" ]; then if [ "$GETENT_GROUP" = "" ]; then
echo "Creating the 'zealot' group."
groupadd zealot groupadd zealot
usermod -aG zealot zealot usermod -aG zealot zealot
else else
@ -21,6 +23,15 @@ fi
# Change the directory ownership of /etc # Change the directory ownership of /etc
chown -R zealot:zealot /etc/zealot chown -R zealot:zealot /etc/zealot
# Create the log directory under /var/log
if [ ! -d /var/log/zealot ]; then
echo "Creating /var/log/zealot to store log files."
mkdir /var/log/zealot
chown zealot:zealot /var/log/zealot
else
echo "/var/log/zealot already exists, skipping creation."
fi
#DEBHELPER# #DEBHELPER#
exit 0 exit 0

View File

@ -12,6 +12,10 @@ mod util;
#[derive(Parser)] #[derive(Parser)]
#[clap(author, version, about, long_about = None)] #[clap(author, version, about, long_about = None)]
struct Cli { struct Cli {
/// Number of times to greet
#[clap(short = 'l', long, default_value_t = String::from("./log4rs.yaml"))]
log_config: String,
#[clap(subcommand)] #[clap(subcommand)]
command: Option<Commands>, command: Option<Commands>,
} }
@ -23,12 +27,13 @@ enum Commands {
} }
fn main() { fn main() {
// initialize the log4rs logger
log4rs::init_file("./log4rs.yaml", Default::default()).unwrap();
// initialize the clap CLI // initialize the clap CLI
let cli = Cli::parse(); let cli = Cli::parse();
// grab the log4rs config file path, then initialize log4rs
let log4rs_config: String = cli.log_config;
log4rs::init_file(&log4rs_config, Default::default()).unwrap();
match &cli.command { match &cli.command {
// sub-commands will be handled here // sub-commands will be handled here
Some(Commands::Setup {}) => cmd::core::setup_command(), Some(Commands::Setup {}) => cmd::core::setup_command(),