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::cloud::{Cloud, CloudOptions};
|
||||||
use crate::config::HazeConfig;
|
use crate::config::HazeConfig;
|
||||||
use crate::exec::container_logs;
|
use crate::exec::container_logs;
|
||||||
|
use crate::network::clear_networks;
|
||||||
use crate::service::Service;
|
use crate::service::Service;
|
||||||
use crate::service::ServiceTrait;
|
use crate::service::ServiceTrait;
|
||||||
use bollard::Docker;
|
use bollard::Docker;
|
||||||
|
|
@ -14,6 +15,7 @@ mod database;
|
||||||
mod exec;
|
mod exec;
|
||||||
mod image;
|
mod image;
|
||||||
mod mapping;
|
mod mapping;
|
||||||
|
mod network;
|
||||||
mod php;
|
mod php;
|
||||||
mod service;
|
mod service;
|
||||||
|
|
||||||
|
|
@ -33,6 +35,7 @@ async fn main() -> Result<()> {
|
||||||
eprintln!("Error while removing cloud: {:#}", e);
|
eprintln!("Error while removing cloud: {:#}", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
clear_networks(&docker).await?;
|
||||||
}
|
}
|
||||||
HazeArgs::List { filter } => {
|
HazeArgs::List { filter } => {
|
||||||
let list = Cloud::list(&mut docker, filter, &config).await?;
|
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