vieter/src/cron/cli.v

33 lines
860 B
Coq
Raw Normal View History

2022-04-09 09:46:07 +02:00
module cron
import cli
2022-06-22 09:18:47 +02:00
import vieter_v.conf as vconf
2022-04-09 09:46:07 +02:00
struct Config {
pub:
log_level string = 'WARN'
api_key string
address string
data_dir string
base_image string = 'archlinux:base-devel'
max_concurrent_builds int = 1
api_update_frequency int = 15
image_rebuild_frequency int = 1440
// Replicates the behavior of the original cron system
global_schedule string = '0 3'
2022-04-09 09:46:07 +02:00
}
// cmd returns the cli module that handles the cron daemon.
2022-04-09 09:46:07 +02:00
pub fn cmd() cli.Command {
return cli.Command{
name: 'cron'
description: 'Start the cron service that periodically runs builds.'
execute: fn (cmd cli.Command) ? {
2022-05-14 20:06:08 +02:00
config_file := cmd.flags.get_string('config-file')?
conf := vconf.load<Config>(prefix: 'VIETER_', default_path: config_file)?
2022-04-09 09:46:07 +02:00
2022-05-14 20:06:08 +02:00
cron(conf)?
2022-04-09 09:46:07 +02:00
}
}
}