From bff92738d52169a66d078ed79422512ae33ac6f4 Mon Sep 17 00:00:00 2001 From: KernelErr <45716019+KernelErr@users.noreply.github.com> Date: Mon, 1 Nov 2021 16:06:47 +0800 Subject: [PATCH] Allow config path from FOURTH_CONFIG --- README-EN.md | 2 +- README.md | 2 +- src/main.rs | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/README-EN.md b/README-EN.md index 9a0aa6f..338de75 100644 --- a/README-EN.md +++ b/README-EN.md @@ -35,7 +35,7 @@ Or you can download binary file form the Release page. ## Configuration -Fourth will read yaml format configuration file from `/etc/fourth/config.yaml`, here is an minimal viable example: +Fourth will read yaml format configuration file from `/etc/fourth/config.yaml`, and you can set custom path to environment variable `FOURTH_CONFIG`, here is an minimal viable example: ```yaml version: 1 diff --git a/README.md b/README.md index 1f4ba9f..1fbc301 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ $ cargo install fourth ## 配置 -Fourth使用yaml格式的配置文件,默认情况下会读取`/etc/fourth/config.yaml`,如下是一个最小有效配置: +Fourth使用yaml格式的配置文件,默认情况下会读取`/etc/fourth/config.yaml`,您也可以设置自定义路径到环境变量`FOURTH_CONFIG`,如下是一个最小有效配置: ```yaml version: 1 diff --git a/src/main.rs b/src/main.rs index 4a9532f..05c0f4f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,10 +5,13 @@ mod servers; use crate::config::Config; use crate::servers::Server; +use std::env; use log::{debug, error}; fn main() { - let config = match Config::new("/etc/fourth/config.yaml") { + let config_path = env::var("FOURTH_CONFIG").unwrap_or_else(|_| "/etc/fourth/config.yaml".to_string()); + + let config = match Config::new(&config_path) { Ok(config) => config, Err(e) => { println!("Could not load config: {:?}", e);