diff --git a/Cargo.lock b/Cargo.lock index 5fdcebe1f..de72fe926 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -147,9 +147,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" dependencies = [ "backtrace", ] @@ -157,7 +157,7 @@ dependencies = [ [[package]] name = "api_identity" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "omicron-workspace-hack", "proc-macro2", @@ -239,6 +239,17 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +[[package]] +name = "atomicwrites" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ef1bb8d1b645fe38d51dfc331d720fb5fc2c94b440c76cc79c80ff265ca33e3" +dependencies = [ + "rustix", + "tempfile", + "windows-sys 0.52.0", +] + [[package]] name = "atty" version = "0.2.14" @@ -315,9 +326,9 @@ dependencies = [ [[package]] name = "bhyve_api" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=24a74d0c76b6a63961ecef76acb1516b6e66c5c9#24a74d0c76b6a63961ecef76acb1516b6e66c5c9" +source = "git+https://github.com/oxidecomputer/propolis?rev=4ba9c33817c89d5d48b96e037a64421fb7a026e2#4ba9c33817c89d5d48b96e037a64421fb7a026e2" dependencies = [ - "bhyve_api_sys 0.0.0 (git+https://github.com/oxidecomputer/propolis?rev=24a74d0c76b6a63961ecef76acb1516b6e66c5c9)", + "bhyve_api_sys 0.0.0 (git+https://github.com/oxidecomputer/propolis?rev=4ba9c33817c89d5d48b96e037a64421fb7a026e2)", "libc", "strum", ] @@ -333,7 +344,7 @@ dependencies = [ [[package]] name = "bhyve_api_sys" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/propolis?rev=24a74d0c76b6a63961ecef76acb1516b6e66c5c9#24a74d0c76b6a63961ecef76acb1516b6e66c5c9" +source = "git+https://github.com/oxidecomputer/propolis?rev=4ba9c33817c89d5d48b96e037a64421fb7a026e2#4ba9c33817c89d5d48b96e037a64421fb7a026e2" dependencies = [ "libc", "strum", @@ -484,6 +495,19 @@ dependencies = [ "tempfile", ] +[[package]] +name = "cancel-safe-futures" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97eb3167cc49e8a4c1be907817009850b8b9693b225092d0f9b00fa9de076e4e" +dependencies = [ + "futures-core", + "futures-sink", + "futures-util", + "pin-project-lite", + "tokio", +] + [[package]] name = "cargo-platform" version = "0.1.8" @@ -602,6 +626,26 @@ 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?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" +dependencies = [ + "anyhow", + "atomicwrites", + "camino", + "camino-tempfile", + "derive_more", + "expectorate", + "itertools 0.13.0", + "omicron-common", + "omicron-workspace-hack", + "schemars", + "serde", + "serde_json", + "slog", +] + [[package]] name = "cobs" version = "0.2.3" @@ -754,7 +798,7 @@ checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crucible" version = "0.0.1" -source = "git+https://github.com/oxidecomputer/crucible?rev=a551f245e8a26f52098382903ccf0a982b7c54fa#a551f245e8a26f52098382903ccf0a982b7c54fa" +source = "git+https://github.com/oxidecomputer/crucible?rev=2b88ab88461fb06aaf2aab11c5e381a3cad25eac#2b88ab88461fb06aaf2aab11c5e381a3cad25eac" dependencies = [ "aes-gcm-siv", "anyhow", @@ -769,7 +813,7 @@ dependencies = [ "crucible-common", "crucible-protocol", "crucible-workspace-hack", - "dropshot 0.11.1-dev", + "dropshot", "futures", "futures-core", "http 0.2.12", @@ -781,11 +825,11 @@ dependencies = [ "omicron-uuid-kinds", "oximeter", "oximeter-producer", - "progenitor-client 0.7.0", + "progenitor-client", "rand", "rand_chacha", "rayon", - "reqwest 0.11.27", + "reqwest 0.12.7", "ringbuffer", "schemars", "serde", @@ -807,7 +851,7 @@ dependencies = [ [[package]] name = "crucible-client-types" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/crucible?rev=a551f245e8a26f52098382903ccf0a982b7c54fa#a551f245e8a26f52098382903ccf0a982b7c54fa" +source = "git+https://github.com/oxidecomputer/crucible?rev=2b88ab88461fb06aaf2aab11c5e381a3cad25eac#2b88ab88461fb06aaf2aab11c5e381a3cad25eac" dependencies = [ "base64 0.22.1", "crucible-workspace-hack", @@ -820,12 +864,12 @@ dependencies = [ [[package]] name = "crucible-common" version = "0.0.1" -source = "git+https://github.com/oxidecomputer/crucible?rev=a551f245e8a26f52098382903ccf0a982b7c54fa#a551f245e8a26f52098382903ccf0a982b7c54fa" +source = "git+https://github.com/oxidecomputer/crucible?rev=2b88ab88461fb06aaf2aab11c5e381a3cad25eac#2b88ab88461fb06aaf2aab11c5e381a3cad25eac" dependencies = [ "anyhow", "atty", "crucible-workspace-hack", - "dropshot 0.11.1-dev", + "dropshot", "nix 0.29.0", "rusqlite", "rustls-pemfile 1.0.4", @@ -850,7 +894,7 @@ dependencies = [ [[package]] name = "crucible-protocol" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/crucible?rev=a551f245e8a26f52098382903ccf0a982b7c54fa#a551f245e8a26f52098382903ccf0a982b7c54fa" +source = "git+https://github.com/oxidecomputer/crucible?rev=2b88ab88461fb06aaf2aab11c5e381a3cad25eac#2b88ab88461fb06aaf2aab11c5e381a3cad25eac" dependencies = [ "anyhow", "bincode", @@ -869,7 +913,7 @@ dependencies = [ [[package]] name = "crucible-smf" version = "0.0.0" -source = "git+https://github.com/oxidecomputer/crucible?rev=eab46702b6a43ff558672462dea3eb5ff7b8a0e6#eab46702b6a43ff558672462dea3eb5ff7b8a0e6" +source = "git+https://github.com/oxidecomputer/crucible?rev=74286f952a2953cd08512015076f0947050deba7#74286f952a2953cd08512015076f0947050deba7" dependencies = [ "crucible-workspace-hack", "libc", @@ -1151,15 +1195,15 @@ dependencies = [ [[package]] name = "dns-service-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "anyhow", "chrono", "expectorate", - "http 0.2.12", + "http 1.1.0", "omicron-workspace-hack", - "progenitor 0.7.0", - "reqwest 0.11.27", + "progenitor", + "reqwest 0.12.7", "schemars", "serde", "slog", @@ -1195,52 +1239,6 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" -[[package]] -name = "dropshot" -version = "0.11.1-dev" -source = "git+https://github.com/oxidecomputer/dropshot?branch=main#a8f3f97a2eec06765893d43ede6f811ccc7949ea" -dependencies = [ - "async-stream", - "async-trait", - "base64 0.22.1", - "bytes", - "camino", - "chrono", - "debug-ignore", - "dropshot_endpoint 0.11.1-dev", - "form_urlencoded", - "futures", - "hostname 0.4.0", - "http 0.2.12", - "hyper 0.14.28", - "indexmap 2.5.0", - "multer", - "openapiv3", - "paste", - "percent-encoding", - "rustls 0.22.4", - "rustls-pemfile 2.1.3", - "schemars", - "scopeguard", - "serde", - "serde_json", - "serde_path_to_error", - "serde_urlencoded", - "sha1", - "slog", - "slog-async", - "slog-bunyan", - "slog-json", - "slog-term", - "tokio", - "tokio-rustls 0.25.0", - "toml 0.8.19", - "usdt 0.5.0", - "uuid", - "version_check", - "waitgroup", -] - [[package]] name = "dropshot" version = "0.12.0" @@ -1254,7 +1252,7 @@ dependencies = [ "camino", "chrono", "debug-ignore", - "dropshot_endpoint 0.12.0", + "dropshot_endpoint", "form_urlencoded", "futures", "hostname 0.4.0", @@ -1290,19 +1288,6 @@ dependencies = [ "waitgroup", ] -[[package]] -name = "dropshot_endpoint" -version = "0.11.1-dev" -source = "git+https://github.com/oxidecomputer/dropshot?branch=main#a8f3f97a2eec06765893d43ede6f811ccc7949ea" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "serde", - "serde_tokenstream 0.2.2", - "syn 2.0.77", -] - [[package]] name = "dropshot_endpoint" version = "0.12.0" @@ -1711,15 +1696,15 @@ dependencies = [ [[package]] name = "gateway-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "base64 0.22.1", "chrono", "gateway-messages", "omicron-workspace-hack", - "progenitor 0.7.0", + "progenitor", "rand", - "reqwest 0.11.27", + "reqwest 0.12.7", "schemars", "serde", "serde_json", @@ -1730,11 +1715,12 @@ dependencies = [ [[package]] name = "gateway-messages" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/management-gateway-service?rev=319e7b92db69792ab8efa4c68554ad0cf83adf93#319e7b92db69792ab8efa4c68554ad0cf83adf93" +source = "git+https://github.com/oxidecomputer/management-gateway-service?rev=9bbac475dcaac88286c07a20b6bd3e94fc81d7f0#9bbac475dcaac88286c07a20b6bd3e94fc81d7f0" dependencies = [ "bitflags 2.6.0", "hubpack", "serde", + "serde-big-array", "serde_repr", "static_assertions", "strum_macros 0.25.3", @@ -2187,15 +2173,18 @@ dependencies = [ [[package]] name = "hyper-tls" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", - "hyper 0.14.28", + "http-body-util", + "hyper 1.4.1", + "hyper-util", "native-tls", "tokio", "tokio-native-tls", + "tower-service", ] [[package]] @@ -2274,11 +2263,11 @@ source = "git+https://github.com/oxidecomputer/opte?rev=76878de67229ea113d70503c [[package]] name = "illumos-utils" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "anyhow", "async-trait", - "bhyve_api 0.0.0 (git+https://github.com/oxidecomputer/propolis?rev=24a74d0c76b6a63961ecef76acb1516b6e66c5c9)", + "bhyve_api 0.0.0 (git+https://github.com/oxidecomputer/propolis?rev=4ba9c33817c89d5d48b96e037a64421fb7a026e2)", "byteorder", "camino", "camino-tempfile", @@ -2318,6 +2307,12 @@ dependencies = [ "png", ] +[[package]] +name = "indent_write" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cfe9645a18782869361d9c8732246be7b410ad4e919d3609ebabdac00ba12c3" + [[package]] name = "indexmap" version = "1.9.3" @@ -2374,18 +2369,18 @@ dependencies = [ [[package]] name = "internal-dns" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "anyhow", "chrono", "dns-service-client", "futures", "hickory-resolver", - "hyper 0.14.28", + "hyper 1.4.1", "omicron-common", "omicron-uuid-kinds", "omicron-workspace-hack", - "reqwest 0.11.27", + "reqwest 0.12.7", "slog", "thiserror", "uuid", @@ -2615,6 +2610,15 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "libsw" +version = "3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0673364c1ef7a1674241dbad9ba2415354103d6126451f01eeb7aaa25d6b4fce" +dependencies = [ + "tokio", +] + [[package]] name = "libz-sys" version = "1.1.16" @@ -2627,6 +2631,12 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "linear-map" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee" + [[package]] name = "linked-hash-map" version = "0.5.6" @@ -2728,13 +2738,13 @@ dependencies = [ [[package]] name = "mg-admin-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/maghemite?rev=9e0fe45ca3862176dc31ad8cc83f605f8a7e1a42#9e0fe45ca3862176dc31ad8cc83f605f8a7e1a42" +source = "git+https://github.com/oxidecomputer/maghemite?branch=hyper-v1-no-merge#b13b5b240f3967de753fd589b1036745d2770b52" dependencies = [ "anyhow", "chrono", "percent-encoding", - "progenitor 0.7.0", - "reqwest 0.11.27", + "progenitor", + "reqwest 0.12.7", "schemars", "serde", "serde_json", @@ -2863,7 +2873,7 @@ dependencies = [ [[package]] name = "nexus-client" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "chrono", "futures", @@ -2874,9 +2884,9 @@ dependencies = [ "omicron-uuid-kinds", "omicron-workspace-hack", "oxnet", - "progenitor 0.7.0", + "progenitor", "regress 0.9.1", - "reqwest 0.11.27", + "reqwest 0.12.7", "schemars", "serde", "serde_json", @@ -2887,8 +2897,9 @@ dependencies = [ [[package]] name = "nexus-sled-agent-shared" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ + "illumos-utils", "omicron-common", "omicron-passwords", "omicron-uuid-kinds", @@ -2905,7 +2916,7 @@ dependencies = [ [[package]] name = "nexus-types" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "anyhow", "api_identity", @@ -2913,14 +2924,15 @@ dependencies = [ "base64 0.22.1", "chrono", "clap", + "clickhouse-admin-types", "cookie", "derive-where", "derive_more", "dns-service-client", - "dropshot 0.11.1-dev", + "dropshot", "futures", "gateway-client", - "http 0.2.12", + "http 1.1.0", "humantime", "ipnetwork", "newtype-uuid", @@ -2943,6 +2955,7 @@ dependencies = [ "steno", "strum", "thiserror", + "update-engine", "uuid", ] @@ -3191,7 +3204,7 @@ dependencies = [ [[package]] name = "omicron-common" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "anyhow", "api_identity", @@ -3199,10 +3212,10 @@ dependencies = [ "backoff", "camino", "chrono", - "dropshot 0.11.1-dev", + "dropshot", "futures", "hex", - "http 0.2.12", + "http 1.1.0", "ipnetwork", "macaddr", "mg-admin-client", @@ -3211,11 +3224,11 @@ dependencies = [ "once_cell", "oxnet", "parse-display", - "progenitor 0.7.0", - "progenitor-client 0.7.0", + "progenitor", + "progenitor-client", "rand", "regress 0.9.1", - "reqwest 0.11.27", + "reqwest 0.12.7", "schemars", "semver 1.0.23", "serde", @@ -3233,7 +3246,7 @@ dependencies = [ [[package]] name = "omicron-passwords" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "argon2", "omicron-workspace-hack", @@ -3247,7 +3260,7 @@ dependencies = [ [[package]] name = "omicron-uuid-kinds" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "newtype-uuid", "paste", @@ -3448,7 +3461,7 @@ dependencies = [ [[package]] name = "oximeter" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "anyhow", "chrono", @@ -3467,7 +3480,7 @@ dependencies = [ [[package]] name = "oximeter-instruments" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#9fb967ded78f188c2386ee5644fb1b5c799b6e11" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "cfg-if", "chrono", @@ -3485,7 +3498,7 @@ dependencies = [ [[package]] name = "oximeter-macro-impl" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "omicron-workspace-hack", "proc-macro2", @@ -3496,10 +3509,10 @@ dependencies = [ [[package]] name = "oximeter-producer" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "chrono", - "dropshot 0.11.1-dev", + "dropshot", "internal-dns", "nexus-client", "omicron-common", @@ -3517,7 +3530,7 @@ dependencies = [ [[package]] name = "oximeter-schema" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "anyhow", "chrono", @@ -3538,7 +3551,7 @@ dependencies = [ [[package]] name = "oximeter-timeseries-macro" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "omicron-workspace-hack", "oximeter-schema", @@ -3551,7 +3564,7 @@ dependencies = [ [[package]] name = "oximeter-types" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "bytes", "chrono", @@ -3570,7 +3583,7 @@ dependencies = [ [[package]] name = "oxlog" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "anyhow", "camino", @@ -3595,7 +3608,7 @@ dependencies = [ [[package]] name = "oxql-types" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "anyhow", "chrono", @@ -4096,39 +4109,15 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "progenitor" -version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#0a25eb9259216ef4d8de26509c2c11e176149b5b" -dependencies = [ - "progenitor-client 0.7.0", - "progenitor-impl 0.7.0", - "progenitor-macro 0.7.0", -] - [[package]] name = "progenitor" version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "293df5b79211fbf0c1ebad6513ba451d267e9c15f5f19ee5d3da775e2dd27331" dependencies = [ - "progenitor-client 0.8.0", - "progenitor-impl 0.8.0", - "progenitor-macro 0.8.0", -] - -[[package]] -name = "progenitor-client" -version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#0a25eb9259216ef4d8de26509c2c11e176149b5b" -dependencies = [ - "bytes", - "futures-core", - "percent-encoding", - "reqwest 0.11.27", - "serde", - "serde_json", - "serde_urlencoded", + "progenitor-client", + "progenitor-impl", + "progenitor-macro", ] [[package]] @@ -4146,27 +4135,6 @@ dependencies = [ "serde_urlencoded", ] -[[package]] -name = "progenitor-impl" -version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#0a25eb9259216ef4d8de26509c2c11e176149b5b" -dependencies = [ - "heck 0.5.0", - "http 0.2.12", - "indexmap 2.5.0", - "openapiv3", - "proc-macro2", - "quote", - "regex", - "schemars", - "serde", - "serde_json", - "syn 2.0.77", - "thiserror", - "typify 0.1.0", - "unicode-ident", -] - [[package]] name = "progenitor-impl" version = "0.8.0" @@ -4185,27 +4153,10 @@ dependencies = [ "serde_json", "syn 2.0.77", "thiserror", - "typify 0.2.0", + "typify", "unicode-ident", ] -[[package]] -name = "progenitor-macro" -version = "0.7.0" -source = "git+https://github.com/oxidecomputer/progenitor?branch=main#0a25eb9259216ef4d8de26509c2c11e176149b5b" -dependencies = [ - "openapiv3", - "proc-macro2", - "progenitor-impl 0.7.0", - "quote", - "schemars", - "serde", - "serde_json", - "serde_tokenstream 0.2.2", - "serde_yaml", - "syn 2.0.77", -] - [[package]] name = "progenitor-macro" version = "0.8.0" @@ -4214,7 +4165,7 @@ checksum = "d99a5a259e2d65a4933054aa51717c70b6aba0522695731ac354a522124efc9b" dependencies = [ "openapiv3", "proc-macro2", - "progenitor-impl 0.8.0", + "progenitor-impl", "quote", "schemars", "serde", @@ -4299,7 +4250,7 @@ dependencies = [ "async-trait", "base64 0.21.7", "futures", - "progenitor 0.8.0", + "progenitor", "rand", "reqwest 0.12.7", "schemars", @@ -4320,10 +4271,10 @@ dependencies = [ "atty", "base64 0.21.7", "clap", - "dropshot 0.12.0", + "dropshot", "futures", "hyper 1.4.1", - "progenitor 0.8.0", + "progenitor", "propolis_types", "rand", "reqwest 0.12.7", @@ -4366,7 +4317,7 @@ dependencies = [ "clap", "const_format", "crucible-client-types", - "dropshot 0.12.0", + "dropshot", "erased-serde", "expectorate", "futures", @@ -4711,12 +4662,10 @@ dependencies = [ "http-body 0.4.6", "hyper 0.14.28", "hyper-rustls 0.24.2", - "hyper-tls", "ipnet", "js-sys", "log", "mime", - "native-tls", "once_cell", "percent-encoding", "pin-project-lite", @@ -4726,9 +4675,8 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper 0.1.2", - "system-configuration", + "system-configuration 0.5.1", "tokio", - "tokio-native-tls", "tokio-rustls 0.24.1", "tokio-util", "tower-service", @@ -4749,19 +4697,23 @@ checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63" dependencies = [ "base64 0.22.1", "bytes", + "encoding_rs", "futures-channel", "futures-core", "futures-util", + "h2 0.4.6", "http 1.1.0", "http-body 1.0.1", "http-body-util", "hyper 1.4.1", "hyper-rustls 0.27.3", + "hyper-tls", "hyper-util", "ipnet", "js-sys", "log", "mime", + "native-tls", "once_cell", "percent-encoding", "pin-project-lite", @@ -4773,7 +4725,9 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper 1.0.1", + "system-configuration 0.6.1", "tokio", + "tokio-native-tls", "tokio-rustls 0.26.0", "tokio-util", "tower-service", @@ -4804,7 +4758,7 @@ dependencies = [ "ascii", "bitflags 2.6.0", "clap", - "dropshot 0.12.0", + "dropshot", "futures", "image", "rgb_frame", @@ -5193,6 +5147,15 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "serde-big-array" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11fc7cc2c76d73e0f27ee52abbd64eec84d46f370c88371120433196934e4b7f" +dependencies = [ + "serde", +] + [[package]] name = "serde_arrays" version = "0.1.0" @@ -5464,7 +5427,7 @@ dependencies = [ [[package]] name = "sled-hardware-types" version = "0.1.0" -source = "git+https://github.com/oxidecomputer/omicron?branch=main#5bf5f09545b7b74f809c099db5c0b315ea06f9be" +source = "git+https://github.com/oxidecomputer/omicron?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" dependencies = [ "illumos-utils", "omicron-common", @@ -5789,6 +5752,12 @@ dependencies = [ "is_ci", ] +[[package]] +name = "swrite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f3fece30b2dc06d65ecbca97b602db15bf75f932711d60cc604534f1f8b7a03" + [[package]] name = "syn" version = "1.0.109" @@ -5846,7 +5815,18 @@ checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", "core-foundation", - "system-configuration-sys", + "system-configuration-sys 0.5.0", +] + +[[package]] +name = "system-configuration" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +dependencies = [ + "bitflags 2.6.0", + "core-foundation", + "system-configuration-sys 0.6.0", ] [[package]] @@ -5859,6 +5839,16 @@ dependencies = [ "libc", ] +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tabwriter" version = "1.4.0" @@ -6393,42 +6383,14 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -[[package]] -name = "typify" -version = "0.1.0" -source = "git+https://github.com/oxidecomputer/typify#ebdee8c4a68dbe9351c58614330724e8ced1fda8" -dependencies = [ - "typify-impl 0.1.0", - "typify-macro 0.1.0", -] - [[package]] name = "typify" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c644dda9862f0fef3a570d8ddb3c2cfb1d5ac824a1f2ddfa7bc8f071a5ad8a" dependencies = [ - "typify-impl 0.2.0", - "typify-macro 0.2.0", -] - -[[package]] -name = "typify-impl" -version = "0.1.0" -source = "git+https://github.com/oxidecomputer/typify#ebdee8c4a68dbe9351c58614330724e8ced1fda8" -dependencies = [ - "heck 0.5.0", - "log", - "proc-macro2", - "quote", - "regress 0.10.1", - "schemars", - "semver 1.0.23", - "serde", - "serde_json", - "syn 2.0.77", - "thiserror", - "unicode-ident", + "typify-impl", + "typify-macro", ] [[package]] @@ -6451,22 +6413,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "typify-macro" -version = "0.1.0" -source = "git+https://github.com/oxidecomputer/typify#ebdee8c4a68dbe9351c58614330724e8ced1fda8" -dependencies = [ - "proc-macro2", - "quote", - "schemars", - "semver 1.0.23", - "serde", - "serde_json", - "serde_tokenstream 0.2.2", - "syn 2.0.77", - "typify-impl 0.1.0", -] - [[package]] name = "typify-macro" version = "0.2.0" @@ -6481,7 +6427,7 @@ dependencies = [ "serde_json", "serde_tokenstream 0.2.2", "syn 2.0.77", - "typify-impl 0.2.0", + "typify-impl", ] [[package]] @@ -6557,6 +6503,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?branch=main#888f6a1eae91e5e7091f2e174dec7a8ee5bd04b5" +dependencies = [ + "anyhow", + "cancel-safe-futures", + "chrono", + "debug-ignore", + "derive-where", + "either", + "futures", + "indent_write", + "indexmap 2.5.0", + "libsw", + "linear-map", + "omicron-workspace-hack", + "owo-colors", + "petgraph", + "schemars", + "serde", + "serde_json", + "serde_with", + "slog", + "swrite", + "tokio", + "unicode-width", + "uuid", +] + [[package]] name = "url" version = "2.5.0" diff --git a/Cargo.toml b/Cargo.toml index 91daea3bd..2a1bc9e69 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -81,8 +81,8 @@ oximeter = { git = "https://github.com/oxidecomputer/omicron", branch = "main" } sled-agent-client = { git = "https://github.com/oxidecomputer/omicron", branch = "main" } # Crucible -crucible = { git = "https://github.com/oxidecomputer/crucible", rev = "a551f245e8a26f52098382903ccf0a982b7c54fa" } -crucible-client-types = { git = "https://github.com/oxidecomputer/crucible", rev = "a551f245e8a26f52098382903ccf0a982b7c54fa" } +crucible = { git = "https://github.com/oxidecomputer/crucible", rev = "2b88ab88461fb06aaf2aab11c5e381a3cad25eac" } +crucible-client-types = { git = "https://github.com/oxidecomputer/crucible", rev = "2b88ab88461fb06aaf2aab11c5e381a3cad25eac" } # External dependencies anyhow = "1.0"