Skip to main content

canic_host/observatory/model/
mod.rs

1//! Explicit collection budgets and data-only renderer configuration.
2
3use serde::{Deserialize, Serialize};
4use std::collections::BTreeMap;
5
6/// Finite operator-selected collection and publication budgets.
7pub struct ObservatoryOptions {
8    pub environment: String,
9    pub fleet: String,
10    pub maximum_canisters: usize,
11    pub maximum_response_bytes: usize,
12    pub freshness_secs: u32,
13    pub query_timeout_secs: u32,
14    pub maximum_collection_secs: u32,
15}
16
17/// Downstream labels; no executable markup, queries or authority fields are accepted.
18#[derive(Clone, Debug, Deserialize, Serialize)]
19#[serde(deny_unknown_fields)]
20pub struct ObservatoryProfile {
21    pub schema_version: u16,
22    pub title: String,
23    pub role_labels: BTreeMap<String, String>,
24}