2019-10-31 22:00:36 +08:00
|
|
|
use structopt::StructOpt;
|
|
|
|
|
2020-02-06 22:42:35 +08:00
|
|
|
const POSSIBLE_ENV: [&str; 2] = ["development", "production"];
|
|
|
|
|
2019-11-20 00:09:06 +08:00
|
|
|
#[derive(Debug, Clone, StructOpt)]
|
|
|
|
pub struct Opt {
|
2019-10-31 22:00:36 +08:00
|
|
|
/// The destination where the database must be created.
|
2019-11-29 22:22:45 +08:00
|
|
|
#[structopt(long, env = "MEILI_DB_PATH", default_value = "./data.ms")]
|
2019-11-20 00:09:06 +08:00
|
|
|
pub db_path: String,
|
2019-10-31 22:00:36 +08:00
|
|
|
|
2019-11-20 00:09:06 +08:00
|
|
|
/// The address on which the http server will listen.
|
2019-11-29 22:23:26 +08:00
|
|
|
#[structopt(long, env = "MEILI_HTTP_ADDR", default_value = "127.0.0.1:7700")]
|
2019-10-31 22:00:36 +08:00
|
|
|
pub http_addr: String,
|
|
|
|
|
2019-11-20 00:09:06 +08:00
|
|
|
/// The master key allowing you to do everything on the server.
|
2020-02-06 22:41:11 +08:00
|
|
|
#[structopt(long, env = "MEILI_MASTER_KEY")]
|
|
|
|
pub master_key: Option<String>,
|
2019-11-22 02:15:33 +08:00
|
|
|
|
2020-02-06 22:42:35 +08:00
|
|
|
/// This environment variable must be set to `production` if your are running in production.
|
|
|
|
/// Could be `production` or `development`
|
|
|
|
/// - `production`: Force api keys
|
|
|
|
/// - `development`: Show logs in "info" mode + not mendatory to specify the api keys
|
|
|
|
#[structopt(long, env = "MEILI_ENV", default_value = "development", possible_values = &POSSIBLE_ENV)]
|
|
|
|
pub env: String,
|
|
|
|
|
2019-11-22 02:15:33 +08:00
|
|
|
/// Do not send analytics to Meili.
|
|
|
|
#[structopt(long, env = "MEILI_NO_ANALYTICS")]
|
|
|
|
pub no_analytics: bool,
|
2019-10-31 22:00:36 +08:00
|
|
|
}
|