forked from Deuxfleurs/diplonat
Consul URL is now a parameter
This commit is contained in:
parent
154546a7b4
commit
79102ba463
1 changed files with 5 additions and 1 deletions
|
@ -1,10 +1,11 @@
|
|||
use std::env;
|
||||
use anyhow::{Result, Context, anyhow};
|
||||
use anyhow::{Result, Context, Error, anyhow};
|
||||
use log::*;
|
||||
|
||||
pub struct DiplonatConfig {
|
||||
pub private_ip: String,
|
||||
pub consul_node_name: String,
|
||||
pub consul_url: String,
|
||||
pub refresh_time: u32,
|
||||
pub expiration_time: u32
|
||||
}
|
||||
|
@ -14,8 +15,10 @@ pub fn load_env() -> Result<DiplonatConfig> {
|
|||
let ert = "DIPLONAT_REFRESH_TIME";
|
||||
let eet = "DIPLONAT_EXPIRATION_TIME";
|
||||
let ecnd = "DIPLONAT_CONSUL_NODE_NAME";
|
||||
let ecu = "DIPLONAT_CONSUL_URL";
|
||||
|
||||
let config = DiplonatConfig {
|
||||
consul_url: match env::var(ecu) { Ok(e) => e, Err(_) => "http://127.0.0.1:8500".to_string() },
|
||||
private_ip: env::var(epi)
|
||||
.with_context(|| format!("{} env var must be defined, eg: 192.168.0.18", epi))?,
|
||||
refresh_time: env::var(ert)
|
||||
|
@ -34,6 +37,7 @@ pub fn load_env() -> Result<DiplonatConfig> {
|
|||
return Err(anyhow!("Expiration time (currently: {}s) must be twice bigger than refresh time (currently: {}s)", config.expiration_time, config.refresh_time))
|
||||
}
|
||||
|
||||
info!("Consul URL: {}", config.consul_url);
|
||||
info!("Consul node name: {}", config.consul_node_name);
|
||||
info!("Private IP address: {}", config.private_ip);
|
||||
info!("Refresh time: {} seconds", config.refresh_time);
|
||||
|
|
Loading…
Reference in a new issue