add: trigger regen on drop

This commit is contained in:
Charles
2025-10-18 01:17:49 -07:00
parent 1dfdff35c3
commit b51be8957d
3 changed files with 10 additions and 5 deletions

View File

@@ -8,4 +8,5 @@ RUN cargo build --release
FROM debian:stable-slim FROM debian:stable-slim
WORKDIR /app WORKDIR /app
COPY --from=builder /app/target/release/handler . COPY --from=builder /app/target/release/handler .
COPY --from=builder /app/target/release/skubelb .
CMD ["./handler"] CMD ["./handler"]

View File

@@ -98,7 +98,7 @@ impl Rewriter {
Ok(()) Ok(())
} }
pub fn cleanup(&mut self) { pub fn cleanup(&mut self) -> bool {
let now = Instant::now(); let now = Instant::now();
let mut to_remove = vec![]; let mut to_remove = vec![];
for (name, when) in self.replacement_cleanup.iter() { for (name, when) in self.replacement_cleanup.iter() {
@@ -106,10 +106,11 @@ impl Rewriter {
to_remove.push(name.clone()); to_remove.push(name.clone());
} }
} }
let will_cleanup = to_remove.len() > 0;
for name in to_remove { for name in to_remove {
self.remove_replacement(&name); self.remove_replacement(&name);
} }
will_cleanup
} }
} }

View File

@@ -36,9 +36,12 @@ impl Server {
} }
} }
pub fn cleanup(&mut self) -> Result<()> { pub fn cleanup(&mut self) -> Result<bool> {
self.rewriter.cleanup(); let cleaned_up = self.rewriter.cleanup();
Ok(()) if cleaned_up {
self.generate_config()?;
}
Ok(cleaned_up)
} }
pub fn register(&mut self, _request: &Request, ip: &str) -> Result<()> { pub fn register(&mut self, _request: &Request, ip: &str) -> Result<()> {