diff --git a/src/utils/consul.rs b/src/utils/consul.rs index 30d5001..f619a0f 100644 --- a/src/utils/consul.rs +++ b/src/utils/consul.rs @@ -30,7 +30,6 @@ struct TaggedAddress { pub async fn start(fp: String, mut toreturn: Sender) { let config = load_configuration(fp.as_str(), "filepath"); let headers = DashMap::new(); - match config { Some(config) => { if config.typecfg.to_string() != "consul" { @@ -55,7 +54,6 @@ pub async fn start(fp: String, mut toreturn: Sender) { } let consul_data = servers.get(num).unwrap().to_string(); let upstreams = consul_request(consul_data, consul.services.clone(), consul.token.clone()); - match upstreams.await { Some(upstreams) => { if !compare_dashmaps(&upstreams, &prev_upstreams) { diff --git a/src/utils/filewatch.rs b/src/utils/filewatch.rs index 595933b..821c509 100644 --- a/src/utils/filewatch.rs +++ b/src/utils/filewatch.rs @@ -2,7 +2,7 @@ use crate::utils::parceyaml::load_configuration; use crate::utils::structs::Configuration; use futures::channel::mpsc::Sender; use futures::SinkExt; -use log::{error, info}; +use log::{error, info, warn}; use notify::event::ModifyKind; use notify::{Config, Event, EventKind, RecommendedWatcher, RecursiveMode, Watcher}; use pingora::prelude::sleep; @@ -15,10 +15,15 @@ pub async fn start(fp: String, mut toreturn: Sender) { let file_path = fp.as_str(); let parent_dir = Path::new(file_path).parent().unwrap(); let (local_tx, mut local_rx) = tokio::sync::mpsc::channel::>(1); - info!("Watching for changes in {:?}", parent_dir); let snd = load_configuration(file_path, "filepath"); + match snd { Some(snd) => { + if snd.typecfg != "file" { + warn!("Disabling file watcher, requested discovery type is: {}", snd.typecfg); + return; + } + info!("Watching for changes in {:?}", parent_dir); toreturn.send(snd).await.unwrap(); } None => {} diff --git a/src/utils/structs.rs b/src/utils/structs.rs index 1085847..f92c808 100644 --- a/src/utils/structs.rs +++ b/src/utils/structs.rs @@ -44,6 +44,7 @@ pub struct PathConfig { pub servers: Vec, pub headers: Option>, } +#[derive(Debug)] pub struct Configuration { pub upstreams: UpstreamsDashMap, pub headers: Headers, diff --git a/src/web/bgservice.rs b/src/web/bgservice.rs index e1dc107..7fdb946 100644 --- a/src/web/bgservice.rs +++ b/src/web/bgservice.rs @@ -54,14 +54,10 @@ impl BackgroundService for LB { clone_dashmap_into(&ss.upstreams, &self.ump_full); clone_dashmap_into(&ss.upstreams, &self.ump_upst); self.proxyconf.clear(); - - // println!(" ====> {:?}", self.extraparams); { let mut write_guard = self.extraparams.write().await; write_guard.stickysessions = ss.extraparams.stickysessions; } - // println!(" ====> {:?}", self.extraparams); - match ss.globals { Some(globals) => { for (k,v) in globals {