mirror of
https://codeberg.org/icewind/haze.git
synced 2026-06-03 09:04:12 +02:00
delete orphaned networks
This commit is contained in:
parent
c8645f515d
commit
cbb987065d
2 changed files with 24 additions and 0 deletions
|
|
@ -2,6 +2,7 @@ use crate::args::{ExecService, HazeArgs};
|
|||
use crate::cloud::{Cloud, CloudOptions};
|
||||
use crate::config::HazeConfig;
|
||||
use crate::exec::container_logs;
|
||||
use crate::network::clear_networks;
|
||||
use crate::service::Service;
|
||||
use crate::service::ServiceTrait;
|
||||
use bollard::Docker;
|
||||
|
|
@ -14,6 +15,7 @@ mod database;
|
|||
mod exec;
|
||||
mod image;
|
||||
mod mapping;
|
||||
mod network;
|
||||
mod php;
|
||||
mod service;
|
||||
|
||||
|
|
@ -33,6 +35,7 @@ async fn main() -> Result<()> {
|
|||
eprintln!("Error while removing cloud: {:#}", e);
|
||||
}
|
||||
}
|
||||
clear_networks(&docker).await?;
|
||||
}
|
||||
HazeArgs::List { filter } => {
|
||||
let list = Cloud::list(&mut docker, filter, &config).await?;
|
||||
|
|
|
|||
21
src/network.rs
Normal file
21
src/network.rs
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
use bollard::Docker;
|
||||
use color_eyre::{eyre::WrapErr, Result};
|
||||
|
||||
pub async fn clear_networks(docker: &Docker) -> Result<()> {
|
||||
let networks = docker
|
||||
.list_networks::<&str>(None)
|
||||
.await
|
||||
.wrap_err("Failed to list docker networks")?;
|
||||
for network in networks {
|
||||
match network.name.as_deref() {
|
||||
Some(name) if name.starts_with("haze-") => {
|
||||
docker
|
||||
.remove_network(name)
|
||||
.await
|
||||
.wrap_err("Failed to remove docker network")?;
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue