Skip to content

Commit 45cea5d

Browse files
authored
[16/n] send resolver status up via inventory (#8300)
Create: * Inventory types with a simplified data model suitable for storing in the database * Database schemas, stores and loads * Migrations * Tests via the `representative` example
1 parent 85fdbf4 commit 45cea5d

File tree

36 files changed

+2215
-21
lines changed

36 files changed

+2215
-21
lines changed

Cargo.lock

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

common/src/update/zone_manifest.rs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@ use std::fmt;
66

77
use iddqd::{IdOrdItem, IdOrdMap, id_upcast};
88
use omicron_uuid_kinds::MupdateUuid;
9+
use schemars::JsonSchema;
910
use serde::{Deserialize, Serialize};
1011
use tufaceous_artifact::ArtifactHash;
1112

1213
/// Describes the set of Omicron zones written out into an install dataset.
13-
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
14+
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize, JsonSchema)]
1415
pub struct OmicronZoneManifest {
1516
/// The source of the manifest.
1617
pub source: OmicronZoneManifestSource,
@@ -25,7 +26,10 @@ impl OmicronZoneManifest {
2526
}
2627

2728
/// The source of truth for an Omicron zone manifest.
28-
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
29+
#[derive(
30+
Clone, Copy, Debug, Eq, PartialEq, Deserialize, Serialize, JsonSchema,
31+
)]
32+
#[serde(tag = "source", rename_all = "snake_case")]
2933
pub enum OmicronZoneManifestSource {
3034
/// The manifest was written out by installinator and the mupdate process.
3135
Installinator {
@@ -56,7 +60,15 @@ impl fmt::Display for OmicronZoneManifestSource {
5660
///
5761
/// Part of [`OmicronZoneManifest`].
5862
#[derive(
59-
Clone, Debug, Eq, Ord, PartialEq, PartialOrd, Deserialize, Serialize,
63+
Clone,
64+
Debug,
65+
Eq,
66+
Ord,
67+
PartialEq,
68+
PartialOrd,
69+
Deserialize,
70+
Serialize,
71+
JsonSchema,
6072
)]
6173
pub struct OmicronZoneFileMetadata {
6274
/// The file name.

nexus-sled-agent-shared/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ edition = "2021"
77
workspace = true
88

99
[dependencies]
10+
camino.workspace = true
1011
chrono.workspace = true
1112
daft.workspace = true
1213
id-map.workspace = true

0 commit comments

Comments
 (0)