From 09fb3cefe1f120df2f49f7d59f3be1bf5d022225 Mon Sep 17 00:00:00 2001 From: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> Date: Tue, 7 Apr 2026 12:27:27 +0200 Subject: [PATCH 1/3] fix: migrate immutable internal secrets to mutable versions --- CHANGELOG.md | 5 + .../operator-binary/src/airflow_controller.rs | 33 +++-- .../src/crd/internal_secret.rs | 122 ------------------ rust/operator-binary/src/crd/mod.rs | 1 - 4 files changed, 28 insertions(+), 133 deletions(-) delete mode 100644 rust/operator-binary/src/crd/internal_secret.rs diff --git a/CHANGELOG.md b/CHANGELOG.md index 2c62643c..9947c359 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,12 @@ - Document Helm deployed RBAC permissions and remove unnecessary permissions ([#767]). +### Fixed + +- Do not use immutable Secret objects for internal secrets. Migrate existing secrets to mutable versions ([#770]). + - [#767]: https://github.com/stackabletech/airflow-operator/pull/767 +- [#770]: https://github.com/stackabletech/airflow-operator/pull/770 ## [26.3.0] - 2026-03-16 diff --git a/rust/operator-binary/src/airflow_controller.rs b/rust/operator-binary/src/airflow_controller.rs index 4930c575..3bea1252 100644 --- a/rust/operator-binary/src/airflow_controller.rs +++ b/rust/operator-binary/src/airflow_controller.rs @@ -32,6 +32,7 @@ use stackable_operator::{ cluster_resources::{ClusterResourceApplyStrategy, ClusterResources}, commons::{ product_image_selection::{self, ResolvedProductImage}, + random_secret_creation, rbac::build_rbac_resources, }, crd::{ @@ -92,12 +93,7 @@ use crate::{ AirflowAuthenticationClassResolved, AirflowClientAuthenticationDetailsResolved, }, authorization::AirflowAuthorizationResolved, - build_recommended_labels, - internal_secret::{ - FERNET_KEY_SECRET_KEY, INTERNAL_SECRET_SECRET_KEY, JWT_SECRET_SECRET_KEY, - create_random_secret, - }, - v1alpha2, + build_recommended_labels, v1alpha2, }, env_vars::{self, build_airflow_template_envs}, operations::{ @@ -113,6 +109,21 @@ use crate::{ }, }; +// Used for env-vars: AIRFLOW__WEBSERVER__SECRET_KEY, AIRFLOW__API__SECRET_KEY +// N.B. AIRFLOW__WEBSERVER__SECRET_KEY is deprecated as of 3.0.2. +// Secret key used to run the api server. It should be as random as possible. +// It should be consistent across instances of the webserver. The webserver key +// is also used to authorize requests to Celery workers when logs are retrieved. +pub const INTERNAL_SECRET_SECRET_KEY: &str = "INTERNAL_SECRET"; +// Used for env-var: AIRFLOW__API_AUTH__JWT_SECRET +// Secret key used to encode and decode JWTs to authenticate to public and +// private APIs. It should be as random as possible, but consistent across +// instances of API services. +pub const JWT_SECRET_SECRET_KEY: &str = "JWT_SECRET"; +// Used for env-var: AIRFLOW__CORE__FERNET_KEY +// See https://airflow.apache.org/docs/apache-airflow/stable/security/secrets/fernet.html#security-fernet +pub const FERNET_KEY_SECRET_KEY: &str = "FERNET_KEY"; + pub const AIRFLOW_CONTROLLER_NAME: &str = "airflowcluster"; pub const DOCKER_IMAGE_BASE_NAME: &str = "airflow"; pub const AIRFLOW_FULL_CONTROLLER_NAME: &str = @@ -353,7 +364,9 @@ pub enum Error { }, #[snafu(display("failed to create internal secret"))] - InvalidInternalSecret { source: crd::internal_secret::Error }, + InvalidInternalSecret { + source: random_secret_creation::Error, + }, } type Result = std::result::Result; @@ -479,7 +492,7 @@ pub async fn reconcile_airflow( .await?; } - create_random_secret( + random_secret_creation::create_random_secret_if_not_exists( &airflow.shared_internal_secret_secret_name(), INTERNAL_SECRET_SECRET_KEY, 256, @@ -489,7 +502,7 @@ pub async fn reconcile_airflow( .await .context(InvalidInternalSecretSnafu)?; - create_random_secret( + random_secret_creation::create_random_secret_if_not_exists( &airflow.shared_jwt_secret_secret_name(), JWT_SECRET_SECRET_KEY, 256, @@ -499,7 +512,7 @@ pub async fn reconcile_airflow( .await .context(InvalidInternalSecretSnafu)?; - create_random_secret( + random_secret_creation::create_random_secret_if_not_exists( &airflow.shared_fernet_key_secret_name(), FERNET_KEY_SECRET_KEY, // https://airflow.apache.org/docs/apache-airflow/stable/security/secrets/fernet.html#security-fernet diff --git a/rust/operator-binary/src/crd/internal_secret.rs b/rust/operator-binary/src/crd/internal_secret.rs deleted file mode 100644 index ea6f54b1..00000000 --- a/rust/operator-binary/src/crd/internal_secret.rs +++ /dev/null @@ -1,122 +0,0 @@ -use std::collections::BTreeMap; - -use base64::{Engine as _, engine::general_purpose}; -use rand::{ - TryRng, - rngs::{SysError, SysRng}, -}; -use snafu::{OptionExt, ResultExt, Snafu}; -use stackable_operator::{ - builder::meta::ObjectMetaBuilder, client::Client, k8s_openapi::api::core::v1::Secret, - kube::ResourceExt, logging::controller::ReconcilerError, -}; -use strum::{EnumDiscriminants, IntoStaticStr}; - -use crate::{airflow_controller::AIRFLOW_CONTROLLER_NAME, crd::v1alpha2}; - -// Used for env-vars: AIRFLOW__WEBSERVER__SECRET_KEY, AIRFLOW__API__SECRET_KEY -// N.B. AIRFLOW__WEBSERVER__SECRET_KEY is deprecated as of 3.0.2. -// Secret key used to run the api server. It should be as random as possible. -// It should be consistent across instances of the webserver. The webserver key -// is also used to authorize requests to Celery workers when logs are retrieved. -pub const INTERNAL_SECRET_SECRET_KEY: &str = "INTERNAL_SECRET"; -// Used for env-var: AIRFLOW__API_AUTH__JWT_SECRET -// Secret key used to encode and decode JWTs to authenticate to public and -// private APIs. It should be as random as possible, but consistent across -// instances of API services. -pub const JWT_SECRET_SECRET_KEY: &str = "JWT_SECRET"; -// Used for env-var: AIRFLOW__CORE__FERNET_KEY -// See https://airflow.apache.org/docs/apache-airflow/stable/security/secrets/fernet.html#security-fernet -pub const FERNET_KEY_SECRET_KEY: &str = "FERNET_KEY"; - -type Result = std::result::Result; - -impl ReconcilerError for Error { - fn category(&self) -> &'static str { - ErrorDiscriminants::from(self).into() - } -} - -#[derive(Snafu, Debug, EnumDiscriminants)] -#[strum_discriminants(derive(IntoStaticStr))] -pub enum Error { - #[snafu(display("object defines no namespace"))] - ObjectHasNoNamespace, - - #[snafu(display("object is missing metadata to build owner reference"))] - ObjectMissingMetadataForOwnerRef { - source: stackable_operator::builder::meta::Error, - }, - - #[snafu(display("failed to retrieve secret for internal communications"))] - FailedToRetrieveInternalSecret { - source: stackable_operator::client::Error, - }, - - #[snafu(display("failed to apply internal secret"))] - ApplyInternalSecret { - source: stackable_operator::client::Error, - }, - - #[snafu(display("failed to generate random bytes"))] - SeedRandomGenerator { source: SysError }, -} - -pub async fn create_random_secret( - secret_name: &str, - secret_key: &str, - secret_byte_size: usize, - airflow: &v1alpha2::AirflowCluster, - client: &Client, -) -> Result<()> { - let mut internal_secret = BTreeMap::new(); - internal_secret.insert(secret_key.to_string(), get_random_base64(secret_byte_size)?); - - let secret = Secret { - immutable: Some(true), - metadata: ObjectMetaBuilder::new() - .name(secret_name) - .namespace_opt(airflow.namespace()) - .ownerreference_from_resource(airflow, None, Some(true)) - .context(ObjectMissingMetadataForOwnerRefSnafu)? - .build(), - string_data: Some(internal_secret), - ..Secret::default() - }; - - if client - .get_opt::( - &secret.name_any(), - secret - .namespace() - .as_deref() - .context(ObjectHasNoNamespaceSnafu)?, - ) - .await - .context(FailedToRetrieveInternalSecretSnafu)? - .is_none() - { - client - .apply_patch(AIRFLOW_CONTROLLER_NAME, &secret, &secret) - .await - .context(ApplyInternalSecretSnafu)?; - } - - Ok(()) -} - -fn get_random_base64(byte_size: usize) -> Result { - let mut buf = vec![0u8; byte_size]; - // OsRng is a cryptographically secure pseudo-random number generator - // (CSPRNG) and also has no possible state to leak and cannot be - // improperly seeded. See: https://rust-random.github.io/book/guide-gen.html#cryptographically-secure-pseudo-random-number-generator - // and https://github.com/rust-random/rand/blob/master/SECURITY.md#specific-generators - // This call explicity returns a Result. An alternative would be to - // use let mut rng = StdRng::from_os_rng() and then use fill_bytes - // but this may *still* panic if the underlying (OS) mechanism fails - // for some reason, so keep the potential panic transparent. - SysRng - .try_fill_bytes(&mut buf) - .context(SeedRandomGeneratorSnafu)?; - Ok(general_purpose::STANDARD.encode(buf)) -} diff --git a/rust/operator-binary/src/crd/mod.rs b/rust/operator-binary/src/crd/mod.rs index 3f66663d..f09d46a5 100644 --- a/rust/operator-binary/src/crd/mod.rs +++ b/rust/operator-binary/src/crd/mod.rs @@ -61,7 +61,6 @@ use crate::{ pub mod affinity; pub mod authentication; pub mod authorization; -pub mod internal_secret; pub const APP_NAME: &str = "airflow"; pub const FIELD_MANAGER: &str = "airflow-operator"; From 8b4d65fb56e2ae93adcf50c28f8739754a47f99f Mon Sep 17 00:00:00 2001 From: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> Date: Tue, 7 Apr 2026 12:57:03 +0200 Subject: [PATCH 2/3] cleanup --- Cargo.lock | 1 - Cargo.nix | 4 ---- Cargo.toml | 1 - rust/operator-binary/Cargo.toml | 1 - .../operator-binary/src/airflow_controller.rs | 21 +++++-------------- .../src/crd/internal_secret.rs | 12 +++++++++++ rust/operator-binary/src/crd/mod.rs | 1 + 7 files changed, 18 insertions(+), 23 deletions(-) create mode 100644 rust/operator-binary/src/crd/internal_secret.rs diff --git a/Cargo.lock b/Cargo.lock index 4ee2ee81..8b426d72 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2967,7 +2967,6 @@ name = "stackable-airflow-operator" version = "0.0.0-dev" dependencies = [ "anyhow", - "base64", "built", "clap", "const_format", diff --git a/Cargo.nix b/Cargo.nix index cff6c9bd..7e503b39 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -9857,10 +9857,6 @@ rec { name = "anyhow"; packageId = "anyhow"; } - { - name = "base64"; - packageId = "base64"; - } { name = "clap"; packageId = "clap"; diff --git a/Cargo.toml b/Cargo.toml index 6a1176ce..b6190a44 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,6 @@ stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", ], tag = "stackable-operator-0.109.0" } anyhow = "1.0" -base64 = "0.22" built = { version = "0.8", features = ["chrono", "git2"] } clap = "4.5" const_format = "0.2" diff --git a/rust/operator-binary/Cargo.toml b/rust/operator-binary/Cargo.toml index 8abd5e6f..3c09cc66 100644 --- a/rust/operator-binary/Cargo.toml +++ b/rust/operator-binary/Cargo.toml @@ -13,7 +13,6 @@ product-config.workspace = true stackable-operator.workspace = true anyhow.workspace = true -base64.workspace = true clap.workspace = true const_format.workspace = true fnv.workspace = true diff --git a/rust/operator-binary/src/airflow_controller.rs b/rust/operator-binary/src/airflow_controller.rs index 3bea1252..045f4ef4 100644 --- a/rust/operator-binary/src/airflow_controller.rs +++ b/rust/operator-binary/src/airflow_controller.rs @@ -93,7 +93,11 @@ use crate::{ AirflowAuthenticationClassResolved, AirflowClientAuthenticationDetailsResolved, }, authorization::AirflowAuthorizationResolved, - build_recommended_labels, v1alpha2, + build_recommended_labels, + internal_secret::{ + FERNET_KEY_SECRET_KEY, INTERNAL_SECRET_SECRET_KEY, JWT_SECRET_SECRET_KEY, + }, + v1alpha2, }, env_vars::{self, build_airflow_template_envs}, operations::{ @@ -109,21 +113,6 @@ use crate::{ }, }; -// Used for env-vars: AIRFLOW__WEBSERVER__SECRET_KEY, AIRFLOW__API__SECRET_KEY -// N.B. AIRFLOW__WEBSERVER__SECRET_KEY is deprecated as of 3.0.2. -// Secret key used to run the api server. It should be as random as possible. -// It should be consistent across instances of the webserver. The webserver key -// is also used to authorize requests to Celery workers when logs are retrieved. -pub const INTERNAL_SECRET_SECRET_KEY: &str = "INTERNAL_SECRET"; -// Used for env-var: AIRFLOW__API_AUTH__JWT_SECRET -// Secret key used to encode and decode JWTs to authenticate to public and -// private APIs. It should be as random as possible, but consistent across -// instances of API services. -pub const JWT_SECRET_SECRET_KEY: &str = "JWT_SECRET"; -// Used for env-var: AIRFLOW__CORE__FERNET_KEY -// See https://airflow.apache.org/docs/apache-airflow/stable/security/secrets/fernet.html#security-fernet -pub const FERNET_KEY_SECRET_KEY: &str = "FERNET_KEY"; - pub const AIRFLOW_CONTROLLER_NAME: &str = "airflowcluster"; pub const DOCKER_IMAGE_BASE_NAME: &str = "airflow"; pub const AIRFLOW_FULL_CONTROLLER_NAME: &str = diff --git a/rust/operator-binary/src/crd/internal_secret.rs b/rust/operator-binary/src/crd/internal_secret.rs new file mode 100644 index 00000000..c5755fd2 --- /dev/null +++ b/rust/operator-binary/src/crd/internal_secret.rs @@ -0,0 +1,12 @@ +// Secret key used to run the api server. It should be as random as possible. +// It should be consistent across instances of the webserver. The webserver key +// is also used to authorize requests to Celery workers when logs are retrieved. +pub const INTERNAL_SECRET_SECRET_KEY: &str = "INTERNAL_SECRET"; +// Used for env-var: AIRFLOW__API_AUTH__JWT_SECRET +// Secret key used to encode and decode JWTs to authenticate to public and +// private APIs. It should be as random as possible, but consistent across +// instances of API services. +pub const JWT_SECRET_SECRET_KEY: &str = "JWT_SECRET"; +// Used for env-var: AIRFLOW__CORE__FERNET_KEY +// See https://airflow.apache.org/docs/apache-airflow/stable/security/secrets/fernet.html#security-fernet +pub const FERNET_KEY_SECRET_KEY: &str = "FERNET_KEY"; diff --git a/rust/operator-binary/src/crd/mod.rs b/rust/operator-binary/src/crd/mod.rs index f09d46a5..3f66663d 100644 --- a/rust/operator-binary/src/crd/mod.rs +++ b/rust/operator-binary/src/crd/mod.rs @@ -61,6 +61,7 @@ use crate::{ pub mod affinity; pub mod authentication; pub mod authorization; +pub mod internal_secret; pub const APP_NAME: &str = "airflow"; pub const FIELD_MANAGER: &str = "airflow-operator"; From ba8d79889c924039091691b4b23596551156bfc9 Mon Sep 17 00:00:00 2001 From: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> Date: Tue, 7 Apr 2026 12:58:58 +0200 Subject: [PATCH 3/3] more cleanup --- Cargo.lock | 226 +-------- Cargo.nix | 802 +------------------------------- Cargo.toml | 1 - rust/operator-binary/Cargo.toml | 1 - 4 files changed, 20 insertions(+), 1010 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8b426d72..1b162452 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -318,17 +318,6 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -[[package]] -name = "chacha20" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f8d983286843e49675a4b7a2d174efe136dc93a18d69130dd18198a6c167601" -dependencies = [ - "cfg-if", - "cpufeatures 0.3.0", - "rand_core 0.10.0", -] - [[package]] name = "chrono" version = "0.4.43" @@ -464,15 +453,6 @@ dependencies = [ "libc", ] -[[package]] -name = "cpufeatures" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" -dependencies = [ - "libc", -] - [[package]] name = "crc32fast" version = "1.5.0" @@ -849,12 +829,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foldhash" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - [[package]] name = "foldhash" version = "0.2.0" @@ -1006,20 +980,6 @@ dependencies = [ "wasip2", ] -[[package]] -name = "getrandom" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "139ef39800118c7683f2fd3c98c1b23c09ae076556b435f8e9064ae108aaeeec" -dependencies = [ - "cfg-if", - "libc", - "r-efi", - "rand_core 0.10.0", - "wasip2", - "wasip3", -] - [[package]] name = "git2" version = "0.20.4" @@ -1081,15 +1041,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "hashbrown" -version = "0.15.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" -dependencies = [ - "foldhash 0.1.5", -] - [[package]] name = "hashbrown" version = "0.16.1" @@ -1098,7 +1049,7 @@ checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" dependencies = [ "allocator-api2", "equivalent", - "foldhash 0.2.0", + "foldhash", ] [[package]] @@ -1360,12 +1311,6 @@ dependencies = [ "zerovec", ] -[[package]] -name = "id-arena" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" - [[package]] name = "ident_case" version = "1.0.1" @@ -1400,9 +1345,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" dependencies = [ "equivalent", - "hashbrown 0.16.1", - "serde", - "serde_core", + "hashbrown", ] [[package]] @@ -1669,7 +1612,7 @@ dependencies = [ "backon", "educe", "futures 0.3.32", - "hashbrown 0.16.1", + "hashbrown", "hostname", "json-patch", "k8s-openapi", @@ -1693,12 +1636,6 @@ dependencies = [ "spin", ] -[[package]] -name = "leb128fmt" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" - [[package]] name = "libc" version = "0.2.182" @@ -2193,16 +2130,6 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "prettyplease" -version = "0.2.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" -dependencies = [ - "proc-macro2", - "syn 2.0.116", -] - [[package]] name = "primeorder" version = "0.13.6" @@ -2304,17 +2231,6 @@ dependencies = [ "rand_core 0.9.5", ] -[[package]] -name = "rand" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc266eb313df6c5c09c1c7b1fbe2510961e5bcd3add930c1e31f7ed9da0feff8" -dependencies = [ - "chacha20", - "getrandom 0.4.1", - "rand_core 0.10.0", -] - [[package]] name = "rand_chacha" version = "0.3.1" @@ -2353,12 +2269,6 @@ dependencies = [ "getrandom 0.3.4", ] -[[package]] -name = "rand_core" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c8d0fd677905edcbeedbf2edb6494d676f0e98d54d5cf9bda0b061cb8fb8aba" - [[package]] name = "redox_syscall" version = "0.5.18" @@ -2799,7 +2709,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", - "cpufeatures 0.2.17", + "cpufeatures", "digest", ] @@ -2810,7 +2720,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", - "cpufeatures 0.2.17", + "cpufeatures", "digest", ] @@ -2974,7 +2884,6 @@ dependencies = [ "futures 0.3.32", "indoc", "product-config", - "rand 0.10.0", "rstest", "serde", "serde_json", @@ -3753,15 +3662,6 @@ dependencies = [ "wit-bindgen", ] -[[package]] -name = "wasip3" -version = "0.4.0+wasi-0.3.0-rc-2026-01-06" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5" -dependencies = [ - "wit-bindgen", -] - [[package]] name = "wasm-bindgen" version = "0.2.108" @@ -3821,40 +3721,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "wasm-encoder" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319" -dependencies = [ - "leb128fmt", - "wasmparser", -] - -[[package]] -name = "wasm-metadata" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909" -dependencies = [ - "anyhow", - "indexmap", - "wasm-encoder", - "wasmparser", -] - -[[package]] -name = "wasmparser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe" -dependencies = [ - "bitflags", - "hashbrown 0.15.5", - "indexmap", - "semver", -] - [[package]] name = "web-sys" version = "0.3.85" @@ -4104,88 +3970,6 @@ name = "wit-bindgen" version = "0.51.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" -dependencies = [ - "wit-bindgen-rust-macro", -] - -[[package]] -name = "wit-bindgen-core" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc" -dependencies = [ - "anyhow", - "heck", - "wit-parser", -] - -[[package]] -name = "wit-bindgen-rust" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21" -dependencies = [ - "anyhow", - "heck", - "indexmap", - "prettyplease", - "syn 2.0.116", - "wasm-metadata", - "wit-bindgen-core", - "wit-component", -] - -[[package]] -name = "wit-bindgen-rust-macro" -version = "0.51.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a" -dependencies = [ - "anyhow", - "prettyplease", - "proc-macro2", - "quote", - "syn 2.0.116", - "wit-bindgen-core", - "wit-bindgen-rust", -] - -[[package]] -name = "wit-component" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2" -dependencies = [ - "anyhow", - "bitflags", - "indexmap", - "log", - "serde", - "serde_derive", - "serde_json", - "wasm-encoder", - "wasm-metadata", - "wasmparser", - "wit-parser", -] - -[[package]] -name = "wit-parser" -version = "0.244.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736" -dependencies = [ - "anyhow", - "id-arena", - "indexmap", - "log", - "semver", - "serde", - "serde_derive", - "serde_json", - "unicode-xid", - "wasmparser", -] [[package]] name = "writeable" diff --git a/Cargo.nix b/Cargo.nix index 7e503b39..dc919fdd 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -1010,41 +1010,6 @@ rec { "rustc-dep-of-std" = [ "core" ]; }; }; - "chacha20" = rec { - crateName = "chacha20"; - version = "0.10.0"; - edition = "2024"; - sha256 = "00bn2rn8l68qvlq93mhq7b4ns4zy9qbjsyjbb9kljgl4hqr9i3bg"; - authors = [ - "RustCrypto Developers" - ]; - dependencies = [ - { - name = "cfg-if"; - packageId = "cfg-if"; - } - { - name = "cpufeatures"; - packageId = "cpufeatures 0.3.0"; - target = { target, features }: (("x86_64" == target."arch" or null) || ("x86" == target."arch" or null)); - } - { - name = "rand_core"; - packageId = "rand_core 0.10.0"; - optional = true; - usesDefaultFeatures = false; - } - ]; - features = { - "cipher" = [ "dep:cipher" ]; - "default" = [ "cipher" ]; - "legacy" = [ "cipher" ]; - "rng" = [ "dep:rand_core" ]; - "xchacha" = [ "cipher" ]; - "zeroize" = [ "dep:zeroize" ]; - }; - resolvedDefaultFeatures = [ "rng" ]; - }; "chrono" = rec { crateName = "chrono"; version = "0.4.43"; @@ -1403,7 +1368,7 @@ rec { }; resolvedDefaultFeatures = [ "default" "link" ]; }; - "cpufeatures 0.2.17" = rec { + "cpufeatures" = rec { crateName = "cpufeatures"; version = "0.2.17"; edition = "2018"; @@ -1438,42 +1403,6 @@ rec { } ]; - }; - "cpufeatures 0.3.0" = rec { - crateName = "cpufeatures"; - version = "0.3.0"; - edition = "2024"; - sha256 = "00fjhygsqmh4kbxxlb99mcsbspxcai6hjydv4c46pwb67wwl2alb"; - authors = [ - "RustCrypto Developers" - ]; - dependencies = [ - { - name = "libc"; - packageId = "libc"; - usesDefaultFeatures = false; - target = { target, features }: (("aarch64" == target."arch" or null) && ("android" == target."os" or null)); - } - { - name = "libc"; - packageId = "libc"; - usesDefaultFeatures = false; - target = { target, features }: (("aarch64" == target."arch" or null) && ("linux" == target."os" or null)); - } - { - name = "libc"; - packageId = "libc"; - usesDefaultFeatures = false; - target = { target, features }: (("aarch64" == target."arch" or null) && ("apple" == target."vendor" or null)); - } - { - name = "libc"; - packageId = "libc"; - usesDefaultFeatures = false; - target = { target, features }: (("loongarch64" == target."arch" or null) && ("linux" == target."os" or null)); - } - ]; - }; "crc32fast" = rec { crateName = "crc32fast"; @@ -2656,19 +2585,7 @@ rec { }; resolvedDefaultFeatures = [ "default" "std" ]; }; - "foldhash 0.1.5" = rec { - crateName = "foldhash"; - version = "0.1.5"; - edition = "2021"; - sha256 = "1wisr1xlc2bj7hk4rgkcjkz3j2x4dhd1h9lwk7mj8p71qpdgbi6r"; - authors = [ - "Orson Peters " - ]; - features = { - "default" = [ "std" ]; - }; - }; - "foldhash 0.2.0" = rec { + "foldhash" = rec { crateName = "foldhash"; version = "0.2.0"; edition = "2021"; @@ -3167,96 +3084,6 @@ rec { }; resolvedDefaultFeatures = [ "std" ]; }; - "getrandom 0.4.1" = rec { - crateName = "getrandom"; - version = "0.4.1"; - edition = "2024"; - sha256 = "1v7fm84f2jh6x7w3bd2ncl3sw29wnb0rhg7xya1pd30i02cg77hk"; - authors = [ - "The Rand Project Developers" - ]; - dependencies = [ - { - name = "cfg-if"; - packageId = "cfg-if"; - } - { - name = "libc"; - packageId = "libc"; - usesDefaultFeatures = false; - target = { target, features }: ((("linux" == target."os" or null) || ("android" == target."os" or null)) && (!((("linux" == target."os" or null) && ("" == target."env" or null)) || ("custom" == target."getrandom_backend" or null) || ("linux_raw" == target."getrandom_backend" or null) || ("rdrand" == target."getrandom_backend" or null) || ("rndr" == target."getrandom_backend" or null)))); - } - { - name = "libc"; - packageId = "libc"; - usesDefaultFeatures = false; - target = { target, features }: (("dragonfly" == target."os" or null) || ("freebsd" == target."os" or null) || ("hurd" == target."os" or null) || ("illumos" == target."os" or null) || ("cygwin" == target."os" or null) || (("horizon" == target."os" or null) && ("arm" == target."arch" or null))); - } - { - name = "libc"; - packageId = "libc"; - usesDefaultFeatures = false; - target = { target, features }: (("haiku" == target."os" or null) || ("redox" == target."os" or null) || ("nto" == target."os" or null) || ("aix" == target."os" or null)); - } - { - name = "libc"; - packageId = "libc"; - usesDefaultFeatures = false; - target = { target, features }: (("ios" == target."os" or null) || ("visionos" == target."os" or null) || ("watchos" == target."os" or null) || ("tvos" == target."os" or null)); - } - { - name = "libc"; - packageId = "libc"; - usesDefaultFeatures = false; - target = { target, features }: (("macos" == target."os" or null) || ("openbsd" == target."os" or null) || ("vita" == target."os" or null) || ("emscripten" == target."os" or null)); - } - { - name = "libc"; - packageId = "libc"; - usesDefaultFeatures = false; - target = { target, features }: ("netbsd" == target."os" or null); - } - { - name = "libc"; - packageId = "libc"; - usesDefaultFeatures = false; - target = { target, features }: ("solaris" == target."os" or null); - } - { - name = "libc"; - packageId = "libc"; - usesDefaultFeatures = false; - target = { target, features }: ("vxworks" == target."os" or null); - } - { - name = "r-efi"; - packageId = "r-efi"; - usesDefaultFeatures = false; - target = { target, features }: (("uefi" == target."os" or null) && ("efi_rng" == target."getrandom_backend" or null)); - } - { - name = "rand_core"; - packageId = "rand_core 0.10.0"; - optional = true; - } - { - name = "wasip2"; - packageId = "wasip2"; - usesDefaultFeatures = false; - target = { target, features }: (("wasm32" == target."arch" or null) && ("wasi" == target."os" or null) && ("p2" == target."env" or null)); - } - { - name = "wasip3"; - packageId = "wasip3"; - target = { target, features }: (("wasm32" == target."arch" or null) && ("wasi" == target."os" or null) && ("p3" == target."env" or null)); - } - ]; - features = { - "sys_rng" = [ "dep:rand_core" ]; - "wasm_js" = [ "dep:wasm-bindgen" "dep:js-sys" ]; - }; - resolvedDefaultFeatures = [ "std" "sys_rng" ]; - }; "git2" = rec { crateName = "git2"; version = "0.20.4"; @@ -3453,37 +3280,7 @@ rec { features = { }; }; - "hashbrown 0.15.5" = rec { - crateName = "hashbrown"; - version = "0.15.5"; - edition = "2021"; - sha256 = "189qaczmjxnikm9db748xyhiw04kpmhm9xj9k9hg0sgx7pjwyacj"; - authors = [ - "Amanieu d'Antras " - ]; - dependencies = [ - { - name = "foldhash"; - packageId = "foldhash 0.1.5"; - optional = true; - usesDefaultFeatures = false; - } - ]; - features = { - "alloc" = [ "dep:alloc" ]; - "allocator-api2" = [ "dep:allocator-api2" ]; - "core" = [ "dep:core" ]; - "default" = [ "default-hasher" "inline-more" "allocator-api2" "equivalent" "raw-entry" ]; - "default-hasher" = [ "dep:foldhash" ]; - "equivalent" = [ "dep:equivalent" ]; - "nightly" = [ "bumpalo/allocator_api" ]; - "rayon" = [ "dep:rayon" ]; - "rustc-dep-of-std" = [ "nightly" "core" "alloc" "rustc-internal-api" ]; - "serde" = [ "dep:serde" ]; - }; - resolvedDefaultFeatures = [ "default-hasher" ]; - }; - "hashbrown 0.16.1" = rec { + "hashbrown" = rec { crateName = "hashbrown"; version = "0.16.1"; edition = "2021"; @@ -3507,7 +3304,7 @@ rec { } { name = "foldhash"; - packageId = "foldhash 0.2.0"; + packageId = "foldhash"; optional = true; usesDefaultFeatures = false; } @@ -4432,22 +4229,6 @@ rec { }; resolvedDefaultFeatures = [ "baked" ]; }; - "id-arena" = rec { - crateName = "id-arena"; - version = "2.3.0"; - edition = "2021"; - sha256 = "0m6rs0jcaj4mg33gkv98d71w3hridghp5c4yr928hplpkgbnfc1x"; - libName = "id_arena"; - authors = [ - "Nick Fitzgerald " - "Aleksey Kladov " - ]; - features = { - "default" = [ "std" ]; - "rayon" = [ "dep:rayon" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; "ident_case" = rec { crateName = "ident_case"; version = "1.0.1"; @@ -4526,29 +4307,8 @@ rec { } { name = "hashbrown"; - packageId = "hashbrown 0.16.1"; - usesDefaultFeatures = false; - } - { - name = "serde"; - packageId = "serde"; - optional = true; - usesDefaultFeatures = false; - target = { target, features }: false; - } - { - name = "serde_core"; - packageId = "serde_core"; - optional = true; - usesDefaultFeatures = false; - } - ]; - devDependencies = [ - { - name = "serde"; - packageId = "serde"; + packageId = "hashbrown"; usesDefaultFeatures = false; - features = [ "derive" ]; } ]; features = { @@ -4560,7 +4320,7 @@ rec { "serde" = [ "dep:serde_core" "dep:serde" ]; "sval" = [ "dep:sval" ]; }; - resolvedDefaultFeatures = [ "default" "serde" "std" ]; + resolvedDefaultFeatures = [ "default" "std" ]; }; "indoc" = rec { crateName = "indoc"; @@ -5588,7 +5348,7 @@ rec { } { name = "hashbrown"; - packageId = "hashbrown 0.16.1"; + packageId = "hashbrown"; } { name = "hostname"; @@ -5688,18 +5448,6 @@ rec { }; resolvedDefaultFeatures = [ "spin" "spin_no_std" ]; }; - "leb128fmt" = rec { - crateName = "leb128fmt"; - version = "0.1.0"; - edition = "2021"; - sha256 = "1chxm1484a0bly6anh6bd7a99sn355ymlagnwj3yajafnpldkv89"; - authors = [ - "Bryant Luk " - ]; - features = { - "default" = [ "std" ]; - }; - }; "libc" = rec { crateName = "libc"; version = "0.2.182"; @@ -7301,45 +7049,6 @@ rec { }; resolvedDefaultFeatures = [ "simd" "std" ]; }; - "prettyplease" = rec { - crateName = "prettyplease"; - version = "0.2.37"; - edition = "2021"; - links = "prettyplease02"; - sha256 = "0azn11i1kh0byabhsgab6kqs74zyrg69xkirzgqyhz6xmjnsi727"; - authors = [ - "David Tolnay " - ]; - dependencies = [ - { - name = "proc-macro2"; - packageId = "proc-macro2"; - usesDefaultFeatures = false; - } - { - name = "syn"; - packageId = "syn 2.0.116"; - usesDefaultFeatures = false; - features = [ "full" ]; - } - ]; - devDependencies = [ - { - name = "proc-macro2"; - packageId = "proc-macro2"; - usesDefaultFeatures = false; - } - { - name = "syn"; - packageId = "syn 2.0.116"; - usesDefaultFeatures = false; - features = [ "clone-impls" "extra-traits" "parsing" "printing" "visit-mut" ]; - } - ]; - features = { - "verbatim" = [ "syn/parsing" ]; - }; - }; "primeorder" = rec { crateName = "primeorder"; version = "0.13.6"; @@ -7558,59 +7267,19 @@ rec { "rustc-dep-of-std" = [ "core" ]; }; }; - "rand 0.10.0" = rec { + "rand 0.8.5" = rec { crateName = "rand"; - version = "0.10.0"; - edition = "2024"; - sha256 = "1y7g1zddjzhzwg0k1nddsfyfaq89a7igpcf7q44mqv6z2frnw9mw"; + version = "0.8.5"; + edition = "2018"; + sha256 = "013l6931nn7gkc23jz5mm3qdhf93jjf0fg64nz2lp4i51qd8vbrl"; authors = [ "The Rand Project Developers" "The Rust Project Developers" ]; dependencies = [ { - name = "chacha20"; - packageId = "chacha20"; - optional = true; - usesDefaultFeatures = false; - features = [ "rng" ]; - } - { - name = "getrandom"; - packageId = "getrandom 0.4.1"; - optional = true; - } - { - name = "rand_core"; - packageId = "rand_core 0.10.0"; - usesDefaultFeatures = false; - } - ]; - features = { - "chacha" = [ "dep:chacha20" ]; - "default" = [ "std" "std_rng" "sys_rng" "thread_rng" ]; - "log" = [ "dep:log" ]; - "serde" = [ "dep:serde" ]; - "std" = [ "alloc" "getrandom?/std" ]; - "std_rng" = [ "dep:chacha20" ]; - "sys_rng" = [ "dep:getrandom" "getrandom/sys_rng" ]; - "thread_rng" = [ "std" "std_rng" "sys_rng" ]; - }; - resolvedDefaultFeatures = [ "alloc" "default" "std" "std_rng" "sys_rng" "thread_rng" ]; - }; - "rand 0.8.5" = rec { - crateName = "rand"; - version = "0.8.5"; - edition = "2018"; - sha256 = "013l6931nn7gkc23jz5mm3qdhf93jjf0fg64nz2lp4i51qd8vbrl"; - authors = [ - "The Rand Project Developers" - "The Rust Project Developers" - ]; - dependencies = [ - { - name = "rand_chacha"; - packageId = "rand_chacha 0.3.1"; + name = "rand_chacha"; + packageId = "rand_chacha 0.3.1"; optional = true; usesDefaultFeatures = false; } @@ -7734,16 +7403,6 @@ rec { }; resolvedDefaultFeatures = [ "std" ]; }; - "rand_core 0.10.0" = rec { - crateName = "rand_core"; - version = "0.10.0"; - edition = "2024"; - sha256 = "1flazfw1q1hbvadwzmaliplz0xnnjijdnbmzxnzdqplhfzb0z38c"; - authors = [ - "The Rand Project Developers" - ]; - - }; "rand_core 0.6.4" = rec { crateName = "rand_core"; version = "0.6.4"; @@ -9349,7 +9008,7 @@ rec { } { name = "cpufeatures"; - packageId = "cpufeatures 0.2.17"; + packageId = "cpufeatures"; target = { target, features }: (("aarch64" == target."arch" or null) || ("x86" == target."arch" or null) || ("x86_64" == target."arch" or null)); } { @@ -9388,7 +9047,7 @@ rec { } { name = "cpufeatures"; - packageId = "cpufeatures 0.2.17"; + packageId = "cpufeatures"; target = { target, features }: (("aarch64" == target."arch" or null) || ("x86_64" == target."arch" or null) || ("x86" == target."arch" or null)); } { @@ -9882,10 +9541,6 @@ rec { name = "product-config"; packageId = "product-config"; } - { - name = "rand"; - packageId = "rand 0.10.0"; - } { name = "serde"; packageId = "serde"; @@ -12659,31 +12314,6 @@ rec { "rustc-dep-of-std" = [ "core" "alloc" "wit-bindgen/rustc-dep-of-std" ]; }; }; - "wasip3" = rec { - crateName = "wasip3"; - version = "0.4.0+wasi-0.3.0-rc-2026-01-06"; - edition = "2021"; - sha256 = "19dc8p0y2mfrvgk3qw3c3240nfbylv22mvyxz84dqpgai2zzha2l"; - dependencies = [ - { - name = "wit-bindgen"; - packageId = "wit-bindgen"; - usesDefaultFeatures = false; - features = [ "async" ]; - } - ]; - devDependencies = [ - { - name = "wit-bindgen"; - packageId = "wit-bindgen"; - usesDefaultFeatures = false; - features = [ "async-spawn" ]; - } - ]; - features = { - "http-compat" = [ "dep:bytes" "dep:http-body" "dep:http" "dep:thiserror" "wit-bindgen/async-spawn" ]; - }; - }; "wasm-bindgen" = rec { crateName = "wasm-bindgen"; version = "0.2.108"; @@ -12866,116 +12496,6 @@ rec { ]; }; - "wasm-encoder" = rec { - crateName = "wasm-encoder"; - version = "0.244.0"; - edition = "2021"; - sha256 = "06c35kv4h42vk3k51xjz1x6hn3mqwfswycmr6ziky033zvr6a04r"; - libName = "wasm_encoder"; - authors = [ - "Nick Fitzgerald " - ]; - dependencies = [ - { - name = "leb128fmt"; - packageId = "leb128fmt"; - usesDefaultFeatures = false; - } - { - name = "wasmparser"; - packageId = "wasmparser"; - optional = true; - usesDefaultFeatures = false; - features = [ "simd" "simd" ]; - } - ]; - features = { - "component-model" = [ "wasmparser?/component-model" ]; - "default" = [ "std" "component-model" ]; - "std" = [ "wasmparser?/std" ]; - "wasmparser" = [ "dep:wasmparser" ]; - }; - resolvedDefaultFeatures = [ "component-model" "std" "wasmparser" ]; - }; - "wasm-metadata" = rec { - crateName = "wasm-metadata"; - version = "0.244.0"; - edition = "2021"; - sha256 = "02f9dhlnryd2l7zf03whlxai5sv26x4spfibjdvc3g9gd8z3a3mv"; - libName = "wasm_metadata"; - dependencies = [ - { - name = "anyhow"; - packageId = "anyhow"; - } - { - name = "indexmap"; - packageId = "indexmap"; - usesDefaultFeatures = false; - features = [ "serde" ]; - } - { - name = "wasm-encoder"; - packageId = "wasm-encoder"; - usesDefaultFeatures = false; - features = [ "std" "component-model" ]; - } - { - name = "wasmparser"; - packageId = "wasmparser"; - usesDefaultFeatures = false; - features = [ "simd" "std" "component-model" "hash-collections" ]; - } - ]; - features = { - "clap" = [ "dep:clap" ]; - "default" = [ "oci" "serde" ]; - "oci" = [ "dep:auditable-serde" "dep:flate2" "dep:url" "dep:spdx" "dep:serde_json" "serde" ]; - "serde" = [ "dep:serde_derive" "dep:serde" ]; - }; - }; - "wasmparser" = rec { - crateName = "wasmparser"; - version = "0.244.0"; - edition = "2021"; - sha256 = "1zi821hrlsxfhn39nqpmgzc0wk7ax3dv6vrs5cw6kb0v5v3hgf27"; - authors = [ - "Yury Delendik " - ]; - dependencies = [ - { - name = "bitflags"; - packageId = "bitflags"; - } - { - name = "hashbrown"; - packageId = "hashbrown 0.15.5"; - optional = true; - usesDefaultFeatures = false; - features = [ "default-hasher" ]; - } - { - name = "indexmap"; - packageId = "indexmap"; - optional = true; - usesDefaultFeatures = false; - } - { - name = "semver"; - packageId = "semver"; - optional = true; - usesDefaultFeatures = false; - } - ]; - features = { - "component-model" = [ "dep:semver" ]; - "default" = [ "std" "validate" "serde" "features" "component-model" "hash-collections" "simd" ]; - "hash-collections" = [ "dep:hashbrown" "dep:indexmap" ]; - "serde" = [ "dep:serde" "indexmap?/serde" "hashbrown?/serde" ]; - "std" = [ "indexmap?/std" ]; - }; - resolvedDefaultFeatures = [ "component-model" "features" "hash-collections" "simd" "std" "validate" ]; - }; "web-sys" = rec { crateName = "web-sys"; version = "0.3.85"; @@ -14677,13 +14197,6 @@ rec { authors = [ "Alex Crichton " ]; - dependencies = [ - { - name = "wit-bindgen-rust-macro"; - packageId = "wit-bindgen-rust-macro"; - optional = true; - } - ]; features = { "async" = [ "std" "wit-bindgen-rust-macro?/async" ]; "async-spawn" = [ "async" "dep:futures" ]; @@ -14693,291 +14206,6 @@ rec { "macros" = [ "dep:wit-bindgen-rust-macro" ]; "rustc-dep-of-std" = [ "dep:core" "dep:alloc" ]; }; - resolvedDefaultFeatures = [ "async" "std" ]; - }; - "wit-bindgen-core" = rec { - crateName = "wit-bindgen-core"; - version = "0.51.0"; - edition = "2024"; - sha256 = "1p2jszqsqbx8k7y8nwvxg65wqzxjm048ba5phaq8r9iy9ildwqga"; - libName = "wit_bindgen_core"; - authors = [ - "Alex Crichton " - ]; - dependencies = [ - { - name = "anyhow"; - packageId = "anyhow"; - } - { - name = "heck"; - packageId = "heck"; - } - { - name = "wit-parser"; - packageId = "wit-parser"; - } - ]; - features = { - "clap" = [ "dep:clap" ]; - "serde" = [ "dep:serde" ]; - }; - }; - "wit-bindgen-rust" = rec { - crateName = "wit-bindgen-rust"; - version = "0.51.0"; - edition = "2024"; - sha256 = "08bzn5fsvkb9x9wyvyx98qglknj2075xk1n7c5jxv15jykh6didp"; - libName = "wit_bindgen_rust"; - authors = [ - "Alex Crichton " - ]; - dependencies = [ - { - name = "anyhow"; - packageId = "anyhow"; - } - { - name = "heck"; - packageId = "heck"; - } - { - name = "indexmap"; - packageId = "indexmap"; - } - { - name = "prettyplease"; - packageId = "prettyplease"; - } - { - name = "syn"; - packageId = "syn 2.0.116"; - features = [ "printing" ]; - } - { - name = "wasm-metadata"; - packageId = "wasm-metadata"; - usesDefaultFeatures = false; - } - { - name = "wit-bindgen-core"; - packageId = "wit-bindgen-core"; - } - { - name = "wit-component"; - packageId = "wit-component"; - } - ]; - features = { - "clap" = [ "dep:clap" "wit-bindgen-core/clap" ]; - "serde" = [ "dep:serde" "wit-bindgen-core/serde" ]; - }; - }; - "wit-bindgen-rust-macro" = rec { - crateName = "wit-bindgen-rust-macro"; - version = "0.51.0"; - edition = "2024"; - sha256 = "0ymizapzv2id89igxsz2n587y2hlfypf6n8kyp68x976fzyrn3qc"; - procMacro = true; - libName = "wit_bindgen_rust_macro"; - authors = [ - "Alex Crichton " - ]; - dependencies = [ - { - name = "anyhow"; - packageId = "anyhow"; - } - { - name = "prettyplease"; - packageId = "prettyplease"; - } - { - name = "proc-macro2"; - packageId = "proc-macro2"; - } - { - name = "quote"; - packageId = "quote"; - } - { - name = "syn"; - packageId = "syn 2.0.116"; - features = [ "printing" ]; - } - { - name = "wit-bindgen-core"; - packageId = "wit-bindgen-core"; - } - { - name = "wit-bindgen-rust"; - packageId = "wit-bindgen-rust"; - } - ]; - features = { - }; - resolvedDefaultFeatures = [ "async" ]; - }; - "wit-component" = rec { - crateName = "wit-component"; - version = "0.244.0"; - edition = "2021"; - sha256 = "1clwxgsgdns3zj2fqnrjcp8y5gazwfa1k0sy5cbk0fsmx4hflrlx"; - libName = "wit_component"; - authors = [ - "Peter Huene " - ]; - dependencies = [ - { - name = "anyhow"; - packageId = "anyhow"; - } - { - name = "bitflags"; - packageId = "bitflags"; - } - { - name = "indexmap"; - packageId = "indexmap"; - usesDefaultFeatures = false; - } - { - name = "log"; - packageId = "log"; - } - { - name = "serde"; - packageId = "serde"; - usesDefaultFeatures = false; - features = [ "alloc" ]; - } - { - name = "serde_derive"; - packageId = "serde_derive"; - } - { - name = "serde_json"; - packageId = "serde_json"; - } - { - name = "wasm-encoder"; - packageId = "wasm-encoder"; - usesDefaultFeatures = false; - features = [ "std" "wasmparser" ]; - } - { - name = "wasm-metadata"; - packageId = "wasm-metadata"; - usesDefaultFeatures = false; - } - { - name = "wasmparser"; - packageId = "wasmparser"; - usesDefaultFeatures = false; - features = [ "simd" "std" "component-model" "simd" ]; - } - { - name = "wit-parser"; - packageId = "wit-parser"; - features = [ "decoding" "serde" ]; - } - ]; - devDependencies = [ - { - name = "wasm-metadata"; - packageId = "wasm-metadata"; - usesDefaultFeatures = false; - features = [ "oci" ]; - } - { - name = "wasmparser"; - packageId = "wasmparser"; - usesDefaultFeatures = false; - features = [ "simd" "std" "component-model" "features" ]; - } - ]; - features = { - "dummy-module" = [ "dep:wat" ]; - "semver-check" = [ "dummy-module" ]; - "wat" = [ "dep:wast" "dep:wat" ]; - }; - }; - "wit-parser" = rec { - crateName = "wit-parser"; - version = "0.244.0"; - edition = "2021"; - sha256 = "0dm7avvdxryxd5b02l0g5h6933z1cw5z0d4wynvq2cywq55srj7c"; - libName = "wit_parser"; - authors = [ - "Alex Crichton " - ]; - dependencies = [ - { - name = "anyhow"; - packageId = "anyhow"; - } - { - name = "id-arena"; - packageId = "id-arena"; - } - { - name = "indexmap"; - packageId = "indexmap"; - usesDefaultFeatures = false; - features = [ "std" ]; - } - { - name = "log"; - packageId = "log"; - } - { - name = "semver"; - packageId = "semver"; - usesDefaultFeatures = false; - } - { - name = "serde"; - packageId = "serde"; - optional = true; - usesDefaultFeatures = false; - features = [ "alloc" ]; - } - { - name = "serde_derive"; - packageId = "serde_derive"; - optional = true; - } - { - name = "serde_json"; - packageId = "serde_json"; - optional = true; - } - { - name = "unicode-xid"; - packageId = "unicode-xid"; - } - { - name = "wasmparser"; - packageId = "wasmparser"; - optional = true; - usesDefaultFeatures = false; - features = [ "simd" "std" "validate" "component-model" "features" ]; - } - ]; - devDependencies = [ - { - name = "serde_json"; - packageId = "serde_json"; - } - ]; - features = { - "decoding" = [ "dep:wasmparser" ]; - "default" = [ "serde" "decoding" ]; - "serde" = [ "dep:serde" "dep:serde_derive" "indexmap/serde" "serde_json" ]; - "serde_json" = [ "dep:serde_json" ]; - "wat" = [ "decoding" "dep:wat" ]; - }; - resolvedDefaultFeatures = [ "decoding" "default" "serde" "serde_json" ]; }; "writeable" = rec { crateName = "writeable"; diff --git a/Cargo.toml b/Cargo.toml index b6190a44..2ea0eb4f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,6 @@ const_format = "0.2" fnv = "1.0" futures = { version = "0.3", features = ["compat"] } indoc = "2.0" -rand = "0.10" rstest = "0.26" semver = "1.0" serde = { version = "1.0", features = ["derive"] } diff --git a/rust/operator-binary/Cargo.toml b/rust/operator-binary/Cargo.toml index 3c09cc66..2734bb4e 100644 --- a/rust/operator-binary/Cargo.toml +++ b/rust/operator-binary/Cargo.toml @@ -18,7 +18,6 @@ const_format.workspace = true fnv.workspace = true futures.workspace = true indoc.workspace = true -rand.workspace = true serde.workspace = true serde_json.workspace = true serde_yaml.workspace = true