aboutsummaryrefslogtreecommitdiff
path: root/src/config.rs
diff options
context:
space:
mode:
authorQuentin Dufour <quentin@deuxfleurs.fr>2020-05-21 22:25:33 +0200
committerQuentin Dufour <quentin@deuxfleurs.fr>2020-05-21 22:25:33 +0200
commit8c43611eb5bbaeb42f19da8d8ed521df208bfada (patch)
treec207e950744f451424e139e97aaf852c2d8ff949 /src/config.rs
parent4da459ce8ba49f98084a8ce32f600470ff883ec5 (diff)
downloaddiplonat-8c43611eb5bbaeb42f19da8d8ed521df208bfada.tar.gz
diplonat-8c43611eb5bbaeb42f19da8d8ed521df208bfada.zip
Broken Diplonat
Diffstat (limited to 'src/config.rs')
-rw-r--r--src/config.rs48
1 files changed, 0 insertions, 48 deletions
diff --git a/src/config.rs b/src/config.rs
deleted file mode 100644
index c335e8d..0000000
--- a/src/config.rs
+++ /dev/null
@@ -1,48 +0,0 @@
-use std::env;
-use anyhow::{Result, Context, 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
-}
-
-pub fn load_env() -> Result<DiplonatConfig> {
- let epi = "DIPLONAT_PRIVATE_IP";
- 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)
- .with_context(|| format!("{} env var must be defined, eg: 60", ert))?
- .parse()
- .with_context(|| format!("{} env var must be an integer, eg: 60", ert))?,
- expiration_time: env::var(eet)
- .with_context(|| format!("{} env var must be defined, eg: 300", eet))?
- .parse()
- .with_context(|| format!("{} env var must be an integer, eg: 300", eet))?,
- consul_node_name: env::var(ecnd)
- .with_context(|| format!("{} env var must be defined", ecnd))?
- };
-
- if config.refresh_time * 2 > config.expiration_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!("Private IP address: {}", config.private_ip);
- info!("Refresh time: {} seconds", config.refresh_time);
- info!("Expiration time: {} seconds", config.expiration_time);
- return Ok(config);
-}
-
-