This commit is contained in:
parent
5f946d485c
commit
86c255dfea
2 changed files with 12 additions and 5 deletions
|
@ -19,7 +19,7 @@ const CNAME_TARGET_METADATA_TAG: &str = "cname_target";
|
|||
|
||||
// ---- Extract DNS config from Consul catalog ----
|
||||
|
||||
#[derive(Debug)]
|
||||
#[derive(Debug, Eq, PartialEq, Default)]
|
||||
pub struct DnsConfig {
|
||||
pub entries: HashMap<DnsEntryKey, DnsEntryValue>,
|
||||
}
|
||||
|
|
15
src/main.rs
15
src/main.rs
|
@ -129,6 +129,8 @@ async fn dump_config_on_change(
|
|||
mut rx_dns_config: watch::Receiver<Arc<dns_config::DnsConfig>>,
|
||||
mut must_exit: watch::Receiver<bool>,
|
||||
) {
|
||||
let mut prev_dns_config = Arc::new(dns_config::DnsConfig::default());
|
||||
|
||||
while !*must_exit.borrow() {
|
||||
select!(
|
||||
c = rx_dns_config.changed() => {
|
||||
|
@ -138,11 +140,16 @@ async fn dump_config_on_change(
|
|||
}
|
||||
_ = must_exit.changed() => continue,
|
||||
);
|
||||
println!("---- DNS CONFIGURATION ----");
|
||||
for (k, v) in rx_dns_config.borrow().entries.iter() {
|
||||
println!(" {} {}", k, v);
|
||||
|
||||
let new_dns_config = rx_dns_config.borrow_and_update().clone();
|
||||
if new_dns_config != prev_dns_config {
|
||||
println!("---- DNS CONFIGURATION ----");
|
||||
for (k, v) in rx_dns_config.borrow().entries.iter() {
|
||||
println!(" {} {}", k, v);
|
||||
}
|
||||
println!();
|
||||
}
|
||||
println!();
|
||||
prev_dns_config = new_dns_config;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue