From 6d47dabd638854001cc7eaa870d7397fb0250d51 Mon Sep 17 00:00:00 2001 From: Matthew Ahrens Date: Fri, 8 May 2026 09:51:37 -0700 Subject: [PATCH 1/2] add NVMe Discard Oximeter metrics --- .../src/lib/stats/virtual_disk.rs | 76 ++++++++++++++++--- lib/propolis/src/block/crucible.rs | 2 +- lib/propolis/src/block/file.rs | 2 +- lib/propolis/src/block/in_memory.rs | 2 +- lib/propolis/src/block/mem_async.rs | 2 +- lib/propolis/src/block/minder.rs | 6 +- lib/propolis/src/block/mod.rs | 13 ++-- lib/propolis/src/hw/nvme/requests.rs | 2 +- lib/propolis/src/hw/virtio/block.rs | 2 +- 9 files changed, 82 insertions(+), 25 deletions(-) diff --git a/bin/propolis-server/src/lib/stats/virtual_disk.rs b/bin/propolis-server/src/lib/stats/virtual_disk.rs index bba317e0a..709ade118 100644 --- a/bin/propolis-server/src/lib/stats/virtual_disk.rs +++ b/bin/propolis-server/src/lib/stats/virtual_disk.rs @@ -26,8 +26,9 @@ use propolis::block::{self, Operation}; pub use self::virtual_disk::VirtualDisk; use self::virtual_disk::{ - BytesRead, BytesWritten, FailedFlushes, FailedReads, FailedWrites, Flushes, - IoLatency, IoSize, Reads, Writes, + BytesDiscarded, BytesRead, BytesWritten, Discards, FailedDiscards, + FailedFlushes, FailedReads, FailedWrites, Flushes, IoLatency, IoSize, + Reads, Writes, }; /// Type for tracking virtual disk stats. @@ -52,6 +53,12 @@ struct VirtualDiskStats { bytes_written: BytesWritten, /// Cumulative number of failed writes, by failure reason. failed_writes: [FailedWrites; N_FAILURE_KINDS], + /// Cumulative number of discards. + discards: Discards, + /// Cumulative number of bytes discarded. + bytes_discarded: BytesDiscarded, + /// Cumulative number of failed discards, by failure reason. + failed_discards: [FailedDiscards; N_FAILURE_KINDS], /// Cumulative number of flushes. flushes: Flushes, /// Cumulative number of failed flushes, by failure reason. @@ -77,9 +84,8 @@ impl VirtualDiskStats { self.on_write_completion(result, len, duration) } Operation::Flush => self.on_flush_completion(result, duration), - Operation::Discard => { - // Discard is now wired up for local disks. We need to add support for it to the - // schema in Omicron before we can report stats for it. For now, just ignore it. + Operation::Discard(bytes) => { + self.on_discard_completion(result, bytes, duration) } } } @@ -130,6 +136,29 @@ impl VirtualDiskStats { self.failed_writes[index].datum.increment(); } + fn on_discard_completion( + &mut self, + result: block::Result, + bytes: usize, + duration: Duration, + ) { + let index = match result { + block::Result::Success => { + let _ = self.io_latency[DISCARD_INDEX] + .datum + .sample(duration.as_nanos() as u64); + let _ = self.io_size[DISCARD_INDEX].datum.sample(bytes as u64); + self.discards.datum += 1; + self.bytes_discarded.datum += bytes as u64; + return; + } + block::Result::Failure => FAILURE_INDEX, + block::Result::ReadOnly => READONLY_INDEX, + block::Result::Unsupported => UNSUPPORTED_INDEX, + }; + self.failed_discards[index].datum.increment(); + } + fn on_flush_completion( &mut self, result: block::Result, @@ -152,16 +181,18 @@ impl VirtualDiskStats { } /// Number of I/O kinds we track. -const N_IO_KINDS: usize = 3; +const N_IO_KINDS: usize = 4; /// Indices into arrays tracking operations broken out by I/O kind. const READ_INDEX: usize = 0; const WRITE_INDEX: usize = 1; -const FLUSH_INDEX: usize = 2; +const DISCARD_INDEX: usize = 2; +const FLUSH_INDEX: usize = 3; // Note that flush must be last since it does not have a size histogram (io_size) /// String representations of I/O kinds we report to Oximeter. const READ_KIND: &str = "read"; const WRITE_KIND: &str = "write"; +const DISCARD_KIND: &str = "discard"; const FLUSH_KIND: &str = "flush"; /// Number of failure kinds we track. @@ -229,6 +260,16 @@ impl BlockMetrics { FailedWrites { failure_reason: READONLY_KIND.into(), datum }, FailedWrites { failure_reason: UNSUPPORTED_KIND.into(), datum }, ], + discards: Discards { datum }, + bytes_discarded: BytesDiscarded { datum }, + failed_discards: [ + FailedDiscards { failure_reason: FAILURE_KIND.into(), datum }, + FailedDiscards { failure_reason: READONLY_KIND.into(), datum }, + FailedDiscards { + failure_reason: UNSUPPORTED_KIND.into(), + datum, + }, + ], flushes: Flushes { datum }, failed_flushes: [ FailedFlushes { failure_reason: FAILURE_KIND.into(), datum }, @@ -247,6 +288,10 @@ impl BlockMetrics { io_kind: WRITE_KIND.into(), datum: latency_histogram.clone(), }, + IoLatency { + io_kind: DISCARD_KIND.into(), + datum: latency_histogram.clone(), + }, IoLatency { io_kind: FLUSH_KIND.into(), datum: latency_histogram.clone(), @@ -261,6 +306,10 @@ impl BlockMetrics { io_kind: WRITE_KIND.into(), datum: size_histogram.clone(), }, + IoSize { + io_kind: DISCARD_KIND.into(), + datum: size_histogram.clone(), + }, ], }; let mut sample_buffer = Vec::with_capacity(max_queues.get()); @@ -354,10 +403,10 @@ impl Producer for VirtualDiskProducer { // Consolidate any buffer samples first self.0.consolidate_all(); - // 5 scalar samples (reads, writes, flushes, bytes read / written) - // 3 scalars broken out by failure kind + // 7 scalar samples (reads, writes, discards, flushes, bytes read / written / discarded) + // 4 scalars broken out by failure kind (reads, writes, discards, flushes) // 2 histograms broken out by I/O kind - const N_SAMPLES: usize = 5 + 3 * N_FAILURE_KINDS + 2 * N_IO_KINDS; + const N_SAMPLES: usize = 7 + 4 * N_FAILURE_KINDS + 2 * N_IO_KINDS; let mut out = Vec::with_capacity(N_SAMPLES); let stats = self.0.stats.lock().unwrap(); @@ -375,6 +424,13 @@ impl Producer for VirtualDiskProducer { out.push(Sample::new(&stats.disk, failed)?); } + // Discard statistics. + out.push(Sample::new(&stats.disk, &stats.discards)?); + out.push(Sample::new(&stats.disk, &stats.bytes_discarded)?); + for failed in stats.failed_discards.iter() { + out.push(Sample::new(&stats.disk, failed)?); + } + // Flushes out.push(Sample::new(&stats.disk, &stats.flushes)?); for failed in stats.failed_flushes.iter() { diff --git a/lib/propolis/src/block/crucible.rs b/lib/propolis/src/block/crucible.rs index d8a5d5f51..a939cc699 100644 --- a/lib/propolis/src/block/crucible.rs +++ b/lib/propolis/src/block/crucible.rs @@ -146,7 +146,7 @@ impl WorkerState { let _ = block.flush(None).await?; } } - block::Operation::Discard => { + block::Operation::Discard(..) => { // Crucible does not support discard operations for now, so we implement this as // a no-op (which technically is a valid implementation of discard, just one that // doesn't actually free any space). diff --git a/lib/propolis/src/block/file.rs b/lib/propolis/src/block/file.rs index 03d623361..26474aa06 100644 --- a/lib/propolis/src/block/file.rs +++ b/lib/propolis/src/block/file.rs @@ -117,7 +117,7 @@ impl SharedState { self.fp.sync_data().map_err(|_| "io error")?; } } - block::Operation::Discard => { + block::Operation::Discard(_bytes) => { if let Some(mech) = self.discard_mech { for &(off, len) in &req.ranges { // There might be some performance benefits to combining the ranges into diff --git a/lib/propolis/src/block/in_memory.rs b/lib/propolis/src/block/in_memory.rs index 9d45c1fa1..949412a45 100644 --- a/lib/propolis/src/block/in_memory.rs +++ b/lib/propolis/src/block/in_memory.rs @@ -86,7 +86,7 @@ impl SharedState { block::Operation::Flush => { // nothing to do } - block::Operation::Discard => { + block::Operation::Discard(..) => { unreachable!("handled in processing_loop()"); } } diff --git a/lib/propolis/src/block/mem_async.rs b/lib/propolis/src/block/mem_async.rs index d376189dc..d834bd388 100644 --- a/lib/propolis/src/block/mem_async.rs +++ b/lib/propolis/src/block/mem_async.rs @@ -89,7 +89,7 @@ impl SharedState { block::Operation::Flush => { // nothing to do } - block::Operation::Discard => { + block::Operation::Discard(..) => { unreachable!("handled in processing_loop()") } } diff --git a/lib/propolis/src/block/minder.rs b/lib/propolis/src/block/minder.rs index e9ff8fa54..23e919be1 100644 --- a/lib/propolis/src/block/minder.rs +++ b/lib/propolis/src/block/minder.rs @@ -283,9 +283,9 @@ impl QueueMinder { Operation::Flush => { probes::block_begin_flush!(|| { (devqid, id) }); } - Operation::Discard => { + Operation::Discard(bytes) => { probes::block_begin_discard!(|| { - (devqid, id, req.ranges.len() as u64) + (devqid, id, req.ranges.len() as u64, bytes as u64) }); } } @@ -355,7 +355,7 @@ impl QueueMinder { (devqid, id, rescode, ns_processed, ns_queued) }); } - Operation::Discard => { + Operation::Discard(..) => { probes::block_complete_discard!(|| { (devqid, id, rescode, ns_processed, ns_queued) }); diff --git a/lib/propolis/src/block/mod.rs b/lib/propolis/src/block/mod.rs index 380acfb34..9e7868156 100644 --- a/lib/propolis/src/block/mod.rs +++ b/lib/propolis/src/block/mod.rs @@ -50,7 +50,7 @@ mod probes { fn block_begin_read(devq_id: u64, req_id: u64, offset: u64, len: u64) {} fn block_begin_write(devq_id: u64, req_id: u64, offset: u64, len: u64) {} fn block_begin_flush(devq_id: u64, req_id: u64) {} - fn block_begin_discard(devq_id: u64, req_id: u64, nr: u64) {} + fn block_begin_discard(devq_id: u64, req_id: u64, nr: u64, bytes: u64) {} fn block_complete_read( devq_id: u64, @@ -106,8 +106,9 @@ pub enum Operation { Write(ByteOffset, ByteLen), /// Flush buffer(s) Flush, - /// Discard/UNMAP/deallocate some ranges, which are specified in Request::ranges - Discard, + /// Discard/UNMAP/deallocate some ranges, which are specified in Request::ranges. + /// The ByteLen is the sum of the lengths of the ranges to be discarded, and is used for metrics. + Discard(ByteLen), } impl Operation { pub const fn is_read(&self) -> bool { @@ -120,7 +121,7 @@ impl Operation { matches!(self, Operation::Flush) } pub const fn is_discard(&self) -> bool { - matches!(self, Operation::Discard) + matches!(self, Operation::Discard(..)) } } @@ -231,7 +232,7 @@ impl Request { } pub fn new_discard(ranges: Vec<(ByteOffset, ByteLen)>) -> Self { - let op = Operation::Discard; + let op = Operation::Discard(ranges.iter().map(|(_, len)| *len).sum()); Self { op, regions: Vec::new(), ranges } } @@ -243,7 +244,7 @@ impl Request { Operation::Write(..) => { self.regions.iter().map(|r| mem.readable_region(r)).collect() } - Operation::Flush | Operation::Discard => None, + Operation::Flush | Operation::Discard(..) => None, } } } diff --git a/lib/propolis/src/hw/nvme/requests.rs b/lib/propolis/src/hw/nvme/requests.rs index 8427a2618..6b99f39e3 100644 --- a/lib/propolis/src/hw/nvme/requests.rs +++ b/lib/propolis/src/hw/nvme/requests.rs @@ -233,7 +233,7 @@ impl block::DeviceQueue for NvmeBlockQueue { Operation::Flush => { probes::nvme_flush_complete!(|| (devsq_id, cid, resnum)); } - Operation::Discard => { + Operation::Discard(..) => { probes::nvme_discard_complete!(|| (devsq_id, cid, resnum)); } } diff --git a/lib/propolis/src/hw/virtio/block.rs b/lib/propolis/src/hw/virtio/block.rs index 2b4e404b0..f1b9a3e80 100644 --- a/lib/propolis/src/hw/virtio/block.rs +++ b/lib/propolis/src/hw/virtio/block.rs @@ -246,7 +246,7 @@ impl block::DeviceQueue for BlockVq { block::Operation::Flush => { probes::vioblk_flush_complete!(|| (rid, resnum)); } - block::Operation::Discard => { + block::Operation::Discard(..) => { probes::vioblk_discard_complete!(|| (rid, resnum)); } } From 52b7da263efae35a83f7b478c0b769b23f470c98 Mon Sep 17 00:00:00 2001 From: Matthew Ahrens Date: Tue, 26 May 2026 18:37:51 -0700 Subject: [PATCH 2/2] update omicron --- Cargo.lock | 1371 +++++++++++++++++++++++++++++++++++++++++++++++----- Cargo.toml | 16 +- 2 files changed, 1258 insertions(+), 129 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9f1fde31d..239983256 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -148,6 +148,17 @@ dependencies = [ "backtrace", ] +[[package]] +name = "api_identity" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "omicron-workspace-hack", + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "api_identity" version = "0.1.0" @@ -350,7 +361,7 @@ dependencies = [ "getrandom 0.2.14", "instant", "pin-project-lite", - "rand 0.8.5", + "rand 0.8.6", "tokio", ] @@ -421,6 +432,16 @@ dependencies = [ "strum 0.26.3", ] +[[package]] +name = "bhyve_api" +version = "0.0.0" +source = "git+https://github.com/oxidecomputer/propolis?rev=58ab73bde89ade637b0ca8118682ee9575da6c2a#58ab73bde89ade637b0ca8118682ee9575da6c2a" +dependencies = [ + "bhyve_api_sys 0.0.0 (git+https://github.com/oxidecomputer/propolis?rev=58ab73bde89ade637b0ca8118682ee9575da6c2a)", + "libc", + "strum 0.26.3", +] + [[package]] name = "bhyve_api" version = "0.0.0" @@ -449,6 +470,15 @@ dependencies = [ "strum 0.26.3", ] +[[package]] +name = "bhyve_api_sys" +version = "0.0.0" +source = "git+https://github.com/oxidecomputer/propolis?rev=58ab73bde89ade637b0ca8118682ee9575da6c2a#58ab73bde89ade637b0ca8118682ee9575da6c2a" +dependencies = [ + "libc", + "strum 0.26.3", +] + [[package]] name = "bhyve_api_sys" version = "0.0.0" @@ -609,6 +639,35 @@ dependencies = [ "generic-array", ] +[[package]] +name = "bootstore" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "bytes", + "camino", + "chacha20poly1305", + "ciborium", + "derive_more", + "hex", + "hkdf", + "omicron-ledger 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "rand 0.8.6", + "secrecy", + "serde", + "serde_with", + "sha3", + "sled-hardware-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "slog", + "slog-error-chain", + "thiserror 2.0.18", + "tokio", + "uuid", + "vsss-rs", + "zeroize", +] + [[package]] name = "bootstore" version = "0.1.0" @@ -623,7 +682,7 @@ dependencies = [ "hkdf", "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831)", "omicron-workspace-hack", - "rand 0.8.5", + "rand 0.8.6", "secrecy", "serde", "serde_with", @@ -650,9 +709,9 @@ dependencies = [ "derive_more", "hex", "hkdf", - "omicron-ledger", + "omicron-ledger 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-workspace-hack", - "rand 0.8.5", + "rand 0.8.6", "secrecy", "serde", "serde_with", @@ -667,6 +726,23 @@ dependencies = [ "zeroize", ] +[[package]] +name = "bootstrap-agent-lockstep-types" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "anyhow", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-passwords 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "schemars 0.8.22", + "serde", + "sled-agent-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "sled-hardware-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "strum 0.27.2", +] + [[package]] name = "bootstrap-agent-lockstep-types" version = "0.1.0" @@ -1002,13 +1078,45 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" +[[package]] +name = "clickhouse-admin-types" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "clickhouse-admin-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", +] + [[package]] name = "clickhouse-admin-types" version = "0.1.0" source = "git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c#fa779b29af7a8656657ccca6ec531446188d916c" dependencies = [ - "clickhouse-admin-types-versions", + "clickhouse-admin-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "omicron-workspace-hack", +] + +[[package]] +name = "clickhouse-admin-types-versions" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "anyhow", + "atomicwrites", + "camino", + "camino-tempfile", + "chrono", + "daft", + "derive_more", + "expectorate", + "iddqd 0.4.2", + "itertools 0.14.0", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", "omicron-workspace-hack", + "schemars 0.8.22", + "serde", + "serde_json", + "slog", ] [[package]] @@ -1024,7 +1132,7 @@ dependencies = [ "daft", "derive_more", "expectorate", - "iddqd", + "iddqd 0.3.18", "itertools 0.14.0", "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-workspace-hack", @@ -1065,14 +1173,38 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" +[[package]] +name = "cockroach-admin-types" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "cockroach-admin-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "serde", +] + [[package]] name = "cockroach-admin-types" version = "0.1.0" source = "git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c#fa779b29af7a8656657ccca6ec531446188d916c" dependencies = [ - "cockroach-admin-types-versions", + "cockroach-admin-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "omicron-workspace-hack", + "serde", +] + +[[package]] +name = "cockroach-admin-types-versions" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "chrono", + "csv", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", "omicron-workspace-hack", + "schemars 0.8.22", "serde", + "thiserror 2.0.18", ] [[package]] @@ -1320,15 +1452,15 @@ dependencies = [ "fakedata_generator", "futures", "futures-core", - "internal-dns-resolver", - "internal-dns-types", + "internal-dns-resolver 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "internal-dns-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "itertools 0.14.0", "libc", - "nexus-client", + "nexus-client 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", - "oximeter", - "oximeter-producer", + "oximeter 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "oximeter-producer 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "rand 0.9.2", "rand_chacha 0.9.0", "rayon", @@ -1454,6 +1586,18 @@ dependencies = [ "thiserror 2.0.18", ] +[[package]] +name = "crucible-smf" +version = "0.0.0" +source = "git+https://github.com/oxidecomputer/crucible?rev=bd9a0e2abe6b6b89aec8c85f4ee57474144ed150#bd9a0e2abe6b6b89aec8c85f4ee57474144ed150" +dependencies = [ + "crucible-workspace-hack", + "libc", + "num-derive 0.4.2", + "num-traits", + "thiserror 2.0.18", +] + [[package]] name = "crucible-workspace-hack" version = "0.1.0" @@ -1579,9 +1723,9 @@ dependencies = [ [[package]] name = "daft" -version = "0.1.5" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6a26f1f0a7934549bf8d8448d9da072c31f14e1e407b6cbacfdc07b3777988e" +checksum = "49921a57f45e3bf2cc8a0c4e3a10aa342b95a481d7dd89d844c1225496957296" dependencies = [ "daft-derive", "newtype-uuid", @@ -1592,9 +1736,9 @@ dependencies = [ [[package]] name = "daft-derive" -version = "0.1.5" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27c6a4a4003df965e441d13b2a7044efa44334b567c984701f8a2773f815c5e2" +checksum = "91850c0efee1e6dffcea4e5841ff3a71db80575a79f933d0c77e41c6fe0973d1" dependencies = [ "proc-macro2", "quote", @@ -2376,6 +2520,20 @@ dependencies = [ "typeid", ] +[[package]] +name = "ereport-types" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "dropshot 0.17.0", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "schemars 0.8.22", + "serde", + "serde_json", + "thiserror 2.0.18", +] + [[package]] name = "ereport-types" version = "0.1.0" @@ -2746,6 +2904,31 @@ dependencies = [ "slab", ] +[[package]] +name = "gateway-client" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "base64 0.22.1", + "chrono", + "daft", + "ereport-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "gateway-messages 0.1.0 (git+https://github.com/oxidecomputer/management-gateway-service?rev=745a508cb97b7ca9b4c10ec9592c980eb769b10d)", + "gateway-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "progenitor 0.14.0", + "rand 0.9.2", + "reqwest 0.13.2", + "schemars 0.8.22", + "serde", + "serde_json", + "slog", + "thiserror 2.0.18", + "tokio", + "uuid", +] + [[package]] name = "gateway-client" version = "0.1.0" @@ -2754,9 +2937,9 @@ dependencies = [ "base64 0.22.1", "chrono", "daft", - "ereport-types", - "gateway-messages", - "gateway-types", + "ereport-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "gateway-messages 0.1.0 (git+https://github.com/oxidecomputer/management-gateway-service?rev=0d7a8992f914ad6a5947409048779969bbe80e3d)", + "gateway-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-workspace-hack", "progenitor 0.14.0", @@ -2788,13 +2971,57 @@ dependencies = [ "zerocopy 0.8.27", ] +[[package]] +name = "gateway-messages" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/management-gateway-service?rev=745a508cb97b7ca9b4c10ec9592c980eb769b10d#745a508cb97b7ca9b4c10ec9592c980eb769b10d" +dependencies = [ + "bitflags 2.9.4", + "hubpack", + "serde", + "serde-big-array", + "serde_repr", + "static_assertions", + "strum 0.27.2", + "strum_macros 0.27.2", + "uuid", + "zerocopy 0.8.27", +] + +[[package]] +name = "gateway-types" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "gateway-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", +] + [[package]] name = "gateway-types" version = "0.1.0" source = "git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c#fa779b29af7a8656657ccca6ec531446188d916c" dependencies = [ - "gateway-types-versions", + "gateway-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "omicron-workspace-hack", +] + +[[package]] +name = "gateway-types-versions" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "daft", + "dropshot 0.17.0", + "gateway-messages 0.1.0 (git+https://github.com/oxidecomputer/management-gateway-service?rev=745a508cb97b7ca9b4c10ec9592c980eb769b10d)", + "hex", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", "omicron-workspace-hack", + "schemars 0.8.22", + "serde", + "thiserror 2.0.18", + "tufaceous-artifact", + "uuid", ] [[package]] @@ -2804,7 +3031,7 @@ source = "git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657cc dependencies = [ "daft", "dropshot 0.17.0", - "gateway-messages", + "gateway-messages 0.1.0 (git+https://github.com/oxidecomputer/management-gateway-service?rev=0d7a8992f914ad6a5947409048779969bbe80e3d)", "hex", "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-workspace-hack", @@ -2900,6 +3127,22 @@ dependencies = [ "wasip3", ] +[[package]] +name = "gfss" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "digest 0.10.7", + "omicron-workspace-hack", + "rand 0.9.2", + "schemars 0.8.22", + "secrecy", + "serde", + "subtle", + "thiserror 2.0.18", + "zeroize", +] + [[package]] name = "gfss" version = "0.1.0" @@ -3157,7 +3400,7 @@ dependencies = [ "idna", "ipnet", "once_cell", - "rand 0.8.5", + "rand 0.8.6", "thiserror 1.0.64", "tinyvec", "tokio", @@ -3203,7 +3446,7 @@ dependencies = [ "lru-cache", "once_cell", "parking_lot", - "rand 0.8.5", + "rand 0.8.6", "resolv-conf", "smallvec", "thiserror 1.0.64", @@ -3592,6 +3835,23 @@ dependencies = [ "serde_json", ] +[[package]] +name = "iddqd" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7721c885a97a7c67bc8645958710f3f43b5e7ad8644ce6f43b188a77f05fda7" +dependencies = [ + "allocator-api2", + "daft", + "equivalent", + "foldhash 0.2.0", + "hashbrown 0.16.1", + "ref-cast", + "schemars 0.8.22", + "serde_core", + "serde_json", +] + [[package]] name = "ident_case" version = "1.0.1" @@ -3629,6 +3889,14 @@ dependencies = [ "num_enum 0.5.11", ] +[[package]] +name = "illumos-sys-hdrs" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/opte?rev=2c6efefe14321dafe7e9e80129d38316adb2d238#2c6efefe14321dafe7e9e80129d38316adb2d238" +dependencies = [ + "bitflags 2.9.4", +] + [[package]] name = "illumos-sys-hdrs" version = "0.1.0" @@ -3648,37 +3916,39 @@ dependencies = [ [[package]] name = "illumos-utils" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831#becbbb616f5f18b59cc42e511c148734c2ba3831" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" dependencies = [ "anyhow", "async-trait", - "bhyve_api 0.0.0 (git+https://github.com/oxidecomputer/propolis?rev=8ccddb47a4c93b7e3480919495dae851afc83782)", + "bhyve_api 0.0.0 (git+https://github.com/oxidecomputer/propolis?rev=58ab73bde89ade637b0ca8118682ee9575da6c2a)", "byteorder", "camino", "camino-tempfile", "cfg-if", "chrono", - "crucible-smf", + "crucible-smf 0.0.0 (git+https://github.com/oxidecomputer/crucible?rev=bd9a0e2abe6b6b89aec8c85f4ee57474144ed150)", "debug-ignore", - "dropshot 0.16.7", + "dropshot 0.17.0", "futures", "http", - "iddqd", + "iddqd 0.4.2", "ipnetwork", "itertools 0.14.0", + "key-manager-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", "libc", "macaddr", - "nix 0.30.1", - "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831)", - "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831)", + "nix 0.31.3", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", "omicron-workspace-hack", - "opte-ioctl 0.1.0 (git+https://github.com/oxidecomputer/opte?rev=e547d07b08c3f3d6c821c9eb7a958adcffce6e56)", - "oxide-vpc 0.1.0 (git+https://github.com/oxidecomputer/opte?rev=e547d07b08c3f3d6c821c9eb7a958adcffce6e56)", - "oxlog 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831)", + "opte-ioctl 0.1.0 (git+https://github.com/oxidecomputer/opte?rev=2c6efefe14321dafe7e9e80129d38316adb2d238)", + "oxide-vpc 0.1.0 (git+https://github.com/oxidecomputer/opte?rev=2c6efefe14321dafe7e9e80129d38316adb2d238)", + "oxlog 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", "oxnet", "rustix 1.1.2", "schemars 0.8.22", "serde", + "sled-agent-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", "slog", "slog-async", "slog-error-chain", @@ -3695,30 +3965,77 @@ dependencies = [ [[package]] name = "illumos-utils" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c#fa779b29af7a8656657ccca6ec531446188d916c" +source = "git+https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831#becbbb616f5f18b59cc42e511c148734c2ba3831" dependencies = [ "anyhow", "async-trait", - "bhyve_api 0.0.0 (git+https://github.com/oxidecomputer/propolis?rev=bc489ddf0f38f75e0c194b86cf6f0de377f68845)", + "bhyve_api 0.0.0 (git+https://github.com/oxidecomputer/propolis?rev=8ccddb47a4c93b7e3480919495dae851afc83782)", "byteorder", "camino", "camino-tempfile", "cfg-if", "chrono", - "crucible-smf", + "crucible-smf 0.0.0 (git+https://github.com/oxidecomputer/crucible?rev=7103cd3a3d7b0112d2949dd135db06fef0c156bb)", "debug-ignore", - "dropshot 0.17.0", + "dropshot 0.16.7", "futures", "http", - "iddqd", + "iddqd 0.3.18", "ipnetwork", "itertools 0.14.0", - "key-manager-types", "libc", "macaddr", - "nix 0.31.3", - "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", - "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "nix 0.30.1", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831)", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831)", + "omicron-workspace-hack", + "opte-ioctl 0.1.0 (git+https://github.com/oxidecomputer/opte?rev=e547d07b08c3f3d6c821c9eb7a958adcffce6e56)", + "oxide-vpc 0.1.0 (git+https://github.com/oxidecomputer/opte?rev=e547d07b08c3f3d6c821c9eb7a958adcffce6e56)", + "oxlog 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831)", + "oxnet", + "rustix 1.1.2", + "schemars 0.8.22", + "serde", + "slog", + "slog-async", + "slog-error-chain", + "slog-term", + "smf", + "thiserror 2.0.18", + "tofino", + "tokio", + "uuid", + "whoami", + "zone", +] + +[[package]] +name = "illumos-utils" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c#fa779b29af7a8656657ccca6ec531446188d916c" +dependencies = [ + "anyhow", + "async-trait", + "bhyve_api 0.0.0 (git+https://github.com/oxidecomputer/propolis?rev=bc489ddf0f38f75e0c194b86cf6f0de377f68845)", + "byteorder", + "camino", + "camino-tempfile", + "cfg-if", + "chrono", + "crucible-smf 0.0.0 (git+https://github.com/oxidecomputer/crucible?rev=7103cd3a3d7b0112d2949dd135db06fef0c156bb)", + "debug-ignore", + "dropshot 0.17.0", + "futures", + "http", + "iddqd 0.3.18", + "ipnetwork", + "itertools 0.14.0", + "key-manager-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "libc", + "macaddr", + "nix 0.31.3", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-workspace-hack", "opte-ioctl 0.1.0 (git+https://github.com/oxidecomputer/opte?rev=bae0440c199b3908c12903a9532854936353433b)", "oxide-vpc 0.1.0 (git+https://github.com/oxidecomputer/opte?rev=bae0440c199b3908c12903a9532854936353433b)", @@ -3839,6 +4156,24 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "internal-dns-resolver" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "futures", + "hickory-proto 0.25.2", + "hickory-resolver 0.25.2", + "internal-dns-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "qorb", + "reqwest 0.13.2", + "slog", + "thiserror 2.0.18", +] + [[package]] name = "internal-dns-resolver" version = "0.1.0" @@ -3847,7 +4182,7 @@ dependencies = [ "futures", "hickory-proto 0.25.2", "hickory-resolver 0.25.2", - "internal-dns-types", + "internal-dns-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-workspace-hack", @@ -3857,6 +4192,22 @@ dependencies = [ "thiserror 2.0.18", ] +[[package]] +name = "internal-dns-types" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "anyhow", + "chrono", + "internal-dns-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "schemars 0.8.22", + "serde", + "strum 0.27.2", +] + [[package]] name = "internal-dns-types" version = "0.1.0" @@ -3864,7 +4215,7 @@ source = "git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657cc dependencies = [ "anyhow", "chrono", - "internal-dns-types-versions", + "internal-dns-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-workspace-hack", @@ -3873,6 +4224,19 @@ dependencies = [ "strum 0.27.2", ] +[[package]] +name = "internal-dns-types-versions" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "anyhow", + "chrono", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "schemars 0.8.22", + "serde", +] + [[package]] name = "internal-dns-types-versions" version = "0.1.0" @@ -4079,6 +4443,15 @@ dependencies = [ "cpufeatures", ] +[[package]] +name = "key-manager-types" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "omicron-workspace-hack", + "secrecy", +] + [[package]] name = "key-manager-types" version = "0.1.0" @@ -4088,6 +4461,15 @@ dependencies = [ "secrecy", ] +[[package]] +name = "kstat-macro" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/opte?rev=2c6efefe14321dafe7e9e80129d38316adb2d238#2c6efefe14321dafe7e9e80129d38316adb2d238" +dependencies = [ + "quote", + "syn 2.0.117", +] + [[package]] name = "kstat-macro" version = "0.1.0" @@ -4606,6 +4988,31 @@ dependencies = [ "rustc_version 0.1.7", ] +[[package]] +name = "nexus-client" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "chrono", + "futures", + "iddqd 0.4.2", + "nexus-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "oxnet", + "progenitor 0.14.0", + "regress 0.10.5", + "reqwest 0.13.2", + "schemars 0.8.22", + "serde", + "serde_json", + "sled-agent-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "sled-agent-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "slog", + "uuid", +] + [[package]] name = "nexus-client" version = "0.1.0" @@ -4613,8 +5020,8 @@ source = "git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657cc dependencies = [ "chrono", "futures", - "iddqd", - "nexus-types", + "iddqd 0.3.18", + "nexus-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-workspace-hack", @@ -4631,6 +5038,80 @@ dependencies = [ "uuid", ] +[[package]] +name = "nexus-types" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "anyhow", + "api_identity 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "async-trait", + "base64 0.22.1", + "bootstrap-agent-lockstep-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "chrono", + "clap", + "clickhouse-admin-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "cockroach-admin-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "cookie", + "daft", + "derive-where", + "derive_more", + "dropshot 0.17.0", + "either", + "ereport-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "futures", + "gateway-client 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "gateway-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "http", + "humantime", + "iddqd 0.4.2", + "illumos-utils 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "indent_write", + "internal-dns-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "ipnet", + "ipnetwork", + "itertools 0.14.0", + "newtype-uuid", + "newtype_derive", + "nexus-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-passwords 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "openssl", + "oximeter-db 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "oxnet", + "oxql-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "parse-display", + "regex", + "schemars 0.8.22", + "semver 1.0.28", + "serde", + "serde_json", + "serde_with", + "sled-agent-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "sled-agent-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "sled-hardware-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "slog", + "slog-error-chain", + "steno", + "strum 0.27.2", + "swrite", + "tabled", + "test-strategy", + "textwrap", + "thiserror 2.0.18", + "tokio", + "tough 0.22.0", + "trust-quorum-protocol 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "trust-quorum-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "tufaceous-artifact", + "unicode-width 0.1.14", + "update-engine 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "url", + "uuid", +] + [[package]] name = "nexus-types" version = "0.1.0" @@ -4640,41 +5121,41 @@ dependencies = [ "api_identity 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "async-trait", "base64 0.22.1", - "bootstrap-agent-lockstep-types", + "bootstrap-agent-lockstep-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "chrono", "clap", - "clickhouse-admin-types", - "cockroach-admin-types", + "clickhouse-admin-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "cockroach-admin-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "cookie", "daft", "derive-where", "derive_more", "dropshot 0.17.0", "either", - "ereport-types", + "ereport-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "futures", - "gateway-client", - "gateway-types", + "gateway-client 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "gateway-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "http", "humantime", - "iddqd", + "iddqd 0.3.18", "illumos-utils 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "indent_write", - "internal-dns-types", + "internal-dns-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "ipnet", "ipnetwork", "itertools 0.14.0", "newtype-uuid", "newtype_derive", - "nexus-types-versions", + "nexus-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-passwords 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-workspace-hack", "openssl", - "oximeter-db", + "oximeter-db 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "oxnet", - "oxql-types", + "oxql-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "parse-display", "regex", "schemars 0.8.22", @@ -4695,12 +5176,49 @@ dependencies = [ "textwrap", "thiserror 2.0.18", "tokio", - "tough", - "trust-quorum-protocol", + "tough 0.20.0", + "trust-quorum-protocol 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "trust-quorum-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "tufaceous-artifact", "unicode-width 0.1.14", - "update-engine", + "update-engine 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "url", + "uuid", +] + +[[package]] +name = "nexus-types-versions" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "anyhow", + "api_identity 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "base64 0.22.1", + "chrono", + "daft", + "dropshot 0.17.0", + "http", + "mg-admin-client 0.1.0 (git+https://github.com/oxidecomputer/maghemite?rev=7696ee48d5ee29a917dea459e281fe2e8ff20513)", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-passwords 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "openssl", + "oxnet", + "oxql-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "parse-display", + "regex", + "schemars 0.8.22", + "semver 1.0.28", + "serde", + "serde_json", + "sled-agent-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "sled-hardware-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "slog-error-chain", + "strum 0.27.2", + "thiserror 2.0.18", + "tough 0.22.0", + "tufaceous-artifact", "url", "uuid", ] @@ -4724,7 +5242,7 @@ dependencies = [ "omicron-workspace-hack", "openssl", "oxnet", - "oxql-types", + "oxql-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "parse-display", "regex", "schemars 0.8.22", @@ -4736,7 +5254,7 @@ dependencies = [ "slog-error-chain", "strum 0.27.2", "thiserror 2.0.18", - "tough", + "tough 0.20.0", "tufaceous-artifact", "url", "uuid", @@ -5029,6 +5547,54 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "omicron-common" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "anyhow", + "api_identity 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "async-trait", + "backoff", + "backon", + "camino", + "chrono", + "daft", + "dropshot 0.17.0", + "futures", + "hex", + "http", + "humantime", + "iddqd 0.4.2", + "ipnetwork", + "itertools 0.14.0", + "macaddr", + "omicron-ledger 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "oxnet", + "parse-display", + "progenitor-client 0.10.0", + "progenitor-client 0.14.0", + "progenitor-extras", + "protocol", + "rand 0.9.2", + "regress 0.10.5", + "reqwest 0.13.2", + "schemars 0.8.22", + "semver 1.0.28", + "serde", + "serde_json", + "serde_with", + "slog", + "slog-error-chain", + "strum 0.27.2", + "thiserror 2.0.18", + "tokio", + "tufaceous-artifact", + "uuid", +] + [[package]] name = "omicron-common" version = "0.1.0" @@ -5045,7 +5611,7 @@ dependencies = [ "futures", "hex", "http", - "iddqd", + "iddqd 0.3.18", "ipnetwork", "itertools 0.14.0", "macaddr", @@ -5091,11 +5657,11 @@ dependencies = [ "futures", "hex", "http", - "iddqd", + "iddqd 0.3.18", "ipnetwork", "itertools 0.14.0", "macaddr", - "omicron-ledger", + "omicron-ledger 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-workspace-hack", "oxnet", @@ -5121,6 +5687,22 @@ dependencies = [ "uuid", ] +[[package]] +name = "omicron-ledger" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "async-trait", + "camino", + "omicron-workspace-hack", + "serde", + "serde_json", + "slog", + "slog-error-chain", + "thiserror 2.0.18", + "tokio", +] + [[package]] name = "omicron-ledger" version = "0.1.0" @@ -5137,6 +5719,21 @@ dependencies = [ "tokio", ] +[[package]] +name = "omicron-passwords" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "argon2", + "omicron-workspace-hack", + "rand 0.9.2", + "schemars 0.8.22", + "secrecy", + "serde", + "serde_with", + "thiserror 2.0.18", +] + [[package]] name = "omicron-passwords" version = "0.1.0" @@ -5167,6 +5764,18 @@ dependencies = [ "thiserror 2.0.18", ] +[[package]] +name = "omicron-uuid-kinds" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "daft", + "newtype-uuid", + "newtype-uuid-macros", + "paste", + "schemars 0.8.22", +] + [[package]] name = "omicron-uuid-kinds" version = "0.1.0" @@ -5300,6 +5909,25 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "opte" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/opte?rev=2c6efefe14321dafe7e9e80129d38316adb2d238#2c6efefe14321dafe7e9e80129d38316adb2d238" +dependencies = [ + "bitflags 2.9.4", + "dyn-clone", + "illumos-sys-hdrs 0.1.0 (git+https://github.com/oxidecomputer/opte?rev=2c6efefe14321dafe7e9e80129d38316adb2d238)", + "ingot", + "kstat-macro 0.1.0 (git+https://github.com/oxidecomputer/opte?rev=2c6efefe14321dafe7e9e80129d38316adb2d238)", + "opte-api 0.1.0 (git+https://github.com/oxidecomputer/opte?rev=2c6efefe14321dafe7e9e80129d38316adb2d238)", + "postcard", + "ref-cast", + "serde", + "tabwriter", + "version_check", + "zerocopy 0.8.27", +] + [[package]] name = "opte" version = "0.1.0" @@ -5338,6 +5966,19 @@ dependencies = [ "zerocopy 0.8.27", ] +[[package]] +name = "opte-api" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/opte?rev=2c6efefe14321dafe7e9e80129d38316adb2d238#2c6efefe14321dafe7e9e80129d38316adb2d238" +dependencies = [ + "illumos-sys-hdrs 0.1.0 (git+https://github.com/oxidecomputer/opte?rev=2c6efefe14321dafe7e9e80129d38316adb2d238)", + "ingot", + "ipnetwork", + "postcard", + "serde", + "smoltcp", +] + [[package]] name = "opte-api" version = "0.1.0" @@ -5364,6 +6005,20 @@ dependencies = [ "smoltcp", ] +[[package]] +name = "opte-ioctl" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/opte?rev=2c6efefe14321dafe7e9e80129d38316adb2d238#2c6efefe14321dafe7e9e80129d38316adb2d238" +dependencies = [ + "libc", + "libnet", + "opte 0.1.0 (git+https://github.com/oxidecomputer/opte?rev=2c6efefe14321dafe7e9e80129d38316adb2d238)", + "oxide-vpc 0.1.0 (git+https://github.com/oxidecomputer/opte?rev=2c6efefe14321dafe7e9e80129d38316adb2d238)", + "postcard", + "serde", + "thiserror 2.0.18", +] + [[package]] name = "opte-ioctl" version = "0.1.0" @@ -5438,6 +6093,20 @@ dependencies = [ "tokio-dtrace", ] +[[package]] +name = "oxide-vpc" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/opte?rev=2c6efefe14321dafe7e9e80129d38316adb2d238#2c6efefe14321dafe7e9e80129d38316adb2d238" +dependencies = [ + "cfg-if", + "illumos-sys-hdrs 0.1.0 (git+https://github.com/oxidecomputer/opte?rev=2c6efefe14321dafe7e9e80129d38316adb2d238)", + "opte 0.1.0 (git+https://github.com/oxidecomputer/opte?rev=2c6efefe14321dafe7e9e80129d38316adb2d238)", + "serde", + "tabwriter", + "uuid", + "zerocopy 0.8.27", +] + [[package]] name = "oxide-vpc" version = "0.1.0" @@ -5466,6 +6135,25 @@ dependencies = [ "zerocopy 0.8.27", ] +[[package]] +name = "oximeter" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "anyhow", + "chrono", + "clap", + "omicron-workspace-hack", + "oximeter-macro-impl 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "oximeter-schema 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "oximeter-timeseries-macro 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "oximeter-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "prettyplease", + "syn 2.0.117", + "toml 0.8.23", + "uuid", +] + [[package]] name = "oximeter" version = "0.1.0" @@ -5475,16 +6163,71 @@ dependencies = [ "chrono", "clap", "omicron-workspace-hack", - "oximeter-macro-impl", - "oximeter-schema", - "oximeter-timeseries-macro", - "oximeter-types", + "oximeter-macro-impl 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "oximeter-schema 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "oximeter-timeseries-macro 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "oximeter-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "prettyplease", "syn 2.0.117", "toml 0.8.23", "uuid", ] +[[package]] +name = "oximeter-db" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "anyhow", + "async-recursion", + "async-trait", + "bcs", + "bytes", + "camino", + "chrono", + "chrono-tz", + "clap", + "clickhouse-admin-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "clickward", + "const_format", + "debug-ignore", + "dropshot 0.17.0", + "futures", + "gethostname 0.5.0", + "highway", + "iana-time-zone", + "iddqd 0.4.2", + "indexmap 2.14.0", + "libc", + "nom 7.1.3", + "num", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "oxide-tokio-rt", + "oximeter 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "oxql-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "parse-display", + "qorb", + "quote", + "regex", + "reqwest 0.13.2", + "schemars 0.8.22", + "serde", + "serde_json", + "slog", + "slog-async", + "slog-dtrace", + "slog-error-chain", + "slog-term", + "strum 0.27.2", + "termtree 0.5.1", + "thiserror 2.0.18", + "tokio", + "tokio-util", + "usdt 0.5.0", + "uuid", +] + [[package]] name = "oximeter-db" version = "0.1.0" @@ -5499,7 +6242,7 @@ dependencies = [ "chrono", "chrono-tz", "clap", - "clickhouse-admin-types", + "clickhouse-admin-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "clickward", "const_format", "debug-ignore", @@ -5508,7 +6251,7 @@ dependencies = [ "gethostname 0.5.0", "highway", "iana-time-zone", - "iddqd", + "iddqd 0.3.18", "indexmap 2.14.0", "libc", "nom 7.1.3", @@ -5516,8 +6259,8 @@ dependencies = [ "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-workspace-hack", "oxide-tokio-rt", - "oximeter", - "oxql-types", + "oximeter 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "oxql-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "parse-display", "qorb", "quote", @@ -5543,7 +6286,7 @@ dependencies = [ [[package]] name = "oximeter-instruments" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c#fa779b29af7a8656657ccca6ec531446188d916c" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" dependencies = [ "cfg-if", "chrono", @@ -5551,7 +6294,7 @@ dependencies = [ "kstat-rs", "libc", "omicron-workspace-hack", - "oximeter", + "oximeter 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", "slog", "slog-error-chain", "thiserror 2.0.18", @@ -5559,6 +6302,17 @@ dependencies = [ "uuid", ] +[[package]] +name = "oximeter-macro-impl" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "omicron-workspace-hack", + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "oximeter-macro-impl" version = "0.1.0" @@ -5570,6 +6324,31 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "oximeter-producer" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "chrono", + "dropshot 0.17.0", + "either", + "internal-dns-resolver 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "internal-dns-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "nexus-client 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "oximeter 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "oximeter-producer-api 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "schemars 0.8.22", + "serde", + "slog", + "slog-dtrace", + "slog-error-chain", + "thiserror 2.0.18", + "tokio", + "uuid", +] + [[package]] name = "oximeter-producer" version = "0.1.0" @@ -5578,13 +6357,13 @@ dependencies = [ "chrono", "dropshot 0.17.0", "either", - "internal-dns-resolver", - "internal-dns-types", - "nexus-client", + "internal-dns-resolver 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "internal-dns-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "nexus-client 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-workspace-hack", - "oximeter", - "oximeter-producer-api", + "oximeter 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "oximeter-producer-api 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "schemars 0.8.22", "serde", "slog", @@ -5595,6 +6374,16 @@ dependencies = [ "uuid", ] +[[package]] +name = "oximeter-producer-api" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "dropshot 0.17.0", + "omicron-workspace-hack", + "oximeter-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", +] + [[package]] name = "oximeter-producer-api" version = "0.1.0" @@ -5602,7 +6391,28 @@ source = "git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657cc dependencies = [ "dropshot 0.17.0", "omicron-workspace-hack", - "oximeter-types-versions", + "oximeter-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", +] + +[[package]] +name = "oximeter-schema" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "anyhow", + "chrono", + "clap", + "heck 0.5.0", + "omicron-workspace-hack", + "oximeter-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "prettyplease", + "proc-macro2", + "quote", + "schemars 0.8.22", + "serde", + "slog-error-chain", + "syn 2.0.117", + "toml 0.8.23", ] [[package]] @@ -5615,7 +6425,7 @@ dependencies = [ "clap", "heck 0.5.0", "omicron-workspace-hack", - "oximeter-types", + "oximeter-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "prettyplease", "proc-macro2", "quote", @@ -5629,23 +6439,65 @@ dependencies = [ [[package]] name = "oximeter-timeseries-macro" version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "omicron-workspace-hack", + "oximeter-schema 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "oximeter-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "oximeter-timeseries-macro" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c#fa779b29af7a8656657ccca6ec531446188d916c" +dependencies = [ + "omicron-workspace-hack", + "oximeter-schema 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "oximeter-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "proc-macro2", + "quote", + "syn 2.0.117", +] + +[[package]] +name = "oximeter-types" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "omicron-workspace-hack", + "oximeter-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", +] + +[[package]] +name = "oximeter-types" +version = "0.1.0" source = "git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c#fa779b29af7a8656657ccca6ec531446188d916c" dependencies = [ "omicron-workspace-hack", - "oximeter-schema", - "oximeter-types", - "proc-macro2", - "quote", - "syn 2.0.117", + "oximeter-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", ] [[package]] -name = "oximeter-types" +name = "oximeter-types-versions" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c#fa779b29af7a8656657ccca6ec531446188d916c" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" dependencies = [ + "bytes", + "chrono", + "float-ord", + "num", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", "omicron-workspace-hack", - "oximeter-types-versions", + "parse-display", + "regex", + "schemars 0.8.22", + "serde", + "strum 0.27.2", + "thiserror 2.0.18", + "uuid", ] [[package]] @@ -5668,6 +6520,23 @@ dependencies = [ "uuid", ] +[[package]] +name = "oxlog" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "anyhow", + "camino", + "chrono", + "clap", + "glob", + "jiff", + "omicron-workspace-hack", + "rayon", + "sigpipe", + "uuid", +] + [[package]] name = "oxlog" version = "0.1.0" @@ -5714,6 +6583,23 @@ dependencies = [ "serde_json", ] +[[package]] +name = "oxql-types" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "anyhow", + "chrono", + "highway", + "num", + "omicron-workspace-hack", + "oximeter-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "schemars 0.8.22", + "serde", + "serde_json", + "uuid", +] + [[package]] name = "oxql-types" version = "0.1.0" @@ -5724,7 +6610,7 @@ dependencies = [ "highway", "num", "omicron-workspace-hack", - "oximeter-types", + "oximeter-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "schemars 0.8.22", "serde", "serde_json", @@ -5967,8 +6853,8 @@ dependencies = [ "hex", "libc", "newtype_derive", - "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", - "oximeter", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "oximeter 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", "propolis-client 0.1.0", "rand 0.9.2", "reqwest 0.13.2", @@ -6046,9 +6932,9 @@ dependencies = [ "http", "itertools 0.13.0", "linkme", - "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", - "oximeter", - "oximeter-producer", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "oximeter 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "oximeter-producer 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", "phd-testcase", "propolis-client 0.1.0", "reqwest 0.13.2", @@ -6105,7 +6991,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0" dependencies = [ "phf_shared 0.11.2", - "rand 0.8.5", + "rand 0.8.6", ] [[package]] @@ -6673,15 +7559,15 @@ dependencies = [ "dlpi 0.2.0 (git+https://github.com/oxidecomputer/dlpi-sys?branch=main)", "erased-serde 0.4.5", "futures", - "iddqd", + "iddqd 0.3.18", "ispf", "itertools 0.13.0", "lazy_static", "libc", "libloading 0.7.4", - "nexus-client", + "nexus-client 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", "nix 0.31.3", - "oximeter", + "oximeter 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", "p9ds", "paste", "pin-project-lite", @@ -6722,6 +7608,19 @@ dependencies = [ "uuid", ] +[[package]] +name = "propolis-api-types-versions" +version = "0.0.0" +source = "git+https://github.com/oxidecomputer/propolis?rev=58ab73bde89ade637b0ca8118682ee9575da6c2a#58ab73bde89ade637b0ca8118682ee9575da6c2a" +dependencies = [ + "crucible-client-types 0.1.0 (git+https://github.com/oxidecomputer/crucible?rev=bd9a0e2abe6b6b89aec8c85f4ee57474144ed150)", + "propolis_types 0.0.0 (git+https://github.com/oxidecomputer/propolis?rev=58ab73bde89ade637b0ca8118682ee9575da6c2a)", + "schemars 0.8.22", + "serde", + "thiserror 1.0.64", + "uuid", +] + [[package]] name = "propolis-api-types-versions" version = "0.0.0" @@ -6898,18 +7797,18 @@ dependencies = [ "futures", "hex", "hyper", - "internal-dns-resolver", - "internal-dns-types", + "internal-dns-resolver 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "internal-dns-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", "itertools 0.13.0", "kstat-rs", "lazy_static", "mockall", - "nexus-client", - "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", + "nexus-client 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", "oxide-tokio-rt", - "oximeter", + "oximeter 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", "oximeter-instruments", - "oximeter-producer", + "oximeter-producer 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", "pbind", "propolis", "propolis-api-types-versions 0.0.0", @@ -7010,6 +7909,15 @@ dependencies = [ "propolis-api-types-versions 0.0.0", ] +[[package]] +name = "propolis_api_types" +version = "0.0.0" +source = "git+https://github.com/oxidecomputer/propolis?rev=58ab73bde89ade637b0ca8118682ee9575da6c2a#58ab73bde89ade637b0ca8118682ee9575da6c2a" +dependencies = [ + "crucible-client-types 0.1.0 (git+https://github.com/oxidecomputer/crucible?rev=bd9a0e2abe6b6b89aec8c85f4ee57474144ed150)", + "propolis-api-types-versions 0.0.0 (git+https://github.com/oxidecomputer/propolis?rev=58ab73bde89ade637b0ca8118682ee9575da6c2a)", +] + [[package]] name = "propolis_api_types" version = "0.0.0" @@ -7042,6 +7950,15 @@ dependencies = [ "serde_test", ] +[[package]] +name = "propolis_types" +version = "0.0.0" +source = "git+https://github.com/oxidecomputer/propolis?rev=58ab73bde89ade637b0ca8118682ee9575da6c2a#58ab73bde89ade637b0ca8118682ee9575da6c2a" +dependencies = [ + "schemars 0.8.22", + "serde", +] + [[package]] name = "propolis_types" version = "0.0.0" @@ -7071,7 +7988,7 @@ dependencies = [ "bitflags 2.9.4", "lazy_static", "num-traits", - "rand 0.8.5", + "rand 0.8.6", "rand_chacha 0.3.1", "rand_xorshift", "regex-syntax 0.8.5", @@ -7202,9 +8119,9 @@ checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] name = "rand" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" dependencies = [ "libc", "rand_chacha 0.3.1", @@ -8443,6 +9360,36 @@ dependencies = [ "uuid", ] +[[package]] +name = "sled-agent-types" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "anyhow", + "async-trait", + "bootstore 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "byte-wrapper", + "camino", + "chrono", + "daft", + "iddqd 0.4.2", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "oxnet", + "schemars 0.8.22", + "serde", + "serde_json", + "sled-agent-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "sled-hardware-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "slog", + "slog-error-chain", + "swrite", + "thiserror 2.0.18", + "tufaceous-artifact", + "uuid", +] + [[package]] name = "sled-agent-types" version = "0.1.0" @@ -8454,7 +9401,7 @@ dependencies = [ "camino", "chrono", "daft", - "iddqd", + "iddqd 0.3.18", "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831)", "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831)", "omicron-workspace-hack", @@ -8487,7 +9434,7 @@ dependencies = [ "camino", "chrono", "daft", - "iddqd", + "iddqd 0.3.18", "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-workspace-hack", @@ -8505,6 +9452,45 @@ dependencies = [ "uuid", ] +[[package]] +name = "sled-agent-types-versions" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "anyhow", + "async-trait", + "bootstore 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "byte-wrapper", + "camino", + "chrono", + "daft", + "iddqd 0.4.2", + "indent_write", + "ipnetwork", + "itertools 0.14.0", + "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-ledger 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-passwords 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "oxnet", + "propolis-api-types-versions 0.0.0 (git+https://github.com/oxidecomputer/propolis?rev=58ab73bde89ade637b0ca8118682ee9575da6c2a)", + "propolis_api_types 0.0.0 (git+https://github.com/oxidecomputer/propolis?rev=58ab73bde89ade637b0ca8118682ee9575da6c2a)", + "schemars 0.8.22", + "serde", + "serde_json", + "serde_with", + "sha3", + "sled-hardware-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "slog", + "slog-error-chain", + "strum 0.27.2", + "thiserror 2.0.18", + "trust-quorum-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "tufaceous-artifact", + "uuid", +] + [[package]] name = "sled-agent-types-versions" version = "0.1.0" @@ -8515,7 +9501,7 @@ dependencies = [ "camino", "chrono", "daft", - "iddqd", + "iddqd 0.3.18", "illumos-utils 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831)", "indent_write", "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831)", @@ -8551,12 +9537,12 @@ dependencies = [ "camino", "chrono", "daft", - "iddqd", + "iddqd 0.3.18", "indent_write", "ipnetwork", "itertools 0.14.0", "omicron-common 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", - "omicron-ledger", + "omicron-ledger 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-passwords 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-workspace-hack", @@ -8578,6 +9564,19 @@ dependencies = [ "uuid", ] +[[package]] +name = "sled-hardware-types" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "daft", + "omicron-workspace-hack", + "schemars 0.8.22", + "serde", + "slog", + "thiserror 2.0.18", +] + [[package]] name = "sled-hardware-types" version = "0.1.0" @@ -8790,7 +9789,7 @@ version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1c97747dbf44bb1ca44a561ece23508e99cb592e862f22222dcf42f51d1e451" dependencies = [ - "heck 0.5.0", + "heck 0.4.1", "proc-macro2", "quote", "syn 2.0.117", @@ -9723,6 +10722,40 @@ dependencies = [ "walkdir", ] +[[package]] +name = "tough" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8031cff0872dd1c6312370515a6be8098f6ea5512f1bad725016046fc725f272" +dependencies = [ + "async-recursion", + "async-trait", + "aws-lc-rs", + "bytes", + "chrono", + "dyn-clone", + "futures", + "futures-core", + "globset", + "hex", + "log", + "olpc-cjson", + "pem", + "percent-encoding", + "rustls 0.23.31", + "serde", + "serde_json", + "serde_plain", + "snafu", + "tempfile", + "tokio", + "tokio-util", + "typed-path", + "untrusted 0.7.1", + "url", + "walkdir", +] + [[package]] name = "tower" version = "0.5.2" @@ -9871,6 +10904,41 @@ dependencies = [ "tracing-log 0.2.0", ] +[[package]] +name = "trust-quorum-protocol" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "bootstore 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "bytes", + "camino", + "chacha20poly1305", + "ciborium", + "daft", + "derive_more", + "gfss 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "hex", + "hkdf", + "iddqd 0.4.2", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "rand 0.9.2", + "secrecy", + "serde", + "serde_with", + "sha3", + "sled-agent-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "sled-hardware-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "slog", + "slog-error-chain", + "static_assertions", + "subtle", + "thiserror 2.0.18", + "trust-quorum-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "uuid", + "zeroize", +] + [[package]] name = "trust-quorum-protocol" version = "0.1.0" @@ -9886,7 +10954,7 @@ dependencies = [ "gfss 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "hex", "hkdf", - "iddqd", + "iddqd 0.3.18", "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-workspace-hack", "rand 0.9.2", @@ -9906,6 +10974,15 @@ dependencies = [ "zeroize", ] +[[package]] +name = "trust-quorum-types" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "omicron-workspace-hack", + "trust-quorum-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", +] + [[package]] name = "trust-quorum-types" version = "0.1.0" @@ -9924,6 +11001,28 @@ dependencies = [ "trust-quorum-types-versions 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", ] +[[package]] +name = "trust-quorum-types-versions" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "byte-wrapper", + "daft", + "derive_more", + "gfss 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "iddqd 0.4.2", + "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "omicron-workspace-hack", + "rand 0.9.2", + "schemars 0.8.22", + "serde", + "serde_with", + "sled-hardware-types 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162)", + "slog", + "slog-error-chain", + "thiserror 2.0.18", +] + [[package]] name = "trust-quorum-types-versions" version = "0.1.0" @@ -9932,7 +11031,7 @@ dependencies = [ "daft", "derive_more", "gfss 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831)", - "iddqd", + "iddqd 0.3.18", "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=becbbb616f5f18b59cc42e511c148734c2ba3831)", "omicron-workspace-hack", "rand 0.9.2", @@ -9955,7 +11054,7 @@ dependencies = [ "daft", "derive_more", "gfss 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", - "iddqd", + "iddqd 0.3.18", "omicron-uuid-kinds 0.1.0 (git+https://github.com/oxidecomputer/omicron?rev=fa779b29af7a8656657ccca6ec531446188d916c)", "omicron-workspace-hack", "rand 0.9.2", @@ -10003,7 +11102,7 @@ dependencies = [ "http", "httparse", "log", - "rand 0.8.5", + "rand 0.8.6", "sha1", "thiserror 1.0.64", "url", @@ -10216,6 +11315,36 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" +[[package]] +name = "update-engine" +version = "0.1.0" +source = "git+https://github.com/oxidecomputer/omicron?rev=5fd53a9c9ff2b0e47bfef3fe842b7516877b0162#5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" +dependencies = [ + "anyhow", + "cancel-safe-futures", + "chrono", + "debug-ignore", + "derive-where", + "either", + "futures", + "indent_write", + "indexmap 2.14.0", + "libsw", + "linear-map", + "omicron-workspace-hack", + "owo-colors", + "petgraph 0.8.3", + "schemars 0.8.22", + "serde", + "serde_json", + "serde_with", + "slog", + "swrite", + "tokio", + "unicode-width 0.1.14", + "uuid", +] + [[package]] name = "update-engine" version = "0.1.0" @@ -10521,7 +11650,7 @@ dependencies = [ "curve25519-dalek", "elliptic-curve", "hex", - "rand 0.8.5", + "rand 0.8.6", "rand_chacha 0.3.1", "rand_core 0.6.4", "serde", diff --git a/Cargo.toml b/Cargo.toml index f6105a56a..6689ce502 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -81,15 +81,15 @@ p9ds = { git = "https://github.com/oxidecomputer/p9fs" } softnpu = { git = "https://github.com/oxidecomputer/softnpu" } # Omicron-related -internal-dns-resolver = { git = "https://github.com/oxidecomputer/omicron", rev = "fa779b29af7a8656657ccca6ec531446188d916c" } -internal-dns-types = { git = "https://github.com/oxidecomputer/omicron", rev = "fa779b29af7a8656657ccca6ec531446188d916c" } -nexus-client = { git = "https://github.com/oxidecomputer/omicron", rev = "fa779b29af7a8656657ccca6ec531446188d916c" } -omicron-common = { git = "https://github.com/oxidecomputer/omicron", rev = "fa779b29af7a8656657ccca6ec531446188d916c" } +internal-dns-resolver = { git = "https://github.com/oxidecomputer/omicron", rev = "5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" } +internal-dns-types = { git = "https://github.com/oxidecomputer/omicron", rev = "5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" } +nexus-client = { git = "https://github.com/oxidecomputer/omicron", rev = "5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" } +omicron-common = { git = "https://github.com/oxidecomputer/omicron", rev = "5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" } omicron-zone-package = "0.12.2" -oximeter-instruments = { git = "https://github.com/oxidecomputer/omicron", rev = "fa779b29af7a8656657ccca6ec531446188d916c", default-features = false, features = ["kstat"] } -oximeter-producer = { git = "https://github.com/oxidecomputer/omicron", rev = "fa779b29af7a8656657ccca6ec531446188d916c" } -oximeter = { git = "https://github.com/oxidecomputer/omicron", rev = "fa779b29af7a8656657ccca6ec531446188d916c" } -sled-agent-client = { git = "https://github.com/oxidecomputer/omicron", rev = "fa779b29af7a8656657ccca6ec531446188d916c" } +oximeter-instruments = { git = "https://github.com/oxidecomputer/omicron", rev = "5fd53a9c9ff2b0e47bfef3fe842b7516877b0162", default-features = false, features = ["kstat"] } +oximeter-producer = { git = "https://github.com/oxidecomputer/omicron", rev = "5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" } +oximeter = { git = "https://github.com/oxidecomputer/omicron", rev = "5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" } +sled-agent-client = { git = "https://github.com/oxidecomputer/omicron", rev = "5fd53a9c9ff2b0e47bfef3fe842b7516877b0162" } # Crucible crucible = { git = "https://github.com/oxidecomputer/crucible", rev = "bd9a0e2abe6b6b89aec8c85f4ee57474144ed150" }