Struct AppManifest
#[non_exhaustive]pub struct AppManifest {Show 13 fields
pub app_version: Option<String>,
pub git_sha: Option<String>,
pub jobs: Vec<String>,
pub critical_jobs: Vec<String>,
pub crons: Vec<CronEntry>,
pub base_url: Option<String>,
pub monitors: Option<Vec<HttpMonitor>>,
pub process_instance_id: Option<Uuid>,
pub process_role: Option<String>,
pub expected_process_roles: Option<Vec<ExpectedProcessRole>>,
pub metrics: Option<Vec<NamedMetric>>,
pub metric_thresholds: Option<Vec<MetricThreshold>>,
pub dashboards: Option<Vec<NamedDashboard>>,
}Expand description
The shape of the application, as reported once at boot.
manifest_version and booted_at are filled in internally when the
manifest is sent ([MANIFEST_VERSION] and Utc::now() respectively).
Deliberately PartialEq only (no Eq, since 0.7.0): the metrics field
embeds NamedMetric, which carries a QueryDocument whose
float-bearing IR types intentionally stop at PartialEq. assert_eq!
and == keep working; keying a HashSet/HashMap by AppManifest does
not compile.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.app_version: Option<String>Application build version (e.g. from CARGO_PKG_VERSION).
git_sha: Option<String>Git commit SHA of the running build.
jobs: Vec<String>Names of every registered job type.
critical_jobs: Vec<String>Client-only selector: which of jobs should be marked critical on the
wire. Names not also present in jobs are ignored; duplicates are
deduplicated. There is no second top-level wire field — see
[ManifestPayload::new].
crons: Vec<CronEntry>Every registered cron entry with its schedule.
base_url: Option<String>Public origin used to resolve root-relative monitor targets.
monitors: Option<Vec<HttpMonitor>>None does not participate in monitor authority; Some(vec![])
explicitly removes every declaration for this app.
process_instance_id: Option<Uuid>§process_role: Option<String>§expected_process_roles: Option<Vec<ExpectedProcessRole>>§metrics: Option<Vec<NamedMetric>>None does not participate in named-metric authority; Some(vec![])
explicitly removes every declaration for this app.
metric_thresholds: Option<Vec<MetricThreshold>>None does not participate in metric-threshold authority;
Some(vec![]) explicitly removes every declaration for this app
(mirroring metrics).
dashboards: Option<Vec<NamedDashboard>>None does not participate in dashboard authority; Some(vec![])
explicitly removes every declaration for this app. A non-empty list
must be paired with a non-null metrics array (server-enforced;
publishing dashboards republishes the metric snapshot — see the
server contract).
Implementations§
§impl AppManifest
impl AppManifest
pub fn app_version(self, app_version: impl Into<String>) -> AppManifest
pub fn git_sha(self, git_sha: impl Into<String>) -> AppManifest
pub fn jobs(self, jobs: Vec<String>) -> AppManifest
pub fn critical_jobs(self, jobs: Vec<String>) -> AppManifest
pub fn critical_jobs(self, jobs: Vec<String>) -> AppManifest
Mark a subset of jobs as critical (declares a critical_job_failed
run-health monitor for each, once cja adopts process identity). Names
not present in jobs are ignored; duplicates are deduplicated.
pub fn crons(self, crons: Vec<CronEntry>) -> AppManifest
pub fn base_url(self, base_url: impl Into<String>) -> AppManifest
pub fn monitors(self, monitors: Vec<HttpMonitor>) -> AppManifest
pub fn process(self, identity: ProcessIdentity) -> AppManifest
pub fn expected_process_roles( self, roles: Vec<ExpectedProcessRole>, ) -> AppManifest
pub fn metrics(self, metrics: Vec<NamedMetric>) -> AppManifest
pub fn metric_thresholds(self, v: Vec<MetricThreshold>) -> AppManifest
pub fn dashboards(self, dashboards: Vec<NamedDashboard>) -> AppManifest
Trait Implementations§
§impl Clone for AppManifest
impl Clone for AppManifest
§fn clone(&self) -> AppManifest
fn clone(&self) -> AppManifest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for AppManifest
impl Debug for AppManifest
§impl Default for AppManifest
impl Default for AppManifest
§fn default() -> AppManifest
fn default() -> AppManifest
§impl PartialEq for AppManifest
impl PartialEq for AppManifest
§impl Serialize for AppManifest
impl Serialize for AppManifest
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for AppManifest
Auto Trait Implementations§
impl Freeze for AppManifest
impl RefUnwindSafe for AppManifest
impl Send for AppManifest
impl Sync for AppManifest
impl Unpin for AppManifest
impl UnsafeUnpin for AppManifest
impl UnwindSafe for AppManifest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreimpl<T> MaybeSendSync for T
§impl<D> OwoColorize for D
impl<D> OwoColorize for D
§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
§fn on_yellow<'a>(&'a self) -> BgColorDisplay<'a, Yellow, Self>
fn on_yellow<'a>(&'a self) -> BgColorDisplay<'a, Yellow, Self>
§fn magenta<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self>
fn magenta<'a>(&'a self) -> FgColorDisplay<'a, Magenta, Self>
§fn on_magenta<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>
fn on_magenta<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>
§fn on_purple<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>
fn on_purple<'a>(&'a self) -> BgColorDisplay<'a, Magenta, Self>
§fn default_color<'a>(&'a self) -> FgColorDisplay<'a, Default, Self>
fn default_color<'a>(&'a self) -> FgColorDisplay<'a, Default, Self>
§fn on_default_color<'a>(&'a self) -> BgColorDisplay<'a, Default, Self>
fn on_default_color<'a>(&'a self) -> BgColorDisplay<'a, Default, Self>
§fn bright_black<'a>(&'a self) -> FgColorDisplay<'a, BrightBlack, Self>
fn bright_black<'a>(&'a self) -> FgColorDisplay<'a, BrightBlack, Self>
§fn on_bright_black<'a>(&'a self) -> BgColorDisplay<'a, BrightBlack, Self>
fn on_bright_black<'a>(&'a self) -> BgColorDisplay<'a, BrightBlack, Self>
§fn bright_red<'a>(&'a self) -> FgColorDisplay<'a, BrightRed, Self>
fn bright_red<'a>(&'a self) -> FgColorDisplay<'a, BrightRed, Self>
§fn on_bright_red<'a>(&'a self) -> BgColorDisplay<'a, BrightRed, Self>
fn on_bright_red<'a>(&'a self) -> BgColorDisplay<'a, BrightRed, Self>
§fn bright_green<'a>(&'a self) -> FgColorDisplay<'a, BrightGreen, Self>
fn bright_green<'a>(&'a self) -> FgColorDisplay<'a, BrightGreen, Self>
§fn on_bright_green<'a>(&'a self) -> BgColorDisplay<'a, BrightGreen, Self>
fn on_bright_green<'a>(&'a self) -> BgColorDisplay<'a, BrightGreen, Self>
§fn bright_yellow<'a>(&'a self) -> FgColorDisplay<'a, BrightYellow, Self>
fn bright_yellow<'a>(&'a self) -> FgColorDisplay<'a, BrightYellow, Self>
§fn on_bright_yellow<'a>(&'a self) -> BgColorDisplay<'a, BrightYellow, Self>
fn on_bright_yellow<'a>(&'a self) -> BgColorDisplay<'a, BrightYellow, Self>
§fn bright_blue<'a>(&'a self) -> FgColorDisplay<'a, BrightBlue, Self>
fn bright_blue<'a>(&'a self) -> FgColorDisplay<'a, BrightBlue, Self>
§fn on_bright_blue<'a>(&'a self) -> BgColorDisplay<'a, BrightBlue, Self>
fn on_bright_blue<'a>(&'a self) -> BgColorDisplay<'a, BrightBlue, Self>
§fn bright_magenta<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>
fn bright_magenta<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>
§fn on_bright_magenta<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>
fn on_bright_magenta<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>
§fn bright_purple<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>
fn bright_purple<'a>(&'a self) -> FgColorDisplay<'a, BrightMagenta, Self>
§fn on_bright_purple<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>
fn on_bright_purple<'a>(&'a self) -> BgColorDisplay<'a, BrightMagenta, Self>
§fn bright_cyan<'a>(&'a self) -> FgColorDisplay<'a, BrightCyan, Self>
fn bright_cyan<'a>(&'a self) -> FgColorDisplay<'a, BrightCyan, Self>
§fn on_bright_cyan<'a>(&'a self) -> BgColorDisplay<'a, BrightCyan, Self>
fn on_bright_cyan<'a>(&'a self) -> BgColorDisplay<'a, BrightCyan, Self>
§fn bright_white<'a>(&'a self) -> FgColorDisplay<'a, BrightWhite, Self>
fn bright_white<'a>(&'a self) -> FgColorDisplay<'a, BrightWhite, Self>
§fn on_bright_white<'a>(&'a self) -> BgColorDisplay<'a, BrightWhite, Self>
fn on_bright_white<'a>(&'a self) -> BgColorDisplay<'a, BrightWhite, Self>
§fn blink_fast<'a>(&'a self) -> BlinkFastDisplay<'a, Self>
fn blink_fast<'a>(&'a self) -> BlinkFastDisplay<'a, Self>
§fn strikethrough<'a>(&'a self) -> StrikeThroughDisplay<'a, Self>
fn strikethrough<'a>(&'a self) -> StrikeThroughDisplay<'a, Self>
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read more§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more