cleanup(#1014): remove is_manager from ContainerView, add manager_name to StateSnapshot
This commit is contained in:
parent
3dda286d2b
commit
6feab54882
3 changed files with 18 additions and 14 deletions
|
|
@ -12,7 +12,7 @@ use rusqlite::Connection;
|
|||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::coordinator::Coordinator;
|
||||
use crate::lifecycle::{self, AGENT_PREFIX, MANAGER_NAME};
|
||||
use crate::lifecycle::{self, AGENT_PREFIX};
|
||||
|
||||
/// An agent-declared extra navigation link surfaced on the dashboard card.
|
||||
/// Written by the `hive-dashboard-links` NixOS oneshot into
|
||||
|
|
@ -34,10 +34,6 @@ pub struct ContainerView {
|
|||
/// not serialized to API responses since the dashboard no longer displays it.
|
||||
#[serde(skip)]
|
||||
pub container: String,
|
||||
/// True when this is the manager agent. Informational — not used
|
||||
/// to gate any server-side actions. Computed from `name ==
|
||||
/// MANAGER_NAME` so it doesn't add new state.
|
||||
pub is_manager: bool,
|
||||
pub port: u16,
|
||||
pub running: bool,
|
||||
pub needs_update: bool,
|
||||
|
|
@ -168,7 +164,6 @@ pub async fn build_all(coord: &Coordinator) -> Vec<ContainerView> {
|
|||
(false, None, None, false, None, None)
|
||||
};
|
||||
out.push(ContainerView {
|
||||
is_manager: logical == MANAGER_NAME,
|
||||
port: lifecycle::agent_web_port(&logical),
|
||||
running,
|
||||
container: c.clone(),
|
||||
|
|
|
|||
|
|
@ -173,6 +173,9 @@ struct StateSnapshot {
|
|||
/// "apply everything you've buffered".
|
||||
seq: u64,
|
||||
hostname: String,
|
||||
/// The logical name of the manager agent. Lets the dashboard identify
|
||||
/// the manager container without a separate `is_manager` bool on each row.
|
||||
manager_name: String,
|
||||
manager_port: u16,
|
||||
any_stale: bool,
|
||||
containers: Vec<ContainerView>,
|
||||
|
|
@ -446,6 +449,7 @@ async fn api_state(headers: HeaderMap, State(state): State<AppState>) -> axum::J
|
|||
axum::Json(StateSnapshot {
|
||||
seq,
|
||||
hostname,
|
||||
manager_name: MANAGER_NAME.to_owned(),
|
||||
manager_port: lifecycle::agent_web_port(MANAGER_NAME),
|
||||
any_stale,
|
||||
containers,
|
||||
|
|
|
|||
Loading…
Reference in a new issue