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 std::env;
|
||||||
use anyhow::{Result, Context, anyhow};
|
use anyhow::{Result, Context, Error, anyhow};
|
||||||
use log::*;
|
use log::*;
|
||||||
|
|
||||||
pub struct DiplonatConfig {
|
pub struct DiplonatConfig {
|
||||||
pub private_ip: String,
|
pub private_ip: String,
|
||||||
pub consul_node_name: String,
|
pub consul_node_name: String,
|
||||||
|
pub consul_url: String,
|
||||||
pub refresh_time: u32,
|
pub refresh_time: u32,
|
||||||
pub expiration_time: u32
|
pub expiration_time: u32
|
||||||
}
|
}
|
||||||
|
@ -14,8 +15,10 @@ pub fn load_env() -> Result<DiplonatConfig> {
|
||||||
let ert = "DIPLONAT_REFRESH_TIME";
|
let ert = "DIPLONAT_REFRESH_TIME";
|
||||||
let eet = "DIPLONAT_EXPIRATION_TIME";
|
let eet = "DIPLONAT_EXPIRATION_TIME";
|
||||||
let ecnd = "DIPLONAT_CONSUL_NODE_NAME";
|
let ecnd = "DIPLONAT_CONSUL_NODE_NAME";
|
||||||
|
let ecu = "DIPLONAT_CONSUL_URL";
|
||||||
|
|
||||||
let config = DiplonatConfig {
|
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)
|
private_ip: env::var(epi)
|
||||||
.with_context(|| format!("{} env var must be defined, eg: 192.168.0.18", epi))?,
|
.with_context(|| format!("{} env var must be defined, eg: 192.168.0.18", epi))?,
|
||||||
refresh_time: env::var(ert)
|
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))
|
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!("Consul node name: {}", config.consul_node_name);
|
||||||
info!("Private IP address: {}", config.private_ip);
|
info!("Private IP address: {}", config.private_ip);
|
||||||
info!("Refresh time: {} seconds", config.refresh_time);
|
info!("Refresh time: {} seconds", config.refresh_time);
|
||||||
|
|
Loading…
Reference in a new issue