forked from vieter-v/vieter
feat: simplified config down to pkg_dir & data_dir
BREAKING: downloads are now stored inside the root of pkg_dir, the log file is always stored in the root of data_dir
This commit is contained in:
parent
7419144f97
commit
c818273790
8 changed files with 31 additions and 28 deletions
|
|
@ -6,12 +6,9 @@ import env
|
|||
struct Config {
|
||||
pub:
|
||||
log_level string = 'WARN'
|
||||
log_file string = 'vieter.log'
|
||||
pkg_dir string
|
||||
download_dir string
|
||||
data_dir string
|
||||
api_key string
|
||||
repos_dir string
|
||||
repos_file string
|
||||
default_arch string
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ fn (mut app App) put_package(repo string) web.Result {
|
|||
|
||||
if length := app.req.header.get(.content_length) {
|
||||
// Generate a random filename for the temp file
|
||||
pkg_path = os.join_path_single(app.conf.download_dir, rand.uuid_v4())
|
||||
pkg_path = os.join_path_single(app.repo.pkg_dir, rand.uuid_v4())
|
||||
|
||||
app.ldebug("Uploading $length bytes (${util.pretty_bytes(length.int())}) to '$pkg_path'.")
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,12 @@ import repo
|
|||
import util
|
||||
import db
|
||||
|
||||
const port = 8000
|
||||
const (
|
||||
port = 8000
|
||||
log_file_name = 'vieter.log'
|
||||
repo_dir_name = 'repos'
|
||||
db_file_name = 'vieter.sqlite'
|
||||
)
|
||||
|
||||
struct App {
|
||||
web.Context
|
||||
|
|
@ -32,11 +37,14 @@ pub fn server(conf Config) ? {
|
|||
util.exit_with_message(1, 'Invalid log level. The allowed values are FATAL, ERROR, WARN, INFO & DEBUG.')
|
||||
}
|
||||
|
||||
os.mkdir_all(conf.data_dir) or { util.exit_with_message(1, 'Failed to create data directory.') }
|
||||
|
||||
mut logger := log.Log{
|
||||
level: log_level
|
||||
}
|
||||
|
||||
logger.set_full_logpath(conf.log_file)
|
||||
log_file := os.join_path_single(conf.data_dir, server.log_file_name)
|
||||
logger.set_full_logpath(log_file)
|
||||
logger.log_to_console_too()
|
||||
|
||||
defer {
|
||||
|
|
@ -45,17 +53,15 @@ pub fn server(conf Config) ? {
|
|||
logger.close()
|
||||
}
|
||||
|
||||
repo_dir := os.join_path_single(conf.data_dir, server.repo_dir_name)
|
||||
// This also creates the directories if needed
|
||||
repo := repo.new(conf.repos_dir, conf.pkg_dir, conf.default_arch) or {
|
||||
repo := repo.new(repo_dir, conf.pkg_dir, conf.default_arch) or {
|
||||
logger.error(err.msg())
|
||||
exit(1)
|
||||
}
|
||||
|
||||
os.mkdir_all(conf.download_dir) or {
|
||||
util.exit_with_message(1, 'Failed to create download directory.')
|
||||
}
|
||||
|
||||
db := db.init('test.db') or { util.exit_with_message(1, 'Failed to initialize database.') }
|
||||
db_file := os.join_path_single(conf.data_dir, server.db_file_name)
|
||||
db := db.init(db_file) or { util.exit_with_message(1, 'Failed to initialize database.') }
|
||||
|
||||
web.run(&App{
|
||||
logger: logger
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue