|
@@ -126,6 +126,25 @@ async fn collect_cluster(config: &Config, cluster: &Cluster, dry_run: bool) -> H
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // FLARE groups run without a docker container: fold them in so `health`
|
|
|
|
|
+ // shows the lane as busy on the controller (the dashboard does the same).
|
|
|
|
|
+ if config.flare.is_some() {
|
|
|
|
|
+ let (controller, groups) = crate::web::probe::flare_groups(config).await;
|
|
|
|
|
+ if let Some(ip) = controller {
|
|
|
|
|
+ let ctl_name = crate::web::flare_nodes::candidates(config)
|
|
|
|
|
+ .into_iter()
|
|
|
|
|
+ .find(|n| n.ssh_ip == ip)
|
|
|
|
|
+ .map(|n| n.name.clone());
|
|
|
|
|
+ for node in &mut nodes {
|
|
|
|
|
+ if Some(&node.name) == ctl_name.as_ref() {
|
|
|
|
|
+ for (group, _) in &groups {
|
|
|
|
|
+ node.containers.push(format!("{group}\tUp (flare)"));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
let es = es_handle.await.unwrap_or_default();
|
|
let es = es_handle.await.unwrap_or_default();
|
|
|
let verdict = verdict_for(&nodes, es.blocking_off);
|
|
let verdict = verdict_for(&nodes, es.blocking_off);
|
|
|
let tmux = crate::tmux::discover::tmux_health_for_cluster(config, cluster).await;
|
|
let tmux = crate::tmux::discover::tmux_health_for_cluster(config, cluster).await;
|