From a96fc638f294244f98feacca8b56e0a54ef80398 Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Thu, 26 Jun 2025 08:30:16 +0200 Subject: [PATCH 1/7] Bump to op-rs main --- Cargo.lock | 51 +++++++++++++++++++---------- Cargo.toml | 5 +-- rust/operator-binary/src/crd/mod.rs | 8 +++-- rust/operator-binary/src/main.rs | 9 +++-- 4 files changed, 48 insertions(+), 25 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index dc193324..608b4160 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1454,18 +1454,19 @@ dependencies = [ [[package]] name = "k8s-version" version = "0.1.3" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#7d83ffe78bcba0fa3c291bc735d78ecba091af9f" dependencies = [ "darling", "regex", + "serde", "snafu 0.8.5", ] [[package]] name = "kube" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b49c39074089233c2bb7b1791d1b6c06c84dbab26757491fad9d233db0d432f" +checksum = "778f98664beaf4c3c11372721e14310d1ae00f5e2d9aabcf8906c881aa4e9f51" dependencies = [ "k8s-openapi", "kube-client", @@ -1476,9 +1477,9 @@ dependencies = [ [[package]] name = "kube-client" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e199797b1b08865041c9c698f0d11a91de0a8143e808b71e250cd4a1d7ce2b9f" +checksum = "7cb276b85b6e94ded00ac8ea2c68fcf4697ea0553cb25fddc35d4a0ab718db8d" dependencies = [ "base64 0.22.1", "bytes", @@ -1513,9 +1514,9 @@ dependencies = [ [[package]] name = "kube-core" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bdefbba89dea2d99ea822a1d7cd6945535efbfb10b790056ee9284bf9e698e7" +checksum = "e3c56ff45deb0031f2a476017eed60c06872251f271b8387ad8020b8fef60960" dependencies = [ "chrono", "derive_more", @@ -1532,9 +1533,9 @@ dependencies = [ [[package]] name = "kube-derive" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e609a3633689a50869352a3c16e01d863b6137863c80eeb038383d5ab9f83bf" +checksum = "079fc8c1c397538628309cfdee20696ebdcc26745f9fb17f89b78782205bd995" dependencies = [ "darling", "proc-macro2", @@ -1546,9 +1547,9 @@ dependencies = [ [[package]] name = "kube-runtime" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d4bd8a4554786f8f9a87bfa977fb7dbaa1d7f102a30477338b044b65de29d8e" +checksum = "2f1326e946fadf6248febdf8a1c001809c3899ccf48cb9768cbc536b741040dc" dependencies = [ "ahash", "async-broadcast", @@ -1794,6 +1795,12 @@ dependencies = [ "tonic", ] +[[package]] +name = "opentelemetry-semantic-conventions" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84b29a9f89f1a954936d5aa92f19b2feec3c8f3971d3e96206640db7f9706ae3" + [[package]] name = "opentelemetry_sdk" version = "0.29.0" @@ -2582,8 +2589,8 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "stackable-operator" -version = "0.93.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" +version = "0.93.2" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#7d83ffe78bcba0fa3c291bc735d78ecba091af9f" dependencies = [ "chrono", "clap", @@ -2620,7 +2627,7 @@ dependencies = [ [[package]] name = "stackable-operator-derive" version = "0.3.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#7d83ffe78bcba0fa3c291bc735d78ecba091af9f" dependencies = [ "darling", "proc-macro2", @@ -2631,7 +2638,7 @@ dependencies = [ [[package]] name = "stackable-shared" version = "0.0.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#7d83ffe78bcba0fa3c291bc735d78ecba091af9f" dependencies = [ "kube", "semver", @@ -2643,7 +2650,7 @@ dependencies = [ [[package]] name = "stackable-telemetry" version = "0.6.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#7d83ffe78bcba0fa3c291bc735d78ecba091af9f" dependencies = [ "axum", "clap", @@ -2651,6 +2658,7 @@ dependencies = [ "opentelemetry", "opentelemetry-appender-tracing", "opentelemetry-otlp", + "opentelemetry-semantic-conventions", "opentelemetry_sdk", "pin-project", "snafu 0.8.5", @@ -2666,18 +2674,25 @@ dependencies = [ [[package]] name = "stackable-versioned" version = "0.7.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#7d83ffe78bcba0fa3c291bc735d78ecba091af9f" dependencies = [ + "k8s-version", + "schemars", + "serde", + "serde_json", + "serde_yaml", + "snafu 0.8.5", "stackable-versioned-macros", ] [[package]] name = "stackable-versioned-macros" version = "0.7.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" +source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#7d83ffe78bcba0fa3c291bc735d78ecba091af9f" dependencies = [ "convert_case", "darling", + "indoc", "itertools", "k8s-openapi", "k8s-version", diff --git a/Cargo.toml b/Cargo.toml index c606d3bc..eb616266 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,8 +31,9 @@ tokio = { version = "1.40", features = ["full"] } tokio-zookeeper = "0.4" tracing = "0.1" -#[patch."https://github.com/stackabletech/operator-rs"] -# stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "main" } +[patch."https://github.com/stackabletech/operator-rs"] +stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "main" } +# stackable-operator = { path = "/home/sbernauer/stackable/operator-rs/main/crates/stackable-operator" } [patch.crates-io] # tokio-zookeeper = { path = "../tokio-zookeeper" } diff --git a/rust/operator-binary/src/crd/mod.rs b/rust/operator-binary/src/crd/mod.rs index 8fd6291a..f50524f8 100644 --- a/rust/operator-binary/src/crd/mod.rs +++ b/rust/operator-binary/src/crd/mod.rs @@ -121,8 +121,10 @@ pub mod versioned { namespaced, crates( kube_core = "stackable_operator::kube::core", + kube_client = "stackable_operator::kube::client", k8s_openapi = "stackable_operator::k8s_openapi", - schemars = "stackable_operator::schemars" + schemars = "stackable_operator::schemars", + versioned = "stackable_operator::versioned", ) ))] #[serde(rename_all = "camelCase")] @@ -301,8 +303,10 @@ pub mod versioned { namespaced, crates( kube_core = "stackable_operator::kube::core", + kube_client = "stackable_operator::kube::client", k8s_openapi = "stackable_operator::k8s_openapi", - schemars = "stackable_operator::schemars" + schemars = "stackable_operator::schemars", + versioned = "stackable_operator::versioned", ) ))] #[serde(rename_all = "camelCase")] diff --git a/rust/operator-binary/src/main.rs b/rust/operator-binary/src/main.rs index ed548c2d..d847ce14 100644 --- a/rust/operator-binary/src/main.rs +++ b/rust/operator-binary/src/main.rs @@ -1,7 +1,10 @@ use std::sync::Arc; use clap::Parser; -use crd::{APP_NAME, OPERATOR_NAME, ZookeeperCluster, ZookeeperZnode, v1alpha1}; +use crd::{ + APP_NAME, OPERATOR_NAME, ZookeeperCluster, ZookeeperClusterVersion, ZookeeperZnode, + ZookeeperZnodeVersion, v1alpha1, +}; use futures::{StreamExt, pin_mut}; use stackable_operator::{ YamlSchema, @@ -53,9 +56,9 @@ async fn main() -> anyhow::Result<()> { let opts = Opts::parse(); match opts.cmd { Command::Crd => { - ZookeeperCluster::merged_crd(ZookeeperCluster::V1Alpha1)? + ZookeeperCluster::merged_crd(ZookeeperClusterVersion::V1Alpha1)? .print_yaml_schema(built_info::PKG_VERSION, SerializeOptions::default())?; - ZookeeperZnode::merged_crd(ZookeeperZnode::V1Alpha1)? + ZookeeperZnode::merged_crd(ZookeeperZnodeVersion::V1Alpha1)? .print_yaml_schema(built_info::PKG_VERSION, SerializeOptions::default())?; } Command::Run(ProductOperatorRun { From 44411d5fec5b568f46f7e2c5acf147b0ad4c92e2 Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Thu, 26 Jun 2025 08:31:18 +0200 Subject: [PATCH 2/7] cargo update --- Cargo.lock | 743 ++++++++++++++++++++++------------------------------- 1 file changed, 313 insertions(+), 430 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 608b4160..a01c6c06 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13,21 +13,21 @@ dependencies = [ [[package]] name = "adler2" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "ahash" -version = "0.8.11" +version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "getrandom 0.2.15", + "getrandom 0.3.3", "once_cell", "version_check", - "zerocopy 0.7.35", + "zerocopy", ] [[package]] @@ -62,9 +62,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.18" +version = "0.6.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" +checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" dependencies = [ "anstyle", "anstyle-parse", @@ -77,44 +77,44 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" +checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" [[package]] name = "anstyle-parse" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" +checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" +checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" dependencies = [ "windows-sys 0.59.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.7" +version = "3.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e" +checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" dependencies = [ "anstyle", - "once_cell", + "once_cell_polyfill", "windows-sys 0.59.0", ] [[package]] name = "anyhow" -version = "1.0.97" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" [[package]] name = "async-broadcast" @@ -147,7 +147,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -158,7 +158,7 @@ checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -169,15 +169,15 @@ checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" [[package]] name = "autocfg" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" +checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] name = "axum" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de45108900e1f9b9242f7f2e254aa3e2c029c921c258fe9e6b4217eeebd54288" +checksum = "021e862c184ae977658b36c4500f7feac3221ca5da43e3f25bd04ab6c79a29b5" dependencies = [ "axum-core", "bytes", @@ -229,9 +229,9 @@ dependencies = [ [[package]] name = "backon" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd0b50b1b78dbadd44ab18b3c794e496f3a139abb9fbc27d9c94c4eebbb96496" +checksum = "302eaff5357a264a2c42f127ecb8bac761cf99749fc3dc95677e2743991f99e7" dependencies = [ "fastrand", "gloo-timers", @@ -240,9 +240,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.74" +version = "0.3.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" +checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" dependencies = [ "addr2line", "cfg-if", @@ -250,15 +250,9 @@ dependencies = [ "miniz_oxide", "object", "rustc-demangle", - "windows-targets 0.52.6", + "windows-targets", ] -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - [[package]] name = "base64" version = "0.22.1" @@ -282,9 +276,9 @@ checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" [[package]] name = "bitflags" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" +checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" [[package]] name = "block-buffer" @@ -307,9 +301,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.17.0" +version = "3.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" +checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43" [[package]] name = "byteorder" @@ -325,9 +319,9 @@ checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] name = "cc" -version = "1.2.18" +version = "1.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525046617d8376e3db1deffb079e91cef90a89fc3ca5c185bbf8c9ecdd15cd5c" +checksum = "d487aa071b5f64da6f19a3e848e3578944b726ee5a4854b82172f02aa876bfdc" dependencies = [ "jobserver", "libc", @@ -336,15 +330,15 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +checksum = "9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268" [[package]] name = "chrono" -version = "0.4.40" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a7964611d71df112cb1730f2ee67324fcf4d0fc6606acbbe9bfe06df124637c" +checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d" dependencies = [ "android-tzdata", "iana-time-zone", @@ -355,9 +349,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.35" +version = "4.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8aa86934b44c19c50f87cc2790e19f54f7a67aedb64101c2e1a2e5ecfb73944" +checksum = "40b6887a1d8685cebccf115538db5c0efe625ccac9696ad45c409d96566e910f" dependencies = [ "clap_builder", "clap_derive", @@ -365,9 +359,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.35" +version = "4.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2414dbb2dd0695280da6ea9261e327479e9d37b0630f6b53ba2a11c60c679fd9" +checksum = "e0c66c08ce9f0c698cbce5c0279d0bb6ac936d8674174fe48f736533b964f59e" dependencies = [ "anstream", "anstyle", @@ -377,27 +371,27 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.32" +version = "4.5.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7" +checksum = "d2c7947ae4cc3d851207c1adb5b5e260ff0cca11446b1d6d1423788e442257ce" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] name = "clap_lex" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" [[package]] name = "colorchoice" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" +checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" [[package]] name = "concurrent-queue" @@ -449,9 +443,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" dependencies = [ "core-foundation-sys", "libc", @@ -527,7 +521,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -538,7 +532,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ "darling_core", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -549,7 +543,7 @@ checksum = "b9b6483c2bbed26f97861cf57651d4f2b731964a28cd2257f934a4b452480d21" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -578,7 +572,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -599,7 +593,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -637,7 +631,7 @@ dependencies = [ "enum-ordinalize", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -681,7 +675,7 @@ checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -730,9 +724,9 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "flate2" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" +checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d" dependencies = [ "crc32fast", "miniz_oxide", @@ -821,7 +815,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -867,20 +861,20 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi 0.11.1+wasi-snapshot-preview1", ] [[package]] name = "getrandom" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" dependencies = [ "cfg-if", "libc", @@ -896,9 +890,9 @@ checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "git2" -version = "0.20.1" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5220b8ba44c68a9a7f7a7659e864dd73692e417ef0211bea133c7b74e031eeb9" +checksum = "2deb07a133b1520dc1a5690e9bd08950108873d7ed5de38dcc74d3b5ebffa110" dependencies = [ "bitflags", "libc", @@ -927,9 +921,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.8" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5017294ff4bb30944501348f6f8e42e6ad28f42c8bbef7a74029aff064a4e3c2" +checksum = "a9421a676d1b147b16b82c9225157dc629087ef8ec4d5e2960f9437a90dac0a5" dependencies = [ "atomic-waker", "bytes", @@ -952,9 +946,9 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.15.2" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" +checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" dependencies = [ "allocator-api2", "equivalent", @@ -963,11 +957,11 @@ dependencies = [ [[package]] name = "headers" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322106e6bd0cba2d5ead589ddb8150a13d7c4217cf80d7c4f682ca994ccc6aa9" +checksum = "b3314d5adb5d94bcdf56771f2e50dbbc80bb4bdf88967526706205ac9eff24eb" dependencies = [ - "base64 0.21.7", + "base64", "bytes", "headers-core", "http", @@ -1100,11 +1094,10 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.5" +version = "0.27.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d191583f3da1305256f22463b9bb0471acad48a4e534a5218b9963e9c1f59b2" +checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" dependencies = [ - "futures-util", "http", "hyper", "hyper-util", @@ -1132,17 +1125,21 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.11" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2" +checksum = "dc2fdfdbff08affe55bb779f33b053aa1fe5dd5b54c257343c17edfa55711bdb" dependencies = [ + "base64", "bytes", "futures-channel", + "futures-core", "futures-util", "http", "http-body", "hyper", + "ipnet", "libc", + "percent-encoding", "pin-project-lite", "socket2", "tokio", @@ -1176,21 +1173,22 @@ dependencies = [ [[package]] name = "icu_collections" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" +checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" dependencies = [ "displaydoc", + "potential_utf", "yoke", "zerofrom", "zerovec", ] [[package]] -name = "icu_locid" -version = "1.5.0" +name = "icu_locale_core" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" +checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" dependencies = [ "displaydoc", "litemap", @@ -1199,31 +1197,11 @@ dependencies = [ "zerovec", ] -[[package]] -name = "icu_locid_transform" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" -dependencies = [ - "displaydoc", - "icu_locid", - "icu_locid_transform_data", - "icu_provider", - "tinystr", - "zerovec", -] - -[[package]] -name = "icu_locid_transform_data" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" - [[package]] name = "icu_normalizer" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" +checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" dependencies = [ "displaydoc", "icu_collections", @@ -1231,67 +1209,54 @@ dependencies = [ "icu_properties", "icu_provider", "smallvec", - "utf16_iter", - "utf8_iter", - "write16", "zerovec", ] [[package]] name = "icu_normalizer_data" -version = "1.5.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" +checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" [[package]] name = "icu_properties" -version = "1.5.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" +checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" dependencies = [ "displaydoc", "icu_collections", - "icu_locid_transform", + "icu_locale_core", "icu_properties_data", "icu_provider", - "tinystr", + "potential_utf", + "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "1.5.1" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" +checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" [[package]] name = "icu_provider" -version = "1.5.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" +checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" dependencies = [ "displaydoc", - "icu_locid", - "icu_provider_macros", + "icu_locale_core", "stable_deref_trait", "tinystr", "writeable", "yoke", "zerofrom", + "zerotrie", "zerovec", ] -[[package]] -name = "icu_provider_macros" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.100", -] - [[package]] name = "ident_case" version = "1.0.1" @@ -1311,9 +1276,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -1336,7 +1301,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown 0.15.4", ] [[package]] @@ -1351,6 +1316,16 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "469fb0b9cefa57e3ef31275ee7cacb78f2fdca44e4765491884a2b119d4eb130" +[[package]] +name = "iri-string" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbc5ebe9c3a1a7a5127f920a418f7585e9e758e911d0466ed004f393b0e380b2" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -1389,7 +1364,7 @@ version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.3", "libc", ] @@ -1444,7 +1419,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aa60a41b57ae1a0a071af77dbcf89fc9819cfe66edaf2beeb204c34459dcf0b2" dependencies = [ - "base64 0.22.1", + "base64", "chrono", "schemars", "serde", @@ -1459,7 +1434,7 @@ dependencies = [ "darling", "regex", "serde", - "snafu 0.8.5", + "snafu 0.8.6", ] [[package]] @@ -1481,7 +1456,7 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7cb276b85b6e94ded00ac8ea2c68fcf4697ea0553cb25fddc35d4a0ab718db8d" dependencies = [ - "base64 0.22.1", + "base64", "bytes", "chrono", "either", @@ -1542,7 +1517,7 @@ dependencies = [ "quote", "serde", "serde_json", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -1557,7 +1532,7 @@ dependencies = [ "backon", "educe", "futures 0.3.31", - "hashbrown 0.15.2", + "hashbrown 0.15.4", "hostname", "json-patch", "k8s-openapi", @@ -1580,15 +1555,15 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.171" +version = "0.2.174" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" +checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" [[package]] name = "libgit2-sys" -version = "0.18.1+1.9.0" +version = "0.18.2+1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1dcb20f84ffcdd825c7a311ae347cce604a6f084a767dec4a4929829645290e" +checksum = "1c42fe03df2bd3c53a3a9c7317ad91d80c81cd1fb0caec8d7cc4cd2bfa10c222" dependencies = [ "cc", "libc", @@ -1610,15 +1585,15 @@ dependencies = [ [[package]] name = "litemap" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" +checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" [[package]] name = "lock_api" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" dependencies = [ "autocfg", "scopeguard", @@ -1647,9 +1622,9 @@ checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" [[package]] name = "memchr" -version = "2.7.4" +version = "2.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" +checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0" [[package]] name = "mime" @@ -1659,22 +1634,22 @@ checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" [[package]] name = "miniz_oxide" -version = "0.8.8" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" dependencies = [ "adler2", ] [[package]] name = "mio" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" +checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.0", + "wasi 0.11.1+wasi-snapshot-preview1", + "windows-sys 0.59.0", ] [[package]] @@ -1717,6 +1692,12 @@ version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +[[package]] +name = "once_cell_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" + [[package]] name = "openssl-probe" version = "0.1.6" @@ -1844,9 +1825,9 @@ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" dependencies = [ "lock_api", "parking_lot_core", @@ -1854,15 +1835,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.10" +version = "0.9.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -1871,7 +1852,7 @@ version = "3.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38af38e8470ac9dee3ce1bae1af9c1671fffc44ddfd8bd1d0a3445bf349a8ef3" dependencies = [ - "base64 0.22.1", + "base64", "serde", ] @@ -1883,9 +1864,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "198db74531d58c70a361c42201efde7e2591e976d518caf7662a47dc5720e7b6" +checksum = "1db05f56d34358a8b1066f67cbb203ee3e7ed2ba674a6263a1d5ec6db2204323" dependencies = [ "memchr", "thiserror 2.0.12", @@ -1894,9 +1875,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d725d9cfd79e87dccc9341a2ef39d1b6f6353d68c4b33c177febbe1a402c97c5" +checksum = "bb056d9e8ea77922845ec74a1c4e8fb17e7c218cc4fc11a15c5d25e189aa40bc" dependencies = [ "pest", "pest_generator", @@ -1904,24 +1885,23 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db7d01726be8ab66ab32f9df467ae8b1148906685bbe75c82d1e65d7f5b3f841" +checksum = "87e404e638f781eb3202dc82db6760c8ae8a1eeef7fb3fa8264b2ef280504966" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] name = "pest_meta" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9f832470494906d1fca5329f8ab5791cc60beb230c74815dff541cbd2b5ca0" +checksum = "edd1101f170f5903fde0914f899bb503d9ff5271d7ba76bbb70bea63690cc0d5" dependencies = [ - "once_cell", "pest", "sha2", ] @@ -1943,7 +1923,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -1964,6 +1944,15 @@ version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" +[[package]] +name = "potential_utf" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" +dependencies = [ + "zerovec", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -1976,14 +1965,14 @@ version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" dependencies = [ - "zerocopy 0.8.24", + "zerocopy", ] [[package]] name = "proc-macro2" -version = "1.0.94" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] @@ -2000,7 +1989,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "snafu 0.8.5", + "snafu 0.8.6", "xml-rs", ] @@ -2024,7 +2013,7 @@ dependencies = [ "itertools", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -2038,9 +2027,9 @@ dependencies = [ [[package]] name = "r-efi" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] name = "rand" @@ -2089,7 +2078,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom 0.2.16", ] [[package]] @@ -2098,14 +2087,14 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "getrandom 0.3.2", + "getrandom 0.3.3", ] [[package]] name = "redox_syscall" -version = "0.5.11" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" +checksum = "0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6" dependencies = [ "bitflags", ] @@ -2156,11 +2145,11 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" -version = "0.12.15" +version = "0.12.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d19c46a6fdd48bc4dab94b6103fccc55d34c67cc0ad04653aad4ea2a07cd7bbb" +checksum = "eabf4c97d9130e2bf606614eb937e86edac8292eaa6f422f995d7e8de1eb1813" dependencies = [ - "base64 0.22.1", + "base64", "bytes", "futures-channel", "futures-core", @@ -2170,11 +2159,8 @@ dependencies = [ "http-body-util", "hyper", "hyper-util", - "ipnet", "js-sys", "log", - "mime", - "once_cell", "percent-encoding", "pin-project-lite", "serde", @@ -2183,12 +2169,12 @@ dependencies = [ "sync_wrapper", "tokio", "tower 0.5.2", + "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "windows-registry", ] [[package]] @@ -2199,7 +2185,7 @@ checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom 0.2.16", "libc", "untrusted", "windows-sys 0.52.0", @@ -2207,15 +2193,15 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.24" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" [[package]] name = "rustls" -version = "0.23.25" +version = "0.23.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "822ee9188ac4ec04a2f0531e55d035fb2de73f18b41a63c70c2712503b6fb13c" +checksum = "7160e3e10bf4535308537f3c4e1641468cd0e485175d6163087c0393c7d46643" dependencies = [ "log", "once_cell", @@ -2262,15 +2248,18 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" +checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +dependencies = [ + "zeroize", +] [[package]] name = "rustls-webpki" -version = "0.103.1" +version = "0.103.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03" +checksum = "e4a72fe2bcf7a6ac6fd7d0b9e5cb68aeb7d4c0a0271730218b3e92d43b4eb435" dependencies = [ "ring", "rustls-pki-types", @@ -2279,9 +2268,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" +checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" [[package]] name = "ryu" @@ -2320,7 +2309,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -2358,7 +2347,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" dependencies = [ "bitflags", - "core-foundation 0.10.0", + "core-foundation 0.10.1", "core-foundation-sys", "libc", "security-framework-sys", @@ -2407,7 +2396,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -2418,7 +2407,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -2481,9 +2470,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.8" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", "cpufeatures", @@ -2507,27 +2496,24 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.2" +version = "1.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" dependencies = [ "libc", ] [[package]] name = "slab" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] +checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" [[package]] name = "smallvec" -version = "1.15.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "snafu" @@ -2541,11 +2527,11 @@ dependencies = [ [[package]] name = "snafu" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "223891c85e2a29c3fe8fb900c1fae5e69c2e42415e3177752e8718475efa5019" +checksum = "320b01e011bf8d5d7a4a4a4be966d9160968935849c83b918827f6a435e7f627" dependencies = [ - "snafu-derive 0.8.5", + "snafu-derive 0.8.6", ] [[package]] @@ -2561,21 +2547,21 @@ dependencies = [ [[package]] name = "snafu-derive" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c3c6b7927ffe7ecaa769ee0e3994da3b8cafc8f444578982c83ecb161af917" +checksum = "1961e2ef424c1424204d3a5d6975f934f56b6d50ff5732382d84ebf460e147f7" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] name = "socket2" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" +checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" dependencies = [ "libc", "windows-sys 0.52.0", @@ -2611,7 +2597,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "snafu 0.8.5", + "snafu 0.8.6", "stackable-operator-derive", "stackable-shared", "stackable-telemetry", @@ -2632,7 +2618,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -2644,7 +2630,7 @@ dependencies = [ "semver", "serde", "serde_yaml", - "snafu 0.8.5", + "snafu 0.8.6", ] [[package]] @@ -2661,7 +2647,7 @@ dependencies = [ "opentelemetry-semantic-conventions", "opentelemetry_sdk", "pin-project", - "snafu 0.8.5", + "snafu 0.8.6", "strum", "tokio", "tower 0.5.2", @@ -2681,7 +2667,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "snafu 0.8.5", + "snafu 0.8.6", "stackable-versioned-macros", ] @@ -2699,7 +2685,7 @@ dependencies = [ "kube", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -2719,7 +2705,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "snafu 0.8.5", + "snafu 0.8.6", "stackable-operator", "strum", "tokio", @@ -2752,7 +2738,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -2774,9 +2760,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.100" +version = "2.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" +checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" dependencies = [ "proc-macro2", "quote", @@ -2794,13 +2780,13 @@ dependencies = [ [[package]] name = "synstructure" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -2829,7 +2815,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -2840,17 +2826,16 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] name = "thread_local" -version = "1.1.8" +version = "1.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" dependencies = [ "cfg-if", - "once_cell", ] [[package]] @@ -2886,9 +2871,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.7.6" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" +checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" dependencies = [ "displaydoc", "zerovec", @@ -2896,9 +2881,9 @@ dependencies = [ [[package]] name = "tokio" -version = "1.44.2" +version = "1.45.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" +checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" dependencies = [ "backtrace", "bytes", @@ -2920,7 +2905,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -2946,9 +2931,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.14" +version = "0.7.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" +checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" dependencies = [ "bytes", "futures-core", @@ -2969,7 +2954,7 @@ dependencies = [ "futures 0.3.31", "once_cell", "pin-project", - "snafu 0.8.5", + "snafu 0.8.6", "tokio", "tracing", ] @@ -2981,7 +2966,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" dependencies = [ "async-trait", - "base64 0.22.1", + "base64", "bytes", "flate2", "http", @@ -3040,17 +3025,20 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.2" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697" +checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" dependencies = [ - "base64 0.22.1", + "base64", "bitflags", "bytes", + "futures-util", "http", "http-body", + "iri-string", "mime", "pin-project-lite", + "tower 0.5.2", "tower-layer", "tower-service", "tracing", @@ -3094,20 +3082,20 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.28" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" +checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] name = "tracing-core" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" +checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" dependencies = [ "once_cell", "valuable", @@ -3233,12 +3221,6 @@ dependencies = [ "serde", ] -[[package]] -name = "utf16_iter" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -3280,9 +3262,9 @@ dependencies = [ [[package]] name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" [[package]] name = "wasi" @@ -3315,7 +3297,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", "wasm-bindgen-shared", ] @@ -3350,7 +3332,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3408,15 +3390,15 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.61.0" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980" +checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement", "windows-interface", "windows-link", "windows-result", - "windows-strings 0.4.0", + "windows-strings", ] [[package]] @@ -3427,7 +3409,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -3438,49 +3420,29 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] name = "windows-link" -version = "0.1.1" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" - -[[package]] -name = "windows-registry" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4286ad90ddb45071efd1a66dfa43eb02dd0dfbae1545ad6cc3c51cf34d7e8ba3" -dependencies = [ - "windows-result", - "windows-strings 0.3.1", - "windows-targets 0.53.0", -] +checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" [[package]] name = "windows-result" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252" -dependencies = [ - "windows-link", -] - -[[package]] -name = "windows-strings" -version = "0.3.1" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" +checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ "windows-link", ] [[package]] name = "windows-strings" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97" +checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" dependencies = [ "windows-link", ] @@ -3491,7 +3453,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -3500,7 +3462,7 @@ version = "0.59.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" dependencies = [ - "windows-targets 0.52.6", + "windows-targets", ] [[package]] @@ -3509,30 +3471,14 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm 0.52.6", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1e4c7e8ceaaf9cb7d7507c974735728ab453b67ef8f18febdd7c11fe59dca8b" -dependencies = [ - "windows_aarch64_gnullvm 0.53.0", - "windows_aarch64_msvc 0.53.0", - "windows_i686_gnu 0.53.0", - "windows_i686_gnullvm 0.53.0", - "windows_i686_msvc 0.53.0", - "windows_x86_64_gnu 0.53.0", - "windows_x86_64_gnullvm 0.53.0", - "windows_x86_64_msvc 0.53.0", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] [[package]] @@ -3541,96 +3487,48 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" - [[package]] name = "windows_aarch64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -[[package]] -name = "windows_aarch64_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" - [[package]] name = "windows_i686_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" -[[package]] -name = "windows_i686_gnu" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" - [[package]] name = "windows_i686_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -[[package]] -name = "windows_i686_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" - [[package]] name = "windows_i686_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -[[package]] -name = "windows_i686_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" - [[package]] name = "windows_x86_64_gnu" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" -[[package]] -name = "windows_x86_64_gnu" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" - [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" - [[package]] name = "windows_x86_64_msvc" version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -[[package]] -name = "windows_x86_64_msvc" -version = "0.53.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" - [[package]] name = "wit-bindgen-rt" version = "0.39.0" @@ -3640,17 +3538,11 @@ dependencies = [ "bitflags", ] -[[package]] -name = "write16" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" - [[package]] name = "writeable" -version = "0.5.5" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" +checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] name = "xml-rs" @@ -3660,9 +3552,9 @@ checksum = "a62ce76d9b56901b19a74f19431b0d8b3bc7ca4ad685a746dfd78ca8f4fc6bda" [[package]] name = "yoke" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" +checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" dependencies = [ "serde", "stable_deref_trait", @@ -3672,54 +3564,34 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.7.5" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" +checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", "synstructure", ] [[package]] name = "zerocopy" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -dependencies = [ - "zerocopy-derive 0.7.35", -] - -[[package]] -name = "zerocopy" -version = "0.8.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" -dependencies = [ - "zerocopy-derive 0.8.24", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +checksum = "1039dd0d3c310cf05de012d8a39ff557cb0d23087fd44cad61df08fc31907a2f" dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.100", + "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.24" +version = "0.8.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" +checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] [[package]] @@ -3739,7 +3611,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", "synstructure", ] @@ -3749,11 +3621,22 @@ version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +[[package]] +name = "zerotrie" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + [[package]] name = "zerovec" -version = "0.10.4" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" +checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" dependencies = [ "yoke", "zerofrom", @@ -3762,11 +3645,11 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.10.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" +checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.100", + "syn 2.0.104", ] From 701a373d54e15ead68dd6ec3e62aa9b820271db9 Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Thu, 26 Jun 2025 08:59:23 +0200 Subject: [PATCH 3/7] Remove CRDs from helm --- Cargo.lock | 7 - Cargo.nix | 1530 +++++++---------- Cargo.toml | 4 +- Makefile | 6 +- Tiltfile | 27 +- crate-hashes.json | 7 - crds.yaml | 893 ++++++++++ default.nix | 9 - deploy/helm/zookeeper-operator/crds/crds.yaml | 902 ---------- 9 files changed, 1558 insertions(+), 1827 deletions(-) create mode 100644 crds.yaml delete mode 100644 deploy/helm/zookeeper-operator/crds/crds.yaml diff --git a/Cargo.lock b/Cargo.lock index a01c6c06..0d6a03dd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1429,7 +1429,6 @@ dependencies = [ [[package]] name = "k8s-version" version = "0.1.3" -source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#7d83ffe78bcba0fa3c291bc735d78ecba091af9f" dependencies = [ "darling", "regex", @@ -2576,7 +2575,6 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "stackable-operator" version = "0.93.2" -source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#7d83ffe78bcba0fa3c291bc735d78ecba091af9f" dependencies = [ "chrono", "clap", @@ -2613,7 +2611,6 @@ dependencies = [ [[package]] name = "stackable-operator-derive" version = "0.3.1" -source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#7d83ffe78bcba0fa3c291bc735d78ecba091af9f" dependencies = [ "darling", "proc-macro2", @@ -2624,7 +2621,6 @@ dependencies = [ [[package]] name = "stackable-shared" version = "0.0.1" -source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#7d83ffe78bcba0fa3c291bc735d78ecba091af9f" dependencies = [ "kube", "semver", @@ -2636,7 +2632,6 @@ dependencies = [ [[package]] name = "stackable-telemetry" version = "0.6.0" -source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#7d83ffe78bcba0fa3c291bc735d78ecba091af9f" dependencies = [ "axum", "clap", @@ -2660,7 +2655,6 @@ dependencies = [ [[package]] name = "stackable-versioned" version = "0.7.1" -source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#7d83ffe78bcba0fa3c291bc735d78ecba091af9f" dependencies = [ "k8s-version", "schemars", @@ -2674,7 +2668,6 @@ dependencies = [ [[package]] name = "stackable-versioned-macros" version = "0.7.1" -source = "git+https://github.com/stackabletech//operator-rs.git?branch=main#7d83ffe78bcba0fa3c291bc735d78ecba091af9f" dependencies = [ "convert_case", "darling", diff --git a/Cargo.nix b/Cargo.nix index 1100cc7f..52d298e0 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -120,25 +120,24 @@ rec { }; "adler2" = rec { crateName = "adler2"; - version = "2.0.0"; + version = "2.0.1"; edition = "2021"; - sha256 = "09r6drylvgy8vv8k20lnbvwq8gp09h7smfn6h1rxsy15pgh629si"; + sha256 = "1ymy18s9hs7ya1pjc9864l30wk8p2qfqdi7mhhcc5nfakxbij09j"; authors = [ "Jonas Schievink " "oyvindln " ]; features = { - "compiler_builtins" = [ "dep:compiler_builtins" ]; "core" = [ "dep:core" ]; "default" = [ "std" ]; - "rustc-dep-of-std" = [ "core" "compiler_builtins" ]; + "rustc-dep-of-std" = [ "core" ]; }; }; "ahash" = rec { crateName = "ahash"; - version = "0.8.11"; + version = "0.8.12"; edition = "2018"; - sha256 = "04chdfkls5xmhp1d48gnjsmglbqibizs3bpbj6rsj604m10si7g8"; + sha256 = "0xbsp9rlm5ki017c0w6ay8kjwinwm8knjncci95mii30rmwz25as"; authors = [ "Tom Kaitchuck " ]; @@ -149,7 +148,7 @@ rec { } { name = "getrandom"; - packageId = "getrandom 0.2.15"; + packageId = "getrandom 0.3.3"; optional = true; } { @@ -161,7 +160,7 @@ rec { } { name = "zerocopy"; - packageId = "zerocopy 0.7.35"; + packageId = "zerocopy"; usesDefaultFeatures = false; features = [ "simd" ]; } @@ -173,7 +172,7 @@ rec { } ]; features = { - "atomic-polyfill" = [ "dep:atomic-polyfill" "once_cell/atomic-polyfill" ]; + "atomic-polyfill" = [ "dep:portable-atomic" "once_cell/critical-section" ]; "compile-time-rng" = [ "const-random" ]; "const-random" = [ "dep:const-random" ]; "default" = [ "std" "runtime-rng" ]; @@ -253,9 +252,9 @@ rec { }; "anstream" = rec { crateName = "anstream"; - version = "0.6.18"; + version = "0.6.19"; edition = "2021"; - sha256 = "16sjk4x3ns2c3ya1x28a44kh6p47c7vhk27251i015hik1lm7k4a"; + sha256 = "0crr9a207dyn8k66xgvhvmlxm9raiwpss3syfa35c6265s9z26ih"; dependencies = [ { name = "anstyle"; @@ -298,9 +297,9 @@ rec { }; "anstyle" = rec { crateName = "anstyle"; - version = "1.0.10"; + version = "1.0.11"; edition = "2021"; - sha256 = "1yai2vppmd7zlvlrp9grwll60knrmscalf8l2qpfz8b7y5lkpk2m"; + sha256 = "1gbbzi0zbgff405q14v8hhpi1kz2drzl9a75r3qhks47lindjbl6"; features = { "default" = [ "std" ]; }; @@ -308,9 +307,9 @@ rec { }; "anstyle-parse" = rec { crateName = "anstyle-parse"; - version = "0.2.6"; + version = "0.2.7"; edition = "2021"; - sha256 = "1acqayy22fwzsrvr6n0lz6a4zvjjcvgr5sm941m7m0b2fr81cb9v"; + sha256 = "1hhmkkfr95d462b3zf6yl2vfzdqfy5726ya572wwg8ha9y148xjf"; libName = "anstyle_parse"; dependencies = [ { @@ -328,9 +327,9 @@ rec { }; "anstyle-query" = rec { crateName = "anstyle-query"; - version = "1.1.2"; + version = "1.1.3"; edition = "2021"; - sha256 = "036nm3lkyk43xbps1yql3583fp4hg3b1600is7mcyxs1gzrpm53r"; + sha256 = "1sgs2hq54wayrmpvy784ww2ccv9f8yhhpasv12z872bx0jvdx2vc"; libName = "anstyle_query"; dependencies = [ { @@ -344,9 +343,9 @@ rec { }; "anstyle-wincon" = rec { crateName = "anstyle-wincon"; - version = "3.0.7"; + version = "3.0.9"; edition = "2021"; - sha256 = "0kmf0fq4c8yribdpdpylzz1zccpy84hizmcsac3wrac1f7kk8dfa"; + sha256 = "10n8mcgr89risdf35i73zc67aaa392bhggwzqlri1fv79297ags0"; libName = "anstyle_wincon"; dependencies = [ { @@ -354,8 +353,8 @@ rec { packageId = "anstyle"; } { - name = "once_cell"; - packageId = "once_cell"; + name = "once_cell_polyfill"; + packageId = "once_cell_polyfill"; target = { target, features }: (target."windows" or false); } { @@ -369,9 +368,9 @@ rec { }; "anyhow" = rec { crateName = "anyhow"; - version = "1.0.97"; + version = "1.0.98"; edition = "2018"; - sha256 = "0kvspbiwncmmkdgrwjrimsmbmhzxc641p5ql99l2rjq6smmdbznw"; + sha256 = "11ylvjdrcjs0q9jgk1af4r5cx1qppj63plxqkq595vmc24rjsvg1"; authors = [ "David Tolnay " ]; @@ -458,7 +457,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "full" "visit-mut" ]; } ]; @@ -485,7 +484,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; usesDefaultFeatures = false; features = [ "clone-impls" "full" "parsing" "printing" "proc-macro" "visit-mut" ]; } @@ -508,9 +507,9 @@ rec { }; "autocfg" = rec { crateName = "autocfg"; - version = "1.4.0"; + version = "1.5.0"; edition = "2015"; - sha256 = "09lz3by90d2hphbq56znag9v87gfpd9gb8nr82hll8z6x2nhprdc"; + sha256 = "1s77f98id9l4af4alklmzq46f21c980v13z2r1pcxx6bqgw0d1n0"; authors = [ "Josh Stone " ]; @@ -518,9 +517,9 @@ rec { }; "axum" = rec { crateName = "axum"; - version = "0.8.3"; + version = "0.8.4"; edition = "2021"; - sha256 = "1222spmyw5s2dfggwn62474jkh72ld52abkz5wjbkyg1024i0ify"; + sha256 = "1d99kb3vcjnhbgrf6hysllf25hzagw7m1i1nidjpgsaa30n8c7h2"; dependencies = [ { name = "axum-core"; @@ -693,7 +692,7 @@ rec { "tracing" = [ "dep:tracing" "axum-core/tracing" ]; "ws" = [ "dep:hyper" "tokio" "dep:tokio-tungstenite" "dep:sha1" "dep:base64" ]; }; - resolvedDefaultFeatures = [ "default" "form" "http1" "json" "matched-path" "original-uri" "query" "tokio" "tower-log" "tracing" ]; + resolvedDefaultFeatures = [ "default" "form" "http1" "http2" "json" "matched-path" "original-uri" "query" "tokio" "tower-log" "tracing" ]; }; "axum-core" = rec { crateName = "axum-core"; @@ -761,9 +760,9 @@ rec { }; "backon" = rec { crateName = "backon"; - version = "1.5.0"; + version = "1.5.1"; edition = "2021"; - sha256 = "15k4p6xyxi4lkiyw5yxrmcws3wwnwjacgcqqmd2dvfldnyqm02zx"; + sha256 = "1rwr3ycl69vycyaxrhwzfjcwyqf7pawfq9zi88n4l9ks6pssybih"; dependencies = [ { name = "fastrand"; @@ -814,9 +813,9 @@ rec { }; "backtrace" = rec { crateName = "backtrace"; - version = "0.3.74"; + version = "0.3.75"; edition = "2021"; - sha256 = "06pfif7nwx66qf2zaanc2fcq7m64i91ki9imw9xd3bnz5hrwp0ld"; + sha256 = "00hhizz29mvd7cdqyz5wrj98vqkihgcxmv2vl7z0d0f53qrac1k8"; authors = [ "The Rust Project Developers" ]; @@ -856,34 +855,20 @@ rec { } { name = "windows-targets"; - packageId = "windows-targets 0.52.6"; - target = { target, features }: (target."windows" or false); + packageId = "windows-targets"; + target = { target, features }: ((target."windows" or false) || ("cygwin" == target."os" or null)); } ]; features = { "cpp_demangle" = [ "dep:cpp_demangle" ]; "default" = [ "std" ]; + "ruzstd" = [ "dep:ruzstd" ]; "serde" = [ "dep:serde" ]; "serialize-serde" = [ "serde" ]; }; resolvedDefaultFeatures = [ "default" "std" ]; }; - "base64 0.21.7" = rec { - crateName = "base64"; - version = "0.21.7"; - edition = "2018"; - sha256 = "0rw52yvsk75kar9wgqfwgb414kvil1gn7mqkrhn9zf1537mpsacx"; - authors = [ - "Alice Maz " - "Marshall Pierce " - ]; - features = { - "default" = [ "std" ]; - "std" = [ "alloc" ]; - }; - resolvedDefaultFeatures = [ "alloc" "default" "std" ]; - }; - "base64 0.22.1" = rec { + "base64" = rec { crateName = "base64"; version = "0.22.1"; edition = "2018"; @@ -938,9 +923,9 @@ rec { }; "bitflags" = rec { crateName = "bitflags"; - version = "2.9.0"; + version = "2.9.1"; edition = "2021"; - sha256 = "1gb5w7pxnmx8l2bjz1i6rkbwbm2167k294rhy6cl1y3vbc8i90jw"; + sha256 = "0rz9rpp5wywwqb3mxfkywh4drmzci2fch780q7lifbf6bsc5d3hv"; authors = [ "The Rust Project Developers" ]; @@ -1004,14 +989,15 @@ rec { }; "bumpalo" = rec { crateName = "bumpalo"; - version = "3.17.0"; + version = "3.19.0"; edition = "2021"; - sha256 = "1gxxsn2fsjmv03g8p3m749mczv2k4m8xspifs5l7bcx0vx3gna0n"; + sha256 = "0hsdndvcpqbjb85ghrhska2qxvp9i75q2vb70hma9fxqawdy9ia6"; authors = [ "Nick Fitzgerald " ]; features = { "allocator-api2" = [ "dep:allocator-api2" ]; + "bench_allocator_api" = [ "allocator_api" "blink-alloc/nightly" ]; "serde" = [ "dep:serde" ]; }; resolvedDefaultFeatures = [ "default" ]; @@ -1047,9 +1033,9 @@ rec { }; "cc" = rec { crateName = "cc"; - version = "1.2.18"; + version = "1.2.27"; edition = "2018"; - sha256 = "0p6d2pfyrjgqpf2w399wzj4hmyffj6g0gyzg3pdy6xl3gmhlcl2j"; + sha256 = "1p5zfsl2mw3j46w58j2sxqkbfi49azilis5335pxlr2z3c3sm1yl"; authors = [ "Alex Crichton " ]; @@ -1079,24 +1065,23 @@ rec { }; "cfg-if" = rec { crateName = "cfg-if"; - version = "1.0.0"; + version = "1.0.1"; edition = "2018"; - sha256 = "1za0vb97n4brpzpv8lsbnzmq5r8f2b0cpqqr0sy8h5bn751xxwds"; + sha256 = "0s0jr5j797q1vqjcd41l0v5izlmlqm7lxy512b418xz5r65mfmcm"; libName = "cfg_if"; authors = [ "Alex Crichton " ]; features = { - "compiler_builtins" = [ "dep:compiler_builtins" ]; "core" = [ "dep:core" ]; - "rustc-dep-of-std" = [ "core" "compiler_builtins" ]; + "rustc-dep-of-std" = [ "core" ]; }; }; "chrono" = rec { crateName = "chrono"; - version = "0.4.40"; + version = "0.4.41"; edition = "2021"; - sha256 = "0z334kqnvq5zx6xsq1k6zk8g9z14fgk2w3vkn4n13pvi3mhn8y8s"; + sha256 = "0k8wy2mph0mgipq28vv3wirivhb31pqs7jyid0dzjivz0i9djsf4"; dependencies = [ { name = "android-tzdata"; @@ -1155,10 +1140,10 @@ rec { }; "clap" = rec { crateName = "clap"; - version = "4.5.35"; + version = "4.5.40"; edition = "2021"; crateBin = []; - sha256 = "0i1rnz7mwbhs5qf10r6vmrkplkzm3477khkwz189rha49f9qdanq"; + sha256 = "03widrb9d7a0bka6lsf9r9f65zhfbkdkhm8iryycx1c63mx8idj0"; dependencies = [ { name = "clap_builder"; @@ -1197,9 +1182,9 @@ rec { }; "clap_builder" = rec { crateName = "clap_builder"; - version = "4.5.35"; + version = "4.5.40"; edition = "2021"; - sha256 = "1nczcw6cc49ap99nn3v3n0vrv7j74zin34palq6ji586vnrdn514"; + sha256 = "17pmcjwk6rbkizj4y5vlhrnr7b5n1ffjgh75pj66j34zrq46rip0"; dependencies = [ { name = "anstream"; @@ -1236,9 +1221,9 @@ rec { }; "clap_derive" = rec { crateName = "clap_derive"; - version = "4.5.32"; + version = "4.5.40"; edition = "2021"; - sha256 = "1mqcag8qapb5yhygg2hi153kzmbf7w5hqp3nl3fvl5cn4yp6l5q9"; + sha256 = "1kjp4928wy132inisss42750rzv0wasvbbf10w98agfcwix99iyj"; procMacro = true; dependencies = [ { @@ -1255,7 +1240,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "full" ]; } ]; @@ -1268,16 +1253,16 @@ rec { }; "clap_lex" = rec { crateName = "clap_lex"; - version = "0.7.4"; + version = "0.7.5"; edition = "2021"; - sha256 = "19nwfls5db269js5n822vkc8dw0wjq2h1wf0hgr06ld2g52d2spl"; + sha256 = "0xb6pjza43irrl99axbhs12pxq4sr8x7xd36p703j57f5i3n2kxr"; }; "colorchoice" = rec { crateName = "colorchoice"; - version = "1.0.3"; + version = "1.0.4"; edition = "2021"; - sha256 = "1439m3r3jy3xqck8aa13q658visn71ki76qa93cy55wkmalwlqsv"; + sha256 = "0x8ymkz1xr77rcj1cfanhf416pc4v681gmkc9dzb3jqja7f62nxh"; }; "concurrent-queue" = rec { @@ -1389,11 +1374,11 @@ rec { "random" = [ "rand" ]; }; }; - "core-foundation 0.10.0" = rec { + "core-foundation 0.10.1" = rec { crateName = "core-foundation"; - version = "0.10.0"; - edition = "2018"; - sha256 = "0qscay14s2rwkg8nd8ljhiaf149hj8sfy95d70zssy64r3jp2lmm"; + version = "0.10.1"; + edition = "2021"; + sha256 = "1xjns6dqf36rni2x9f47b65grxwdm20kwdg9lhmzdrrkwadcv9mj"; libName = "core_foundation"; authors = [ "The Servo Project Developers" @@ -1414,8 +1399,7 @@ rec { "link" = [ "core-foundation-sys/link" ]; "mac_os_10_7_support" = [ "core-foundation-sys/mac_os_10_7_support" ]; "mac_os_10_8_features" = [ "core-foundation-sys/mac_os_10_8_features" ]; - "uuid" = [ "dep:uuid" ]; - "with-uuid" = [ "uuid" ]; + "with-uuid" = [ "dep:uuid" ]; }; resolvedDefaultFeatures = [ "default" "link" ]; }; @@ -1635,7 +1619,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "full" "extra-traits" ]; } ]; @@ -1665,7 +1649,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; } ]; @@ -1691,7 +1675,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "full" "visit-mut" ]; } ]; @@ -1793,7 +1777,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; } ]; features = { @@ -1869,7 +1853,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; } ]; features = { @@ -1962,13 +1946,13 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; } ]; devDependencies = [ { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "full" ]; } ]; @@ -2071,7 +2055,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; } ]; features = { @@ -2205,9 +2189,9 @@ rec { }; "flate2" = rec { crateName = "flate2"; - version = "1.1.1"; + version = "1.1.2"; edition = "2018"; - sha256 = "1kpycx57dqpkr3vp53b4nq75p9mflh0smxy8hkys4v4ndvkr5vbw"; + sha256 = "07abz7v50lkdr5fjw8zaw2v8gm2vbppc0f7nqm8x3v3gb6wpsgaa"; authors = [ "Alex Crichton " "Josh Triplett " @@ -2474,7 +2458,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "full" ]; } ]; @@ -2624,11 +2608,11 @@ rec { }; resolvedDefaultFeatures = [ "more_lengths" ]; }; - "getrandom 0.2.15" = rec { + "getrandom 0.2.16" = rec { crateName = "getrandom"; - version = "0.2.15"; + version = "0.2.16"; edition = "2018"; - sha256 = "1mzlnrb3dgyd1fb84gvw10pyr8wdqdl4ry4sr64i1s8an66pqmn4"; + sha256 = "14l5aaia20cc6cc08xdlhrzmfcylmrnprwnna20lqf746pqzjprk"; authors = [ "The Rand Project Developers" ]; @@ -2645,7 +2629,7 @@ rec { } { name = "wasi"; - packageId = "wasi 0.11.0+wasi-snapshot-preview1"; + packageId = "wasi 0.11.1+wasi-snapshot-preview1"; usesDefaultFeatures = false; target = { target, features }: ("wasi" == target."os" or null); } @@ -2660,11 +2644,11 @@ rec { }; resolvedDefaultFeatures = [ "std" ]; }; - "getrandom 0.3.2" = rec { + "getrandom 0.3.3" = rec { crateName = "getrandom"; - version = "0.3.2"; + version = "0.3.3"; edition = "2021"; - sha256 = "1w2mlixa1989v7czr68iji7h67yra2pbg3s480wsqjza1r2sizkk"; + sha256 = "1x6jl875zp6b2b6qp9ghc84b0l76bvng2lvm8zfcmwjl7rb5w516"; authors = [ "The Rand Project Developers" ]; @@ -2759,9 +2743,9 @@ rec { }; "git2" = rec { crateName = "git2"; - version = "0.20.1"; + version = "0.20.2"; edition = "2018"; - sha256 = "1fgf67h78yrw2gm1n8ghgr0jwsbkvmjfhnbng9zrm2n68jxbh82j"; + sha256 = "0451zzmvblvlrj6y6pgdsxrqh42hi789n3k9lp0hslmi6fhhgsrd"; authors = [ "Josh Triplett " "Alex Crichton " @@ -2847,9 +2831,9 @@ rec { }; "h2" = rec { crateName = "h2"; - version = "0.4.8"; + version = "0.4.10"; edition = "2021"; - sha256 = "1hp3lijg1br982kzgglb5ks2ibg68a76z3rl052r8c5vyi7jj5sh"; + sha256 = "19f0va87lhzrc0lmwkgcz1z0haf6glajb4icp0b7n50vdmkilhm9"; authors = [ "Carl Lerche " "Sean McArthur " @@ -2939,11 +2923,11 @@ rec { }; resolvedDefaultFeatures = [ "raw" ]; }; - "hashbrown 0.15.2" = rec { + "hashbrown 0.15.4" = rec { crateName = "hashbrown"; - version = "0.15.2"; + version = "0.15.4"; edition = "2021"; - sha256 = "12dj0yfn59p3kh3679ac0w1fagvzf4z2zp87a13gbbqbzw0185dz"; + sha256 = "1mg045sm1nm00cwjm7ndi80hcmmv1v3z7gnapxyhd9qxc62sqwar"; authors = [ "Amanieu d'Antras " ]; @@ -2971,30 +2955,29 @@ rec { features = { "alloc" = [ "dep:alloc" ]; "allocator-api2" = [ "dep:allocator-api2" ]; - "compiler_builtins" = [ "dep:compiler_builtins" ]; "core" = [ "dep:core" ]; "default" = [ "default-hasher" "inline-more" "allocator-api2" "equivalent" "raw-entry" ]; "default-hasher" = [ "dep:foldhash" ]; "equivalent" = [ "dep:equivalent" ]; - "nightly" = [ "allocator-api2?/nightly" "bumpalo/allocator_api" ]; + "nightly" = [ "bumpalo/allocator_api" ]; "rayon" = [ "dep:rayon" ]; - "rustc-dep-of-std" = [ "nightly" "core" "compiler_builtins" "alloc" "rustc-internal-api" "raw-entry" ]; + "rustc-dep-of-std" = [ "nightly" "core" "alloc" "rustc-internal-api" ]; "serde" = [ "dep:serde" ]; }; resolvedDefaultFeatures = [ "allocator-api2" "default" "default-hasher" "equivalent" "inline-more" "raw-entry" ]; }; "headers" = rec { crateName = "headers"; - version = "0.4.0"; - edition = "2015"; - sha256 = "1abari69kjl2yv2dg06g2x17qgd1a20xp7aqmmg2vfhcppk0c89j"; + version = "0.4.1"; + edition = "2018"; + sha256 = "1sr4zygaq1b2f0k7b5l8vx5vp05wvd82w7vpavgvr52xvdd4scdk"; authors = [ "Sean McArthur " ]; dependencies = [ { name = "base64"; - packageId = "base64 0.21.7"; + packageId = "base64"; } { name = "bytes"; @@ -3413,16 +3396,11 @@ rec { }; "hyper-rustls" = rec { crateName = "hyper-rustls"; - version = "0.27.5"; + version = "0.27.7"; edition = "2021"; - sha256 = "1cjr3yf3x5mr3194llsfibacl6j7n2dknii2dwjha4ysyf1ia69d"; + sha256 = "0n6g8998szbzhnvcs1b7ibn745grxiqmlpg53xz206v826v3xjg3"; libName = "hyper_rustls"; dependencies = [ - { - name = "futures-util"; - packageId = "futures-util"; - usesDefaultFeatures = false; - } { name = "http"; packageId = "http"; @@ -3562,14 +3540,19 @@ rec { }; "hyper-util" = rec { crateName = "hyper-util"; - version = "0.1.11"; + version = "0.1.14"; edition = "2021"; - sha256 = "1wj3svb1r6yv6kgk5fsz6wwajmngc4zxcw4wxpwlmpbgl8rvqys9"; + sha256 = "1nqvf5azmv8p7hs5ghjlbgfya7xaafq377vppdazxbq8zzdxybyw"; libName = "hyper_util"; authors = [ "Sean McArthur " ]; dependencies = [ + { + name = "base64"; + packageId = "base64"; + optional = true; + } { name = "bytes"; packageId = "bytes"; @@ -3579,9 +3562,14 @@ rec { packageId = "futures-channel"; optional = true; } + { + name = "futures-core"; + packageId = "futures-core"; + } { name = "futures-util"; packageId = "futures-util"; + optional = true; usesDefaultFeatures = false; } { @@ -3596,11 +3584,21 @@ rec { name = "hyper"; packageId = "hyper"; } + { + name = "ipnet"; + packageId = "ipnet"; + optional = true; + } { name = "libc"; packageId = "libc"; optional = true; } + { + name = "percent-encoding"; + packageId = "percent-encoding"; + optional = true; + } { name = "pin-project-lite"; packageId = "pin-project-lite"; @@ -3635,6 +3633,12 @@ rec { name = "bytes"; packageId = "bytes"; } + { + name = "futures-util"; + packageId = "futures-util"; + usesDefaultFeatures = false; + features = [ "alloc" ]; + } { name = "hyper"; packageId = "hyper"; @@ -3648,18 +3652,20 @@ rec { ]; features = { "client" = [ "hyper/client" "dep:tracing" "dep:futures-channel" "dep:tower-service" ]; - "client-legacy" = [ "client" "dep:socket2" "tokio/sync" "dep:libc" ]; + "client-legacy" = [ "client" "dep:socket2" "tokio/sync" "dep:libc" "dep:futures-util" ]; + "client-proxy" = [ "client" "dep:base64" "dep:ipnet" "dep:percent-encoding" ]; + "client-proxy-system" = [ "dep:system-configuration" "dep:windows-registry" ]; "full" = [ "client" "client-legacy" "server" "server-auto" "server-graceful" "service" "http1" "http2" "tokio" "tracing" ]; "http1" = [ "hyper/http1" ]; "http2" = [ "hyper/http2" ]; "server" = [ "hyper/server" ]; "server-auto" = [ "server" "http1" "http2" ]; - "server-graceful" = [ "server" "tokio/sync" "futures-util/alloc" ]; + "server-graceful" = [ "server" "tokio/sync" ]; "service" = [ "dep:tower-service" ]; "tokio" = [ "dep:tokio" "tokio/net" "tokio/rt" "tokio/time" ]; "tracing" = [ "dep:tracing" ]; }; - resolvedDefaultFeatures = [ "client" "client-legacy" "default" "http1" "server" "service" "tokio" "tracing" ]; + resolvedDefaultFeatures = [ "client" "client-legacy" "client-proxy" "default" "http1" "http2" "server" "service" "tokio" "tracing" ]; }; "iana-time-zone" = rec { crateName = "iana-time-zone"; @@ -3732,9 +3738,9 @@ rec { }; "icu_collections" = rec { crateName = "icu_collections"; - version = "1.5.0"; + version = "2.0.0"; edition = "2021"; - sha256 = "09j5kskirl59mvqc8kabhy7005yyy7dp88jw9f6f3gkf419a8byv"; + sha256 = "0izfgypv1hsxlz1h8fc2aak641iyvkak16aaz5b4aqg3s3sp4010"; authors = [ "The ICU4X Project Developers" ]; @@ -3744,6 +3750,12 @@ rec { packageId = "displaydoc"; usesDefaultFeatures = false; } + { + name = "potential_utf"; + packageId = "potential_utf"; + usesDefaultFeatures = false; + features = [ "zerovec" ]; + } { name = "yoke"; packageId = "yoke"; @@ -3764,15 +3776,16 @@ rec { } ]; features = { + "alloc" = [ "zerovec/alloc" ]; "databake" = [ "dep:databake" "zerovec/databake" ]; - "serde" = [ "dep:serde" "zerovec/serde" ]; + "serde" = [ "dep:serde" "zerovec/serde" "potential_utf/serde" "alloc" ]; }; }; - "icu_locid" = rec { - crateName = "icu_locid"; - version = "1.5.0"; + "icu_locale_core" = rec { + crateName = "icu_locale_core"; + version = "2.0.0"; edition = "2021"; - sha256 = "0dznvd1c5b02iilqm044q4hvar0sqibq1z46prqwjzwif61vpb0k"; + sha256 = "02phv7vwhyx6vmaqgwkh2p4kc2kciykv2px6g4h8glxfrh02gphc"; authors = [ "The ICU4X Project Developers" ]; @@ -3807,82 +3820,17 @@ rec { } ]; features = { - "bench" = [ "serde" ]; - "databake" = [ "dep:databake" ]; - "serde" = [ "dep:serde" "tinystr/serde" ]; - "zerovec" = [ "dep:zerovec" ]; + "databake" = [ "dep:databake" "alloc" ]; + "serde" = [ "dep:serde" "tinystr/serde" "alloc" ]; + "zerovec" = [ "dep:zerovec" "tinystr/zerovec" ]; }; resolvedDefaultFeatures = [ "zerovec" ]; }; - "icu_locid_transform" = rec { - crateName = "icu_locid_transform"; - version = "1.5.0"; - edition = "2021"; - sha256 = "0kmmi1kmj9yph6mdgkc7v3wz6995v7ly3n80vbg0zr78bp1iml81"; - authors = [ - "The ICU4X Project Developers" - ]; - dependencies = [ - { - name = "displaydoc"; - packageId = "displaydoc"; - usesDefaultFeatures = false; - } - { - name = "icu_locid"; - packageId = "icu_locid"; - usesDefaultFeatures = false; - features = [ "zerovec" ]; - } - { - name = "icu_locid_transform_data"; - packageId = "icu_locid_transform_data"; - optional = true; - usesDefaultFeatures = false; - } - { - name = "icu_provider"; - packageId = "icu_provider"; - usesDefaultFeatures = false; - features = [ "macros" ]; - } - { - name = "tinystr"; - packageId = "tinystr"; - usesDefaultFeatures = false; - features = [ "alloc" "zerovec" ]; - } - { - name = "zerovec"; - packageId = "zerovec"; - usesDefaultFeatures = false; - features = [ "yoke" ]; - } - ]; - features = { - "bench" = [ "serde" ]; - "compiled_data" = [ "dep:icu_locid_transform_data" ]; - "datagen" = [ "serde" "dep:databake" "zerovec/databake" "icu_locid/databake" "tinystr/databake" ]; - "default" = [ "compiled_data" ]; - "serde" = [ "dep:serde" "icu_locid/serde" "tinystr/serde" "zerovec/serde" "icu_provider/serde" ]; - }; - resolvedDefaultFeatures = [ "compiled_data" ]; - }; - "icu_locid_transform_data" = rec { - crateName = "icu_locid_transform_data"; - version = "1.5.1"; - edition = "2021"; - sha256 = "07gignya9gzynnyds88bmra4blq9jxzgrcss43vzk2q9h7byc5bm"; - authors = [ - "The ICU4X Project Developers" - ]; - - }; "icu_normalizer" = rec { crateName = "icu_normalizer"; - version = "1.5.0"; + version = "2.0.0"; edition = "2021"; - sha256 = "0kx8qryp8ma8fw1vijbgbnf7zz9f2j4d14rw36fmjs7cl86kxkhr"; + sha256 = "0ybrnfnxx4sf09gsrxri8p48qifn54il6n3dq2xxgx4dw7l80s23"; authors = [ "The ICU4X Project Developers" ]; @@ -3906,63 +3854,42 @@ rec { { name = "icu_properties"; packageId = "icu_properties"; + optional = true; usesDefaultFeatures = false; } { name = "icu_provider"; packageId = "icu_provider"; usesDefaultFeatures = false; - features = [ "macros" ]; } { name = "smallvec"; packageId = "smallvec"; usesDefaultFeatures = false; } - { - name = "utf16_iter"; - packageId = "utf16_iter"; - usesDefaultFeatures = false; - } - { - name = "utf8_iter"; - packageId = "utf8_iter"; - usesDefaultFeatures = false; - } - { - name = "write16"; - packageId = "write16"; - usesDefaultFeatures = false; - features = [ "alloc" ]; - } { name = "zerovec"; packageId = "zerovec"; usesDefaultFeatures = false; } ]; - devDependencies = [ - { - name = "write16"; - packageId = "write16"; - usesDefaultFeatures = false; - features = [ "arrayvec" ]; - } - ]; features = { - "compiled_data" = [ "dep:icu_normalizer_data" "icu_properties/compiled_data" ]; - "datagen" = [ "serde" "dep:databake" "icu_collections/databake" "zerovec/databake" "icu_properties/datagen" ]; - "default" = [ "compiled_data" ]; - "serde" = [ "dep:serde" "icu_collections/serde" "zerovec/serde" "icu_properties/serde" ]; - "std" = [ "icu_collections/std" "icu_properties/std" "icu_provider/std" ]; + "compiled_data" = [ "dep:icu_normalizer_data" "icu_properties?/compiled_data" "icu_provider/baked" ]; + "datagen" = [ "serde" "dep:databake" "icu_properties" "icu_collections/databake" "zerovec/databake" "icu_properties?/datagen" "icu_provider/export" ]; + "default" = [ "compiled_data" "utf8_iter" "utf16_iter" ]; + "icu_properties" = [ "dep:icu_properties" ]; + "serde" = [ "dep:serde" "icu_collections/serde" "zerovec/serde" "icu_properties?/serde" "icu_provider/serde" ]; + "utf16_iter" = [ "dep:utf16_iter" "write16" ]; + "utf8_iter" = [ "dep:utf8_iter" ]; + "write16" = [ "dep:write16" ]; }; - resolvedDefaultFeatures = [ "compiled_data" "default" ]; + resolvedDefaultFeatures = [ "compiled_data" ]; }; "icu_normalizer_data" = rec { crateName = "icu_normalizer_data"; - version = "1.5.1"; + version = "2.0.0"; edition = "2021"; - sha256 = "1dqcm86spcqcs4jnra81yqq3g5bpw6bvf5iz621spj5x52137s65"; + sha256 = "1lvjpzxndyhhjyzd1f6vi961gvzhj244nribfpdqxjdgjdl0s880"; authors = [ "The ICU4X Project Developers" ]; @@ -3970,9 +3897,9 @@ rec { }; "icu_properties" = rec { crateName = "icu_properties"; - version = "1.5.1"; + version = "2.0.1"; edition = "2021"; - sha256 = "1xgf584rx10xc1p7zjr78k0n4zn3g23rrg6v2ln31ingcq3h5mlk"; + sha256 = "0az349pjg8f18lrjbdmxcpg676a7iz2ibc09d2wfz57b3sf62v01"; authors = [ "The ICU4X Project Developers" ]; @@ -3988,11 +3915,10 @@ rec { usesDefaultFeatures = false; } { - name = "icu_locid_transform"; - packageId = "icu_locid_transform"; - optional = true; + name = "icu_locale_core"; + packageId = "icu_locale_core"; usesDefaultFeatures = false; - features = [ "compiled_data" ]; + features = [ "zerovec" ]; } { name = "icu_properties_data"; @@ -4004,36 +3930,41 @@ rec { name = "icu_provider"; packageId = "icu_provider"; usesDefaultFeatures = false; - features = [ "macros" ]; } { - name = "tinystr"; - packageId = "tinystr"; + name = "potential_utf"; + packageId = "potential_utf"; + usesDefaultFeatures = false; + features = [ "zerovec" ]; + } + { + name = "zerotrie"; + packageId = "zerotrie"; usesDefaultFeatures = false; - features = [ "alloc" "zerovec" ]; + features = [ "yoke" "zerofrom" ]; } { name = "zerovec"; packageId = "zerovec"; usesDefaultFeatures = false; - features = [ "derive" ]; + features = [ "derive" "yoke" ]; } ]; features = { - "bidi" = [ "dep:unicode-bidi" ]; - "compiled_data" = [ "dep:icu_properties_data" "dep:icu_locid_transform" ]; - "datagen" = [ "serde" "dep:databake" "zerovec/databake" "icu_collections/databake" "tinystr/databake" ]; + "alloc" = [ "zerovec/alloc" "icu_collections/alloc" ]; + "compiled_data" = [ "dep:icu_properties_data" "icu_provider/baked" ]; + "datagen" = [ "serde" "dep:databake" "potential_utf/databake" "zerovec/databake" "icu_collections/databake" "icu_locale_core/databake" "zerotrie/databake" "icu_provider/export" ]; "default" = [ "compiled_data" ]; - "serde" = [ "dep:serde" "tinystr/serde" "zerovec/serde" "icu_collections/serde" "icu_provider/serde" ]; - "std" = [ "icu_collections/std" "icu_provider/std" ]; + "serde" = [ "dep:serde" "icu_locale_core/serde" "potential_utf/serde" "zerovec/serde" "icu_collections/serde" "icu_provider/serde" "zerotrie/serde" ]; + "unicode_bidi" = [ "dep:unicode-bidi" ]; }; - resolvedDefaultFeatures = [ "compiled_data" "default" ]; + resolvedDefaultFeatures = [ "compiled_data" ]; }; "icu_properties_data" = rec { crateName = "icu_properties_data"; - version = "1.5.1"; + version = "2.0.1"; edition = "2021"; - sha256 = "1qm5vf17nyiwb87s3g9x9fsj32gkv4a7q7d2sblawx9vfncqgyw5"; + sha256 = "0cnn3fkq6k88w7p86w7hsd1254s4sl783rpz4p6hlccq74a5k119"; authors = [ "The ICU4X Project Developers" ]; @@ -4041,9 +3972,9 @@ rec { }; "icu_provider" = rec { crateName = "icu_provider"; - version = "1.5.0"; + version = "2.0.0"; edition = "2021"; - sha256 = "1nb8vvgw8dv2inqklvk05fs0qxzkw8xrg2n9vgid6y7gm3423m3f"; + sha256 = "1bz5v02gxv1i06yhdhs2kbwxkw3ny9r2vvj9j288fhazgfi0vj03"; authors = [ "The ICU4X Project Developers" ]; @@ -4054,14 +3985,8 @@ rec { usesDefaultFeatures = false; } { - name = "icu_locid"; - packageId = "icu_locid"; - usesDefaultFeatures = false; - } - { - name = "icu_provider_macros"; - packageId = "icu_provider_macros"; - optional = true; + name = "icu_locale_core"; + packageId = "icu_locale_core"; usesDefaultFeatures = false; } { @@ -4091,6 +4016,12 @@ rec { usesDefaultFeatures = false; features = [ "alloc" "derive" ]; } + { + name = "zerotrie"; + packageId = "zerotrie"; + optional = true; + usesDefaultFeatures = false; + } { name = "zerovec"; packageId = "zerovec"; @@ -4099,42 +4030,18 @@ rec { } ]; features = { - "datagen" = [ "serde" "dep:erased-serde" "dep:databake" "std" "sync" ]; + "alloc" = [ "icu_locale_core/alloc" "zerovec/alloc" "zerotrie/alloc" ]; + "baked" = [ "zerotrie" ]; "deserialize_bincode_1" = [ "serde" "dep:bincode" "std" ]; "deserialize_json" = [ "serde" "dep:serde_json" ]; "deserialize_postcard_1" = [ "serde" "dep:postcard" ]; - "log_error_context" = [ "logging" ]; + "export" = [ "serde" "dep:erased-serde" "dep:databake" "std" "sync" "dep:postcard" "zerovec/databake" ]; "logging" = [ "dep:log" ]; - "macros" = [ "dep:icu_provider_macros" ]; "serde" = [ "dep:serde" "yoke/serde" ]; - "std" = [ "icu_locid/std" ]; + "std" = [ "alloc" ]; + "zerotrie" = [ "dep:zerotrie" ]; }; - resolvedDefaultFeatures = [ "macros" ]; - }; - "icu_provider_macros" = rec { - crateName = "icu_provider_macros"; - version = "1.5.0"; - edition = "2021"; - sha256 = "1mjs0w7fcm2lcqmbakhninzrjwqs485lkps4hz0cv3k36y9rxj0y"; - procMacro = true; - authors = [ - "The ICU4X Project Developers" - ]; - dependencies = [ - { - name = "proc-macro2"; - packageId = "proc-macro2"; - } - { - name = "quote"; - packageId = "quote"; - } - { - name = "syn"; - packageId = "syn 2.0.100"; - } - ]; - + resolvedDefaultFeatures = [ "baked" "zerotrie" ]; }; "ident_case" = rec { crateName = "ident_case"; @@ -4178,9 +4085,9 @@ rec { }; "idna_adapter" = rec { crateName = "idna_adapter"; - version = "1.2.0"; + version = "1.2.1"; edition = "2021"; - sha256 = "0wggnkiivaj5lw0g0384ql2d7zk4ppkn3b1ry4n0ncjpr7qivjns"; + sha256 = "0i0339pxig6mv786nkqcxnwqa87v4m94b2653f6k3aj0jmhfkjis"; authors = [ "The rust-url developers" ]; @@ -4188,10 +4095,12 @@ rec { { name = "icu_normalizer"; packageId = "icu_normalizer"; + usesDefaultFeatures = false; } { name = "icu_properties"; packageId = "icu_properties"; + usesDefaultFeatures = false; } ]; features = { @@ -4240,7 +4149,7 @@ rec { } { name = "hashbrown"; - packageId = "hashbrown 0.15.2"; + packageId = "hashbrown 0.15.4"; usesDefaultFeatures = false; } ]; @@ -4283,6 +4192,39 @@ rec { }; resolvedDefaultFeatures = [ "default" "std" ]; }; + "iri-string" = rec { + crateName = "iri-string"; + version = "0.7.8"; + edition = "2021"; + sha256 = "1cl0wfq97wq4s1p4dl0ix5cfgsc5fn7l22ljgw9ab9x1qglypifv"; + libName = "iri_string"; + authors = [ + "YOSHIOKA Takuma " + ]; + dependencies = [ + { + name = "memchr"; + packageId = "memchr"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "serde"; + packageId = "serde"; + optional = true; + usesDefaultFeatures = false; + features = [ "derive" ]; + } + ]; + features = { + "alloc" = [ "serde?/alloc" ]; + "default" = [ "std" ]; + "memchr" = [ "dep:memchr" ]; + "serde" = [ "dep:serde" ]; + "std" = [ "alloc" "memchr?/std" "serde?/std" ]; + }; + resolvedDefaultFeatures = [ "alloc" "default" "std" ]; + }; "is_terminal_polyfill" = rec { crateName = "is_terminal_polyfill"; version = "1.70.1"; @@ -4361,7 +4303,7 @@ rec { dependencies = [ { name = "getrandom"; - packageId = "getrandom 0.3.2"; + packageId = "getrandom 0.3.3"; target = { target, features }: (target."windows" or false); features = [ "std" ]; } @@ -4523,7 +4465,7 @@ rec { dependencies = [ { name = "base64"; - packageId = "base64 0.22.1"; + packageId = "base64"; usesDefaultFeatures = false; features = [ "alloc" ]; } @@ -4563,12 +4505,7 @@ rec { crateName = "k8s-version"; version = "0.1.3"; edition = "2024"; - workspace_member = null; - src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "d990019c690ed85aea29b095a03661c015676caa"; - sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; - }; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../operator-rs/main/crates/k8s-version; }; libName = "k8s_version"; authors = [ "Stackable GmbH " @@ -4583,22 +4520,28 @@ rec { name = "regex"; packageId = "regex"; } + { + name = "serde"; + packageId = "serde"; + optional = true; + features = [ "derive" ]; + } { name = "snafu"; - packageId = "snafu 0.8.5"; + packageId = "snafu 0.8.6"; } ]; features = { "darling" = [ "dep:darling" ]; "serde" = [ "dep:serde" ]; }; - resolvedDefaultFeatures = [ "darling" ]; + resolvedDefaultFeatures = [ "darling" "serde" ]; }; "kube" = rec { crateName = "kube"; - version = "1.0.0"; + version = "1.1.0"; edition = "2021"; - sha256 = "0bs31pdk7lnrza8p8x96mgdq8v60nv8r25vvpg1374h8fj8c6j8v"; + sha256 = "0lcz9sm83j06i77sp6idbq7y06hd64a1wwkj2g0w7x7a9dk9i3vp"; authors = [ "clux " "Natalie Klestrup Röijezon " @@ -4669,9 +4612,9 @@ rec { }; "kube-client" = rec { crateName = "kube-client"; - version = "1.0.0"; + version = "1.1.0"; edition = "2021"; - sha256 = "17rbrvbs3m0c4lgbf2788f0hmpli3b8z1666r50m11h83dxpk6g1"; + sha256 = "13fv32vhljjxqgfmzciwanh7wsglzil2rsn81b8dx53fbfw7dckw"; libName = "kube_client"; authors = [ "clux " @@ -4681,7 +4624,7 @@ rec { dependencies = [ { name = "base64"; - packageId = "base64 0.22.1"; + packageId = "base64"; optional = true; } { @@ -4910,9 +4853,9 @@ rec { }; "kube-core" = rec { crateName = "kube-core"; - version = "1.0.0"; + version = "1.1.0"; edition = "2021"; - sha256 = "1rwqwvwlna79dq2r1dqhzgxmwls5d76xg892m2gdk8nyi6xgpphv"; + sha256 = "0q09yvzbh840mn3q66r73wjp4s60c3npw0bnlkr3207bbps6zig3"; libName = "kube_core"; authors = [ "clux " @@ -4992,9 +4935,9 @@ rec { }; "kube-derive" = rec { crateName = "kube-derive"; - version = "1.0.0"; + version = "1.1.0"; edition = "2021"; - sha256 = "1gw3kymxb0w30gmhxj33g09vcqyq05pc38sjjf3516k86cv9lq4f"; + sha256 = "15frbch851xpi5zv37szfhkcrgbfd4hfxzcw60l8clwpqg0wi7q7"; procMacro = true; libName = "kube_derive"; authors = [ @@ -5026,7 +4969,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "extra-traits" ]; } ]; @@ -5041,9 +4984,9 @@ rec { }; "kube-runtime" = rec { crateName = "kube-runtime"; - version = "1.0.0"; + version = "1.1.0"; edition = "2021"; - sha256 = "13lxw9fvci5h71rlfc1a21zivanvnxzrgykvm3wzi1j7anjdhjqx"; + sha256 = "1p2021s6nlxwiivbk37lrjcki740070a3y5xzr465pzs8vljc4rg"; libName = "kube_runtime"; authors = [ "clux " @@ -5081,7 +5024,7 @@ rec { } { name = "hashbrown"; - packageId = "hashbrown 0.15.2"; + packageId = "hashbrown 0.15.4"; } { name = "hostname"; @@ -5173,9 +5116,9 @@ rec { }; "libc" = rec { crateName = "libc"; - version = "0.2.171"; + version = "0.2.174"; edition = "2021"; - sha256 = "1mipla3dy3l59pfa9xy4iw2vdgn8n30dzf4vdnasjflxdqhkg6f1"; + sha256 = "0xl7pqvw7g2874dy3kjady2fjr4rhj5lxsnxkkhr5689jcr6jw8i"; authors = [ "The Rust Project Developers" ]; @@ -5189,10 +5132,10 @@ rec { }; "libgit2-sys" = rec { crateName = "libgit2-sys"; - version = "0.18.1+1.9.0"; + version = "0.18.2+1.9.1"; edition = "2018"; links = "git2"; - sha256 = "03i98nb84aa99bn7sxja11pllq6fghsaw4d3qwjxikgzhh7v5p71"; + sha256 = "08n223x2pkf4gj6yrjmh3z6q236qj6nifwww78xcblrbvw1zwhhw"; libName = "libgit2_sys"; libPath = "lib.rs"; authors = [ @@ -5275,16 +5218,16 @@ rec { }; "litemap" = rec { crateName = "litemap"; - version = "0.7.5"; + version = "0.8.0"; edition = "2021"; - sha256 = "0mi8ykav0s974ps79p438x04snh0cdb7lc864b42jws5375i9yr3"; + sha256 = "0mlrlskwwhirxk3wsz9psh6nxcy491n0dh8zl02qgj0jzpssw7i4"; authors = [ "The ICU4X Project Developers" ]; features = { "databake" = [ "dep:databake" ]; "default" = [ "alloc" ]; - "serde" = [ "dep:serde" ]; + "serde" = [ "dep:serde" "alloc" ]; "testing" = [ "alloc" ]; "yoke" = [ "dep:yoke" ]; }; @@ -5292,9 +5235,9 @@ rec { }; "lock_api" = rec { crateName = "lock_api"; - version = "0.4.12"; + version = "0.4.13"; edition = "2021"; - sha256 = "05qvxa6g27yyva25a5ghsg85apdxkvr77yhkyhapj6r8vnf8pbq7"; + sha256 = "0rd73p4299mjwl4hhlfj9qr88v3r0kc8s1nszkfmnq2ky43nb4wn"; authors = [ "Amanieu d'Antras " ]; @@ -5371,19 +5314,18 @@ rec { }; "memchr" = rec { crateName = "memchr"; - version = "2.7.4"; + version = "2.7.5"; edition = "2021"; - sha256 = "18z32bhxrax0fnjikv475z7ii718hq457qwmaryixfxsl2qrmjkq"; + sha256 = "1h2bh2jajkizz04fh047lpid5wgw2cr9igpkdhl3ibzscpd858ij"; authors = [ "Andrew Gallant " "bluss" ]; features = { - "compiler_builtins" = [ "dep:compiler_builtins" ]; "core" = [ "dep:core" ]; "default" = [ "std" ]; "logging" = [ "dep:log" ]; - "rustc-dep-of-std" = [ "core" "compiler_builtins" ]; + "rustc-dep-of-std" = [ "core" ]; "std" = [ "alloc" ]; "use_std" = [ "std" ]; }; @@ -5401,9 +5343,9 @@ rec { }; "miniz_oxide" = rec { crateName = "miniz_oxide"; - version = "0.8.8"; + version = "0.8.9"; edition = "2021"; - sha256 = "0al9iy33flfgxawj789w2c8xxwg1n2r5vv6m6p5hl2fvd2vlgriv"; + sha256 = "05k3pdg8bjjzayq3rf0qhpirq9k37pxnasfn4arbs17phqn6m9qz"; authors = [ "Frommi " "oyvindln " @@ -5418,10 +5360,9 @@ rec { ]; features = { "alloc" = [ "dep:alloc" ]; - "compiler_builtins" = [ "dep:compiler_builtins" ]; "core" = [ "dep:core" ]; "default" = [ "with-alloc" ]; - "rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" "adler2/rustc-dep-of-std" ]; + "rustc-dep-of-std" = [ "core" "alloc" "adler2/rustc-dep-of-std" ]; "serde" = [ "dep:serde" ]; "simd" = [ "simd-adler32" ]; "simd-adler32" = [ "dep:simd-adler32" ]; @@ -5430,9 +5371,9 @@ rec { }; "mio" = rec { crateName = "mio"; - version = "1.0.3"; + version = "1.0.4"; edition = "2021"; - sha256 = "1gah0h4ia3avxbwym0b6bi6lr6rpysmj9zvw6zis5yq0z0xq91i8"; + sha256 = "073n3kam3nz8j8had35fd2nn7j6a33pi3y5w3kq608cari2d9gkq"; authors = [ "Carl Lerche " "Thomas de Zeeuw " @@ -5456,12 +5397,12 @@ rec { } { name = "wasi"; - packageId = "wasi 0.11.0+wasi-snapshot-preview1"; + packageId = "wasi 0.11.1+wasi-snapshot-preview1"; target = { target, features }: ("wasi" == target."os" or null); } { name = "windows-sys"; - packageId = "windows-sys 0.52.0"; + packageId = "windows-sys 0.59.0"; target = { target, features }: (target."windows" or false); features = [ "Wdk_Foundation" "Wdk_Storage_FileSystem" "Wdk_System_IO" "Win32_Foundation" "Win32_Networking_WinSock" "Win32_Storage_FileSystem" "Win32_System_IO" "Win32_System_WindowsProgramming" ]; } @@ -5587,6 +5528,15 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "default" "race" "std" ]; }; + "once_cell_polyfill" = rec { + crateName = "once_cell_polyfill"; + version = "1.70.1"; + edition = "2021"; + sha256 = "1bg0w99srq8h4mkl68l1mza2n2f2hvrg0n8vfa3izjr5nism32d4"; + features = { + }; + resolvedDefaultFeatures = [ "default" ]; + }; "openssl-probe" = rec { crateName = "openssl-probe"; version = "0.1.6"; @@ -5930,6 +5880,16 @@ rec { }; resolvedDefaultFeatures = [ "gen-tonic" "gen-tonic-messages" "logs" "metrics" "prost" "tonic" "trace" ]; }; + "opentelemetry-semantic-conventions" = rec { + crateName = "opentelemetry-semantic-conventions"; + version = "0.29.0"; + edition = "2021"; + sha256 = "1qvaf3wvf3b40rifklvi767krv7yn8cjzaasdn9m9agii6grmcl4"; + libName = "opentelemetry_semantic_conventions"; + features = { + }; + resolvedDefaultFeatures = [ "default" ]; + }; "opentelemetry_sdk" = rec { crateName = "opentelemetry_sdk"; version = "0.29.0"; @@ -6086,9 +6046,9 @@ rec { }; "parking_lot" = rec { crateName = "parking_lot"; - version = "0.12.3"; + version = "0.12.4"; edition = "2021"; - sha256 = "09ws9g6245iiq8z975h8ycf818a66q3c6zv4b5h8skpm7hc1igzi"; + sha256 = "04sab1c7304jg8k0d5b2pxbj1fvgzcf69l3n2mfpkdb96vs8pmbh"; authors = [ "Amanieu d'Antras " ]; @@ -6113,9 +6073,9 @@ rec { }; "parking_lot_core" = rec { crateName = "parking_lot_core"; - version = "0.9.10"; + version = "0.9.11"; edition = "2021"; - sha256 = "1y3cf9ld9ijf7i4igwzffcn0xl16dxyn4c5bwgjck1dkgabiyh0y"; + sha256 = "19g4d6m5k4ggacinqprnn8xvdaszc3y5smsmbz1adcdmaqm8v0xw"; authors = [ "Amanieu d'Antras " ]; @@ -6140,7 +6100,7 @@ rec { } { name = "windows-targets"; - packageId = "windows-targets 0.52.6"; + packageId = "windows-targets"; target = { target, features }: (target."windows" or false); } ]; @@ -6162,7 +6122,7 @@ rec { dependencies = [ { name = "base64"; - packageId = "base64 0.22.1"; + packageId = "base64"; usesDefaultFeatures = false; features = [ "alloc" ]; } @@ -6197,9 +6157,9 @@ rec { }; "pest" = rec { crateName = "pest"; - version = "2.8.0"; + version = "2.8.1"; edition = "2021"; - sha256 = "1dp741bxqiracvvwl66mfvlr29byvvph28n4c6ip136m652vg38r"; + sha256 = "08s342r6vv6ml5in4jk7pb97wgpf0frcnrvg0sqshn23sdb5zc0x"; authors = [ "Dragoș Tiselice " ]; @@ -6231,9 +6191,9 @@ rec { }; "pest_derive" = rec { crateName = "pest_derive"; - version = "2.8.0"; + version = "2.8.1"; edition = "2021"; - sha256 = "1icp5i01mgpbgwbkrcy4d0ykbxmns4wyz8j1jg6dr1wysz7xj9fp"; + sha256 = "1g20ma4y29axbjhi3z64ihhpqzmiix71qjn7bs224yd7isg6s1dv"; procMacro = true; authors = [ "Dragoș Tiselice " @@ -6260,9 +6220,9 @@ rec { }; "pest_generator" = rec { crateName = "pest_generator"; - version = "2.8.0"; + version = "2.8.1"; edition = "2021"; - sha256 = "0hgqngsxfr8y5p47bgjvd038j55ix1x4dpzr6amndaz8ddr02zfv"; + sha256 = "0rj9a20g4bjb4sl3zyzpxqg8mbn8c1kxp0nw08rfp0gp73k09r47"; authors = [ "Dragoș Tiselice " ]; @@ -6286,7 +6246,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; } ]; features = { @@ -6299,17 +6259,13 @@ rec { }; "pest_meta" = rec { crateName = "pest_meta"; - version = "2.8.0"; + version = "2.8.1"; edition = "2021"; - sha256 = "182w5fyiqm7zbn0p8313xc5wc73rnn59ycm5zk8hcja9f0j877vz"; + sha256 = "1mf01iln7shbnyxpdfnpf59gzn83nndqjkwiw3yh6n8g2wgi1lgd"; authors = [ "Dragoș Tiselice " ]; dependencies = [ - { - name = "once_cell"; - packageId = "once_cell"; - } { name = "pest"; packageId = "pest"; @@ -6359,7 +6315,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; usesDefaultFeatures = false; features = [ "parsing" "printing" "clone-impls" "proc-macro" "full" "visit-mut" ]; } @@ -6396,6 +6352,31 @@ rec { ]; }; + "potential_utf" = rec { + crateName = "potential_utf"; + version = "0.1.2"; + edition = "2021"; + sha256 = "11dm6k3krx3drbvhgjw8z508giiv0m09wzl6ghza37176w4c79z5"; + authors = [ + "The ICU4X Project Developers" + ]; + dependencies = [ + { + name = "zerovec"; + packageId = "zerovec"; + optional = true; + usesDefaultFeatures = false; + } + ]; + features = { + "alloc" = [ "serde?/alloc" "zerovec?/alloc" ]; + "databake" = [ "dep:databake" ]; + "serde" = [ "dep:serde" ]; + "writeable" = [ "dep:writeable" "alloc" ]; + "zerovec" = [ "dep:zerovec" ]; + }; + resolvedDefaultFeatures = [ "zerovec" ]; + }; "powerfmt" = rec { crateName = "powerfmt"; version = "0.2.0"; @@ -6422,7 +6403,7 @@ rec { dependencies = [ { name = "zerocopy"; - packageId = "zerocopy 0.8.24"; + packageId = "zerocopy"; features = [ "simd" ]; } ]; @@ -6433,9 +6414,9 @@ rec { }; "proc-macro2" = rec { crateName = "proc-macro2"; - version = "1.0.94"; + version = "1.0.95"; edition = "2021"; - sha256 = "114wxb56gdj9vy44q0ll3l2x9niqzcbyqikydmlb5f3h5rsp26d3"; + sha256 = "0y7pwxv6sh4fgg6s715ygk1i7g3w02c0ljgcsfm046isibkfbcq2"; libName = "proc_macro2"; authors = [ "David Tolnay " @@ -6498,7 +6479,7 @@ rec { } { name = "snafu"; - packageId = "snafu 0.8.5"; + packageId = "snafu 0.8.6"; } { name = "xml-rs"; @@ -6569,7 +6550,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "extra-traits" ]; } ]; @@ -6598,15 +6579,14 @@ rec { }; "r-efi" = rec { crateName = "r-efi"; - version = "5.2.0"; + version = "5.3.0"; edition = "2018"; - sha256 = "1ig93jvpqyi87nc5kb6dri49p56q7r7qxrn8kfizmqkfj5nmyxkl"; + sha256 = "03sbfm3g7myvzyylff6qaxk4z6fy76yv860yy66jiswc2m6b7kb9"; libName = "r_efi"; features = { - "compiler_builtins" = [ "dep:compiler_builtins" ]; "core" = [ "dep:core" ]; "examples" = [ "native" ]; - "rustc-dep-of-std" = [ "compiler_builtins/rustc-dep-of-std" "core" ]; + "rustc-dep-of-std" = [ "core" ]; }; }; "rand 0.8.5" = rec { @@ -6765,7 +6745,7 @@ rec { dependencies = [ { name = "getrandom"; - packageId = "getrandom 0.2.15"; + packageId = "getrandom 0.2.16"; optional = true; } ]; @@ -6789,7 +6769,7 @@ rec { dependencies = [ { name = "getrandom"; - packageId = "getrandom 0.3.2"; + packageId = "getrandom 0.3.3"; optional = true; } ]; @@ -6802,9 +6782,9 @@ rec { }; "redox_syscall" = rec { crateName = "redox_syscall"; - version = "0.5.11"; + version = "0.5.13"; edition = "2021"; - sha256 = "18qijn18r10haiglv4261wb0yh1agqqlvs0nxfy8yjbpsb307wfj"; + sha256 = "1mlzna9bcd7ss1973bmysr3hpjrys82b3bd7l03h4jkbxv8bf10d"; libName = "syscall"; authors = [ "Jeremy Soller " @@ -7000,16 +6980,16 @@ rec { }; "reqwest" = rec { crateName = "reqwest"; - version = "0.12.15"; + version = "0.12.20"; edition = "2021"; - sha256 = "1fvvrl3jmsnlm99ldl0ariklrlsmrky06qabp7dc92ylznk4d76i"; + sha256 = "04qqxghqszjxk4pl4vxa5qlwinkfx0vvjkk10vv2n3hkv6blrgza"; authors = [ "Sean McArthur " ]; dependencies = [ { name = "base64"; - packageId = "base64 0.22.1"; + packageId = "base64"; } { name = "bytes"; @@ -7029,6 +7009,7 @@ rec { { name = "futures-util"; packageId = "futures-util"; + optional = true; usesDefaultFeatures = false; } { @@ -7055,12 +7036,7 @@ rec { name = "hyper-util"; packageId = "hyper-util"; target = { target, features }: (!("wasm32" == target."arch" or null)); - features = [ "http1" "client" "client-legacy" "tokio" ]; - } - { - name = "ipnet"; - packageId = "ipnet"; - target = { target, features }: (!("wasm32" == target."arch" or null)); + features = [ "http1" "client" "client-legacy" "client-proxy" "tokio" ]; } { name = "js-sys"; @@ -7072,16 +7048,6 @@ rec { packageId = "log"; target = { target, features }: (!("wasm32" == target."arch" or null)); } - { - name = "mime"; - packageId = "mime"; - target = { target, features }: (!("wasm32" == target."arch" or null)); - } - { - name = "once_cell"; - packageId = "once_cell"; - target = { target, features }: (!("wasm32" == target."arch" or null)); - } { name = "percent-encoding"; packageId = "percent-encoding"; @@ -7129,6 +7095,13 @@ rec { target = { target, features }: (!("wasm32" == target."arch" or null)); features = [ "timeout" "util" ]; } + { + name = "tower-http"; + packageId = "tower-http"; + usesDefaultFeatures = false; + target = { target, features }: (!("wasm32" == target."arch" or null)); + features = [ "follow-redirect" ]; + } { name = "tower-service"; packageId = "tower-service"; @@ -7153,11 +7126,6 @@ rec { target = { target, features }: ("wasm32" == target."arch" or null); features = [ "AbortController" "AbortSignal" "Headers" "Request" "RequestInit" "RequestMode" "Response" "Window" "FormData" "Blob" "BlobPropertyBag" "ServiceWorkerGlobalScope" "RequestCredentials" "File" "ReadableStream" ]; } - { - name = "windows-registry"; - packageId = "windows-registry"; - target = { target, features }: (target."windows" or false); - } ]; devDependencies = [ { @@ -7178,7 +7146,7 @@ rec { name = "hyper-util"; packageId = "hyper-util"; target = { target, features }: (!("wasm32" == target."arch" or null)); - features = [ "http1" "http2" "client" "client-legacy" "server-auto" "tokio" ]; + features = [ "http1" "http2" "client" "client-legacy" "server-auto" "server-graceful" "tokio" ]; } { name = "serde"; @@ -7207,24 +7175,24 @@ rec { } ]; features = { - "__rustls" = [ "dep:hyper-rustls" "dep:tokio-rustls" "dep:rustls" "__tls" "dep:rustls-pemfile" "dep:rustls-pki-types" ]; + "__rustls" = [ "dep:hyper-rustls" "dep:tokio-rustls" "dep:rustls" "__tls" ]; "__rustls-ring" = [ "hyper-rustls?/ring" "tokio-rustls?/ring" "rustls?/ring" "quinn?/ring" ]; - "__tls" = [ "dep:rustls-pemfile" "tokio/io-util" ]; - "blocking" = [ "dep:futures-channel" "futures-channel?/sink" "futures-util/io" "futures-util/sink" "tokio/sync" ]; - "brotli" = [ "dep:async-compression" "async-compression?/brotli" "dep:tokio-util" ]; - "charset" = [ "dep:encoding_rs" ]; + "__tls" = [ "dep:rustls-pki-types" "tokio/io-util" ]; + "blocking" = [ "dep:futures-channel" "futures-channel?/sink" "dep:futures-util" "futures-util?/io" "futures-util?/sink" "tokio/sync" ]; + "brotli" = [ "dep:async-compression" "async-compression?/brotli" "dep:futures-util" "dep:tokio-util" ]; + "charset" = [ "dep:encoding_rs" "dep:mime" ]; "cookies" = [ "dep:cookie_crate" "dep:cookie_store" ]; - "default" = [ "default-tls" "charset" "http2" "macos-system-configuration" ]; + "default" = [ "default-tls" "charset" "http2" "system-proxy" ]; "default-tls" = [ "dep:hyper-tls" "dep:native-tls-crate" "__tls" "dep:tokio-native-tls" ]; - "deflate" = [ "dep:async-compression" "async-compression?/zlib" "dep:tokio-util" ]; - "gzip" = [ "dep:async-compression" "async-compression?/gzip" "dep:tokio-util" ]; + "deflate" = [ "dep:async-compression" "async-compression?/zlib" "dep:futures-util" "dep:tokio-util" ]; + "gzip" = [ "dep:async-compression" "async-compression?/gzip" "dep:futures-util" "dep:tokio-util" ]; "h2" = [ "dep:h2" ]; - "hickory-dns" = [ "dep:hickory-resolver" ]; + "hickory-dns" = [ "dep:hickory-resolver" "dep:once_cell" ]; "http2" = [ "h2" "hyper/http2" "hyper-util/http2" "hyper-rustls?/http2" ]; - "http3" = [ "rustls-tls-manual-roots" "dep:h3" "dep:h3-quinn" "dep:quinn" "dep:slab" "dep:futures-channel" ]; + "http3" = [ "rustls-tls-manual-roots" "dep:h3" "dep:h3-quinn" "dep:quinn" "dep:slab" "tokio/macros" ]; "json" = [ "dep:serde_json" ]; - "macos-system-configuration" = [ "dep:system-configuration" ]; - "multipart" = [ "dep:mime_guess" ]; + "macos-system-configuration" = [ "system-proxy" ]; + "multipart" = [ "dep:mime_guess" "dep:futures-util" ]; "native-tls" = [ "default-tls" ]; "native-tls-alpn" = [ "native-tls" "native-tls-crate?/alpn" "hyper-tls?/alpn" ]; "native-tls-vendored" = [ "native-tls" "native-tls-crate?/vendored" ]; @@ -7236,9 +7204,9 @@ rec { "rustls-tls-no-provider" = [ "rustls-tls-manual-roots-no-provider" ]; "rustls-tls-webpki-roots" = [ "rustls-tls-webpki-roots-no-provider" "__rustls-ring" ]; "rustls-tls-webpki-roots-no-provider" = [ "dep:webpki-roots" "hyper-rustls?/webpki-tokio" "__rustls" ]; - "socks" = [ "dep:tokio-socks" ]; - "stream" = [ "tokio/fs" "dep:tokio-util" "dep:wasm-streams" ]; - "zstd" = [ "dep:async-compression" "async-compression?/zstd" "dep:tokio-util" ]; + "stream" = [ "tokio/fs" "dep:futures-util" "dep:tokio-util" "dep:wasm-streams" ]; + "system-proxy" = [ "hyper-util/client-proxy-system" ]; + "zstd" = [ "dep:async-compression" "async-compression?/zstd" "dep:futures-util" "dep:tokio-util" ]; }; resolvedDefaultFeatures = [ "blocking" ]; }; @@ -7256,7 +7224,7 @@ rec { } { name = "getrandom"; - packageId = "getrandom 0.2.15"; + packageId = "getrandom 0.2.16"; } { name = "libc"; @@ -7305,24 +7273,23 @@ rec { }; "rustc-demangle" = rec { crateName = "rustc-demangle"; - version = "0.1.24"; + version = "0.1.25"; edition = "2015"; - sha256 = "07zysaafgrkzy2rjgwqdj2a8qdpsm6zv6f5pgpk9x0lm40z9b6vi"; + sha256 = "0kxq6m0drr40434ch32j31dkg00iaf4zxmqg7sqxajhcz0wng7lq"; libName = "rustc_demangle"; authors = [ "Alex Crichton " ]; features = { - "compiler_builtins" = [ "dep:compiler_builtins" ]; "core" = [ "dep:core" ]; - "rustc-dep-of-std" = [ "core" "compiler_builtins" ]; + "rustc-dep-of-std" = [ "core" ]; }; }; "rustls" = rec { crateName = "rustls"; - version = "0.23.25"; + version = "0.23.28"; edition = "2021"; - sha256 = "0g5idwxm04i71k3n66ml30zyfbgv6p85a7jky2i09v64i8cfjbl2"; + sha256 = "0hv6sk3r60vw11in2p8phpjd132684b4wg3zac456lzl1ghy6q3i"; dependencies = [ { name = "log"; @@ -7373,7 +7340,7 @@ rec { "aws-lc-rs" = [ "aws_lc_rs" ]; "aws_lc_rs" = [ "dep:aws-lc-rs" "webpki/aws-lc-rs" "aws-lc-rs/aws-lc-sys" "aws-lc-rs/prebuilt-nasm" ]; "brotli" = [ "dep:brotli" "dep:brotli-decompressor" "std" ]; - "default" = [ "aws_lc_rs" "logging" "std" "tls12" ]; + "default" = [ "aws_lc_rs" "logging" "prefer-post-quantum" "std" "tls12" ]; "fips" = [ "aws_lc_rs" "aws-lc-rs?/fips" "webpki/aws-lc-rs-fips" ]; "hashbrown" = [ "dep:hashbrown" ]; "log" = [ "dep:log" ]; @@ -7473,11 +7440,19 @@ rec { }; "rustls-pki-types" = rec { crateName = "rustls-pki-types"; - version = "1.11.0"; + version = "1.12.0"; edition = "2021"; - sha256 = "0755isc0x5iymm3wsn59s0ad1pm9zidw7p34qfqlsjsac9jf4z4i"; + sha256 = "0yawbdpix8jif6s8zj1p2hbyb7y3bj66fhx0y7hyf4qh4964m6i2"; libName = "rustls_pki_types"; + dependencies = [ + { + name = "zeroize"; + packageId = "zeroize"; + optional = true; + } + ]; features = { + "alloc" = [ "dep:zeroize" ]; "default" = [ "alloc" ]; "std" = [ "alloc" ]; "web" = [ "web-time" ]; @@ -7487,9 +7462,9 @@ rec { }; "rustls-webpki" = rec { crateName = "rustls-webpki"; - version = "0.103.1"; + version = "0.103.3"; edition = "2021"; - sha256 = "00rcdz0rb9ia2ivrq7412ry9qkvbh78pra2phl4p7kxck9vbiy7y"; + sha256 = "0ddl9qxx94iyichk05r7l30d9dxfd35ybffhsxpsr9pppki2z9z4"; libName = "webpki"; dependencies = [ { @@ -7521,9 +7496,9 @@ rec { }; "rustversion" = rec { crateName = "rustversion"; - version = "1.0.20"; + version = "1.0.21"; edition = "2018"; - sha256 = "1lhwjb16dsm8brd18bn2bh0ryzc7qi29bi2jjsc6ny2zbwn3ivgd"; + sha256 = "07bb1xx05hhwpnl43sqrhsmxyk5sd5m5baadp19nxp69s9xij3ca"; procMacro = true; build = "build/build.rs"; authors = [ @@ -7658,7 +7633,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "extra-traits" ]; } ]; @@ -7760,7 +7735,7 @@ rec { } { name = "core-foundation"; - packageId = "core-foundation 0.10.0"; + packageId = "core-foundation 0.10.1"; } { name = "core-foundation-sys"; @@ -7912,7 +7887,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; usesDefaultFeatures = false; features = [ "clone-impls" "derive" "parsing" "printing" "proc-macro" ]; } @@ -7944,7 +7919,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; usesDefaultFeatures = false; features = [ "clone-impls" "derive" "parsing" "printing" ]; } @@ -8117,9 +8092,9 @@ rec { }; "sha2" = rec { crateName = "sha2"; - version = "0.10.8"; + version = "0.10.9"; edition = "2018"; - sha256 = "1j1x78zk9il95w9iv46dh9wm73r6xrgj32y6lzzw7bxws9dbfgbr"; + sha256 = "10xjj843v31ghsksd9sl9y12qfc48157j1xpb8v1ml39jy0psl57"; authors = [ "RustCrypto Developers" ]; @@ -8193,9 +8168,9 @@ rec { }; "signal-hook-registry" = rec { crateName = "signal-hook-registry"; - version = "1.4.2"; + version = "1.4.5"; edition = "2015"; - sha256 = "1cb5akgq8ajnd5spyn587srvs4n26ryq0p78nswffwhv46sf1sd9"; + sha256 = "042lkqrpnlrgvrrcirgigxyp1zk70d8v0fsr5w7a18k3bw2vh0wj"; libName = "signal_hook_registry"; authors = [ "Michal 'vorner' Vaner " @@ -8211,18 +8186,12 @@ rec { }; "slab" = rec { crateName = "slab"; - version = "0.4.9"; + version = "0.4.10"; edition = "2018"; - sha256 = "0rxvsgir0qw5lkycrqgb1cxsvxzjv9bmx73bk5y42svnzfba94lg"; + sha256 = "03f5a9gdp33mngya4qwq2555138pj74pl015scv57wsic5rikp04"; authors = [ "Carl Lerche " ]; - buildDependencies = [ - { - name = "autocfg"; - packageId = "autocfg"; - } - ]; features = { "default" = [ "std" ]; "serde" = [ "dep:serde" ]; @@ -8231,9 +8200,9 @@ rec { }; "smallvec" = rec { crateName = "smallvec"; - version = "1.15.0"; + version = "1.15.1"; edition = "2018"; - sha256 = "1sgfw8z729nlxk8k13dhs0a762wnaxmlx70a7xlf3wz989bjh5w9"; + sha256 = "00xxdxxpgyq5vjnpljvkmy99xij5rxgh913ii1v16kzynnivgcb7"; authors = [ "The Servo Project Developers" ]; @@ -8284,18 +8253,18 @@ rec { }; resolvedDefaultFeatures = [ "default" "guide" "std" ]; }; - "snafu 0.8.5" = rec { + "snafu 0.8.6" = rec { crateName = "snafu"; - version = "0.8.5"; + version = "0.8.6"; edition = "2018"; - sha256 = "06ahz9g4f6475rspfcay8512x776wpxc205rizzc6a9abv492f12"; + sha256 = "09znwwss9xi7i28kpj29b29nh28nv5kfjjsa99x5v3dz27h022rj"; authors = [ "Jake Goulding " ]; dependencies = [ { name = "snafu-derive"; - packageId = "snafu-derive 0.8.5"; + packageId = "snafu-derive 0.8.6"; } ]; features = { @@ -8310,9 +8279,10 @@ rec { "rust_1_61" = [ "snafu-derive/rust_1_61" ]; "rust_1_65" = [ "rust_1_61" ]; "rust_1_81" = [ "rust_1_65" ]; + "std" = [ "alloc" ]; "unstable-provider-api" = [ "snafu-derive/unstable-provider-api" ]; }; - resolvedDefaultFeatures = [ "default" "rust_1_61" "rust_1_65" "std" ]; + resolvedDefaultFeatures = [ "alloc" "default" "rust_1_61" "rust_1_65" "std" ]; }; "snafu-derive 0.6.10" = rec { crateName = "snafu-derive"; @@ -8342,11 +8312,11 @@ rec { features = { }; }; - "snafu-derive 0.8.5" = rec { + "snafu-derive 0.8.6" = rec { crateName = "snafu-derive"; - version = "0.8.5"; + version = "0.8.6"; edition = "2018"; - sha256 = "05zr38bcngn8ha4mfi7lr2pqqfysjhwhxvk9lz57xzkzjavwdhq3"; + sha256 = "1xs7w5hg9sw45lw34mzza1nnpx9lz5snjp9s9lh2852c8bpy4q8r"; procMacro = true; libName = "snafu_derive"; authors = [ @@ -8368,7 +8338,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "full" ]; } ]; @@ -8378,9 +8348,9 @@ rec { }; "socket2" = rec { crateName = "socket2"; - version = "0.5.9"; + version = "0.5.10"; edition = "2021"; - sha256 = "1vzds1wwwi0a51fn10r98j7cx3ir4shvhykpbk7md2h5h1ydapsg"; + sha256 = "0y067ki5q946w91xlz2sb175pnfazizva6fi3kfp639mxnmpc8z2"; authors = [ "Alex Crichton " "Thomas de Zeeuw " @@ -8418,14 +8388,9 @@ rec { }; "stackable-operator" = rec { crateName = "stackable-operator"; - version = "0.93.1"; + version = "0.93.2"; edition = "2024"; - workspace_member = null; - src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "d990019c690ed85aea29b095a03661c015676caa"; - sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; - }; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../operator-rs/main/crates/stackable-operator; }; libName = "stackable_operator"; authors = [ "Stackable GmbH " @@ -8519,7 +8484,7 @@ rec { } { name = "snafu"; - packageId = "snafu 0.8.5"; + packageId = "snafu 0.8.6"; } { name = "stackable-operator-derive"; @@ -8579,12 +8544,7 @@ rec { crateName = "stackable-operator-derive"; version = "0.3.1"; edition = "2024"; - workspace_member = null; - src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "d990019c690ed85aea29b095a03661c015676caa"; - sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; - }; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../operator-rs/main/crates/stackable-operator-derive; }; procMacro = true; libName = "stackable_operator_derive"; authors = [ @@ -8605,7 +8565,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; } ]; @@ -8614,12 +8574,7 @@ rec { crateName = "stackable-shared"; version = "0.0.1"; edition = "2024"; - workspace_member = null; - src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "d990019c690ed85aea29b095a03661c015676caa"; - sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; - }; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../operator-rs/main/crates/stackable-shared; }; libName = "stackable_shared"; authors = [ "Stackable GmbH " @@ -8646,7 +8601,7 @@ rec { } { name = "snafu"; - packageId = "snafu 0.8.5"; + packageId = "snafu 0.8.6"; } ]; @@ -8655,12 +8610,7 @@ rec { crateName = "stackable-telemetry"; version = "0.6.0"; edition = "2024"; - workspace_member = null; - src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "d990019c690ed85aea29b095a03661c015676caa"; - sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; - }; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../operator-rs/main/crates/stackable-telemetry; }; libName = "stackable_telemetry"; authors = [ "Stackable GmbH " @@ -8669,6 +8619,7 @@ rec { { name = "axum"; packageId = "axum"; + features = [ "http2" ]; } { name = "clap"; @@ -8694,6 +8645,10 @@ rec { packageId = "opentelemetry-otlp"; features = [ "grpc-tonic" "gzip-tonic" "logs" ]; } + { + name = "opentelemetry-semantic-conventions"; + packageId = "opentelemetry-semantic-conventions"; + } { name = "opentelemetry_sdk"; packageId = "opentelemetry_sdk"; @@ -8705,7 +8660,7 @@ rec { } { name = "snafu"; - packageId = "snafu 0.8.5"; + packageId = "snafu 0.8.6"; } { name = "strum"; @@ -8760,17 +8715,45 @@ rec { crateName = "stackable-versioned"; version = "0.7.1"; edition = "2024"; - workspace_member = null; - src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "d990019c690ed85aea29b095a03661c015676caa"; - sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; - }; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../operator-rs/main/crates/stackable-versioned; }; libName = "stackable_versioned"; authors = [ "Stackable GmbH " ]; dependencies = [ + { + name = "k8s-version"; + packageId = "k8s-version"; + optional = true; + features = [ "serde" ]; + } + { + name = "schemars"; + packageId = "schemars"; + optional = true; + features = [ "url" ]; + } + { + name = "serde"; + packageId = "serde"; + optional = true; + features = [ "derive" ]; + } + { + name = "serde_json"; + packageId = "serde_json"; + optional = true; + } + { + name = "serde_yaml"; + packageId = "serde_yaml"; + optional = true; + } + { + name = "snafu"; + packageId = "snafu 0.8.6"; + optional = true; + } { name = "stackable-versioned-macros"; packageId = "stackable-versioned-macros"; @@ -8778,7 +8761,7 @@ rec { ]; features = { "full" = [ "k8s" ]; - "k8s" = [ "stackable-versioned-macros/k8s" ]; + "k8s" = [ "stackable-versioned-macros/k8s" "dep:k8s-version" "dep:schemars" "dep:serde_json" "dep:serde_yaml" "dep:serde" "dep:snafu" ]; }; resolvedDefaultFeatures = [ "k8s" ]; }; @@ -8786,12 +8769,7 @@ rec { crateName = "stackable-versioned-macros"; version = "0.7.1"; edition = "2024"; - workspace_member = null; - src = pkgs.fetchgit { - url = "https://github.com/stackabletech/operator-rs.git"; - rev = "d990019c690ed85aea29b095a03661c015676caa"; - sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; - }; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../operator-rs/main/crates/stackable-versioned-macros; }; procMacro = true; libName = "stackable_versioned_macros"; authors = [ @@ -8806,6 +8784,10 @@ rec { name = "darling"; packageId = "darling"; } + { + name = "indoc"; + packageId = "indoc"; + } { name = "itertools"; packageId = "itertools"; @@ -8839,15 +8821,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; - } - ]; - devDependencies = [ - { - name = "k8s-openapi"; - packageId = "k8s-openapi"; - usesDefaultFeatures = false; - features = [ "schemars" "v1_33" ]; + packageId = "syn 2.0.104"; } ]; features = { @@ -8920,7 +8894,7 @@ rec { } { name = "snafu"; - packageId = "snafu 0.8.5"; + packageId = "snafu 0.8.6"; } { name = "stackable-operator"; @@ -9023,7 +8997,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "parsing" ]; } ]; @@ -9076,11 +9050,11 @@ rec { }; resolvedDefaultFeatures = [ "clone-impls" "default" "derive" "full" "parsing" "printing" "proc-macro" "quote" ]; }; - "syn 2.0.100" = rec { + "syn 2.0.104" = rec { crateName = "syn"; - version = "2.0.100"; + version = "2.0.104"; edition = "2021"; - sha256 = "18623wdkns03blpv65xsjn8fipl9p9hj98vlrnhin7nqran496mh"; + sha256 = "0h2s8cxh5dsh9h41dxnlzpifqqn59cqgm0kljawws61ljq2zgdhp"; authors = [ "David Tolnay " ]; @@ -9133,9 +9107,9 @@ rec { }; "synstructure" = rec { crateName = "synstructure"; - version = "0.13.1"; + version = "0.13.2"; edition = "2018"; - sha256 = "0wc9f002ia2zqcbj0q2id5x6n7g1zjqba7qkg2mr0qvvmdk7dby8"; + sha256 = "1lh9lx3r3jb18f8sbj29am5hm9jymvbwh6jb1izsnnxgvgrp12kj"; authors = [ "Nika Layzell " ]; @@ -9152,7 +9126,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; usesDefaultFeatures = false; features = [ "derive" "parsing" "printing" "clone-impls" "visit" "extra-traits" ]; } @@ -9219,7 +9193,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; } ]; @@ -9245,16 +9219,16 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; } ]; }; "thread_local" = rec { crateName = "thread_local"; - version = "1.1.8"; + version = "1.1.9"; edition = "2021"; - sha256 = "173i5lyjh011gsimk21np9jn8al18rxsrkjli20a7b8ks2xgk7lb"; + sha256 = "1191jvl8d63agnq06pcnarivf63qzgpws5xa33hgc92gjjj4c0pn"; authors = [ "Amanieu d'Antras " ]; @@ -9263,10 +9237,6 @@ rec { name = "cfg-if"; packageId = "cfg-if"; } - { - name = "once_cell"; - packageId = "once_cell"; - } ]; features = { }; @@ -9390,9 +9360,9 @@ rec { }; "tinystr" = rec { crateName = "tinystr"; - version = "0.7.6"; + version = "0.8.1"; edition = "2021"; - sha256 = "0bxqaw7z8r2kzngxlzlgvld1r6jbnwyylyvyjbv1q71rvgaga5wi"; + sha256 = "12sc6h3hnn6x78iycm5v6wrs2xhxph0ydm43yyn7gdfw8l8nsksx"; authors = [ "The ICU4X Project Developers" ]; @@ -9410,6 +9380,7 @@ rec { } ]; features = { + "alloc" = [ "zerovec?/alloc" ]; "databake" = [ "dep:databake" ]; "default" = [ "alloc" ]; "serde" = [ "dep:serde" ]; @@ -9419,9 +9390,9 @@ rec { }; "tokio" = rec { crateName = "tokio"; - version = "1.44.2"; + version = "1.45.1"; edition = "2021"; - sha256 = "0j4w3qvlcqzgbxlnap0czvspqj6x461vyk1sbqcf97g4rci8if76"; + sha256 = "0yb7h0mr0m0gfwdl1jir2k37gcrwhcib2kiyx9f95npi7sim3vvm"; authors = [ "Tokio Contributors " ]; @@ -9542,7 +9513,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "full" ]; } ]; @@ -9630,9 +9601,9 @@ rec { }; "tokio-util" = rec { crateName = "tokio-util"; - version = "0.7.14"; + version = "0.7.15"; edition = "2021"; - sha256 = "0d7hm1jrwpzryvni72fy5dg9blqs776wq5w38lwigk3g7swr15bb"; + sha256 = "1pypd9lm1fdnpw0779pqvc16qqrxjy63dgfm20ajhpbdmnlkk9b6"; libName = "tokio_util"; authors = [ "Tokio Contributors " @@ -9721,7 +9692,7 @@ rec { } { name = "snafu"; - packageId = "snafu 0.8.5"; + packageId = "snafu 0.8.6"; } { name = "tokio"; @@ -9758,7 +9729,7 @@ rec { } { name = "base64"; - packageId = "base64 0.22.1"; + packageId = "base64"; } { name = "bytes"; @@ -10104,9 +10075,9 @@ rec { }; "tower-http" = rec { crateName = "tower-http"; - version = "0.6.2"; + version = "0.6.6"; edition = "2018"; - sha256 = "15wnvhl6cpir9125s73bqjzjsvfb0fmndmsimnl2ddnlhfvs6gs0"; + sha256 = "1wh51y4rf03f91c6rvli6nwzsarx7097yx6sqlm75ag27pbjzj5d"; libName = "tower_http"; authors = [ "Tower Maintainers " @@ -10114,7 +10085,7 @@ rec { dependencies = [ { name = "base64"; - packageId = "base64 0.22.1"; + packageId = "base64"; optional = true; } { @@ -10125,6 +10096,12 @@ rec { name = "bytes"; packageId = "bytes"; } + { + name = "futures-util"; + packageId = "futures-util"; + optional = true; + usesDefaultFeatures = false; + } { name = "http"; packageId = "http"; @@ -10134,6 +10111,11 @@ rec { packageId = "http-body"; optional = true; } + { + name = "iri-string"; + packageId = "iri-string"; + optional = true; + } { name = "mime"; packageId = "mime"; @@ -10144,6 +10126,11 @@ rec { name = "pin-project-lite"; packageId = "pin-project-lite"; } + { + name = "tower"; + packageId = "tower 0.5.2"; + optional = true; + } { name = "tower-layer"; packageId = "tower-layer"; @@ -10164,10 +10151,19 @@ rec { name = "bytes"; packageId = "bytes"; } + { + name = "futures-util"; + packageId = "futures-util"; + } { name = "http-body"; packageId = "http-body"; } + { + name = "tower"; + packageId = "tower 0.5.2"; + features = [ "buffer" "util" "retry" "make" "timeout" ]; + } ]; features = { "async-compression" = [ "dep:async-compression" ]; @@ -10185,7 +10181,7 @@ rec { "decompression-gzip" = [ "async-compression/gzip" "futures-core" "dep:http-body" "dep:http-body-util" "tokio-util" "tokio" ]; "decompression-zstd" = [ "async-compression/zstd" "futures-core" "dep:http-body" "dep:http-body-util" "tokio-util" "tokio" ]; "follow-redirect" = [ "futures-util" "dep:http-body" "iri-string" "tower/util" ]; - "fs" = [ "futures-util" "dep:http-body" "dep:http-body-util" "tokio/fs" "tokio-util/io" "tokio/io-util" "dep:http-range-header" "mime_guess" "mime" "percent-encoding" "httpdate" "set-status" "futures-util/alloc" "tracing" ]; + "fs" = [ "futures-core" "futures-util" "dep:http-body" "dep:http-body-util" "tokio/fs" "tokio-util/io" "tokio/io-util" "dep:http-range-header" "mime_guess" "mime" "percent-encoding" "httpdate" "set-status" "futures-util/alloc" "tracing" ]; "full" = [ "add-extension" "auth" "catch-panic" "compression-full" "cors" "decompression-full" "follow-redirect" "fs" "limit" "map-request-body" "map-response-body" "metrics" "normalize-path" "propagate-header" "redirect" "request-id" "sensitive-headers" "set-header" "set-status" "timeout" "trace" "util" "validate-request" ]; "futures-core" = [ "dep:futures-core" ]; "futures-util" = [ "dep:futures-util" ]; @@ -10207,7 +10203,7 @@ rec { "uuid" = [ "dep:uuid" ]; "validate-request" = [ "mime" ]; }; - resolvedDefaultFeatures = [ "auth" "base64" "default" "map-response-body" "mime" "trace" "tracing" "validate-request" ]; + resolvedDefaultFeatures = [ "auth" "base64" "default" "follow-redirect" "futures-util" "iri-string" "map-response-body" "mime" "tower" "trace" "tracing" "validate-request" ]; }; "tower-layer" = rec { crateName = "tower-layer"; @@ -10316,9 +10312,9 @@ rec { }; "tracing-attributes" = rec { crateName = "tracing-attributes"; - version = "0.1.28"; + version = "0.1.30"; edition = "2018"; - sha256 = "0v92l9cxs42rdm4m5hsa8z7ln1xsiw1zc2iil8c6k7lzq0jf2nir"; + sha256 = "00v9bhfgfg3v101nmmy7s3vdwadb7ngc8c1iw6wai9vj9sv3lf41"; procMacro = true; libName = "tracing_attributes"; authors = [ @@ -10337,7 +10333,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; usesDefaultFeatures = false; features = [ "full" "parsing" "printing" "visit-mut" "clone-impls" "extra-traits" "proc-macro" ]; } @@ -10347,9 +10343,9 @@ rec { }; "tracing-core" = rec { crateName = "tracing-core"; - version = "0.1.33"; + version = "0.1.34"; edition = "2018"; - sha256 = "170gc7cxyjx824r9kr17zc9gvzx89ypqfdzq259pr56gg5bwjwp6"; + sha256 = "0y3nc4mpnr79rzkrcylv5f5bnjjp19lsxwis9l4kzs97ya0jbldr"; libName = "tracing_core"; authors = [ "Tokio Contributors " @@ -10809,16 +10805,6 @@ rec { }; resolvedDefaultFeatures = [ "default" "serde" "std" ]; }; - "utf16_iter" = rec { - crateName = "utf16_iter"; - version = "1.0.5"; - edition = "2021"; - sha256 = "0ik2krdr73hfgsdzw0218fn35fa09dg2hvbi1xp3bmdfrp9js8y8"; - authors = [ - "Henri Sivonen " - ]; - - }; "utf8_iter" = rec { crateName = "utf8_iter"; version = "1.0.4"; @@ -10891,19 +10877,18 @@ rec { ]; }; - "wasi 0.11.0+wasi-snapshot-preview1" = rec { + "wasi 0.11.1+wasi-snapshot-preview1" = rec { crateName = "wasi"; - version = "0.11.0+wasi-snapshot-preview1"; + version = "0.11.1+wasi-snapshot-preview1"; edition = "2018"; - sha256 = "08z4hxwkpdpalxjps1ai9y7ihin26y9f476i53dv98v45gkqg3cw"; + sha256 = "0jx49r7nbkbhyfrfyhz0bm4817yrnxgd3jiwwwfv0zl439jyrwyc"; authors = [ "The Cranelift Project Developers" ]; features = { - "compiler_builtins" = [ "dep:compiler_builtins" ]; "core" = [ "dep:core" ]; "default" = [ "std" ]; - "rustc-dep-of-std" = [ "compiler_builtins" "core" "rustc-std-workspace-alloc" ]; + "rustc-dep-of-std" = [ "core" "rustc-std-workspace-alloc" ]; "rustc-std-workspace-alloc" = [ "dep:rustc-std-workspace-alloc" ]; }; resolvedDefaultFeatures = [ "default" "std" ]; @@ -11007,7 +10992,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "full" ]; } { @@ -11108,7 +11093,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "visit" "visit-mut" "full" ]; } { @@ -11696,9 +11681,9 @@ rec { }; "windows-core" = rec { crateName = "windows-core"; - version = "0.61.0"; + version = "0.61.2"; edition = "2021"; - sha256 = "104915nsby2cgp322pqqkmj2r82v5sg4hil0hxddg1hc67gc2qs7"; + sha256 = "1qsa3iw14wk4ngfl7ipcvdf9xyq456ms7cx2i9iwf406p7fx7zf0"; libName = "windows_core"; authors = [ "Microsoft" @@ -11726,7 +11711,7 @@ rec { } { name = "windows-strings"; - packageId = "windows-strings 0.4.0"; + packageId = "windows-strings"; usesDefaultFeatures = false; } ]; @@ -11759,7 +11744,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; usesDefaultFeatures = false; features = [ "parsing" "proc-macro" "printing" "full" "clone-impls" ]; } @@ -11789,7 +11774,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; usesDefaultFeatures = false; features = [ "parsing" "proc-macro" "printing" "full" "clone-impls" ]; } @@ -11798,51 +11783,20 @@ rec { }; "windows-link" = rec { crateName = "windows-link"; - version = "0.1.1"; + version = "0.1.3"; edition = "2021"; - sha256 = "0f2cq7imbrppsmmnz8899hfhg07cp5gq6rh0bjhb1qb6nwshk13n"; + sha256 = "12kr1p46dbhpijr4zbwr2spfgq8i8c5x55mvvfmyl96m01cx4sjy"; libName = "windows_link"; authors = [ "Microsoft" ]; }; - "windows-registry" = rec { - crateName = "windows-registry"; - version = "0.4.0"; - edition = "2021"; - sha256 = "18wbgr6z6765qdnasi8mmvxhvp82xd1zlvd6s7pp2l5lvn8av1j2"; - libName = "windows_registry"; - authors = [ - "Microsoft" - ]; - dependencies = [ - { - name = "windows-result"; - packageId = "windows-result"; - usesDefaultFeatures = false; - } - { - name = "windows-strings"; - packageId = "windows-strings 0.3.1"; - usesDefaultFeatures = false; - } - { - name = "windows-targets"; - packageId = "windows-targets 0.53.0"; - } - ]; - features = { - "default" = [ "std" ]; - "std" = [ "windows-result/std" "windows-strings/std" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; "windows-result" = rec { crateName = "windows-result"; - version = "0.3.2"; + version = "0.3.4"; edition = "2021"; - sha256 = "0li2f76anf0rg7i966d9qs5iprsg555g9rgyzj7gcpfr9wdd2ky6"; + sha256 = "1il60l6idrc6hqsij0cal0mgva6n3w6gq4ziban8wv6c6b9jpx2n"; libName = "windows_result"; authors = [ "Microsoft" @@ -11859,31 +11813,11 @@ rec { }; resolvedDefaultFeatures = [ "std" ]; }; - "windows-strings 0.3.1" = rec { + "windows-strings" = rec { crateName = "windows-strings"; - version = "0.3.1"; + version = "0.4.2"; edition = "2021"; - sha256 = "06bkhkyclbfchcsv5bnhz77r290k20m15glj2xq60ra0bp64iyl7"; - libName = "windows_strings"; - authors = [ - "Microsoft" - ]; - dependencies = [ - { - name = "windows-link"; - packageId = "windows-link"; - } - ]; - features = { - "default" = [ "std" ]; - }; - resolvedDefaultFeatures = [ "std" ]; - }; - "windows-strings 0.4.0" = rec { - crateName = "windows-strings"; - version = "0.4.0"; - edition = "2021"; - sha256 = "15rg6a0ha1d231wwps2qlgyqrgkyj1r8v9vsb8nlbvih4ijajavs"; + sha256 = "0mrv3plibkla4v5kaakc2rfksdd0b14plcmidhbkcfqc78zwkrjn"; libName = "windows_strings"; authors = [ "Microsoft" @@ -11912,7 +11846,7 @@ rec { dependencies = [ { name = "windows-targets"; - packageId = "windows-targets 0.52.6"; + packageId = "windows-targets"; } ]; features = { @@ -12146,7 +12080,7 @@ rec { "Win32_Web" = [ "Win32" ]; "Win32_Web_InternetExplorer" = [ "Win32_Web" ]; }; - resolvedDefaultFeatures = [ "Wdk" "Wdk_Foundation" "Wdk_Storage" "Wdk_Storage_FileSystem" "Wdk_System" "Wdk_System_IO" "Win32" "Win32_Foundation" "Win32_Networking" "Win32_Networking_WinSock" "Win32_Security" "Win32_Storage" "Win32_Storage_FileSystem" "Win32_System" "Win32_System_Console" "Win32_System_IO" "Win32_System_Pipes" "Win32_System_SystemServices" "Win32_System_Threading" "Win32_System_WindowsProgramming" "default" ]; + resolvedDefaultFeatures = [ "Win32" "Win32_Foundation" "Win32_Networking" "Win32_Networking_WinSock" "Win32_Security" "Win32_Storage" "Win32_Storage_FileSystem" "Win32_System" "Win32_System_Console" "Win32_System_IO" "Win32_System_Pipes" "Win32_System_SystemServices" "Win32_System_Threading" "Win32_System_WindowsProgramming" "default" ]; }; "windows-sys 0.59.0" = rec { crateName = "windows-sys"; @@ -12160,7 +12094,7 @@ rec { dependencies = [ { name = "windows-targets"; - packageId = "windows-targets 0.52.6"; + packageId = "windows-targets"; } ]; features = { @@ -12405,9 +12339,9 @@ rec { "Win32_Web" = [ "Win32" ]; "Win32_Web_InternetExplorer" = [ "Win32_Web" ]; }; - resolvedDefaultFeatures = [ "Win32" "Win32_Foundation" "Win32_Security" "Win32_Security_Authentication" "Win32_Security_Authentication_Identity" "Win32_Security_Credentials" "Win32_Security_Cryptography" "Win32_System" "Win32_System_Com" "Win32_System_Console" "Win32_System_LibraryLoader" "Win32_System_Memory" "Win32_System_SystemInformation" "Win32_UI" "Win32_UI_Shell" "default" ]; + resolvedDefaultFeatures = [ "Wdk" "Wdk_Foundation" "Wdk_Storage" "Wdk_Storage_FileSystem" "Wdk_System" "Wdk_System_IO" "Win32" "Win32_Foundation" "Win32_Networking" "Win32_Networking_WinSock" "Win32_Security" "Win32_Security_Authentication" "Win32_Security_Authentication_Identity" "Win32_Security_Credentials" "Win32_Security_Cryptography" "Win32_Storage" "Win32_Storage_FileSystem" "Win32_System" "Win32_System_Com" "Win32_System_Console" "Win32_System_IO" "Win32_System_LibraryLoader" "Win32_System_Memory" "Win32_System_Pipes" "Win32_System_SystemInformation" "Win32_System_WindowsProgramming" "Win32_UI" "Win32_UI_Shell" "default" ]; }; - "windows-targets 0.52.6" = rec { + "windows-targets" = rec { crateName = "windows-targets"; version = "0.52.6"; edition = "2021"; @@ -12419,101 +12353,48 @@ rec { dependencies = [ { name = "windows_aarch64_gnullvm"; - packageId = "windows_aarch64_gnullvm 0.52.6"; + packageId = "windows_aarch64_gnullvm"; target = { target, features }: (target.name == "aarch64-pc-windows-gnullvm"); } { name = "windows_aarch64_msvc"; - packageId = "windows_aarch64_msvc 0.52.6"; + packageId = "windows_aarch64_msvc"; target = { target, features }: (("aarch64" == target."arch" or null) && ("msvc" == target."env" or null) && (!(target."windows_raw_dylib" or false))); } { name = "windows_i686_gnu"; - packageId = "windows_i686_gnu 0.52.6"; + packageId = "windows_i686_gnu"; target = { target, features }: (("x86" == target."arch" or null) && ("gnu" == target."env" or null) && (!("llvm" == target."abi" or null)) && (!(target."windows_raw_dylib" or false))); } { name = "windows_i686_gnullvm"; - packageId = "windows_i686_gnullvm 0.52.6"; + packageId = "windows_i686_gnullvm"; target = { target, features }: (target.name == "i686-pc-windows-gnullvm"); } { name = "windows_i686_msvc"; - packageId = "windows_i686_msvc 0.52.6"; + packageId = "windows_i686_msvc"; target = { target, features }: (("x86" == target."arch" or null) && ("msvc" == target."env" or null) && (!(target."windows_raw_dylib" or false))); } { name = "windows_x86_64_gnu"; - packageId = "windows_x86_64_gnu 0.52.6"; + packageId = "windows_x86_64_gnu"; target = { target, features }: (("x86_64" == target."arch" or null) && ("gnu" == target."env" or null) && (!("llvm" == target."abi" or null)) && (!(target."windows_raw_dylib" or false))); } { name = "windows_x86_64_gnullvm"; - packageId = "windows_x86_64_gnullvm 0.52.6"; + packageId = "windows_x86_64_gnullvm"; target = { target, features }: (target.name == "x86_64-pc-windows-gnullvm"); } { name = "windows_x86_64_msvc"; - packageId = "windows_x86_64_msvc 0.52.6"; + packageId = "windows_x86_64_msvc"; target = { target, features }: ((("x86_64" == target."arch" or null) || ("arm64ec" == target."arch" or null)) && ("msvc" == target."env" or null) && (!(target."windows_raw_dylib" or false))); } ]; }; - "windows-targets 0.53.0" = rec { - crateName = "windows-targets"; - version = "0.53.0"; - edition = "2021"; - sha256 = "12yakpjizhfpppz1i3zgcwxlbar8axrp9j87fmywpydarvlcgr5i"; - libName = "windows_targets"; - authors = [ - "Microsoft" - ]; - dependencies = [ - { - name = "windows_aarch64_gnullvm"; - packageId = "windows_aarch64_gnullvm 0.53.0"; - target = { target, features }: (target.name == "aarch64-pc-windows-gnullvm"); - } - { - name = "windows_aarch64_msvc"; - packageId = "windows_aarch64_msvc 0.53.0"; - target = { target, features }: (("aarch64" == target."arch" or null) && ("msvc" == target."env" or null) && (!(target."windows_raw_dylib" or false))); - } - { - name = "windows_i686_gnu"; - packageId = "windows_i686_gnu 0.53.0"; - target = { target, features }: (("x86" == target."arch" or null) && ("gnu" == target."env" or null) && (!("llvm" == target."abi" or null)) && (!(target."windows_raw_dylib" or false))); - } - { - name = "windows_i686_gnullvm"; - packageId = "windows_i686_gnullvm 0.53.0"; - target = { target, features }: (target.name == "i686-pc-windows-gnullvm"); - } - { - name = "windows_i686_msvc"; - packageId = "windows_i686_msvc 0.53.0"; - target = { target, features }: (("x86" == target."arch" or null) && ("msvc" == target."env" or null) && (!(target."windows_raw_dylib" or false))); - } - { - name = "windows_x86_64_gnu"; - packageId = "windows_x86_64_gnu 0.53.0"; - target = { target, features }: (("x86_64" == target."arch" or null) && ("gnu" == target."env" or null) && (!("llvm" == target."abi" or null)) && (!(target."windows_raw_dylib" or false))); - } - { - name = "windows_x86_64_gnullvm"; - packageId = "windows_x86_64_gnullvm 0.53.0"; - target = { target, features }: (target.name == "x86_64-pc-windows-gnullvm"); - } - { - name = "windows_x86_64_msvc"; - packageId = "windows_x86_64_msvc 0.53.0"; - target = { target, features }: ((("x86_64" == target."arch" or null) || ("arm64ec" == target."arch" or null)) && ("msvc" == target."env" or null) && (!(target."windows_raw_dylib" or false))); - } - ]; - - }; - "windows_aarch64_gnullvm 0.52.6" = rec { + "windows_aarch64_gnullvm" = rec { crateName = "windows_aarch64_gnullvm"; version = "0.52.6"; edition = "2021"; @@ -12523,17 +12404,7 @@ rec { ]; }; - "windows_aarch64_gnullvm 0.53.0" = rec { - crateName = "windows_aarch64_gnullvm"; - version = "0.53.0"; - edition = "2021"; - sha256 = "0r77pbpbcf8bq4yfwpz2hpq3vns8m0yacpvs2i5cn6fx1pwxbf46"; - authors = [ - "Microsoft" - ]; - - }; - "windows_aarch64_msvc 0.52.6" = rec { + "windows_aarch64_msvc" = rec { crateName = "windows_aarch64_msvc"; version = "0.52.6"; edition = "2021"; @@ -12543,17 +12414,7 @@ rec { ]; }; - "windows_aarch64_msvc 0.53.0" = rec { - crateName = "windows_aarch64_msvc"; - version = "0.53.0"; - edition = "2021"; - sha256 = "0v766yqw51pzxxwp203yqy39ijgjamp54hhdbsyqq6x1c8gilrf7"; - authors = [ - "Microsoft" - ]; - - }; - "windows_i686_gnu 0.52.6" = rec { + "windows_i686_gnu" = rec { crateName = "windows_i686_gnu"; version = "0.52.6"; edition = "2021"; @@ -12563,17 +12424,7 @@ rec { ]; }; - "windows_i686_gnu 0.53.0" = rec { - crateName = "windows_i686_gnu"; - version = "0.53.0"; - edition = "2021"; - sha256 = "1hvjc8nv95sx5vdd79fivn8bpm7i517dqyf4yvsqgwrmkmjngp61"; - authors = [ - "Microsoft" - ]; - - }; - "windows_i686_gnullvm 0.52.6" = rec { + "windows_i686_gnullvm" = rec { crateName = "windows_i686_gnullvm"; version = "0.52.6"; edition = "2021"; @@ -12583,17 +12434,7 @@ rec { ]; }; - "windows_i686_gnullvm 0.53.0" = rec { - crateName = "windows_i686_gnullvm"; - version = "0.53.0"; - edition = "2021"; - sha256 = "04df1in2k91qyf1wzizvh560bvyzq20yf68k8xa66vdzxnywrrlw"; - authors = [ - "Microsoft" - ]; - - }; - "windows_i686_msvc 0.52.6" = rec { + "windows_i686_msvc" = rec { crateName = "windows_i686_msvc"; version = "0.52.6"; edition = "2021"; @@ -12603,17 +12444,7 @@ rec { ]; }; - "windows_i686_msvc 0.53.0" = rec { - crateName = "windows_i686_msvc"; - version = "0.53.0"; - edition = "2021"; - sha256 = "0pcvb25fkvqnp91z25qr5x61wyya12lx8p7nsa137cbb82ayw7sq"; - authors = [ - "Microsoft" - ]; - - }; - "windows_x86_64_gnu 0.52.6" = rec { + "windows_x86_64_gnu" = rec { crateName = "windows_x86_64_gnu"; version = "0.52.6"; edition = "2021"; @@ -12623,17 +12454,7 @@ rec { ]; }; - "windows_x86_64_gnu 0.53.0" = rec { - crateName = "windows_x86_64_gnu"; - version = "0.53.0"; - edition = "2021"; - sha256 = "1flh84xkssn1n6m1riddipydcksp2pdl45vdf70jygx3ksnbam9f"; - authors = [ - "Microsoft" - ]; - - }; - "windows_x86_64_gnullvm 0.52.6" = rec { + "windows_x86_64_gnullvm" = rec { crateName = "windows_x86_64_gnullvm"; version = "0.52.6"; edition = "2021"; @@ -12643,17 +12464,7 @@ rec { ]; }; - "windows_x86_64_gnullvm 0.53.0" = rec { - crateName = "windows_x86_64_gnullvm"; - version = "0.53.0"; - edition = "2021"; - sha256 = "0mvc8119xpbi3q2m6mrjcdzl6afx4wffacp13v76g4jrs1fh6vha"; - authors = [ - "Microsoft" - ]; - - }; - "windows_x86_64_msvc 0.52.6" = rec { + "windows_x86_64_msvc" = rec { crateName = "windows_x86_64_msvc"; version = "0.52.6"; edition = "2021"; @@ -12662,16 +12473,6 @@ rec { "Microsoft" ]; - }; - "windows_x86_64_msvc 0.53.0" = rec { - crateName = "windows_x86_64_msvc"; - version = "0.53.0"; - edition = "2021"; - sha256 = "11h4i28hq0zlnjcaqi2xdxr7ibnpa8djfggch9rki1zzb8qi8517"; - authors = [ - "Microsoft" - ]; - }; "wit-bindgen-rt" = rec { crateName = "wit-bindgen-rt"; @@ -12692,22 +12493,11 @@ rec { }; resolvedDefaultFeatures = [ "bitflags" ]; }; - "write16" = rec { - crateName = "write16"; - version = "1.0.0"; - edition = "2021"; - sha256 = "0dnryvrrbrnl7vvf5vb1zkmwldhjkf2n5znliviam7bm4900z2fi"; - features = { - "arrayvec" = [ "dep:arrayvec" ]; - "smallvec" = [ "dep:smallvec" ]; - }; - resolvedDefaultFeatures = [ "alloc" ]; - }; "writeable" = rec { crateName = "writeable"; - version = "0.5.5"; + version = "0.6.1"; edition = "2021"; - sha256 = "0lawr6y0bwqfyayf3z8zmqlhpnzhdx0ahs54isacbhyjwa7g778y"; + sha256 = "1fx29zncvbrqzgz7li88vzdm8zvgwgwy2r9bnjqxya09pfwi0bza"; authors = [ "The ICU4X Project Developers" ]; @@ -12729,9 +12519,9 @@ rec { }; "yoke" = rec { crateName = "yoke"; - version = "0.7.5"; + version = "0.8.0"; edition = "2021"; - sha256 = "0h3znzrdmll0a7sglzf9ji0p5iqml11wrj1dypaf6ad6kbpnl3hj"; + sha256 = "1k4mfr48vgi7wh066y11b7v1ilakghlnlhw9snzz8vi2p00vnhaz"; authors = [ "Manish Goregaokar " ]; @@ -12774,13 +12564,13 @@ rec { "serde" = [ "dep:serde" ]; "zerofrom" = [ "dep:zerofrom" ]; }; - resolvedDefaultFeatures = [ "alloc" "default" "derive" "zerofrom" ]; + resolvedDefaultFeatures = [ "alloc" "derive" "zerofrom" ]; }; "yoke-derive" = rec { crateName = "yoke-derive"; - version = "0.7.5"; + version = "0.8.0"; edition = "2021"; - sha256 = "0m4i4a7gy826bfvnqa9wy6sp90qf0as3wps3wb0smjaamn68g013"; + sha256 = "1dha5jrjz9jaq8kmxq1aag86b98zbnm9lyjrihy5sv716sbkrniq"; procMacro = true; libName = "yoke_derive"; authors = [ @@ -12797,7 +12587,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "fold" ]; } { @@ -12807,47 +12597,11 @@ rec { ]; }; - "zerocopy 0.7.35" = rec { + "zerocopy" = rec { crateName = "zerocopy"; - version = "0.7.35"; - edition = "2018"; - sha256 = "1w36q7b9il2flg0qskapgi9ymgg7p985vniqd09vi0mwib8lz6qv"; - authors = [ - "Joshua Liebow-Feeser " - ]; - dependencies = [ - { - name = "zerocopy-derive"; - packageId = "zerocopy-derive 0.7.35"; - optional = true; - } - { - name = "zerocopy-derive"; - packageId = "zerocopy-derive 0.7.35"; - target = { target, features }: false; - } - ]; - devDependencies = [ - { - name = "zerocopy-derive"; - packageId = "zerocopy-derive 0.7.35"; - } - ]; - features = { - "__internal_use_only_features_that_work_on_stable" = [ "alloc" "derive" "simd" ]; - "byteorder" = [ "dep:byteorder" ]; - "default" = [ "byteorder" ]; - "derive" = [ "zerocopy-derive" ]; - "simd-nightly" = [ "simd" ]; - "zerocopy-derive" = [ "dep:zerocopy-derive" ]; - }; - resolvedDefaultFeatures = [ "simd" ]; - }; - "zerocopy 0.8.24" = rec { - crateName = "zerocopy"; - version = "0.8.24"; + version = "0.8.26"; edition = "2021"; - sha256 = "0yb8hyzfnwzr2wg4p7cnqmjps8fsw8xqnprafgpmfs8qisigx1i5"; + sha256 = "0bvsj0qzq26zc6nlrm3z10ihvjspyngs7n0jw1fz031i7h6xsf8h"; authors = [ "Joshua Liebow-Feeser " "Jack Wrenn " @@ -12855,19 +12609,19 @@ rec { dependencies = [ { name = "zerocopy-derive"; - packageId = "zerocopy-derive 0.8.24"; + packageId = "zerocopy-derive"; optional = true; } { name = "zerocopy-derive"; - packageId = "zerocopy-derive 0.8.24"; + packageId = "zerocopy-derive"; target = { target, features }: false; } ]; devDependencies = [ { name = "zerocopy-derive"; - packageId = "zerocopy-derive 0.8.24"; + packageId = "zerocopy-derive"; } ]; features = { @@ -12879,37 +12633,11 @@ rec { }; resolvedDefaultFeatures = [ "simd" ]; }; - "zerocopy-derive 0.7.35" = rec { - crateName = "zerocopy-derive"; - version = "0.7.35"; - edition = "2018"; - sha256 = "0gnf2ap2y92nwdalzz3x7142f2b83sni66l39vxp2ijd6j080kzs"; - procMacro = true; - libName = "zerocopy_derive"; - authors = [ - "Joshua Liebow-Feeser " - ]; - dependencies = [ - { - name = "proc-macro2"; - packageId = "proc-macro2"; - } - { - name = "quote"; - packageId = "quote"; - } - { - name = "syn"; - packageId = "syn 2.0.100"; - } - ]; - - }; - "zerocopy-derive 0.8.24" = rec { + "zerocopy-derive" = rec { crateName = "zerocopy-derive"; - version = "0.8.24"; + version = "0.8.26"; edition = "2021"; - sha256 = "1gk9047pbq1yjj2jyiv0s37nqc53maqbmhcsjp6lhi2w7kvai5m9"; + sha256 = "10aiywi5qkha0mpsnb1zjwi44wl2rhdncaf3ykbp4i9nqm65pkwy"; procMacro = true; libName = "zerocopy_derive"; authors = [ @@ -12927,7 +12655,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "full" ]; } ]; @@ -12976,7 +12704,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "fold" ]; } { @@ -13003,11 +12731,49 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "default" ]; }; + "zerotrie" = rec { + crateName = "zerotrie"; + version = "0.2.2"; + edition = "2021"; + sha256 = "15gmka7vw5k0d24s0vxgymr2j6zn2iwl12wpmpnpjgsqg3abpw1n"; + authors = [ + "The ICU4X Project Developers" + ]; + dependencies = [ + { + name = "displaydoc"; + packageId = "displaydoc"; + usesDefaultFeatures = false; + } + { + name = "yoke"; + packageId = "yoke"; + optional = true; + usesDefaultFeatures = false; + features = [ "derive" ]; + } + { + name = "zerofrom"; + packageId = "zerofrom"; + optional = true; + usesDefaultFeatures = false; + } + ]; + features = { + "databake" = [ "dep:databake" "zerovec?/databake" ]; + "litemap" = [ "dep:litemap" "alloc" ]; + "serde" = [ "dep:serde" "dep:litemap" "alloc" "litemap/serde" "zerovec?/serde" ]; + "yoke" = [ "dep:yoke" ]; + "zerofrom" = [ "dep:zerofrom" ]; + "zerovec" = [ "dep:zerovec" ]; + }; + resolvedDefaultFeatures = [ "yoke" "zerofrom" ]; + }; "zerovec" = rec { crateName = "zerovec"; - version = "0.10.4"; + version = "0.11.2"; edition = "2021"; - sha256 = "0yghix7n3fjfdppwghknzvx9v8cf826h2qal5nqvy8yzg4yqjaxa"; + sha256 = "0a2457fmz39k9vrrj3rm82q5ykdhgxgbwfz2r6fa6nq11q4fn1aa"; authors = [ "The ICU4X Project Developers" ]; @@ -13016,6 +12782,7 @@ rec { name = "yoke"; packageId = "yoke"; optional = true; + usesDefaultFeatures = false; } { name = "zerofrom"; @@ -13029,21 +12796,28 @@ rec { usesDefaultFeatures = false; } ]; + devDependencies = [ + { + name = "yoke"; + packageId = "yoke"; + usesDefaultFeatures = false; + features = [ "derive" ]; + } + ]; features = { - "bench" = [ "serde" "databake" ]; "databake" = [ "dep:databake" ]; "derive" = [ "dep:zerovec-derive" ]; - "hashmap" = [ "dep:twox-hash" ]; - "serde" = [ "dep:serde" ]; + "hashmap" = [ "dep:twox-hash" "alloc" ]; + "serde" = [ "dep:serde" "alloc" ]; "yoke" = [ "dep:yoke" ]; }; - resolvedDefaultFeatures = [ "derive" "yoke" ]; + resolvedDefaultFeatures = [ "alloc" "derive" "yoke" ]; }; "zerovec-derive" = rec { crateName = "zerovec-derive"; - version = "0.10.3"; + version = "0.11.1"; edition = "2021"; - sha256 = "1ik322dys6wnap5d3gcsn09azmssq466xryn5czfm13mn7gsdbvf"; + sha256 = "13zms8hj7vzpfswypwggyfr4ckmyc7v3di49pmj8r1qcz9z275jv"; procMacro = true; libName = "zerovec_derive"; authors = [ @@ -13060,7 +12834,7 @@ rec { } { name = "syn"; - packageId = "syn 2.0.100"; + packageId = "syn 2.0.104"; features = [ "extra-traits" ]; } ]; diff --git a/Cargo.toml b/Cargo.toml index eb616266..70565773 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,8 +32,8 @@ tokio-zookeeper = "0.4" tracing = "0.1" [patch."https://github.com/stackabletech/operator-rs"] -stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "main" } -# stackable-operator = { path = "/home/sbernauer/stackable/operator-rs/main/crates/stackable-operator" } +# stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "main" } +stackable-operator = { path = "/home/sbernauer/stackable/operator-rs/main/crates/stackable-operator" } [patch.crates-io] # tokio-zookeeper = { path = "../tokio-zookeeper" } diff --git a/Makefile b/Makefile index 690fd497..4de7a0fa 100644 --- a/Makefile +++ b/Makefile @@ -105,7 +105,6 @@ compile-chart: version crds config chart-clean: rm -rf "deploy/helm/${OPERATOR_NAME}/configs" - rm -rf "deploy/helm/${OPERATOR_NAME}/crds" version: cat "deploy/helm/${OPERATOR_NAME}/Chart.yaml" | yq ".version = \"${VERSION}\" | .appVersion = \"${VERSION}\"" > "deploy/helm/${OPERATOR_NAME}/Chart.yaml.new" @@ -117,9 +116,10 @@ config: cp -r deploy/config-spec/* "deploy/helm/${OPERATOR_NAME}/configs";\ fi +# We generate a crds.yaml as preview, so that the effect of code changes are visible. +# The operator will take care of the CRD rollout itself. crds: - mkdir -p deploy/helm/"${OPERATOR_NAME}"/crds - cargo run --bin stackable-"${OPERATOR_NAME}" -- crd | yq eval '.metadata.annotations["helm.sh/resource-policy"]="keep"' - > "deploy/helm/${OPERATOR_NAME}/crds/crds.yaml" + cargo run --bin stackable-"${OPERATOR_NAME}" -- crd > crds.yaml chart-lint: compile-chart docker run -it -v $(shell pwd):/build/helm-charts -w /build/helm-charts quay.io/helmpack/chart-testing:v3.5.0 ct lint --config deploy/helm/ct.yaml diff --git a/Tiltfile b/Tiltfile index fb84bcc0..9f2eacc9 100644 --- a/Tiltfile +++ b/Tiltfile @@ -17,27 +17,16 @@ custom_build( outputs_image_ref_to='result/ref', ) -# Load the latest CRDs from Nix -watch_file('result') -if os.path.exists('result'): - k8s_yaml('result/crds.yaml') - # We need to set the correct image annotation on the operator Deployment to use e.g. # oci.stackable.tech/sandbox/opa-operator:7y19m3d8clwxlv34v5q2x4p7v536s00g instead of # oci.stackable.tech/sandbox/opa-operator:0.0.0-dev (which does not exist) k8s_kind('Deployment', image_json_path='{.spec.template.metadata.annotations.internal\\.stackable\\.tech/image}') -# Exclude stale CRDs from Helm chart, and apply the rest -helm_crds, helm_non_crds = filter_yaml( - helm( - 'deploy/helm/' + operator_name, - name=operator_name, - namespace="stackable-operators", - set=[ - 'image.repository=' + registry + '/' + operator_name, - ], - ), - api_version = "^apiextensions\\.k8s\\.io/.*$", - kind = "^CustomResourceDefinition$", -) -k8s_yaml(helm_non_crds) +k8s_yaml(helm( + 'deploy/helm/' + operator_name, + name=operator_name, + namespace="stackable-operators", + set=[ + 'image.repository=' + registry + '/' + operator_name, + ], +)) diff --git a/crate-hashes.json b/crate-hashes.json index 81f487ff..46c186b3 100644 --- a/crate-hashes.json +++ b/crate-hashes.json @@ -1,10 +1,3 @@ { - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#k8s-version@0.1.3": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-operator-derive@0.3.1": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-operator@0.93.1": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-shared@0.0.1": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-telemetry@0.6.0": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-versioned-macros@0.7.1": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-versioned@0.7.1": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", "git+https://github.com/stackabletech/product-config.git?tag=0.7.0#product-config@0.7.0": "0gjsm80g6r75pm3824dcyiz4ysq1ka4c1if6k1mjm9cnd5ym0gny" } \ No newline at end of file diff --git a/crds.yaml b/crds.yaml new file mode 100644 index 00000000..f5c76814 --- /dev/null +++ b/crds.yaml @@ -0,0 +1,893 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: zookeeperclusters.zookeeper.stackable.tech +spec: + group: zookeeper.stackable.tech + names: + categories: [] + kind: ZookeeperCluster + plural: zookeeperclusters + shortNames: + - zk + singular: zookeepercluster + scope: Namespaced + versions: + - additionalPrinterColumns: [] + name: v1alpha1 + schema: + openAPIV3Schema: + description: Auto-generated derived type for ZookeeperClusterSpec via `CustomResource` + properties: + spec: + description: A ZooKeeper cluster stacklet. This resource is managed by the Stackable operator for Apache ZooKeeper. Find more information on how to use it and the resources that the operator generates in the [operator documentation](https://docs.stackable.tech/home/nightly/zookeeper/). + properties: + clusterConfig: + default: + authentication: [] + listenerClass: cluster-internal + tls: + quorumSecretClass: tls + serverSecretClass: tls + description: Settings that affect all roles and role groups. The settings in the `clusterConfig` are cluster wide settings that do not need to be configurable at role or role group level. + properties: + authentication: + default: [] + description: Authentication settings for ZooKeeper like mTLS authentication. Read more in the [authentication usage guide](https://docs.stackable.tech/home/nightly/zookeeper/usage_guide/authentication). + items: + properties: + authenticationClass: + description: |- + The [AuthenticationClass](https://docs.stackable.tech/home/stable/concepts/authentication) to use. + + ## mTLS + + Only affects client connections. This setting controls: - If clients need to authenticate themselves against the server via TLS - Which ca.crt to use when validating the provided client certs + + This will override the server TLS settings (if set) in `spec.clusterConfig.tls.serverSecretClass`. + type: string + required: + - authenticationClass + type: object + type: array + listenerClass: + default: cluster-internal + description: |- + This field controls which type of Service the Operator creates for this ZookeeperCluster: + + * cluster-internal: Use a ClusterIP service + + * external-unstable: Use a NodePort service + + This is a temporary solution with the goal to keep yaml manifests forward compatible. In the future, this setting will control which [ListenerClass](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass.html) will be used to expose the service, and ListenerClass names will stay the same, allowing for a non-breaking change. + enum: + - cluster-internal + - external-unstable + type: string + tls: + default: + quorumSecretClass: tls + serverSecretClass: tls + description: TLS encryption settings for ZooKeeper (server, quorum). Read more in the [encryption usage guide](https://docs.stackable.tech/home/nightly/zookeeper/usage_guide/encryption). + nullable: true + properties: + quorumSecretClass: + default: tls + description: |- + The [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) to use for internal quorum communication. Use mutual verification between Zookeeper Nodes (mandatory). This setting controls: - Which cert the servers should use to authenticate themselves against other servers - Which ca.crt to use when validating the other server + + Defaults to `tls` + type: string + serverSecretClass: + default: tls + description: |- + The [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) to use for client connections. This setting controls: - If TLS encryption is used at all - Which cert the servers should use to authenticate themselves against the client + + Defaults to `tls`. + nullable: true + type: string + type: object + vectorAggregatorConfigMapName: + description: Name of the Vector aggregator [discovery ConfigMap](https://docs.stackable.tech/home/nightly/concepts/service_discovery). It must contain the key `ADDRESS` with the address of the Vector aggregator. Follow the [logging tutorial](https://docs.stackable.tech/home/nightly/tutorials/logging-vector-aggregator) to learn how to configure log aggregation with Vector. + nullable: true + type: string + type: object + clusterOperation: + default: + reconciliationPaused: false + stopped: false + description: '[Cluster operations](https://docs.stackable.tech/home/nightly/concepts/operations/cluster_operations) properties, allow stopping the product instance as well as pausing reconciliation.' + properties: + reconciliationPaused: + default: false + description: Flag to stop cluster reconciliation by the operator. This means that all changes in the custom resource spec are ignored until this flag is set to false or removed. The operator will however still watch the deployed resources at the time and update the custom resource status field. If applied at the same time with `stopped`, `reconciliationPaused` will take precedence over `stopped` and stop the reconciliation immediately. + type: boolean + stopped: + default: false + description: Flag to stop the cluster. This means all deployed resources (e.g. Services, StatefulSets, ConfigMaps) are kept but all deployed Pods (e.g. replicas from a StatefulSet) are scaled to 0 and therefore stopped and removed. If applied at the same time with `reconciliationPaused`, the latter will pause reconciliation and `stopped` will take no effect until `reconciliationPaused` is set to false or removed. + type: boolean + type: object + image: + anyOf: + - required: + - custom + - productVersion + - required: + - productVersion + description: |- + Specify which image to use, the easiest way is to only configure the `productVersion`. You can also configure a custom image registry to pull from, as well as completely custom images. + + Consult the [Product image selection documentation](https://docs.stackable.tech/home/nightly/concepts/product_image_selection) for details. + properties: + custom: + description: Overwrite the docker image. Specify the full docker image name, e.g. `oci.stackable.tech/sdp/superset:1.4.1-stackable2.1.0` + type: string + productVersion: + description: Version of the product, e.g. `1.4.1`. + type: string + pullPolicy: + default: Always + description: '[Pull policy](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy) used when pulling the image.' + enum: + - IfNotPresent + - Always + - Never + type: string + pullSecrets: + description: '[Image pull secrets](https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod) to pull images from a private registry.' + items: + description: LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. + properties: + name: + description: 'Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + type: string + required: + - name + type: object + nullable: true + type: array + repo: + description: Name of the docker repo, e.g. `oci.stackable.tech/sdp` + nullable: true + type: string + stackableVersion: + description: Stackable version of the product, e.g. `23.4`, `23.4.1` or `0.0.0-dev`. If not specified, the operator will use its own version, e.g. `23.4.1`. When using a nightly operator or a pr version, it will use the nightly `0.0.0-dev` image. + nullable: true + type: string + type: object + servers: + description: This struct represents a role - e.g. HDFS datanodes or Trino workers. It has a key-value-map containing all the roleGroups that are part of this role. Additionally, there is a `config`, which is configurable at the role *and* roleGroup level. Everything at roleGroup level is merged on top of what is configured on role level. There is also a second form of config, which can only be configured at role level, the `roleConfig`. You can learn more about this in the [Roles and role group concept documentation](https://docs.stackable.tech/home/nightly/concepts/roles-and-role-groups). + nullable: true + properties: + cliOverrides: + additionalProperties: + type: string + default: {} + type: object + config: + default: {} + properties: + affinity: + default: + nodeAffinity: null + nodeSelector: null + podAffinity: null + podAntiAffinity: null + description: These configuration settings control [Pod placement](https://docs.stackable.tech/home/nightly/concepts/operations/pod_placement). + properties: + nodeAffinity: + description: Same as the `spec.affinity.nodeAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + nodeSelector: + additionalProperties: + type: string + description: Simple key-value pairs forming a nodeSelector, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) + nullable: true + type: object + podAffinity: + description: Same as the `spec.affinity.podAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + podAntiAffinity: + description: Same as the `spec.affinity.podAntiAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + gracefulShutdownTimeout: + description: Time period Pods have to gracefully shut down, e.g. `30m`, `1h` or `2d`. Consult the operator documentation for details. + nullable: true + type: string + initLimit: + format: uint32 + minimum: 0.0 + nullable: true + type: integer + logging: + default: + containers: {} + enableVectorAgent: null + description: Logging configuration, learn more in the [logging concept documentation](https://docs.stackable.tech/home/nightly/concepts/logging). + properties: + containers: + additionalProperties: + anyOf: + - required: + - custom + - {} + description: Log configuration of the container + properties: + console: + description: Configuration for the console appender + nullable: true + properties: + level: + description: The log level threshold. Log events with a lower log level are discarded. + enum: + - TRACE + - DEBUG + - INFO + - WARN + - ERROR + - FATAL + - NONE + nullable: true + type: string + type: object + custom: + description: Custom log configuration provided in a ConfigMap + properties: + configMap: + description: ConfigMap containing the log configuration files + nullable: true + type: string + type: object + file: + description: Configuration for the file appender + nullable: true + properties: + level: + description: The log level threshold. Log events with a lower log level are discarded. + enum: + - TRACE + - DEBUG + - INFO + - WARN + - ERROR + - FATAL + - NONE + nullable: true + type: string + type: object + loggers: + additionalProperties: + description: Configuration of a logger + properties: + level: + description: The log level threshold. Log events with a lower log level are discarded. + enum: + - TRACE + - DEBUG + - INFO + - WARN + - ERROR + - FATAL + - NONE + nullable: true + type: string + type: object + default: {} + description: Configuration per logger + type: object + type: object + description: Log configuration per container. + type: object + enableVectorAgent: + description: Wether or not to deploy a container with the Vector log agent. + nullable: true + type: boolean + type: object + myidOffset: + format: uint16 + minimum: 0.0 + nullable: true + type: integer + requestedSecretLifetime: + description: Request secret (currently only autoTls certificates) lifetime from the secret operator, e.g. `7d`, or `30d`. This can be shortened by the `maxCertificateLifetime` setting on the SecretClass issuing the TLS certificate. + nullable: true + type: string + resources: + default: + cpu: + max: null + min: null + memory: + limit: null + runtimeLimits: {} + storage: + data: + capacity: null + description: Resource usage is configured here, this includes CPU usage, memory usage and disk storage usage, if this role needs any. + properties: + cpu: + default: + max: null + min: null + properties: + max: + description: The maximum amount of CPU cores that can be requested by Pods. Equivalent to the `limit` for Pod resource configuration. Cores are specified either as a decimal point number or as milli units. For example:`1.5` will be 1.5 cores, also written as `1500m`. + nullable: true + type: string + min: + description: The minimal amount of CPU cores that Pods need to run. Equivalent to the `request` for Pod resource configuration. Cores are specified either as a decimal point number or as milli units. For example:`1.5` will be 1.5 cores, also written as `1500m`. + nullable: true + type: string + type: object + memory: + properties: + limit: + description: 'The maximum amount of memory that should be available to the Pod. Specified as a byte [Quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/), which means these suffixes are supported: E, P, T, G, M, k. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki. For example, the following represent roughly the same value: `128974848, 129e6, 129M, 128974848000m, 123Mi`' + nullable: true + type: string + runtimeLimits: + description: Additional options that can be specified. + type: object + type: object + storage: + properties: + data: + default: + capacity: null + properties: + capacity: + description: "Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.\n\nThe serialization format is:\n\n``` ::= \n\n\t(Note that may be empty, from the \"\" case in .)\n\n ::= 0 | 1 | ... | 9 ::= | ::= | . | . | . ::= \"+\" | \"-\" ::= | ::= | | ::= Ki | Mi | Gi | Ti | Pi | Ei\n\n\t(International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)\n\n ::= m | \"\" | k | M | G | T | P | E\n\n\t(Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)\n\n ::= \"e\" | \"E\" ```\n\nNo matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.\n\nWhen a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.\n\nBefore serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:\n\n- No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible.\n\nThe sign will be omitted unless the number is negative.\n\nExamples:\n\n- 1.5 will be serialized as \"1500m\" - 1.5Gi will be serialized as \"1536Mi\"\n\nNote that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.\n\nNon-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)\n\nThis format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation." + nullable: true + type: string + selectors: + description: A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + properties: + key: + description: key is the label key that the selector applies to. + type: string + operator: + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + storageClass: + nullable: true + type: string + type: object + type: object + type: object + syncLimit: + format: uint32 + minimum: 0.0 + nullable: true + type: integer + tickTime: + format: uint32 + minimum: 0.0 + nullable: true + type: integer + type: object + configOverrides: + additionalProperties: + additionalProperties: + type: string + type: object + default: {} + description: The `configOverrides` can be used to configure properties in product config files that are not exposed in the CRD. Read the [config overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#config-overrides) and consult the operator specific usage guide documentation for details on the available config files and settings for the specific product. + type: object + envOverrides: + additionalProperties: + type: string + default: {} + description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' + type: object + jvmArgumentOverrides: + default: + add: [] + remove: [] + removeRegex: [] + description: Allows overriding JVM arguments. Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) for details on the usage. + properties: + add: + default: [] + description: JVM arguments to be added + items: + type: string + type: array + remove: + default: [] + description: JVM arguments to be removed by exact match + items: + type: string + type: array + removeRegex: + default: [] + description: JVM arguments matching any of this regexes will be removed + items: + type: string + type: array + type: object + podOverrides: + default: {} + description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) for more information. + type: object + x-kubernetes-preserve-unknown-fields: true + roleConfig: + default: + podDisruptionBudget: + enabled: true + maxUnavailable: null + description: This is a product-agnostic RoleConfig, which is sufficient for most of the products. + properties: + podDisruptionBudget: + default: + enabled: true + maxUnavailable: null + description: |- + This struct is used to configure: + + 1. If PodDisruptionBudgets are created by the operator 2. The allowed number of Pods to be unavailable (`maxUnavailable`) + + Learn more in the [allowed Pod disruptions documentation](https://docs.stackable.tech/home/nightly/concepts/operations/pod_disruptions). + properties: + enabled: + default: true + description: Whether a PodDisruptionBudget should be written out for this role. Disabling this enables you to specify your own - custom - one. Defaults to true. + type: boolean + maxUnavailable: + description: The number of Pods that are allowed to be down because of voluntary disruptions. If you don't explicitly set this, the operator will use a sane default based upon knowledge about the individual product. + format: uint16 + minimum: 0.0 + nullable: true + type: integer + type: object + type: object + roleGroups: + additionalProperties: + properties: + cliOverrides: + additionalProperties: + type: string + default: {} + type: object + config: + default: {} + properties: + affinity: + default: + nodeAffinity: null + nodeSelector: null + podAffinity: null + podAntiAffinity: null + description: These configuration settings control [Pod placement](https://docs.stackable.tech/home/nightly/concepts/operations/pod_placement). + properties: + nodeAffinity: + description: Same as the `spec.affinity.nodeAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + nodeSelector: + additionalProperties: + type: string + description: Simple key-value pairs forming a nodeSelector, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) + nullable: true + type: object + podAffinity: + description: Same as the `spec.affinity.podAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + podAntiAffinity: + description: Same as the `spec.affinity.podAntiAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + gracefulShutdownTimeout: + description: Time period Pods have to gracefully shut down, e.g. `30m`, `1h` or `2d`. Consult the operator documentation for details. + nullable: true + type: string + initLimit: + format: uint32 + minimum: 0.0 + nullable: true + type: integer + logging: + default: + containers: {} + enableVectorAgent: null + description: Logging configuration, learn more in the [logging concept documentation](https://docs.stackable.tech/home/nightly/concepts/logging). + properties: + containers: + additionalProperties: + anyOf: + - required: + - custom + - {} + description: Log configuration of the container + properties: + console: + description: Configuration for the console appender + nullable: true + properties: + level: + description: The log level threshold. Log events with a lower log level are discarded. + enum: + - TRACE + - DEBUG + - INFO + - WARN + - ERROR + - FATAL + - NONE + nullable: true + type: string + type: object + custom: + description: Custom log configuration provided in a ConfigMap + properties: + configMap: + description: ConfigMap containing the log configuration files + nullable: true + type: string + type: object + file: + description: Configuration for the file appender + nullable: true + properties: + level: + description: The log level threshold. Log events with a lower log level are discarded. + enum: + - TRACE + - DEBUG + - INFO + - WARN + - ERROR + - FATAL + - NONE + nullable: true + type: string + type: object + loggers: + additionalProperties: + description: Configuration of a logger + properties: + level: + description: The log level threshold. Log events with a lower log level are discarded. + enum: + - TRACE + - DEBUG + - INFO + - WARN + - ERROR + - FATAL + - NONE + nullable: true + type: string + type: object + default: {} + description: Configuration per logger + type: object + type: object + description: Log configuration per container. + type: object + enableVectorAgent: + description: Wether or not to deploy a container with the Vector log agent. + nullable: true + type: boolean + type: object + myidOffset: + format: uint16 + minimum: 0.0 + nullable: true + type: integer + requestedSecretLifetime: + description: Request secret (currently only autoTls certificates) lifetime from the secret operator, e.g. `7d`, or `30d`. This can be shortened by the `maxCertificateLifetime` setting on the SecretClass issuing the TLS certificate. + nullable: true + type: string + resources: + default: + cpu: + max: null + min: null + memory: + limit: null + runtimeLimits: {} + storage: + data: + capacity: null + description: Resource usage is configured here, this includes CPU usage, memory usage and disk storage usage, if this role needs any. + properties: + cpu: + default: + max: null + min: null + properties: + max: + description: The maximum amount of CPU cores that can be requested by Pods. Equivalent to the `limit` for Pod resource configuration. Cores are specified either as a decimal point number or as milli units. For example:`1.5` will be 1.5 cores, also written as `1500m`. + nullable: true + type: string + min: + description: The minimal amount of CPU cores that Pods need to run. Equivalent to the `request` for Pod resource configuration. Cores are specified either as a decimal point number or as milli units. For example:`1.5` will be 1.5 cores, also written as `1500m`. + nullable: true + type: string + type: object + memory: + properties: + limit: + description: 'The maximum amount of memory that should be available to the Pod. Specified as a byte [Quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/), which means these suffixes are supported: E, P, T, G, M, k. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki. For example, the following represent roughly the same value: `128974848, 129e6, 129M, 128974848000m, 123Mi`' + nullable: true + type: string + runtimeLimits: + description: Additional options that can be specified. + type: object + type: object + storage: + properties: + data: + default: + capacity: null + properties: + capacity: + description: "Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.\n\nThe serialization format is:\n\n``` ::= \n\n\t(Note that may be empty, from the \"\" case in .)\n\n ::= 0 | 1 | ... | 9 ::= | ::= | . | . | . ::= \"+\" | \"-\" ::= | ::= | | ::= Ki | Mi | Gi | Ti | Pi | Ei\n\n\t(International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)\n\n ::= m | \"\" | k | M | G | T | P | E\n\n\t(Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)\n\n ::= \"e\" | \"E\" ```\n\nNo matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.\n\nWhen a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.\n\nBefore serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:\n\n- No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible.\n\nThe sign will be omitted unless the number is negative.\n\nExamples:\n\n- 1.5 will be serialized as \"1500m\" - 1.5Gi will be serialized as \"1536Mi\"\n\nNote that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.\n\nNon-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)\n\nThis format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation." + nullable: true + type: string + selectors: + description: A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects. + nullable: true + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + properties: + key: + description: key is the label key that the selector applies to. + type: string + operator: + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + storageClass: + nullable: true + type: string + type: object + type: object + type: object + syncLimit: + format: uint32 + minimum: 0.0 + nullable: true + type: integer + tickTime: + format: uint32 + minimum: 0.0 + nullable: true + type: integer + type: object + configOverrides: + additionalProperties: + additionalProperties: + type: string + type: object + default: {} + description: The `configOverrides` can be used to configure properties in product config files that are not exposed in the CRD. Read the [config overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#config-overrides) and consult the operator specific usage guide documentation for details on the available config files and settings for the specific product. + type: object + envOverrides: + additionalProperties: + type: string + default: {} + description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' + type: object + jvmArgumentOverrides: + default: + add: [] + remove: [] + removeRegex: [] + description: Allows overriding JVM arguments. Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) for details on the usage. + properties: + add: + default: [] + description: JVM arguments to be added + items: + type: string + type: array + remove: + default: [] + description: JVM arguments to be removed by exact match + items: + type: string + type: array + removeRegex: + default: [] + description: JVM arguments matching any of this regexes will be removed + items: + type: string + type: array + type: object + podOverrides: + default: {} + description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) for more information. + type: object + x-kubernetes-preserve-unknown-fields: true + replicas: + format: uint16 + minimum: 0.0 + nullable: true + type: integer + type: object + type: object + required: + - roleGroups + type: object + required: + - image + type: object + status: + nullable: true + properties: + conditions: + default: [] + items: + properties: + lastTransitionTime: + description: Last time the condition transitioned from one status to another. + format: date-time + nullable: true + type: string + message: + description: A human readable message indicating details about the transition. + nullable: true + type: string + reason: + description: The reason for the condition's last transition. + nullable: true + type: string + status: + description: Status of the condition, one of True, False, Unknown. + enum: + - 'True' + - 'False' + - Unknown + type: string + type: + description: Type of deployment condition. + enum: + - Available + - Degraded + - Progressing + - ReconciliationPaused + - Stopped + type: string + required: + - status + - type + type: object + type: array + discoveryHash: + description: An opaque value that changes every time a discovery detail does + nullable: true + type: string + type: object + required: + - spec + title: ZookeeperCluster + type: object + served: true + storage: true + subresources: + status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: zookeeperznodes.zookeeper.stackable.tech +spec: + group: zookeeper.stackable.tech + names: + categories: [] + kind: ZookeeperZnode + plural: zookeeperznodes + shortNames: + - zno + - znode + singular: zookeeperznode + scope: Namespaced + versions: + - additionalPrinterColumns: [] + name: v1alpha1 + schema: + openAPIV3Schema: + description: Auto-generated derived type for ZookeeperZnodeSpec via `CustomResource` + properties: + spec: + description: |- + A claim for a single ZooKeeper ZNode tree (filesystem node). + + A ConfigMap will automatically be created with the same name, containing the connection string in the field `ZOOKEEPER`. Each ZookeeperZnode gets an isolated ZNode chroot, which the `ZOOKEEPER` automatically contains. All data inside of this chroot will be deleted when the corresponding `ZookeeperZnode` is. + + `ZookeeperZnode` is *not* designed to manage the contents of this ZNode. Instead, it should be used to create a chroot for an installation of an application to work inside. Initializing the contents is the responsibility of the application. + + You can learn more about this in the [Isolating clients with ZNodes usage guide](https://docs.stackable.tech/home/nightly/zookeeper/usage_guide/isolating_clients_with_znodes). + properties: + clusterRef: + default: + name: null + namespace: null + description: The reference to the ZookeeperCluster that this ZNode belongs to. + properties: + name: + description: The name of the cluster + nullable: true + type: string + namespace: + description: |- + The namespace of the cluster + + This field is optional, and will default to the namespace of the referring object. + nullable: true + type: string + type: object + type: object + status: + nullable: true + properties: + znodePath: + description: |- + The absolute ZNode allocated to the ZookeeperZnode. This will typically be set by the operator. + + This can be set explicitly by an administrator, such as when restoring from a backup. + nullable: true + type: string + type: object + required: + - spec + title: ZookeeperZnode + type: object + served: true + storage: true + subresources: + status: {} diff --git a/default.nix b/default.nix index 071adcb2..0cb745bf 100644 --- a/default.nix +++ b/default.nix @@ -127,11 +127,6 @@ rec { pkgs = lib.warn "pkgs is not cross-compilation-aware, explicitly use either pkgsLocal or pkgsTarget" pkgsLocal; build = cargo.allWorkspaceMembers; entrypoint = build+"/bin/stackable-${meta.operator.name}"; - # Run crds in the target environment, to avoid compiling everything twice - crds = pkgsTarget.runCommand "${meta.operator.name}-crds.yaml" {} - '' - ${entrypoint} crd > $out - ''; # We're building the docker image *for* Linux, but we need to # build it in the local environment so that the generated load-image @@ -178,10 +173,6 @@ rec { name = "image-tag"; path = pkgsLocal.writeText "${dockerImage.name}-tag" dockerImage.imageTag; } - { - name = "crds.yaml"; - path = crds; - } ]; # need to use vendored crate2nix because of https://github.com/kolloch/crate2nix/issues/264 diff --git a/deploy/helm/zookeeper-operator/crds/crds.yaml b/deploy/helm/zookeeper-operator/crds/crds.yaml deleted file mode 100644 index 1ecc3a6a..00000000 --- a/deploy/helm/zookeeper-operator/crds/crds.yaml +++ /dev/null @@ -1,902 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: zookeeperclusters.zookeeper.stackable.tech - annotations: - helm.sh/resource-policy: keep -spec: - group: zookeeper.stackable.tech - names: - categories: [] - kind: ZookeeperCluster - plural: zookeeperclusters - shortNames: - - zk - singular: zookeepercluster - scope: Namespaced - versions: - - additionalPrinterColumns: [] - name: v1alpha1 - schema: - openAPIV3Schema: - description: Auto-generated derived type for ZookeeperClusterSpec via `CustomResource` - properties: - spec: - description: A ZooKeeper cluster stacklet. This resource is managed by the Stackable operator for Apache ZooKeeper. Find more information on how to use it and the resources that the operator generates in the [operator documentation](https://docs.stackable.tech/home/nightly/zookeeper/). - properties: - clusterConfig: - default: - authentication: [] - listenerClass: cluster-internal - tls: - quorumSecretClass: tls - serverSecretClass: tls - description: Settings that affect all roles and role groups. The settings in the `clusterConfig` are cluster wide settings that do not need to be configurable at role or role group level. - properties: - authentication: - default: [] - description: Authentication settings for ZooKeeper like mTLS authentication. Read more in the [authentication usage guide](https://docs.stackable.tech/home/nightly/zookeeper/usage_guide/authentication). - items: - properties: - authenticationClass: - description: |- - The [AuthenticationClass](https://docs.stackable.tech/home/stable/concepts/authentication) to use. - - ## mTLS - - Only affects client connections. This setting controls: - If clients need to authenticate themselves against the server via TLS - Which ca.crt to use when validating the provided client certs - - This will override the server TLS settings (if set) in `spec.clusterConfig.tls.serverSecretClass`. - type: string - required: - - authenticationClass - type: object - type: array - listenerClass: - default: cluster-internal - description: |- - This field controls which type of Service the Operator creates for this ZookeeperCluster: - - * cluster-internal: Use a ClusterIP service - - * external-unstable: Use a NodePort service - - This is a temporary solution with the goal to keep yaml manifests forward compatible. In the future, this setting will control which [ListenerClass](https://docs.stackable.tech/home/nightly/listener-operator/listenerclass.html) will be used to expose the service, and ListenerClass names will stay the same, allowing for a non-breaking change. - enum: - - cluster-internal - - external-unstable - type: string - tls: - default: - quorumSecretClass: tls - serverSecretClass: tls - description: TLS encryption settings for ZooKeeper (server, quorum). Read more in the [encryption usage guide](https://docs.stackable.tech/home/nightly/zookeeper/usage_guide/encryption). - nullable: true - properties: - quorumSecretClass: - default: tls - description: |- - The [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) to use for internal quorum communication. Use mutual verification between Zookeeper Nodes (mandatory). This setting controls: - Which cert the servers should use to authenticate themselves against other servers - Which ca.crt to use when validating the other server - - Defaults to `tls` - type: string - serverSecretClass: - default: tls - description: |- - The [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) to use for client connections. This setting controls: - If TLS encryption is used at all - Which cert the servers should use to authenticate themselves against the client - - Defaults to `tls`. - nullable: true - type: string - type: object - vectorAggregatorConfigMapName: - description: Name of the Vector aggregator [discovery ConfigMap](https://docs.stackable.tech/home/nightly/concepts/service_discovery). It must contain the key `ADDRESS` with the address of the Vector aggregator. Follow the [logging tutorial](https://docs.stackable.tech/home/nightly/tutorials/logging-vector-aggregator) to learn how to configure log aggregation with Vector. - nullable: true - type: string - type: object - clusterOperation: - default: - reconciliationPaused: false - stopped: false - description: '[Cluster operations](https://docs.stackable.tech/home/nightly/concepts/operations/cluster_operations) properties, allow stopping the product instance as well as pausing reconciliation.' - properties: - reconciliationPaused: - default: false - description: Flag to stop cluster reconciliation by the operator. This means that all changes in the custom resource spec are ignored until this flag is set to false or removed. The operator will however still watch the deployed resources at the time and update the custom resource status field. If applied at the same time with `stopped`, `reconciliationPaused` will take precedence over `stopped` and stop the reconciliation immediately. - type: boolean - stopped: - default: false - description: Flag to stop the cluster. This means all deployed resources (e.g. Services, StatefulSets, ConfigMaps) are kept but all deployed Pods (e.g. replicas from a StatefulSet) are scaled to 0 and therefore stopped and removed. If applied at the same time with `reconciliationPaused`, the latter will pause reconciliation and `stopped` will take no effect until `reconciliationPaused` is set to false or removed. - type: boolean - type: object - image: - anyOf: - - required: - - custom - - productVersion - - required: - - productVersion - description: |- - Specify which image to use, the easiest way is to only configure the `productVersion`. You can also configure a custom image registry to pull from, as well as completely custom images. - - Consult the [Product image selection documentation](https://docs.stackable.tech/home/nightly/concepts/product_image_selection) for details. - properties: - custom: - description: Overwrite the docker image. Specify the full docker image name, e.g. `oci.stackable.tech/sdp/superset:1.4.1-stackable2.1.0` - type: string - productVersion: - description: Version of the product, e.g. `1.4.1`. - type: string - pullPolicy: - default: Always - description: '[Pull policy](https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy) used when pulling the image.' - enum: - - IfNotPresent - - Always - - Never - type: string - pullSecrets: - description: '[Image pull secrets](https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod) to pull images from a private registry.' - items: - description: LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. - properties: - name: - description: 'Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - required: - - name - type: object - nullable: true - type: array - repo: - description: Name of the docker repo, e.g. `oci.stackable.tech/sdp` - nullable: true - type: string - stackableVersion: - description: Stackable version of the product, e.g. `23.4`, `23.4.1` or `0.0.0-dev`. If not specified, the operator will use its own version, e.g. `23.4.1`. When using a nightly operator or a pr version, it will use the nightly `0.0.0-dev` image. - nullable: true - type: string - type: object - servers: - description: This struct represents a role - e.g. HDFS datanodes or Trino workers. It has a key-value-map containing all the roleGroups that are part of this role. Additionally, there is a `config`, which is configurable at the role *and* roleGroup level. Everything at roleGroup level is merged on top of what is configured on role level. There is also a second form of config, which can only be configured at role level, the `roleConfig`. You can learn more about this in the [Roles and role group concept documentation](https://docs.stackable.tech/home/nightly/concepts/roles-and-role-groups). - nullable: true - properties: - cliOverrides: - additionalProperties: - type: string - default: {} - type: object - config: - default: {} - properties: - affinity: - default: - nodeAffinity: null - nodeSelector: null - podAffinity: null - podAntiAffinity: null - description: These configuration settings control [Pod placement](https://docs.stackable.tech/home/nightly/concepts/operations/pod_placement). - properties: - nodeAffinity: - description: Same as the `spec.affinity.nodeAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) - nullable: true - type: object - x-kubernetes-preserve-unknown-fields: true - nodeSelector: - additionalProperties: - type: string - description: Simple key-value pairs forming a nodeSelector, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) - nullable: true - type: object - podAffinity: - description: Same as the `spec.affinity.podAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) - nullable: true - type: object - x-kubernetes-preserve-unknown-fields: true - podAntiAffinity: - description: Same as the `spec.affinity.podAntiAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) - nullable: true - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - gracefulShutdownTimeout: - description: Time period Pods have to gracefully shut down, e.g. `30m`, `1h` or `2d`. Consult the operator documentation for details. - nullable: true - type: string - initLimit: - format: uint32 - minimum: 0.0 - nullable: true - type: integer - logging: - default: - containers: {} - enableVectorAgent: null - description: Logging configuration, learn more in the [logging concept documentation](https://docs.stackable.tech/home/nightly/concepts/logging). - properties: - containers: - additionalProperties: - anyOf: - - required: - - custom - - {} - description: Log configuration of the container - properties: - console: - description: Configuration for the console appender - nullable: true - properties: - level: - description: The log level threshold. Log events with a lower log level are discarded. - enum: - - TRACE - - DEBUG - - INFO - - WARN - - ERROR - - FATAL - - NONE - nullable: true - type: string - type: object - custom: - description: Custom log configuration provided in a ConfigMap - properties: - configMap: - description: ConfigMap containing the log configuration files - nullable: true - type: string - type: object - file: - description: Configuration for the file appender - nullable: true - properties: - level: - description: The log level threshold. Log events with a lower log level are discarded. - enum: - - TRACE - - DEBUG - - INFO - - WARN - - ERROR - - FATAL - - NONE - nullable: true - type: string - type: object - loggers: - additionalProperties: - description: Configuration of a logger - properties: - level: - description: The log level threshold. Log events with a lower log level are discarded. - enum: - - TRACE - - DEBUG - - INFO - - WARN - - ERROR - - FATAL - - NONE - nullable: true - type: string - type: object - default: {} - description: Configuration per logger - type: object - type: object - description: Log configuration per container. - type: object - enableVectorAgent: - description: Wether or not to deploy a container with the Vector log agent. - nullable: true - type: boolean - type: object - myidOffset: - format: uint16 - minimum: 0.0 - nullable: true - type: integer - requestedSecretLifetime: - description: Request secret (currently only autoTls certificates) lifetime from the secret operator, e.g. `7d`, or `30d`. This can be shortened by the `maxCertificateLifetime` setting on the SecretClass issuing the TLS certificate. - nullable: true - type: string - resources: - default: - cpu: - max: null - min: null - memory: - limit: null - runtimeLimits: {} - storage: - data: - capacity: null - description: Resource usage is configured here, this includes CPU usage, memory usage and disk storage usage, if this role needs any. - properties: - cpu: - default: - max: null - min: null - properties: - max: - description: The maximum amount of CPU cores that can be requested by Pods. Equivalent to the `limit` for Pod resource configuration. Cores are specified either as a decimal point number or as milli units. For example:`1.5` will be 1.5 cores, also written as `1500m`. - nullable: true - type: string - min: - description: The minimal amount of CPU cores that Pods need to run. Equivalent to the `request` for Pod resource configuration. Cores are specified either as a decimal point number or as milli units. For example:`1.5` will be 1.5 cores, also written as `1500m`. - nullable: true - type: string - type: object - memory: - properties: - limit: - description: 'The maximum amount of memory that should be available to the Pod. Specified as a byte [Quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/), which means these suffixes are supported: E, P, T, G, M, k. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki. For example, the following represent roughly the same value: `128974848, 129e6, 129M, 128974848000m, 123Mi`' - nullable: true - type: string - runtimeLimits: - description: Additional options that can be specified. - type: object - type: object - storage: - properties: - data: - default: - capacity: null - properties: - capacity: - description: "Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.\n\nThe serialization format is:\n\n``` ::= \n\n\t(Note that may be empty, from the \"\" case in .)\n\n ::= 0 | 1 | ... | 9 ::= | ::= | . | . | . ::= \"+\" | \"-\" ::= | ::= | | ::= Ki | Mi | Gi | Ti | Pi | Ei\n\n\t(International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)\n\n ::= m | \"\" | k | M | G | T | P | E\n\n\t(Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)\n\n ::= \"e\" | \"E\" ```\n\nNo matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.\n\nWhen a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.\n\nBefore serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:\n\n- No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible.\n\nThe sign will be omitted unless the number is negative.\n\nExamples:\n\n- 1.5 will be serialized as \"1500m\" - 1.5Gi will be serialized as \"1536Mi\"\n\nNote that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.\n\nNon-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)\n\nThis format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation." - nullable: true - type: string - selectors: - description: A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects. - nullable: true - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies to. - type: string - operator: - description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. - type: object - type: object - storageClass: - nullable: true - type: string - type: object - type: object - type: object - syncLimit: - format: uint32 - minimum: 0.0 - nullable: true - type: integer - tickTime: - format: uint32 - minimum: 0.0 - nullable: true - type: integer - type: object - configOverrides: - additionalProperties: - additionalProperties: - type: string - type: object - default: {} - description: The `configOverrides` can be used to configure properties in product config files that are not exposed in the CRD. Read the [config overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#config-overrides) and consult the operator specific usage guide documentation for details on the available config files and settings for the specific product. - type: object - envOverrides: - additionalProperties: - type: string - default: {} - description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' - type: object - jvmArgumentOverrides: - default: - add: [] - remove: [] - removeRegex: [] - description: Allows overriding JVM arguments. Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) for details on the usage. - properties: - add: - default: [] - description: JVM arguments to be added - items: - type: string - type: array - remove: - default: [] - description: JVM arguments to be removed by exact match - items: - type: string - type: array - removeRegex: - default: [] - description: JVM arguments matching any of this regexes will be removed - items: - type: string - type: array - type: object - podOverrides: - default: {} - description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) for more information. - type: object - x-kubernetes-preserve-unknown-fields: true - roleConfig: - default: - podDisruptionBudget: - enabled: true - maxUnavailable: null - description: This is a product-agnostic RoleConfig, which is sufficient for most of the products. - properties: - podDisruptionBudget: - default: - enabled: true - maxUnavailable: null - description: |- - This struct is used to configure: - - 1. If PodDisruptionBudgets are created by the operator 2. The allowed number of Pods to be unavailable (`maxUnavailable`) - - Learn more in the [allowed Pod disruptions documentation](https://docs.stackable.tech/home/nightly/concepts/operations/pod_disruptions). - properties: - enabled: - default: true - description: Whether a PodDisruptionBudget should be written out for this role. Disabling this enables you to specify your own - custom - one. Defaults to true. - type: boolean - maxUnavailable: - description: The number of Pods that are allowed to be down because of voluntary disruptions. If you don't explicitly set this, the operator will use a sane default based upon knowledge about the individual product. - format: uint16 - minimum: 0.0 - nullable: true - type: integer - type: object - type: object - roleGroups: - additionalProperties: - properties: - cliOverrides: - additionalProperties: - type: string - default: {} - type: object - config: - default: {} - properties: - affinity: - default: - nodeAffinity: null - nodeSelector: null - podAffinity: null - podAntiAffinity: null - description: These configuration settings control [Pod placement](https://docs.stackable.tech/home/nightly/concepts/operations/pod_placement). - properties: - nodeAffinity: - description: Same as the `spec.affinity.nodeAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) - nullable: true - type: object - x-kubernetes-preserve-unknown-fields: true - nodeSelector: - additionalProperties: - type: string - description: Simple key-value pairs forming a nodeSelector, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) - nullable: true - type: object - podAffinity: - description: Same as the `spec.affinity.podAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) - nullable: true - type: object - x-kubernetes-preserve-unknown-fields: true - podAntiAffinity: - description: Same as the `spec.affinity.podAntiAffinity` field on the Pod, see the [Kubernetes docs](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node) - nullable: true - type: object - x-kubernetes-preserve-unknown-fields: true - type: object - gracefulShutdownTimeout: - description: Time period Pods have to gracefully shut down, e.g. `30m`, `1h` or `2d`. Consult the operator documentation for details. - nullable: true - type: string - initLimit: - format: uint32 - minimum: 0.0 - nullable: true - type: integer - logging: - default: - containers: {} - enableVectorAgent: null - description: Logging configuration, learn more in the [logging concept documentation](https://docs.stackable.tech/home/nightly/concepts/logging). - properties: - containers: - additionalProperties: - anyOf: - - required: - - custom - - {} - description: Log configuration of the container - properties: - console: - description: Configuration for the console appender - nullable: true - properties: - level: - description: The log level threshold. Log events with a lower log level are discarded. - enum: - - TRACE - - DEBUG - - INFO - - WARN - - ERROR - - FATAL - - NONE - nullable: true - type: string - type: object - custom: - description: Custom log configuration provided in a ConfigMap - properties: - configMap: - description: ConfigMap containing the log configuration files - nullable: true - type: string - type: object - file: - description: Configuration for the file appender - nullable: true - properties: - level: - description: The log level threshold. Log events with a lower log level are discarded. - enum: - - TRACE - - DEBUG - - INFO - - WARN - - ERROR - - FATAL - - NONE - nullable: true - type: string - type: object - loggers: - additionalProperties: - description: Configuration of a logger - properties: - level: - description: The log level threshold. Log events with a lower log level are discarded. - enum: - - TRACE - - DEBUG - - INFO - - WARN - - ERROR - - FATAL - - NONE - nullable: true - type: string - type: object - default: {} - description: Configuration per logger - type: object - type: object - description: Log configuration per container. - type: object - enableVectorAgent: - description: Wether or not to deploy a container with the Vector log agent. - nullable: true - type: boolean - type: object - myidOffset: - format: uint16 - minimum: 0.0 - nullable: true - type: integer - requestedSecretLifetime: - description: Request secret (currently only autoTls certificates) lifetime from the secret operator, e.g. `7d`, or `30d`. This can be shortened by the `maxCertificateLifetime` setting on the SecretClass issuing the TLS certificate. - nullable: true - type: string - resources: - default: - cpu: - max: null - min: null - memory: - limit: null - runtimeLimits: {} - storage: - data: - capacity: null - description: Resource usage is configured here, this includes CPU usage, memory usage and disk storage usage, if this role needs any. - properties: - cpu: - default: - max: null - min: null - properties: - max: - description: The maximum amount of CPU cores that can be requested by Pods. Equivalent to the `limit` for Pod resource configuration. Cores are specified either as a decimal point number or as milli units. For example:`1.5` will be 1.5 cores, also written as `1500m`. - nullable: true - type: string - min: - description: The minimal amount of CPU cores that Pods need to run. Equivalent to the `request` for Pod resource configuration. Cores are specified either as a decimal point number or as milli units. For example:`1.5` will be 1.5 cores, also written as `1500m`. - nullable: true - type: string - type: object - memory: - properties: - limit: - description: 'The maximum amount of memory that should be available to the Pod. Specified as a byte [Quantity](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/quantity/), which means these suffixes are supported: E, P, T, G, M, k. You can also use the power-of-two equivalents: Ei, Pi, Ti, Gi, Mi, Ki. For example, the following represent roughly the same value: `128974848, 129e6, 129M, 128974848000m, 123Mi`' - nullable: true - type: string - runtimeLimits: - description: Additional options that can be specified. - type: object - type: object - storage: - properties: - data: - default: - capacity: null - properties: - capacity: - description: "Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.\n\nThe serialization format is:\n\n``` ::= \n\n\t(Note that may be empty, from the \"\" case in .)\n\n ::= 0 | 1 | ... | 9 ::= | ::= | . | . | . ::= \"+\" | \"-\" ::= | ::= | | ::= Ki | Mi | Gi | Ti | Pi | Ei\n\n\t(International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)\n\n ::= m | \"\" | k | M | G | T | P | E\n\n\t(Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)\n\n ::= \"e\" | \"E\" ```\n\nNo matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.\n\nWhen a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.\n\nBefore serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:\n\n- No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible.\n\nThe sign will be omitted unless the number is negative.\n\nExamples:\n\n- 1.5 will be serialized as \"1500m\" - 1.5Gi will be serialized as \"1536Mi\"\n\nNote that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.\n\nNon-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)\n\nThis format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation." - nullable: true - type: string - selectors: - description: A label selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty label selector matches all objects. A null label selector matches no objects. - nullable: true - properties: - matchExpressions: - description: matchExpressions is a list of label selector requirements. The requirements are ANDed. - items: - description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. - properties: - key: - description: key is the label key that the selector applies to. - type: string - operator: - description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. - type: string - values: - description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. - items: - type: string - type: array - required: - - key - - operator - type: object - type: array - matchLabels: - additionalProperties: - type: string - description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. - type: object - type: object - storageClass: - nullable: true - type: string - type: object - type: object - type: object - syncLimit: - format: uint32 - minimum: 0.0 - nullable: true - type: integer - tickTime: - format: uint32 - minimum: 0.0 - nullable: true - type: integer - type: object - configOverrides: - additionalProperties: - additionalProperties: - type: string - type: object - default: {} - description: The `configOverrides` can be used to configure properties in product config files that are not exposed in the CRD. Read the [config overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#config-overrides) and consult the operator specific usage guide documentation for details on the available config files and settings for the specific product. - type: object - envOverrides: - additionalProperties: - type: string - default: {} - description: '`envOverrides` configure environment variables to be set in the Pods. It is a map from strings to strings - environment variables and the value to set. Read the [environment variable overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#env-overrides) for more information and consult the operator specific usage guide to find out about the product specific environment variables that are available.' - type: object - jvmArgumentOverrides: - default: - add: [] - remove: [] - removeRegex: [] - description: Allows overriding JVM arguments. Please read on the [JVM argument overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#jvm-argument-overrides) for details on the usage. - properties: - add: - default: [] - description: JVM arguments to be added - items: - type: string - type: array - remove: - default: [] - description: JVM arguments to be removed by exact match - items: - type: string - type: array - removeRegex: - default: [] - description: JVM arguments matching any of this regexes will be removed - items: - type: string - type: array - type: object - podOverrides: - default: {} - description: In the `podOverrides` property you can define a [PodTemplateSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#podtemplatespec-v1-core) to override any property that can be set on a Kubernetes Pod. Read the [Pod overrides documentation](https://docs.stackable.tech/home/nightly/concepts/overrides#pod-overrides) for more information. - type: object - x-kubernetes-preserve-unknown-fields: true - replicas: - format: uint16 - minimum: 0.0 - nullable: true - type: integer - type: object - type: object - required: - - roleGroups - type: object - required: - - image - type: object - status: - nullable: true - properties: - conditions: - default: [] - items: - properties: - lastTransitionTime: - description: Last time the condition transitioned from one status to another. - format: date-time - nullable: true - type: string - lastUpdateTime: - description: The last time this condition was updated. - format: date-time - nullable: true - type: string - message: - description: A human readable message indicating details about the transition. - nullable: true - type: string - reason: - description: The reason for the condition's last transition. - nullable: true - type: string - status: - description: Status of the condition, one of True, False, Unknown. - enum: - - 'True' - - 'False' - - Unknown - type: string - type: - description: Type of deployment condition. - enum: - - Available - - Degraded - - Progressing - - ReconciliationPaused - - Stopped - type: string - required: - - status - - type - type: object - type: array - discoveryHash: - description: An opaque value that changes every time a discovery detail does - nullable: true - type: string - type: object - required: - - spec - title: ZookeeperCluster - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - name: zookeeperznodes.zookeeper.stackable.tech - annotations: - helm.sh/resource-policy: keep -spec: - group: zookeeper.stackable.tech - names: - categories: [] - kind: ZookeeperZnode - plural: zookeeperznodes - shortNames: - - zno - - znode - singular: zookeeperznode - scope: Namespaced - versions: - - additionalPrinterColumns: [] - name: v1alpha1 - schema: - openAPIV3Schema: - description: Auto-generated derived type for ZookeeperZnodeSpec via `CustomResource` - properties: - spec: - description: |- - A claim for a single ZooKeeper ZNode tree (filesystem node). - - A ConfigMap will automatically be created with the same name, containing the connection string in the field `ZOOKEEPER`. Each ZookeeperZnode gets an isolated ZNode chroot, which the `ZOOKEEPER` automatically contains. All data inside of this chroot will be deleted when the corresponding `ZookeeperZnode` is. - - `ZookeeperZnode` is *not* designed to manage the contents of this ZNode. Instead, it should be used to create a chroot for an installation of an application to work inside. Initializing the contents is the responsibility of the application. - - You can learn more about this in the [Isolating clients with ZNodes usage guide](https://docs.stackable.tech/home/nightly/zookeeper/usage_guide/isolating_clients_with_znodes). - properties: - clusterRef: - default: - name: null - namespace: null - description: The reference to the ZookeeperCluster that this ZNode belongs to. - properties: - name: - description: The name of the cluster - nullable: true - type: string - namespace: - description: |- - The namespace of the cluster - - This field is optional, and will default to the namespace of the referring object. - nullable: true - type: string - type: object - type: object - status: - nullable: true - properties: - znodePath: - description: |- - The absolute ZNode allocated to the ZookeeperZnode. This will typically be set by the operator. - - This can be set explicitly by an administrator, such as when restoring from a backup. - nullable: true - type: string - type: object - required: - - spec - title: ZookeeperZnode - type: object - served: true - storage: true - subresources: - status: {} From 0dd9cd022230650880c93153b9c97f9016926131 Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Fri, 27 Jun 2025 17:13:49 +0200 Subject: [PATCH 4/7] WIP --- Cargo.lock | 394 ++++ Cargo.nix | 1629 ++++++++++++++++- Cargo.toml | 2 + _test.yaml | 84 + crds.yaml | 149 ++ .../templates/deployment.yaml | 6 + .../zookeeper-operator/templates/roles.yaml | 5 + .../zookeeper-operator/templates/service.yaml | 15 + rust/operator-binary/Cargo.toml | 1 + rust/operator-binary/src/crd/mod.rs | 1 + rust/operator-binary/src/crd/person.rs | 82 + rust/operator-binary/src/main.rs | 45 +- 12 files changed, 2323 insertions(+), 90 deletions(-) create mode 100644 _test.yaml create mode 100644 deploy/helm/zookeeper-operator/templates/service.yaml create mode 100644 rust/operator-binary/src/crd/person.rs diff --git a/Cargo.lock b/Cargo.lock index 0d6a03dd..4baacadb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -253,12 +253,24 @@ dependencies = [ "windows-targets", ] +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + [[package]] name = "base64" version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64ct" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55248b47b0caf0546f7988906588779981c43bb1bc9d0c44087278f80cdb44ba" + [[package]] name = "bit-set" version = "0.5.3" @@ -402,6 +414,12 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + [[package]] name = "const_format" version = "0.2.34" @@ -490,6 +508,18 @@ version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + [[package]] name = "crypto-common" version = "0.1.6" @@ -546,6 +576,30 @@ dependencies = [ "syn 2.0.104", ] +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "const-oid", + "der_derive", + "flagset", + "pem-rfc7468", + "zeroize", +] + +[[package]] +name = "der_derive" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] + [[package]] name = "deranged" version = "0.4.0" @@ -582,7 +636,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", + "const-oid", "crypto-common", + "subtle", ] [[package]] @@ -622,6 +678,20 @@ version = "1.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + [[package]] name = "educe" version = "0.6.0" @@ -640,6 +710,26 @@ version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest", + "ff", + "generic-array", + "group", + "pem-rfc7468", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "subtle", + "zeroize", +] + [[package]] name = "encoding_rs" version = "0.8.35" @@ -722,6 +812,22 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" +[[package]] +name = "ff" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "flagset" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7ac824320a75a52197e8f2d787f6a38b6718bb6897a35142d749af3c0e8f4fe" + [[package]] name = "flate2" version = "1.1.2" @@ -857,6 +963,7 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", + "zeroize", ] [[package]] @@ -919,6 +1026,17 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "h2" version = "0.4.10" @@ -985,6 +1103,15 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + [[package]] name = "home" version = "0.5.11" @@ -1551,6 +1678,9 @@ name = "lazy_static" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" +dependencies = [ + "spin", +] [[package]] name = "libc" @@ -1570,6 +1700,12 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "libm" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" + [[package]] name = "libz-sys" version = "1.1.22" @@ -1661,12 +1797,49 @@ dependencies = [ "winapi", ] +[[package]] +name = "num-bigint-dig" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" +dependencies = [ + "byteorder", + "lazy_static", + "libm", + "num-integer", + "num-iter", + "num-traits", + "rand 0.8.5", + "smallvec", + "zeroize", +] + [[package]] name = "num-conv" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +[[package]] +name = "num-integer" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.19" @@ -1674,6 +1847,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", + "libm", ] [[package]] @@ -1816,6 +1990,18 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +[[package]] +name = "p256" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9863ad85fa8f4460f9c48cb909d38a0d689dba1f6f6988a5e3e0d31071bcd4b" +dependencies = [ + "ecdsa", + "elliptic-curve", + "primeorder", + "sha2", +] + [[package]] name = "parking" version = "2.2.1" @@ -1855,6 +2041,15 @@ dependencies = [ "serde", ] +[[package]] +name = "pem-rfc7468" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + [[package]] name = "percent-encoding" version = "2.3.1" @@ -1937,6 +2132,27 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkcs1" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der", + "pkcs8", + "spki", +] + +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + [[package]] name = "pkg-config" version = "0.3.32" @@ -1967,6 +2183,15 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "primeorder" +version = "0.13.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "353e1ca18966c16d9deb1c69278edbc5f194139612772bd9537af60ac231e1e6" +dependencies = [ + "elliptic-curve", +] + [[package]] name = "proc-macro2" version = "1.0.95" @@ -2176,6 +2401,16 @@ dependencies = [ "web-sys", ] +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + [[package]] name = "ring" version = "0.17.14" @@ -2190,6 +2425,27 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "rsa" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78928ac1ed176a5ca1d17e578a1825f3d81ca54cf41053a592584b020cfd691b" +dependencies = [ + "const-oid", + "digest", + "num-bigint-dig", + "num-integer", + "num-traits", + "pkcs1", + "pkcs8", + "rand_core 0.6.4", + "sha2", + "signature", + "spki", + "subtle", + "zeroize", +] + [[package]] name = "rustc-demangle" version = "0.1.25" @@ -2317,6 +2573,20 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] + [[package]] name = "secrecy" version = "0.10.3" @@ -2502,6 +2772,16 @@ dependencies = [ "libc", ] +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core 0.6.4", +] + [[package]] name = "slab" version = "0.4.10" @@ -2566,12 +2846,51 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" + +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + [[package]] name = "stable_deref_trait" version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "stackable-certs" +version = "0.3.1" +dependencies = [ + "const-oid", + "ecdsa", + "k8s-openapi", + "kube", + "p256", + "rand 0.9.1", + "rand_core 0.6.4", + "rsa", + "sha2", + "signature", + "snafu 0.8.6", + "stackable-operator", + "tokio", + "tokio-rustls", + "tracing", + "x509-cert", + "zeroize", +] + [[package]] name = "stackable-operator" version = "0.93.2" @@ -2681,6 +3000,31 @@ dependencies = [ "syn 2.0.104", ] +[[package]] +name = "stackable-webhook" +version = "0.3.1" +dependencies = [ + "axum", + "futures-util", + "hyper", + "hyper-util", + "k8s-openapi", + "kube", + "opentelemetry", + "serde_json", + "snafu 0.8.6", + "stackable-certs", + "stackable-operator", + "stackable-telemetry", + "tokio", + "tokio-rustls", + "tower 0.5.2", + "tower-http", + "tracing", + "tracing-opentelemetry", + "x509-cert", +] + [[package]] name = "stackable-zookeeper-operator" version = "0.0.0-dev" @@ -2700,6 +3044,7 @@ dependencies = [ "serde_yaml", "snafu 0.8.6", "stackable-operator", + "stackable-webhook", "strum", "tokio", "tokio-zookeeper", @@ -2872,6 +3217,27 @@ dependencies = [ "zerovec", ] +[[package]] +name = "tls_codec" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de2e01245e2bb89d6f05801c564fa27624dbd7b1846859876c7dad82e90bf6b" +dependencies = [ + "tls_codec_derive", + "zeroize", +] + +[[package]] +name = "tls_codec_derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d2e76690929402faae40aebdda620a2c0e25dd6d3b9afe48867dfd95991f4bd" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] + [[package]] name = "tokio" version = "1.45.1" @@ -3537,6 +3903,20 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" +[[package]] +name = "x509-cert" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1301e935010a701ae5f8655edc0ad17c44bad3ac5ce8c39185f75453b720ae94" +dependencies = [ + "const-oid", + "der", + "sha1", + "signature", + "spki", + "tls_codec", +] + [[package]] name = "xml-rs" version = "0.8.26" @@ -3613,6 +3993,20 @@ name = "zeroize" version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" +dependencies = [ + "zeroize_derive", +] + +[[package]] +name = "zeroize_derive" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.104", +] [[package]] name = "zerotrie" diff --git a/Cargo.nix b/Cargo.nix index 52d298e0..11df6c01 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -868,6 +868,19 @@ rec { }; resolvedDefaultFeatures = [ "default" "std" ]; }; + "base16ct" = rec { + crateName = "base16ct"; + version = "0.2.0"; + edition = "2021"; + sha256 = "1kylrjhdzk7qpknrvlphw8ywdnvvg39dizw9622w3wk5xba04zsc"; + authors = [ + "RustCrypto Developers" + ]; + features = { + "std" = [ "alloc" ]; + }; + resolvedDefaultFeatures = [ "alloc" ]; + }; "base64" = rec { crateName = "base64"; version = "0.22.1"; @@ -882,6 +895,19 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "default" "std" ]; }; + "base64ct" = rec { + crateName = "base64ct"; + version = "1.8.0"; + edition = "2024"; + sha256 = "1fj4vc6ghy3j1120r7dwn4xw90crfy46b448g5pm9w6an13qn92m"; + authors = [ + "RustCrypto Developers" + ]; + features = { + "std" = [ "alloc" ]; + }; + resolvedDefaultFeatures = [ "alloc" ]; + }; "bit-set" = rec { crateName = "bit-set"; version = "0.5.3"; @@ -1290,6 +1316,20 @@ rec { }; resolvedDefaultFeatures = [ "std" ]; }; + "const-oid" = rec { + crateName = "const-oid"; + version = "0.9.6"; + edition = "2021"; + sha256 = "1y0jnqaq7p2wvspnx7qj76m7hjcqpz73qzvr9l2p9n2s51vr6if2"; + libName = "const_oid"; + authors = [ + "RustCrypto Developers" + ]; + features = { + "arbitrary" = [ "dep:arbitrary" ]; + }; + resolvedDefaultFeatures = [ "db" "std" ]; + }; "const_format" = rec { crateName = "const_format"; version = "0.2.34"; @@ -1536,6 +1576,58 @@ rec { }; resolvedDefaultFeatures = [ "std" ]; }; + "crypto-bigint" = rec { + crateName = "crypto-bigint"; + version = "0.5.5"; + edition = "2021"; + sha256 = "0xmbdff3g6ii5sbxjxc31xfkv9lrmyril4arh3dzckd4gjsjzj8d"; + libName = "crypto_bigint"; + authors = [ + "RustCrypto Developers" + ]; + dependencies = [ + { + name = "generic-array"; + packageId = "generic-array"; + optional = true; + } + { + name = "rand_core"; + packageId = "rand_core 0.6.4"; + optional = true; + } + { + name = "subtle"; + packageId = "subtle"; + usesDefaultFeatures = false; + } + { + name = "zeroize"; + packageId = "zeroize"; + optional = true; + usesDefaultFeatures = false; + } + ]; + devDependencies = [ + { + name = "rand_core"; + packageId = "rand_core 0.6.4"; + features = [ "std" ]; + } + ]; + features = { + "alloc" = [ "serdect?/alloc" ]; + "default" = [ "rand" ]; + "der" = [ "dep:der" ]; + "generic-array" = [ "dep:generic-array" ]; + "rand" = [ "rand_core/std" ]; + "rand_core" = [ "dep:rand_core" ]; + "rlp" = [ "dep:rlp" ]; + "serde" = [ "dep:serdect" ]; + "zeroize" = [ "dep:zeroize" ]; + }; + resolvedDefaultFeatures = [ "generic-array" "rand_core" "zeroize" ]; + }; "crypto-common" = rec { crateName = "crypto-common"; version = "0.1.6"; @@ -1680,6 +1772,83 @@ rec { } ]; + }; + "der" = rec { + crateName = "der"; + version = "0.7.10"; + edition = "2021"; + sha256 = "1jyxacyxdx6mxbkfw99jz59dzvcd9k17rq01a7xvn1dr6wl87hg7"; + authors = [ + "RustCrypto Developers" + ]; + dependencies = [ + { + name = "const-oid"; + packageId = "const-oid"; + optional = true; + } + { + name = "der_derive"; + packageId = "der_derive"; + optional = true; + } + { + name = "flagset"; + packageId = "flagset"; + optional = true; + } + { + name = "pem-rfc7468"; + packageId = "pem-rfc7468"; + optional = true; + features = [ "alloc" ]; + } + { + name = "zeroize"; + packageId = "zeroize"; + optional = true; + usesDefaultFeatures = false; + } + ]; + features = { + "alloc" = [ "zeroize?/alloc" ]; + "arbitrary" = [ "dep:arbitrary" "const-oid?/arbitrary" "std" ]; + "bytes" = [ "dep:bytes" "alloc" ]; + "derive" = [ "dep:der_derive" ]; + "flagset" = [ "dep:flagset" ]; + "oid" = [ "dep:const-oid" ]; + "pem" = [ "dep:pem-rfc7468" "alloc" "zeroize" ]; + "std" = [ "alloc" ]; + "time" = [ "dep:time" ]; + "zeroize" = [ "dep:zeroize" ]; + }; + resolvedDefaultFeatures = [ "alloc" "derive" "flagset" "oid" "pem" "std" "zeroize" ]; + }; + "der_derive" = rec { + crateName = "der_derive"; + version = "0.7.3"; + edition = "2021"; + sha256 = "065d2wy7zd0dank99hh58l5x7lv50hxnr7j6f3sphlb7i4ihjd40"; + procMacro = true; + authors = [ + "RustCrypto Developers" + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 2.0.104"; + features = [ "extra-traits" ]; + } + ]; + }; "deranged" = rec { crateName = "deranged"; @@ -1813,10 +1982,21 @@ rec { packageId = "block-buffer"; optional = true; } + { + name = "const-oid"; + packageId = "const-oid"; + optional = true; + } { name = "crypto-common"; packageId = "crypto-common"; } + { + name = "subtle"; + packageId = "subtle"; + optional = true; + usesDefaultFeatures = false; + } ]; features = { "blobby" = [ "dep:blobby" ]; @@ -1831,7 +2011,7 @@ rec { "std" = [ "alloc" "crypto-common/std" ]; "subtle" = [ "dep:subtle" ]; }; - resolvedDefaultFeatures = [ "alloc" "block-buffer" "core-api" "default" "std" ]; + resolvedDefaultFeatures = [ "alloc" "block-buffer" "const-oid" "core-api" "default" "mac" "oid" "std" "subtle" ]; }; "displaydoc" = rec { crateName = "displaydoc"; @@ -1920,6 +2100,79 @@ rec { ]; }; + "ecdsa" = rec { + crateName = "ecdsa"; + version = "0.16.9"; + edition = "2021"; + sha256 = "1jhb0bcbkaz4001sdmfyv8ajrv8a1cg7z7aa5myrd4jjbhmz69zf"; + authors = [ + "RustCrypto Developers" + ]; + dependencies = [ + { + name = "der"; + packageId = "der"; + optional = true; + } + { + name = "digest"; + packageId = "digest"; + optional = true; + usesDefaultFeatures = false; + features = [ "oid" ]; + } + { + name = "elliptic-curve"; + packageId = "elliptic-curve"; + usesDefaultFeatures = false; + features = [ "digest" "sec1" ]; + } + { + name = "rfc6979"; + packageId = "rfc6979"; + optional = true; + } + { + name = "signature"; + packageId = "signature"; + usesDefaultFeatures = false; + features = [ "rand_core" ]; + } + { + name = "spki"; + packageId = "spki"; + optional = true; + usesDefaultFeatures = false; + } + ]; + devDependencies = [ + { + name = "elliptic-curve"; + packageId = "elliptic-curve"; + usesDefaultFeatures = false; + features = [ "dev" ]; + } + ]; + features = { + "alloc" = [ "elliptic-curve/alloc" "signature/alloc" "spki/alloc" ]; + "arithmetic" = [ "elliptic-curve/arithmetic" ]; + "default" = [ "digest" ]; + "der" = [ "dep:der" ]; + "dev" = [ "arithmetic" "digest" "elliptic-curve/dev" "hazmat" ]; + "digest" = [ "dep:digest" "signature/digest" ]; + "pem" = [ "elliptic-curve/pem" "pkcs8" ]; + "pkcs8" = [ "digest" "elliptic-curve/pkcs8" "der" ]; + "rfc6979" = [ "dep:rfc6979" ]; + "serde" = [ "elliptic-curve/serde" "serdect" ]; + "serdect" = [ "dep:serdect" ]; + "sha2" = [ "dep:sha2" ]; + "signing" = [ "arithmetic" "digest" "hazmat" "rfc6979" ]; + "spki" = [ "dep:spki" ]; + "std" = [ "alloc" "elliptic-curve/std" "signature/std" ]; + "verifying" = [ "arithmetic" "digest" "hazmat" ]; + }; + resolvedDefaultFeatures = [ "alloc" "arithmetic" "default" "der" "digest" "hazmat" "pem" "pkcs8" "rfc6979" "signing" "spki" "std" "verifying" ]; + }; "educe" = rec { crateName = "educe"; version = "0.6.0"; @@ -1977,6 +2230,104 @@ rec { }; resolvedDefaultFeatures = [ "default" "std" "use_std" ]; }; + "elliptic-curve" = rec { + crateName = "elliptic-curve"; + version = "0.13.8"; + edition = "2021"; + sha256 = "0ixx4brgnzi61z29r3g1606nh2za88hzyz8c5r3p6ydzhqq09rmm"; + libName = "elliptic_curve"; + authors = [ + "RustCrypto Developers" + ]; + dependencies = [ + { + name = "base16ct"; + packageId = "base16ct"; + } + { + name = "crypto-bigint"; + packageId = "crypto-bigint"; + usesDefaultFeatures = false; + features = [ "rand_core" "generic-array" "zeroize" ]; + } + { + name = "digest"; + packageId = "digest"; + optional = true; + } + { + name = "ff"; + packageId = "ff"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "generic-array"; + packageId = "generic-array"; + usesDefaultFeatures = false; + features = [ "zeroize" ]; + } + { + name = "group"; + packageId = "group"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "pem-rfc7468"; + packageId = "pem-rfc7468"; + optional = true; + features = [ "alloc" ]; + } + { + name = "pkcs8"; + packageId = "pkcs8"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "rand_core"; + packageId = "rand_core 0.6.4"; + usesDefaultFeatures = false; + } + { + name = "sec1"; + packageId = "sec1"; + optional = true; + features = [ "subtle" "zeroize" ]; + } + { + name = "subtle"; + packageId = "subtle"; + usesDefaultFeatures = false; + } + { + name = "zeroize"; + packageId = "zeroize"; + usesDefaultFeatures = false; + } + ]; + features = { + "alloc" = [ "base16ct/alloc" "ff?/alloc" "group?/alloc" "pkcs8?/alloc" "sec1?/alloc" "zeroize/alloc" ]; + "arithmetic" = [ "group" ]; + "bits" = [ "arithmetic" "ff/bits" "dep:tap" ]; + "default" = [ "arithmetic" ]; + "dev" = [ "arithmetic" "dep:hex-literal" "pem" "pkcs8" ]; + "digest" = [ "dep:digest" ]; + "ecdh" = [ "arithmetic" "digest" "dep:hkdf" ]; + "ff" = [ "dep:ff" ]; + "group" = [ "dep:group" "ff" ]; + "hash2curve" = [ "arithmetic" "digest" ]; + "jwk" = [ "dep:base64ct" "dep:serde_json" "alloc" "serde" "zeroize/alloc" ]; + "pem" = [ "dep:pem-rfc7468" "alloc" "arithmetic" "pkcs8" "sec1/pem" ]; + "pkcs8" = [ "dep:pkcs8" "sec1" ]; + "sec1" = [ "dep:sec1" ]; + "serde" = [ "dep:serdect" "alloc" "pkcs8" "sec1/serde" ]; + "std" = [ "alloc" "rand_core/std" "pkcs8?/std" "sec1?/std" ]; + "voprf" = [ "digest" ]; + }; + resolvedDefaultFeatures = [ "alloc" "arithmetic" "digest" "ff" "group" "hazmat" "pem" "pkcs8" "sec1" "std" ]; + }; "encoding_rs" = rec { crateName = "encoding_rs"; version = "0.8.35"; @@ -2187,6 +2538,52 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "std" ]; }; + "ff" = rec { + crateName = "ff"; + version = "0.13.1"; + edition = "2021"; + sha256 = "14v3bc6q24gbcjnxjfbq2dddgf4as2z2gd4mj35gjlrncpxhpdf0"; + authors = [ + "Sean Bowe " + "Jack Grigg " + ]; + dependencies = [ + { + name = "rand_core"; + packageId = "rand_core 0.6.4"; + usesDefaultFeatures = false; + } + { + name = "subtle"; + packageId = "subtle"; + usesDefaultFeatures = false; + features = [ "i128" ]; + } + ]; + features = { + "bits" = [ "bitvec" ]; + "bitvec" = [ "dep:bitvec" ]; + "byteorder" = [ "dep:byteorder" ]; + "default" = [ "bits" "std" ]; + "derive" = [ "byteorder" "ff_derive" ]; + "derive_bits" = [ "bits" "ff_derive/bits" ]; + "ff_derive" = [ "dep:ff_derive" ]; + "std" = [ "alloc" ]; + }; + resolvedDefaultFeatures = [ "alloc" ]; + }; + "flagset" = rec { + crateName = "flagset"; + version = "0.4.7"; + edition = "2021"; + sha256 = "1zplx30g76kl5la3ayl9ns5p3diqd9zphbcggqcm4nm7411q5b5p"; + authors = [ + "Nathaniel McCallum " + ]; + features = { + "serde" = [ "dep:serde" ]; + }; + }; "flate2" = rec { crateName = "flate2"; version = "1.1.2"; @@ -2595,18 +2992,24 @@ rec { name = "typenum"; packageId = "typenum"; } - ]; - buildDependencies = [ { - name = "version_check"; - packageId = "version_check"; - } + name = "zeroize"; + packageId = "zeroize"; + optional = true; + usesDefaultFeatures = false; + } + ]; + buildDependencies = [ + { + name = "version_check"; + packageId = "version_check"; + } ]; features = { "serde" = [ "dep:serde" ]; "zeroize" = [ "dep:zeroize" ]; }; - resolvedDefaultFeatures = [ "more_lengths" ]; + resolvedDefaultFeatures = [ "more_lengths" "zeroize" ]; }; "getrandom 0.2.16" = rec { crateName = "getrandom"; @@ -2829,6 +3232,42 @@ rec { }; resolvedDefaultFeatures = [ "default" "futures" "futures-channel" "futures-core" ]; }; + "group" = rec { + crateName = "group"; + version = "0.13.0"; + edition = "2021"; + sha256 = "0qqs2p5vqnv3zvq9mfjkmw3qlvgqb0c3cm6p33srkh7pc9sfzygh"; + authors = [ + "Sean Bowe " + "Jack Grigg " + ]; + dependencies = [ + { + name = "ff"; + packageId = "ff"; + usesDefaultFeatures = false; + } + { + name = "rand_core"; + packageId = "rand_core 0.6.4"; + usesDefaultFeatures = false; + } + { + name = "subtle"; + packageId = "subtle"; + usesDefaultFeatures = false; + } + ]; + features = { + "default" = [ "alloc" ]; + "memuse" = [ "dep:memuse" ]; + "rand" = [ "dep:rand" ]; + "rand_xorshift" = [ "dep:rand_xorshift" ]; + "tests" = [ "alloc" "rand" "rand_xorshift" ]; + "wnaf-memuse" = [ "alloc" "memuse" ]; + }; + resolvedDefaultFeatures = [ "alloc" ]; + }; "h2" = rec { crateName = "h2"; version = "0.4.10"; @@ -3031,6 +3470,33 @@ rec { sha256 = "1sjmpsdl8czyh9ywl3qcsfsq9a307dg4ni2vnlwgnzzqhc4y0113"; }; + "hmac" = rec { + crateName = "hmac"; + version = "0.12.1"; + edition = "2018"; + sha256 = "0pmbr069sfg76z7wsssfk5ddcqd9ncp79fyz6zcm6yn115yc6jbc"; + authors = [ + "RustCrypto Developers" + ]; + dependencies = [ + { + name = "digest"; + packageId = "digest"; + features = [ "mac" ]; + } + ]; + devDependencies = [ + { + name = "digest"; + packageId = "digest"; + features = [ "dev" ]; + } + ]; + features = { + "std" = [ "digest/std" ]; + }; + resolvedDefaultFeatures = [ "reset" ]; + }; "home" = rec { crateName = "home"; version = "0.5.11"; @@ -3294,7 +3760,7 @@ rec { "server" = [ "dep:httpdate" "dep:pin-project-lite" "dep:smallvec" ]; "tracing" = [ "dep:tracing" ]; }; - resolvedDefaultFeatures = [ "client" "default" "http1" "http2" "server" ]; + resolvedDefaultFeatures = [ "client" "default" "full" "http1" "http2" "server" ]; }; "hyper-http-proxy" = rec { crateName = "hyper-http-proxy"; @@ -5109,10 +5575,20 @@ rec { authors = [ "Marvin Löbel " ]; + dependencies = [ + { + name = "spin"; + packageId = "spin"; + optional = true; + usesDefaultFeatures = false; + features = [ "once" ]; + } + ]; features = { "spin" = [ "dep:spin" ]; "spin_no_std" = [ "spin" ]; }; + resolvedDefaultFeatures = [ "spin" "spin_no_std" ]; }; "libc" = rec { crateName = "libc"; @@ -5174,6 +5650,20 @@ rec { "zlib-ng-compat" = [ "libz-sys/zlib-ng" "libssh2-sys?/zlib-ng-compat" ]; }; }; + "libm" = rec { + crateName = "libm"; + version = "0.2.15"; + edition = "2021"; + sha256 = "1plpzf0p829viazdj57yw5dhmlr8ywf3apayxc2f2bq5a6mvryzr"; + authors = [ + "Jorge Aparicio " + ]; + features = { + "default" = [ "arch" ]; + "unstable" = [ "unstable-intrinsics" "unstable-float" ]; + }; + resolvedDefaultFeatures = [ "arch" "default" ]; + }; "libz-sys" = rec { crateName = "libz-sys"; version = "1.1.22"; @@ -5443,6 +5933,86 @@ rec { "serde" = [ "dep:serde" ]; }; }; + "num-bigint-dig" = rec { + crateName = "num-bigint-dig"; + version = "0.8.4"; + edition = "2021"; + sha256 = "0lb12df24wgxxbspz4gw1sf1kdqwvpdcpwq4fdlwg4gj41c1k16w"; + libName = "num_bigint_dig"; + authors = [ + "dignifiedquire " + "The Rust Project Developers" + ]; + dependencies = [ + { + name = "byteorder"; + packageId = "byteorder"; + usesDefaultFeatures = false; + } + { + name = "lazy_static"; + packageId = "lazy_static"; + usesDefaultFeatures = false; + features = [ "spin_no_std" ]; + } + { + name = "libm"; + packageId = "libm"; + } + { + name = "num-integer"; + packageId = "num-integer"; + usesDefaultFeatures = false; + features = [ "i128" ]; + } + { + name = "num-iter"; + packageId = "num-iter"; + usesDefaultFeatures = false; + } + { + name = "num-traits"; + packageId = "num-traits"; + usesDefaultFeatures = false; + features = [ "i128" ]; + } + { + name = "rand"; + packageId = "rand 0.8.5"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "smallvec"; + packageId = "smallvec"; + usesDefaultFeatures = false; + } + { + name = "zeroize"; + packageId = "zeroize"; + optional = true; + usesDefaultFeatures = false; + } + ]; + devDependencies = [ + { + name = "rand"; + packageId = "rand 0.8.5"; + features = [ "small_rng" ]; + } + ]; + features = { + "arbitrary" = [ "dep:arbitrary" ]; + "default" = [ "std" "u64_digit" ]; + "fuzz" = [ "arbitrary" "smallvec/arbitrary" ]; + "prime" = [ "rand/std_rng" ]; + "rand" = [ "dep:rand" ]; + "serde" = [ "dep:serde" ]; + "std" = [ "num-integer/std" "num-traits/std" "smallvec/write" "rand/std" "serde/std" ]; + "zeroize" = [ "dep:zeroize" ]; + }; + resolvedDefaultFeatures = [ "i128" "prime" "rand" "u64_digit" "zeroize" ]; + }; "num-conv" = rec { crateName = "num-conv"; version = "0.1.0"; @@ -5454,6 +6024,63 @@ rec { ]; }; + "num-integer" = rec { + crateName = "num-integer"; + version = "0.1.46"; + edition = "2018"; + sha256 = "13w5g54a9184cqlbsq80rnxw4jj4s0d8wv75jsq5r2lms8gncsbr"; + libName = "num_integer"; + authors = [ + "The Rust Project Developers" + ]; + dependencies = [ + { + name = "num-traits"; + packageId = "num-traits"; + usesDefaultFeatures = false; + features = [ "i128" ]; + } + ]; + features = { + "default" = [ "std" ]; + "std" = [ "num-traits/std" ]; + }; + resolvedDefaultFeatures = [ "i128" ]; + }; + "num-iter" = rec { + crateName = "num-iter"; + version = "0.1.45"; + edition = "2018"; + sha256 = "1gzm7vc5g9qsjjl3bqk9rz1h6raxhygbrcpbfl04swlh0i506a8l"; + libName = "num_iter"; + authors = [ + "The Rust Project Developers" + ]; + dependencies = [ + { + name = "num-integer"; + packageId = "num-integer"; + usesDefaultFeatures = false; + features = [ "i128" ]; + } + { + name = "num-traits"; + packageId = "num-traits"; + usesDefaultFeatures = false; + features = [ "i128" ]; + } + ]; + buildDependencies = [ + { + name = "autocfg"; + packageId = "autocfg"; + } + ]; + features = { + "default" = [ "std" ]; + "std" = [ "num-integer/std" "num-traits/std" ]; + }; + }; "num-traits" = rec { crateName = "num-traits"; version = "0.2.19"; @@ -5463,6 +6090,13 @@ rec { authors = [ "The Rust Project Developers" ]; + dependencies = [ + { + name = "libm"; + packageId = "libm"; + optional = true; + } + ]; buildDependencies = [ { name = "autocfg"; @@ -5473,7 +6107,7 @@ rec { "default" = [ "std" ]; "libm" = [ "dep:libm" ]; }; - resolvedDefaultFeatures = [ "std" ]; + resolvedDefaultFeatures = [ "i128" "libm" "std" ]; }; "object" = rec { crateName = "object"; @@ -6031,6 +6665,79 @@ rec { ]; }; + "p256" = rec { + crateName = "p256"; + version = "0.13.2"; + edition = "2021"; + sha256 = "0jyd3c3k239ybs59ixpnl7dqkmm072fr1js8kh7ldx58bzc3m1n9"; + authors = [ + "RustCrypto Developers" + ]; + dependencies = [ + { + name = "ecdsa"; + packageId = "ecdsa"; + rename = "ecdsa-core"; + optional = true; + usesDefaultFeatures = false; + features = [ "der" ]; + } + { + name = "elliptic-curve"; + packageId = "elliptic-curve"; + usesDefaultFeatures = false; + features = [ "hazmat" "sec1" ]; + } + { + name = "primeorder"; + packageId = "primeorder"; + optional = true; + } + { + name = "sha2"; + packageId = "sha2"; + optional = true; + usesDefaultFeatures = false; + } + ]; + devDependencies = [ + { + name = "ecdsa"; + packageId = "ecdsa"; + rename = "ecdsa-core"; + usesDefaultFeatures = false; + features = [ "dev" ]; + } + { + name = "primeorder"; + packageId = "primeorder"; + features = [ "dev" ]; + } + ]; + features = { + "alloc" = [ "ecdsa-core?/alloc" "elliptic-curve/alloc" ]; + "arithmetic" = [ "dep:primeorder" "elliptic-curve/arithmetic" ]; + "bits" = [ "arithmetic" "elliptic-curve/bits" ]; + "default" = [ "arithmetic" "ecdsa" "pem" "std" ]; + "digest" = [ "ecdsa-core/digest" "ecdsa-core/hazmat" ]; + "ecdh" = [ "arithmetic" "elliptic-curve/ecdh" ]; + "ecdsa" = [ "arithmetic" "ecdsa-core/signing" "ecdsa-core/verifying" "sha256" ]; + "ecdsa-core" = [ "dep:ecdsa-core" ]; + "expose-field" = [ "arithmetic" ]; + "hash2curve" = [ "arithmetic" "elliptic-curve/hash2curve" ]; + "jwk" = [ "elliptic-curve/jwk" ]; + "pem" = [ "elliptic-curve/pem" "ecdsa-core/pem" "pkcs8" ]; + "pkcs8" = [ "ecdsa-core?/pkcs8" "elliptic-curve/pkcs8" ]; + "serde" = [ "ecdsa-core?/serde" "elliptic-curve/serde" "primeorder?/serde" "serdect" ]; + "serdect" = [ "dep:serdect" ]; + "sha2" = [ "dep:sha2" ]; + "sha256" = [ "digest" "sha2" ]; + "std" = [ "alloc" "ecdsa-core?/std" "elliptic-curve/std" ]; + "test-vectors" = [ "dep:hex-literal" ]; + "voprf" = [ "elliptic-curve/voprf" "sha2" ]; + }; + resolvedDefaultFeatures = [ "alloc" "arithmetic" "default" "digest" "ecdsa" "ecdsa-core" "pem" "pkcs8" "sha2" "sha256" "std" ]; + }; "parking" = rec { crateName = "parking"; version = "2.2.1"; @@ -6140,6 +6847,27 @@ rec { }; resolvedDefaultFeatures = [ "default" "std" ]; }; + "pem-rfc7468" = rec { + crateName = "pem-rfc7468"; + version = "0.7.0"; + edition = "2021"; + sha256 = "04l4852scl4zdva31c1z6jafbak0ni5pi0j38ml108zwzjdrrcw8"; + libName = "pem_rfc7468"; + authors = [ + "RustCrypto Developers" + ]; + dependencies = [ + { + name = "base64ct"; + packageId = "base64ct"; + } + ]; + features = { + "alloc" = [ "base64ct/alloc" ]; + "std" = [ "alloc" "base64ct/std" ]; + }; + resolvedDefaultFeatures = [ "alloc" ]; + }; "percent-encoding" = rec { crateName = "percent-encoding"; version = "2.3.1"; @@ -6341,44 +7069,112 @@ rec { ]; }; - "pkg-config" = rec { - crateName = "pkg-config"; - version = "0.3.32"; - edition = "2018"; - sha256 = "0k4h3gnzs94sjb2ix6jyksacs52cf1fanpwsmlhjnwrdnp8dppby"; - libName = "pkg_config"; - authors = [ - "Alex Crichton " - ]; - - }; - "potential_utf" = rec { - crateName = "potential_utf"; - version = "0.1.2"; + "pkcs1" = rec { + crateName = "pkcs1"; + version = "0.7.5"; edition = "2021"; - sha256 = "11dm6k3krx3drbvhgjw8z508giiv0m09wzl6ghza37176w4c79z5"; + sha256 = "0zz4mil3nchnxljdfs2k5ab1cjqn7kq5lqp62n9qfix01zqvkzy8"; authors = [ - "The ICU4X Project Developers" + "RustCrypto Developers" ]; dependencies = [ { - name = "zerovec"; - packageId = "zerovec"; + name = "der"; + packageId = "der"; + features = [ "oid" ]; + } + { + name = "pkcs8"; + packageId = "pkcs8"; optional = true; usesDefaultFeatures = false; } + { + name = "spki"; + packageId = "spki"; + } ]; features = { - "alloc" = [ "serde?/alloc" "zerovec?/alloc" ]; - "databake" = [ "dep:databake" ]; - "serde" = [ "dep:serde" ]; - "writeable" = [ "dep:writeable" "alloc" ]; - "zerovec" = [ "dep:zerovec" ]; + "alloc" = [ "der/alloc" "zeroize" "pkcs8?/alloc" ]; + "pem" = [ "alloc" "der/pem" "pkcs8?/pem" ]; + "pkcs8" = [ "dep:pkcs8" ]; + "std" = [ "der/std" "alloc" ]; + "zeroize" = [ "der/zeroize" ]; }; - resolvedDefaultFeatures = [ "zerovec" ]; + resolvedDefaultFeatures = [ "alloc" "pem" "pkcs8" "std" "zeroize" ]; }; - "powerfmt" = rec { - crateName = "powerfmt"; + "pkcs8" = rec { + crateName = "pkcs8"; + version = "0.10.2"; + edition = "2021"; + sha256 = "1dx7w21gvn07azszgqd3ryjhyphsrjrmq5mmz1fbxkj5g0vv4l7r"; + authors = [ + "RustCrypto Developers" + ]; + dependencies = [ + { + name = "der"; + packageId = "der"; + features = [ "oid" ]; + } + { + name = "spki"; + packageId = "spki"; + } + ]; + features = { + "3des" = [ "encryption" "pkcs5/3des" ]; + "alloc" = [ "der/alloc" "der/zeroize" "spki/alloc" ]; + "des-insecure" = [ "encryption" "pkcs5/des-insecure" ]; + "encryption" = [ "alloc" "pkcs5/alloc" "pkcs5/pbes2" "rand_core" ]; + "getrandom" = [ "rand_core/getrandom" ]; + "pem" = [ "alloc" "der/pem" "spki/pem" ]; + "pkcs5" = [ "dep:pkcs5" ]; + "rand_core" = [ "dep:rand_core" ]; + "sha1-insecure" = [ "encryption" "pkcs5/sha1-insecure" ]; + "std" = [ "alloc" "der/std" "spki/std" ]; + "subtle" = [ "dep:subtle" ]; + }; + resolvedDefaultFeatures = [ "alloc" "pem" "std" ]; + }; + "pkg-config" = rec { + crateName = "pkg-config"; + version = "0.3.32"; + edition = "2018"; + sha256 = "0k4h3gnzs94sjb2ix6jyksacs52cf1fanpwsmlhjnwrdnp8dppby"; + libName = "pkg_config"; + authors = [ + "Alex Crichton " + ]; + + }; + "potential_utf" = rec { + crateName = "potential_utf"; + version = "0.1.2"; + edition = "2021"; + sha256 = "11dm6k3krx3drbvhgjw8z508giiv0m09wzl6ghza37176w4c79z5"; + authors = [ + "The ICU4X Project Developers" + ]; + dependencies = [ + { + name = "zerovec"; + packageId = "zerovec"; + optional = true; + usesDefaultFeatures = false; + } + ]; + features = { + "alloc" = [ "serde?/alloc" "zerovec?/alloc" ]; + "databake" = [ "dep:databake" ]; + "serde" = [ "dep:serde" ]; + "writeable" = [ "dep:writeable" "alloc" ]; + "zerovec" = [ "dep:zerovec" ]; + }; + resolvedDefaultFeatures = [ "zerovec" ]; + }; + "powerfmt" = rec { + crateName = "powerfmt"; version = "0.2.0"; edition = "2021"; sha256 = "14ckj2xdpkhv3h6l5sdmb9f1d57z8hbfpdldjc2vl5givq2y77j3"; @@ -6412,6 +7208,29 @@ rec { }; resolvedDefaultFeatures = [ "simd" "std" ]; }; + "primeorder" = rec { + crateName = "primeorder"; + version = "0.13.6"; + edition = "2021"; + sha256 = "1rp16710mxksagcjnxqjjq9r9wf5vf72fs8wxffnvhb6i6hiqgim"; + authors = [ + "RustCrypto Developers" + ]; + dependencies = [ + { + name = "elliptic-curve"; + packageId = "elliptic-curve"; + usesDefaultFeatures = false; + features = [ "arithmetic" "sec1" ]; + } + ]; + features = { + "alloc" = [ "elliptic-curve/alloc" ]; + "serde" = [ "elliptic-curve/serde" "serdect" ]; + "serdect" = [ "dep:serdect" ]; + "std" = [ "alloc" "elliptic-curve/std" ]; + }; + }; "proc-macro2" = rec { crateName = "proc-macro2"; version = "1.0.95"; @@ -6664,7 +7483,7 @@ rec { "std_rng" = [ "dep:rand_chacha" ]; "thread_rng" = [ "std" "std_rng" "os_rng" ]; }; - resolvedDefaultFeatures = [ "alloc" "os_rng" "small_rng" "std" "std_rng" "thread_rng" ]; + resolvedDefaultFeatures = [ "alloc" "default" "os_rng" "small_rng" "std" "std_rng" "thread_rng" ]; }; "rand_chacha 0.3.1" = rec { crateName = "rand_chacha"; @@ -7210,6 +8029,29 @@ rec { }; resolvedDefaultFeatures = [ "blocking" ]; }; + "rfc6979" = rec { + crateName = "rfc6979"; + version = "0.4.0"; + edition = "2021"; + sha256 = "1chw95jgcfrysyzsq6a10b1j5qb7bagkx8h0wda4lv25in02mpgq"; + authors = [ + "RustCrypto Developers" + ]; + dependencies = [ + { + name = "hmac"; + packageId = "hmac"; + usesDefaultFeatures = false; + features = [ "reset" ]; + } + { + name = "subtle"; + packageId = "subtle"; + usesDefaultFeatures = false; + } + ]; + + }; "ring" = rec { crateName = "ring"; version = "0.17.14"; @@ -7271,6 +8113,119 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "default" "dev_urandom_fallback" ]; }; + "rsa" = rec { + crateName = "rsa"; + version = "0.9.8"; + edition = "2021"; + sha256 = "06v9zl604jsqjajm647l9jjirn7k4lc8lmvys6hmqshpxp0qm4kq"; + authors = [ + "RustCrypto Developers" + "dignifiedquire " + ]; + dependencies = [ + { + name = "const-oid"; + packageId = "const-oid"; + usesDefaultFeatures = false; + } + { + name = "digest"; + packageId = "digest"; + usesDefaultFeatures = false; + features = [ "alloc" "oid" ]; + } + { + name = "num-bigint-dig"; + packageId = "num-bigint-dig"; + rename = "num-bigint"; + usesDefaultFeatures = false; + features = [ "i128" "prime" "zeroize" ]; + } + { + name = "num-integer"; + packageId = "num-integer"; + usesDefaultFeatures = false; + } + { + name = "num-traits"; + packageId = "num-traits"; + usesDefaultFeatures = false; + features = [ "libm" ]; + } + { + name = "pkcs1"; + packageId = "pkcs1"; + usesDefaultFeatures = false; + features = [ "alloc" "pkcs8" ]; + } + { + name = "pkcs8"; + packageId = "pkcs8"; + usesDefaultFeatures = false; + features = [ "alloc" ]; + } + { + name = "rand_core"; + packageId = "rand_core 0.6.4"; + usesDefaultFeatures = false; + } + { + name = "sha2"; + packageId = "sha2"; + optional = true; + usesDefaultFeatures = false; + features = [ "oid" ]; + } + { + name = "signature"; + packageId = "signature"; + usesDefaultFeatures = false; + features = [ "alloc" "digest" "rand_core" ]; + } + { + name = "spki"; + packageId = "spki"; + usesDefaultFeatures = false; + features = [ "alloc" ]; + } + { + name = "subtle"; + packageId = "subtle"; + usesDefaultFeatures = false; + } + { + name = "zeroize"; + packageId = "zeroize"; + features = [ "alloc" ]; + } + ]; + devDependencies = [ + { + name = "rand_core"; + packageId = "rand_core 0.6.4"; + usesDefaultFeatures = false; + } + { + name = "sha2"; + packageId = "sha2"; + usesDefaultFeatures = false; + features = [ "oid" ]; + } + ]; + features = { + "default" = [ "std" "pem" "u64_digit" ]; + "getrandom" = [ "rand_core/getrandom" ]; + "nightly" = [ "num-bigint/nightly" ]; + "pem" = [ "pkcs1/pem" "pkcs8/pem" ]; + "pkcs5" = [ "pkcs8/encryption" ]; + "serde" = [ "dep:serde" "num-bigint/serde" ]; + "sha1" = [ "dep:sha1" ]; + "sha2" = [ "dep:sha2" ]; + "std" = [ "digest/std" "pkcs1/std" "pkcs8/std" "rand_core/std" "signature/std" ]; + "u64_digit" = [ "num-bigint/u64_digit" ]; + }; + resolvedDefaultFeatures = [ "default" "pem" "sha2" "std" "u64_digit" ]; + }; "rustc-demangle" = rec { crateName = "rustc-demangle"; version = "0.1.25"; @@ -7651,6 +8606,66 @@ rec { "default" = [ "use_std" ]; }; }; + "sec1" = rec { + crateName = "sec1"; + version = "0.7.3"; + edition = "2021"; + sha256 = "1p273j8c87pid6a1iyyc7vxbvifrw55wbxgr0dh3l8vnbxb7msfk"; + authors = [ + "RustCrypto Developers" + ]; + dependencies = [ + { + name = "base16ct"; + packageId = "base16ct"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "der"; + packageId = "der"; + optional = true; + features = [ "oid" ]; + } + { + name = "generic-array"; + packageId = "generic-array"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "pkcs8"; + packageId = "pkcs8"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "subtle"; + packageId = "subtle"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "zeroize"; + packageId = "zeroize"; + optional = true; + usesDefaultFeatures = false; + } + ]; + features = { + "alloc" = [ "der?/alloc" "pkcs8?/alloc" "zeroize?/alloc" ]; + "default" = [ "der" "point" ]; + "der" = [ "dep:der" "zeroize" ]; + "pem" = [ "alloc" "der/pem" "pkcs8/pem" ]; + "pkcs8" = [ "dep:pkcs8" ]; + "point" = [ "dep:base16ct" "dep:generic-array" ]; + "serde" = [ "dep:serdect" ]; + "std" = [ "alloc" "der?/std" ]; + "subtle" = [ "dep:subtle" ]; + "zeroize" = [ "dep:zeroize" "der?/zeroize" ]; + }; + resolvedDefaultFeatures = [ "alloc" "default" "der" "pem" "pkcs8" "point" "std" "subtle" "zeroize" ]; + }; "secrecy" = rec { crateName = "secrecy"; version = "0.10.3"; @@ -8128,6 +9143,7 @@ rec { "sha2-asm" = [ "dep:sha2-asm" ]; "std" = [ "digest/std" ]; }; + resolvedDefaultFeatures = [ "default" "oid" "std" ]; }; "sharded-slab" = rec { crateName = "sharded-slab"; @@ -8184,6 +9200,36 @@ rec { ]; }; + "signature" = rec { + crateName = "signature"; + version = "2.2.0"; + edition = "2021"; + sha256 = "1pi9hd5vqfr3q3k49k37z06p7gs5si0in32qia4mmr1dancr6m3p"; + authors = [ + "RustCrypto Developers" + ]; + dependencies = [ + { + name = "digest"; + packageId = "digest"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "rand_core"; + packageId = "rand_core 0.6.4"; + optional = true; + usesDefaultFeatures = false; + } + ]; + features = { + "derive" = [ "dep:derive" ]; + "digest" = [ "dep:digest" ]; + "rand_core" = [ "dep:rand_core" ]; + "std" = [ "alloc" "rand_core?/std" ]; + }; + resolvedDefaultFeatures = [ "alloc" "digest" "rand_core" "std" ]; + }; "slab" = rec { crateName = "slab"; version = "0.4.10"; @@ -8324,67 +9370,222 @@ rec { ]; dependencies = [ { - name = "heck"; - packageId = "heck"; - usesDefaultFeatures = false; + name = "heck"; + packageId = "heck"; + usesDefaultFeatures = false; + } + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 2.0.104"; + features = [ "full" ]; + } + ]; + features = { + }; + resolvedDefaultFeatures = [ "rust_1_61" ]; + }; + "socket2" = rec { + crateName = "socket2"; + version = "0.5.10"; + edition = "2021"; + sha256 = "0y067ki5q946w91xlz2sb175pnfazizva6fi3kfp639mxnmpc8z2"; + authors = [ + "Alex Crichton " + "Thomas de Zeeuw " + ]; + dependencies = [ + { + name = "libc"; + packageId = "libc"; + target = { target, features }: (target."unix" or false); + } + { + name = "windows-sys"; + packageId = "windows-sys 0.52.0"; + target = { target, features }: (target."windows" or false); + features = [ "Win32_Foundation" "Win32_Networking_WinSock" "Win32_System_IO" "Win32_System_Threading" "Win32_System_WindowsProgramming" ]; + } + ]; + features = { + }; + resolvedDefaultFeatures = [ "all" ]; + }; + "spin" = rec { + crateName = "spin"; + version = "0.9.8"; + edition = "2015"; + sha256 = "0rvam5r0p3a6qhc18scqpvpgb3ckzyqxpgdfyjnghh8ja7byi039"; + authors = [ + "Mathijs van de Nes " + "John Ericson " + "Joshua Barretto " + ]; + features = { + "barrier" = [ "mutex" ]; + "default" = [ "lock_api" "mutex" "spin_mutex" "rwlock" "once" "lazy" "barrier" ]; + "fair_mutex" = [ "mutex" ]; + "lazy" = [ "once" ]; + "lock_api" = [ "lock_api_crate" ]; + "lock_api_crate" = [ "dep:lock_api_crate" ]; + "portable-atomic" = [ "dep:portable-atomic" ]; + "portable_atomic" = [ "portable-atomic" ]; + "spin_mutex" = [ "mutex" ]; + "ticket_mutex" = [ "mutex" ]; + "use_ticket_mutex" = [ "mutex" "ticket_mutex" ]; + }; + resolvedDefaultFeatures = [ "once" ]; + }; + "spki" = rec { + crateName = "spki"; + version = "0.7.3"; + edition = "2021"; + sha256 = "17fj8k5fmx4w9mp27l970clrh5qa7r5sjdvbsln987xhb34dc7nr"; + authors = [ + "RustCrypto Developers" + ]; + dependencies = [ + { + name = "base64ct"; + packageId = "base64ct"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "der"; + packageId = "der"; + features = [ "oid" ]; + } + ]; + features = { + "alloc" = [ "base64ct?/alloc" "der/alloc" ]; + "arbitrary" = [ "std" "dep:arbitrary" "der/arbitrary" ]; + "base64" = [ "dep:base64ct" ]; + "fingerprint" = [ "sha2" ]; + "pem" = [ "alloc" "der/pem" ]; + "sha2" = [ "dep:sha2" ]; + "std" = [ "der/std" "alloc" ]; + }; + resolvedDefaultFeatures = [ "alloc" "pem" "std" ]; + }; + "stable_deref_trait" = rec { + crateName = "stable_deref_trait"; + version = "1.2.0"; + edition = "2015"; + sha256 = "1lxjr8q2n534b2lhkxd6l6wcddzjvnksi58zv11f9y0jjmr15wd8"; + authors = [ + "Robert Grosse " + ]; + features = { + "default" = [ "std" ]; + "std" = [ "alloc" ]; + }; + resolvedDefaultFeatures = [ "alloc" ]; + }; + "stackable-certs" = rec { + crateName = "stackable-certs"; + version = "0.3.1"; + edition = "2024"; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../operator-rs/main/crates/stackable-certs; }; + libName = "stackable_certs"; + authors = [ + "Stackable GmbH " + ]; + dependencies = [ + { + name = "const-oid"; + packageId = "const-oid"; + features = [ "db" ]; + } + { + name = "ecdsa"; + packageId = "ecdsa"; + features = [ "digest" "pem" ]; + } + { + name = "k8s-openapi"; + packageId = "k8s-openapi"; + usesDefaultFeatures = false; + features = [ "schemars" "v1_33" ]; + } + { + name = "kube"; + packageId = "kube"; + usesDefaultFeatures = false; + features = [ "client" "jsonpatch" "runtime" "derive" "rustls-tls" "ring" ]; + } + { + name = "p256"; + packageId = "p256"; + features = [ "ecdsa" ]; + } + { + name = "rand"; + packageId = "rand 0.9.1"; + } + { + name = "rand_core"; + packageId = "rand_core 0.6.4"; + } + { + name = "rsa"; + packageId = "rsa"; + features = [ "sha2" ]; + } + { + name = "sha2"; + packageId = "sha2"; + features = [ "oid" ]; + } + { + name = "signature"; + packageId = "signature"; + } + { + name = "snafu"; + packageId = "snafu 0.8.6"; + } + { + name = "stackable-operator"; + packageId = "stackable-operator"; } { - name = "proc-macro2"; - packageId = "proc-macro2"; + name = "tokio"; + packageId = "tokio"; + features = [ "macros" "rt-multi-thread" "fs" ]; } { - name = "quote"; - packageId = "quote"; + name = "tokio-rustls"; + packageId = "tokio-rustls"; + optional = true; + usesDefaultFeatures = false; + features = [ "ring" "logging" "tls12" ]; } { - name = "syn"; - packageId = "syn 2.0.104"; - features = [ "full" ]; + name = "tracing"; + packageId = "tracing"; } - ]; - features = { - }; - resolvedDefaultFeatures = [ "rust_1_61" ]; - }; - "socket2" = rec { - crateName = "socket2"; - version = "0.5.10"; - edition = "2021"; - sha256 = "0y067ki5q946w91xlz2sb175pnfazizva6fi3kfp639mxnmpc8z2"; - authors = [ - "Alex Crichton " - "Thomas de Zeeuw " - ]; - dependencies = [ { - name = "libc"; - packageId = "libc"; - target = { target, features }: (target."unix" or false); + name = "x509-cert"; + packageId = "x509-cert"; + features = [ "builder" ]; } { - name = "windows-sys"; - packageId = "windows-sys 0.52.0"; - target = { target, features }: (target."windows" or false); - features = [ "Win32_Foundation" "Win32_Networking_WinSock" "Win32_System_IO" "Win32_System_Threading" "Win32_System_WindowsProgramming" ]; + name = "zeroize"; + packageId = "zeroize"; } ]; features = { + "rustls" = [ "dep:tokio-rustls" ]; }; - resolvedDefaultFeatures = [ "all" ]; - }; - "stable_deref_trait" = rec { - crateName = "stable_deref_trait"; - version = "1.2.0"; - edition = "2015"; - sha256 = "1lxjr8q2n534b2lhkxd6l6wcddzjvnksi58zv11f9y0jjmr15wd8"; - authors = [ - "Robert Grosse " - ]; - features = { - "default" = [ "std" ]; - "std" = [ "alloc" ]; - }; - resolvedDefaultFeatures = [ "alloc" ]; + resolvedDefaultFeatures = [ "default" "rustls" ]; }; "stackable-operator" = rec { crateName = "stackable-operator"; @@ -8830,6 +10031,108 @@ rec { }; resolvedDefaultFeatures = [ "k8s" ]; }; + "stackable-webhook" = rec { + crateName = "stackable-webhook"; + version = "0.3.1"; + edition = "2024"; + src = lib.cleanSourceWith { filter = sourceFilter; src = ../operator-rs/main/crates/stackable-webhook; }; + libName = "stackable_webhook"; + authors = [ + "Stackable GmbH " + ]; + dependencies = [ + { + name = "axum"; + packageId = "axum"; + features = [ "http2" ]; + } + { + name = "futures-util"; + packageId = "futures-util"; + } + { + name = "hyper"; + packageId = "hyper"; + features = [ "full" ]; + } + { + name = "hyper-util"; + packageId = "hyper-util"; + } + { + name = "k8s-openapi"; + packageId = "k8s-openapi"; + usesDefaultFeatures = false; + features = [ "schemars" "v1_33" ]; + } + { + name = "kube"; + packageId = "kube"; + usesDefaultFeatures = false; + features = [ "client" "jsonpatch" "runtime" "derive" "rustls-tls" "ring" ]; + } + { + name = "opentelemetry"; + packageId = "opentelemetry"; + } + { + name = "serde_json"; + packageId = "serde_json"; + } + { + name = "snafu"; + packageId = "snafu 0.8.6"; + } + { + name = "stackable-certs"; + packageId = "stackable-certs"; + features = [ "rustls" ]; + } + { + name = "stackable-operator"; + packageId = "stackable-operator"; + } + { + name = "stackable-telemetry"; + packageId = "stackable-telemetry"; + } + { + name = "tokio"; + packageId = "tokio"; + features = [ "macros" "rt-multi-thread" "fs" ]; + } + { + name = "tokio-rustls"; + packageId = "tokio-rustls"; + usesDefaultFeatures = false; + features = [ "ring" "logging" "tls12" ]; + } + { + name = "tower"; + packageId = "tower 0.5.2"; + features = [ "util" ]; + } + { + name = "tower-http"; + packageId = "tower-http"; + features = [ "trace" ]; + } + { + name = "tracing"; + packageId = "tracing"; + } + { + name = "tracing-opentelemetry"; + packageId = "tracing-opentelemetry"; + } + { + name = "x509-cert"; + packageId = "x509-cert"; + features = [ "builder" ]; + } + ]; + + }; "stackable-zookeeper-operator" = rec { crateName = "stackable-zookeeper-operator"; version = "0.0.0-dev"; @@ -8901,6 +10204,10 @@ rec { packageId = "stackable-operator"; features = [ "telemetry" "versioned" ]; } + { + name = "stackable-webhook"; + packageId = "stackable-webhook"; + } { name = "strum"; packageId = "strum"; @@ -9015,6 +10322,7 @@ rec { features = { "default" = [ "std" "i128" ]; }; + resolvedDefaultFeatures = [ "i128" ]; }; "syn 1.0.109" = rec { crateName = "syn"; @@ -9388,6 +10696,68 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "zerovec" ]; }; + "tls_codec" = rec { + crateName = "tls_codec"; + version = "0.4.2"; + edition = "2021"; + sha256 = "0sxzj0pdinn7fsc8aihqgfylsqi7z9jca0aqy3b8kfz28l9f1qhd"; + authors = [ + "RustCrypto Developers" + ]; + dependencies = [ + { + name = "tls_codec_derive"; + packageId = "tls_codec_derive"; + optional = true; + } + { + name = "zeroize"; + packageId = "zeroize"; + usesDefaultFeatures = false; + features = [ "alloc" "zeroize_derive" ]; + } + ]; + features = { + "arbitrary" = [ "std" "dep:arbitrary" ]; + "conditional_deserialization" = [ "derive" "tls_codec_derive/conditional_deserialization" ]; + "default" = [ "std" ]; + "derive" = [ "tls_codec_derive" ]; + "serde" = [ "std" "dep:serde" ]; + "std" = [ "tls_codec_derive?/std" ]; + "tls_codec_derive" = [ "dep:tls_codec_derive" ]; + }; + resolvedDefaultFeatures = [ "derive" "std" "tls_codec_derive" ]; + }; + "tls_codec_derive" = rec { + crateName = "tls_codec_derive"; + version = "0.4.2"; + edition = "2021"; + sha256 = "1gglj5cxkpv7i3jazffksrfy5h5242kdvsqawjm2yh1915lpcbid"; + procMacro = true; + authors = [ + "RustCrypto Developers" + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 2.0.104"; + features = [ "parsing" ]; + } + ]; + features = { + "conditional_deserialization" = [ "syn/full" ]; + "default" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "default" "std" ]; + }; "tokio" = rec { crateName = "tokio"; version = "1.45.1"; @@ -9553,7 +10923,7 @@ rec { "ring" = [ "rustls/ring" ]; "tls12" = [ "rustls/tls12" ]; }; - resolvedDefaultFeatures = [ "logging" "tls12" ]; + resolvedDefaultFeatures = [ "logging" "ring" "tls12" ]; }; "tokio-stream" = rec { crateName = "tokio-stream"; @@ -12505,6 +13875,62 @@ rec { "either" = [ "dep:either" ]; }; }; + "x509-cert" = rec { + crateName = "x509-cert"; + version = "0.2.5"; + edition = "2021"; + sha256 = "155f42vm6m7phn8w7s2wmk9vli3ws45dqpk5z3jilw0a04syj08k"; + libName = "x509_cert"; + authors = [ + "RustCrypto Developers" + ]; + dependencies = [ + { + name = "const-oid"; + packageId = "const-oid"; + features = [ "db" ]; + } + { + name = "der"; + packageId = "der"; + features = [ "alloc" "derive" "flagset" "oid" ]; + } + { + name = "sha1"; + packageId = "sha1"; + optional = true; + } + { + name = "signature"; + packageId = "signature"; + optional = true; + features = [ "rand_core" ]; + } + { + name = "spki"; + packageId = "spki"; + features = [ "alloc" ]; + } + { + name = "tls_codec"; + packageId = "tls_codec"; + optional = true; + usesDefaultFeatures = false; + features = [ "derive" ]; + } + ]; + features = { + "arbitrary" = [ "dep:arbitrary" "std" "der/arbitrary" "spki/arbitrary" ]; + "builder" = [ "std" "sha1/default" "signature" ]; + "default" = [ "pem" "std" ]; + "pem" = [ "der/pem" "spki/pem" ]; + "sct" = [ "dep:tls_codec" ]; + "sha1" = [ "dep:sha1" ]; + "signature" = [ "dep:signature" ]; + "std" = [ "const-oid/std" "der/std" "spki/std" "tls_codec?/std" ]; + }; + resolvedDefaultFeatures = [ "builder" "default" "pem" "sha1" "signature" "std" ]; + }; "xml-rs" = rec { crateName = "xml-rs"; version = "0.8.26"; @@ -12722,6 +14148,13 @@ rec { authors = [ "The RustCrypto Project Developers" ]; + dependencies = [ + { + name = "zeroize_derive"; + packageId = "zeroize_derive"; + optional = true; + } + ]; features = { "default" = [ "alloc" ]; "derive" = [ "zeroize_derive" ]; @@ -12729,7 +14162,33 @@ rec { "std" = [ "alloc" ]; "zeroize_derive" = [ "dep:zeroize_derive" ]; }; - resolvedDefaultFeatures = [ "alloc" "default" ]; + resolvedDefaultFeatures = [ "alloc" "default" "zeroize_derive" ]; + }; + "zeroize_derive" = rec { + crateName = "zeroize_derive"; + version = "1.4.2"; + edition = "2021"; + sha256 = "0sczjlqjdmrp3wn62g7mw6p438c9j4jgp2f9zamd56991mdycdnf"; + procMacro = true; + authors = [ + "The RustCrypto Project Developers" + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 2.0.104"; + features = [ "full" "extra-traits" "visit" ]; + } + ]; + }; "zerotrie" = rec { crateName = "zerotrie"; diff --git a/Cargo.toml b/Cargo.toml index 70565773..0ef7cec6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,6 +12,7 @@ repository = "https://github.com/stackabletech/zookeeper-operator" [workspace.dependencies] product-config = { git = "https://github.com/stackabletech/product-config.git", tag = "0.7.0" } stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", features = ["telemetry", "versioned"], tag = "stackable-operator-0.93.1" } +stackable-webhook = { git = "https://github.com/stackabletech/operator-rs.git", tag = "stackable-operator-0.93.1" } anyhow = "1.0" built = { version = "0.8", features = ["chrono", "git2"] } @@ -34,6 +35,7 @@ tracing = "0.1" [patch."https://github.com/stackabletech/operator-rs"] # stackable-operator = { git = "https://github.com/stackabletech//operator-rs.git", branch = "main" } stackable-operator = { path = "/home/sbernauer/stackable/operator-rs/main/crates/stackable-operator" } +stackable-webhook = { path = "/home/sbernauer/stackable/operator-rs/main/crates/stackable-webhook" } [patch.crates-io] # tokio-zookeeper = { path = "../tokio-zookeeper" } diff --git a/_test.yaml b/_test.yaml new file mode 100644 index 00000000..ace31136 --- /dev/null +++ b/_test.yaml @@ -0,0 +1,84 @@ +--- +apiVersion: zookeeper.stackable.tech/v1alpha1 +kind: Person +metadata: + name: sbernauer1 +spec: + username: sbernauer1 +--- +apiVersion: zookeeper.stackable.tech/v1alpha2 +kind: Person +metadata: + name: sbernauer2 +spec: + username: sbernauer2 + firstName: Sebastian + lastName: Bernauer +--- +apiVersion: zookeeper.stackable.tech/v1beta1 +kind: Person +metadata: + name: sbernauer3 +spec: + username: sbernauer3 + firstName: Sebastian + lastName: Bernauer +--- +apiVersion: zookeeper.stackable.tech/v2 +kind: Person +metadata: + name: sbernauer4 +spec: + username: sbernauer4 + firstName: Sebastian + lastName: Bernauer + gender: Male +--- +apiVersion: zookeeper.stackable.tech/v3 +kind: Person +metadata: + name: sbernauer5 +spec: + username: sbernauer5 + firstName: Sebastian + lastName: Bernauer + gender: Male + + + + +--- +apiVersion: zookeeper.stackable.tech/v1alpha1 +kind: Person +metadata: + name: sbernauer40 +spec: + username: sbernauer40 +--- +apiVersion: zookeeper.stackable.tech/v1alpha1 +kind: Person +metadata: + name: sbernauer41 +spec: + username: sbernauer41 +--- +apiVersion: zookeeper.stackable.tech/v1alpha1 +kind: Person +metadata: + name: sbernauer42 +spec: + username: sbernauer42 +--- +apiVersion: zookeeper.stackable.tech/v1alpha1 +kind: Person +metadata: + name: sbernauer43 +spec: + username: sbernauer43 +--- +apiVersion: zookeeper.stackable.tech/v1alpha1 +kind: Person +metadata: + name: sbernauer44 +spec: + username: sbernauer44 diff --git a/crds.yaml b/crds.yaml index f5c76814..49741f20 100644 --- a/crds.yaml +++ b/crds.yaml @@ -891,3 +891,152 @@ spec: storage: true subresources: status: {} +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: persons.zookeeper.stackable.tech +spec: + group: zookeeper.stackable.tech + names: + categories: [] + kind: Person + plural: persons + shortNames: [] + singular: person + scope: Namespaced + versions: + - additionalPrinterColumns: [] + name: v3 + schema: + openAPIV3Schema: + description: Auto-generated derived type for PersonSpec via `CustomResource` + properties: + spec: + properties: + firstName: + type: string + gender: + type: string + lastName: + type: string + username: + type: string + required: + - firstName + - gender + - lastName + - username + type: object + required: + - spec + title: Person + type: object + served: true + storage: true + subresources: {} + - additionalPrinterColumns: [] + name: v2 + schema: + openAPIV3Schema: + description: Auto-generated derived type for PersonSpec via `CustomResource` + properties: + spec: + properties: + firstName: + type: string + gender: + enum: + - Unknown + - Male + - Female + type: string + lastName: + type: string + username: + type: string + required: + - firstName + - gender + - lastName + - username + type: object + required: + - spec + title: Person + type: object + served: true + storage: false + subresources: {} + - additionalPrinterColumns: [] + name: v1beta1 + schema: + openAPIV3Schema: + description: Auto-generated derived type for PersonSpec via `CustomResource` + properties: + spec: + properties: + firstName: + type: string + lastName: + type: string + username: + type: string + required: + - firstName + - lastName + - username + type: object + required: + - spec + title: Person + type: object + served: true + storage: false + subresources: {} + - additionalPrinterColumns: [] + name: v1alpha2 + schema: + openAPIV3Schema: + description: Auto-generated derived type for PersonSpec via `CustomResource` + properties: + spec: + properties: + firstName: + type: string + lastName: + type: string + username: + type: string + required: + - firstName + - lastName + - username + type: object + required: + - spec + title: Person + type: object + served: true + storage: false + subresources: {} + - additionalPrinterColumns: [] + name: v1alpha1 + schema: + openAPIV3Schema: + description: Auto-generated derived type for PersonSpec via `CustomResource` + properties: + spec: + properties: + username: + type: string + required: + - username + type: object + required: + - spec + title: Person + type: object + served: true + storage: false + subresources: {} diff --git a/deploy/helm/zookeeper-operator/templates/deployment.yaml b/deploy/helm/zookeeper-operator/templates/deployment.yaml index 2429e0c3..76f03e96 100644 --- a/deploy/helm/zookeeper-operator/templates/deployment.yaml +++ b/deploy/helm/zookeeper-operator/templates/deployment.yaml @@ -47,6 +47,12 @@ spec: valueFrom: fieldRef: fieldPath: metadata.annotations['internal.stackable.tech/image'] + - name: OPERATOR_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: OPERATOR_SERVICE_NAME + value: {{ include "operator.fullname" . }} {{- if .Values.kubernetesClusterDomain }} - name: KUBERNETES_CLUSTER_DOMAIN value: {{ .Values.kubernetesClusterDomain | quote }} diff --git a/deploy/helm/zookeeper-operator/templates/roles.yaml b/deploy/helm/zookeeper-operator/templates/roles.yaml index 8d3779b1..a295f7bc 100644 --- a/deploy/helm/zookeeper-operator/templates/roles.yaml +++ b/deploy/helm/zookeeper-operator/templates/roles.yaml @@ -6,6 +6,11 @@ metadata: labels: {{- include "operator.labels" . | nindent 4 }} rules: + - apiGroups: [apiextensions.k8s.io] + resources: [customresourcedefinitions] + verbs: + - create + - patch - apiGroups: - "" resources: diff --git a/deploy/helm/zookeeper-operator/templates/service.yaml b/deploy/helm/zookeeper-operator/templates/service.yaml new file mode 100644 index 00000000..660499f3 --- /dev/null +++ b/deploy/helm/zookeeper-operator/templates/service.yaml @@ -0,0 +1,15 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: {{ include "operator.fullname" . }} + labels: + {{- include "operator.labels" . | nindent 4 }} +spec: + selector: + {{- include "operator.selectorLabels" . | nindent 6 }} + ports: + - name: conversion-webhook + protocol: TCP + port: 8443 + targetPort: 8443 diff --git a/rust/operator-binary/Cargo.toml b/rust/operator-binary/Cargo.toml index efafbb3b..49215fd1 100644 --- a/rust/operator-binary/Cargo.toml +++ b/rust/operator-binary/Cargo.toml @@ -12,6 +12,7 @@ build = "build.rs" [dependencies] product-config.workspace = true stackable-operator.workspace = true +stackable-webhook.workspace = true anyhow.workspace = true clap.workspace = true diff --git a/rust/operator-binary/src/crd/mod.rs b/rust/operator-binary/src/crd/mod.rs index f50524f8..ad48113f 100644 --- a/rust/operator-binary/src/crd/mod.rs +++ b/rust/operator-binary/src/crd/mod.rs @@ -38,6 +38,7 @@ use crate::crd::affinity::get_affinity; pub mod affinity; pub mod authentication; +pub mod person; pub mod security; pub mod tls; diff --git a/rust/operator-binary/src/crd/person.rs b/rust/operator-binary/src/crd/person.rs new file mode 100644 index 00000000..562641ae --- /dev/null +++ b/rust/operator-binary/src/crd/person.rs @@ -0,0 +1,82 @@ +use serde::{Deserialize, Serialize}; +use stackable_operator::{ + kube::CustomResource, + schemars::{self, JsonSchema}, + versioned::versioned, +}; + +#[versioned( + version(name = "v1alpha1"), + version(name = "v1alpha2"), + version(name = "v1beta1"), + version(name = "v2"), + version(name = "v3") +)] +pub mod versioned { + #[derive(Clone, CustomResource, Debug, Deserialize, JsonSchema, PartialEq, Serialize)] + #[versioned(k8s( + group = "zookeeper.stackable.tech", + kind = "Person", + plural = "persons", + namespaced, + crates( + kube_core = "stackable_operator::kube::core", + kube_client = "stackable_operator::kube::client", + k8s_openapi = "stackable_operator::k8s_openapi", + schemars = "stackable_operator::schemars", + versioned = "stackable_operator::versioned", + ), + options(enable_tracing), + ))] + #[serde(rename_all = "camelCase")] + struct PersonSpec { + username: String, + + // In v1alpha2 first and last name have been added + #[versioned(added(since = "v1alpha2"))] + first_name: String, + #[versioned(added(since = "v1alpha2"))] + last_name: String, + + // We started out with a enum. As we *need* to provide a default, we have a Unknown variant. + // Afterwards we figured let's be more flexible and accept any arbitrary String. + #[versioned( + added(since = "v2", default = "default_gender"), + changed(since = "v3", from_type = "Gender") + )] + gender: String, + } +} +fn default_gender() -> Gender { + Gender::Unknown +} + +#[derive( + Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, Deserialize, JsonSchema, Serialize, +)] +#[serde(rename_all = "PascalCase")] +pub enum Gender { + Unknown, + Male, + Female, +} + +impl From for String { + fn from(value: Gender) -> Self { + match value { + Gender::Unknown => "Unknown".to_owned(), + Gender::Male => "Male".to_owned(), + Gender::Female => "Female".to_owned(), + } + } +} + +impl From for Gender { + fn from(value: String) -> Self { + match value.as_str() { + "Male" => Self::Male, + "Female" => Self::Female, + _ => Self::Unknown, + } + } +} diff --git a/rust/operator-binary/src/main.rs b/rust/operator-binary/src/main.rs index d847ce14..7f6aac8f 100644 --- a/rust/operator-binary/src/main.rs +++ b/rust/operator-binary/src/main.rs @@ -3,9 +3,9 @@ use std::sync::Arc; use clap::Parser; use crd::{ APP_NAME, OPERATOR_NAME, ZookeeperCluster, ZookeeperClusterVersion, ZookeeperZnode, - ZookeeperZnodeVersion, v1alpha1, + ZookeeperZnodeVersion, person::Person, v1alpha1, }; -use futures::{StreamExt, pin_mut}; +use futures::{StreamExt, future::select, pin_mut}; use stackable_operator::{ YamlSchema, cli::{Command, ProductOperatorRun}, @@ -15,7 +15,7 @@ use stackable_operator::{ }, kube::{ Resource, - core::DeserializeGuard, + core::{DeserializeGuard, conversion::ConversionReview}, runtime::{ Controller, events::{Recorder, Reporter}, @@ -27,6 +27,7 @@ use stackable_operator::{ shared::yaml::SerializeOptions, telemetry::Tracing, }; +use stackable_webhook::servers::ConversionWebhookServer; use crate::{zk_controller::ZK_FULL_CONTROLLER_NAME, znode_controller::ZNODE_FULL_CONTROLLER_NAME}; @@ -60,12 +61,15 @@ async fn main() -> anyhow::Result<()> { .print_yaml_schema(built_info::PKG_VERSION, SerializeOptions::default())?; ZookeeperZnode::merged_crd(ZookeeperZnodeVersion::V1Alpha1)? .print_yaml_schema(built_info::PKG_VERSION, SerializeOptions::default())?; + Person::merged_crd(crd::person::PersonVersion::V3)? + .print_yaml_schema(built_info::PKG_VERSION, SerializeOptions::default())?; } Command::Run(ProductOperatorRun { product_config, watch_namespace, telemetry_arguments, cluster_info_opts, + operator_environment, }) => { // NOTE (@NickLarsenNZ): Before stackable-telemetry was used: // - The console log level was set by `ZOOKEEPER_OPERATOR_LOG`, and is now `CONSOLE_LOG` (when using Tracing::pre_configured). @@ -227,9 +231,40 @@ async fn main() -> anyhow::Result<()> { }, ); - pin_mut!(zk_controller, znode_controller); + let crds_and_handlers = [ + ( + ZookeeperCluster::merged_crd(ZookeeperClusterVersion::V1Alpha1).unwrap(), + ZookeeperCluster::try_convert as fn(ConversionReview) -> ConversionReview, + ), + ( + ZookeeperZnode::merged_crd(ZookeeperZnodeVersion::V1Alpha1).unwrap(), + ZookeeperZnode::try_convert as fn(ConversionReview) -> ConversionReview, + ), + ( + Person::merged_crd(crd::person::PersonVersion::V3).unwrap(), + Person::try_convert as fn(ConversionReview) -> ConversionReview, + ), + ]; + let conversion_webhook = ConversionWebhookServer::new( + crds_and_handlers, + stackable_webhook::Options::default(), + client.as_kube_client(), + OPERATOR_NAME, + operator_environment, + ) + .await + .expect("TODO"); + + // Bootstrap CRDs first to avoid "too old resource version" error + conversion_webhook.reconcile_crds().await.expect("TODO"); + + let conversion_webhook = async move { + conversion_webhook.run().await.expect("TODO"); + }; + + pin_mut!(zk_controller, znode_controller, conversion_webhook); // kube-runtime's Controller will tokio::spawn each reconciliation, so this only concerns the internal watch machinery - futures::future::select(zk_controller, znode_controller).await; + select(zk_controller, select(znode_controller, conversion_webhook)).await; } } From e41a2b9ea94d356a95cd4933bade648efd8521a6 Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Mon, 30 Jun 2025 14:53:44 +0200 Subject: [PATCH 5/7] update --- Cargo.lock | 7 +++++++ Cargo.nix | 17 +++++++++++++++++ rust/operator-binary/src/main.rs | 3 --- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4baacadb..2560c907 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -116,6 +116,12 @@ version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +[[package]] +name = "arc-swap" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" + [[package]] name = "async-broadcast" version = "0.7.2" @@ -3004,6 +3010,7 @@ dependencies = [ name = "stackable-webhook" version = "0.3.1" dependencies = [ + "arc-swap", "axum", "futures-util", "hyper", diff --git a/Cargo.nix b/Cargo.nix index 11df6c01..8a820f6d 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -380,6 +380,19 @@ rec { }; resolvedDefaultFeatures = [ "default" "std" ]; }; + "arc-swap" = rec { + crateName = "arc-swap"; + version = "1.7.1"; + edition = "2018"; + sha256 = "0mrl9a9r9p9bln74q6aszvf22q1ijiw089jkrmabfqkbj31zixv9"; + libName = "arc_swap"; + authors = [ + "Michal 'vorner' Vaner " + ]; + features = { + "serde" = [ "dep:serde" ]; + }; + }; "async-broadcast" = rec { crateName = "async-broadcast"; version = "0.7.2"; @@ -10041,6 +10054,10 @@ rec { "Stackable GmbH " ]; dependencies = [ + { + name = "arc-swap"; + packageId = "arc-swap"; + } { name = "axum"; packageId = "axum"; diff --git a/rust/operator-binary/src/main.rs b/rust/operator-binary/src/main.rs index 7f6aac8f..f082211e 100644 --- a/rust/operator-binary/src/main.rs +++ b/rust/operator-binary/src/main.rs @@ -255,9 +255,6 @@ async fn main() -> anyhow::Result<()> { .await .expect("TODO"); - // Bootstrap CRDs first to avoid "too old resource version" error - conversion_webhook.reconcile_crds().await.expect("TODO"); - let conversion_webhook = async move { conversion_webhook.run().await.expect("TODO"); }; From 37487501b3e61cd8c457846766c32febb696be59 Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Tue, 1 Jul 2025 16:43:19 +0200 Subject: [PATCH 6/7] WIP --- Cargo.lock | 1 + Cargo.nix | 4 ++++ rust/operator-binary/src/main.rs | 14 +++++++------- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2560c907..31a122c2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3018,6 +3018,7 @@ dependencies = [ "k8s-openapi", "kube", "opentelemetry", + "rand 0.9.1", "serde_json", "snafu 0.8.6", "stackable-certs", diff --git a/Cargo.nix b/Cargo.nix index 8a820f6d..14a815e8 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -10092,6 +10092,10 @@ rec { name = "opentelemetry"; packageId = "opentelemetry"; } + { + name = "rand"; + packageId = "rand 0.9.1"; + } { name = "serde_json"; packageId = "serde_json"; diff --git a/rust/operator-binary/src/main.rs b/rust/operator-binary/src/main.rs index f082211e..41e8d24a 100644 --- a/rust/operator-binary/src/main.rs +++ b/rust/operator-binary/src/main.rs @@ -15,7 +15,7 @@ use stackable_operator::{ }, kube::{ Resource, - core::{DeserializeGuard, conversion::ConversionReview}, + core::DeserializeGuard, runtime::{ Controller, events::{Recorder, Reporter}, @@ -233,16 +233,16 @@ async fn main() -> anyhow::Result<()> { let crds_and_handlers = [ ( - ZookeeperCluster::merged_crd(ZookeeperClusterVersion::V1Alpha1).unwrap(), - ZookeeperCluster::try_convert as fn(ConversionReview) -> ConversionReview, + ZookeeperCluster::merged_crd(ZookeeperClusterVersion::V1Alpha1)?, + ZookeeperCluster::try_convert as fn(_) -> _, ), ( - ZookeeperZnode::merged_crd(ZookeeperZnodeVersion::V1Alpha1).unwrap(), - ZookeeperZnode::try_convert as fn(ConversionReview) -> ConversionReview, + ZookeeperZnode::merged_crd(ZookeeperZnodeVersion::V1Alpha1)?, + ZookeeperZnode::try_convert as fn(_) -> _, ), ( - Person::merged_crd(crd::person::PersonVersion::V3).unwrap(), - Person::try_convert as fn(ConversionReview) -> ConversionReview, + Person::merged_crd(crd::person::PersonVersion::V3)?, + Person::try_convert as fn(_) -> _, ), ]; let conversion_webhook = ConversionWebhookServer::new( From 4313e2acb464b06d88fb8ca66e1b4a88588c5e98 Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Mon, 7 Jul 2025 14:15:44 +0200 Subject: [PATCH 7/7] Update op-rs --- Cargo.lock | 110 ++---- Cargo.nix | 337 ++++-------------- .../templates/deployment.yaml | 4 + .../zookeeper-operator/templates/roles.yaml | 3 + rust/operator-binary/src/main.rs | 9 +- 5 files changed, 114 insertions(+), 349 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 31a122c2..f896b25c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -207,7 +207,7 @@ dependencies = [ "serde_urlencoded", "sync_wrapper", "tokio", - "tower 0.5.2", + "tower", "tower-layer", "tower-service", "tracing", @@ -1014,12 +1014,6 @@ dependencies = [ "url", ] -[[package]] -name = "glob" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" - [[package]] name = "gloo-timers" version = "0.3.0" @@ -1055,19 +1049,13 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.9.0", + "indexmap", "slab", "tokio", "tokio-util", "tracing", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - [[package]] name = "hashbrown" version = "0.15.4" @@ -1417,16 +1405,6 @@ dependencies = [ "icu_properties", ] -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - [[package]] name = "indexmap" version = "2.9.0" @@ -1434,7 +1412,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", - "hashbrown 0.15.4", + "hashbrown", ] [[package]] @@ -1614,7 +1592,7 @@ dependencies = [ "thiserror 2.0.12", "tokio", "tokio-util", - "tower 0.5.2", + "tower", "tower-http", "tracing", ] @@ -1664,7 +1642,7 @@ dependencies = [ "backon", "educe", "futures 0.3.31", - "hashbrown 0.15.4", + "hashbrown", "hostname", "json-patch", "k8s-openapi", @@ -1885,9 +1863,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "opentelemetry" -version = "0.29.1" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e87237e2775f74896f9ad219d26a2081751187eb7c9f5c58dde20a23b95d16c" +checksum = "aaf416e4cb72756655126f7dd7bb0af49c674f4c1b9903e80c009e0c37e552e6" dependencies = [ "futures-core", "futures-sink", @@ -1899,9 +1877,9 @@ dependencies = [ [[package]] name = "opentelemetry-appender-tracing" -version = "0.29.1" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e716f864eb23007bdd9dc4aec381e188a1cee28eecf22066772b5fd822b9727d" +checksum = "e68f63eca5fad47e570e00e893094fc17be959c80c79a7d6ec1abdd5ae6ffc16" dependencies = [ "opentelemetry", "tracing", @@ -1911,25 +1889,23 @@ dependencies = [ [[package]] name = "opentelemetry-http" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46d7ab32b827b5b495bd90fa95a6cb65ccc293555dcc3199ae2937d2d237c8ed" +checksum = "50f6639e842a97dbea8886e3439710ae463120091e2e064518ba8e716e6ac36d" dependencies = [ "async-trait", "bytes", "http", "opentelemetry", "reqwest", - "tracing", ] [[package]] name = "opentelemetry-otlp" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d899720fe06916ccba71c01d04ecd77312734e2de3467fd30d9d580c8ce85656" +checksum = "dbee664a43e07615731afc539ca60c6d9f1a9425e25ca09c57bc36c87c55852b" dependencies = [ - "futures-core", "http", "opentelemetry", "opentelemetry-http", @@ -1945,9 +1921,9 @@ dependencies = [ [[package]] name = "opentelemetry-proto" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c40da242381435e18570d5b9d50aca2a4f4f4d8e146231adb4e7768023309b3" +checksum = "2e046fd7660710fe5a05e8748e70d9058dc15c94ba914e7c4faa7c728f0e8ddc" dependencies = [ "opentelemetry", "opentelemetry_sdk", @@ -1957,20 +1933,19 @@ dependencies = [ [[package]] name = "opentelemetry-semantic-conventions" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84b29a9f89f1a954936d5aa92f19b2feec3c8f3971d3e96206640db7f9706ae3" +checksum = "83d059a296a47436748557a353c5e6c5705b9470ef6c95cfc52c21a8814ddac2" [[package]] name = "opentelemetry_sdk" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afdefb21d1d47394abc1ba6c57363ab141be19e27cc70d0e422b7f303e4d290b" +checksum = "11f644aa9e5e31d11896e024305d7e3c98a88884d9f8919dbf37a9991bc47a4b" dependencies = [ "futures-channel", "futures-executor", "futures-util", - "glob", "opentelemetry", "percent-encoding", "rand 0.9.1", @@ -1978,7 +1953,6 @@ dependencies = [ "thiserror 2.0.12", "tokio", "tokio-stream", - "tracing", ] [[package]] @@ -2267,7 +2241,6 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "libc", "rand_chacha 0.3.1", "rand_core 0.6.4", ] @@ -2398,7 +2371,7 @@ dependencies = [ "serde_urlencoded", "sync_wrapper", "tokio", - "tower 0.5.2", + "tower", "tower-http", "tower-service", "url", @@ -2725,7 +2698,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.9.0", + "indexmap", "itoa", "ryu", "serde", @@ -2909,7 +2882,8 @@ dependencies = [ "educe", "either", "futures 0.3.31", - "indexmap 2.9.0", + "http", + "indexmap", "json-patch", "k8s-openapi", "kube", @@ -2970,7 +2944,7 @@ dependencies = [ "snafu 0.8.6", "strum", "tokio", - "tower 0.5.2", + "tower", "tracing", "tracing-appender", "tracing-opentelemetry", @@ -3026,7 +3000,7 @@ dependencies = [ "stackable-telemetry", "tokio", "tokio-rustls", - "tower 0.5.2", + "tower", "tower-http", "tracing", "tracing-opentelemetry", @@ -3328,9 +3302,9 @@ dependencies = [ [[package]] name = "tonic" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +checksum = "7e581ba15a835f4d9ea06c55ab1bd4dce26fc53752c69a04aac00703bfb49ba9" dependencies = [ "async-trait", "base64", @@ -3347,27 +3321,7 @@ dependencies = [ "prost", "tokio", "tokio-stream", - "tower 0.4.13", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "indexmap 1.9.3", - "pin-project", - "pin-project-lite", - "rand 0.8.5", - "slab", - "tokio", - "tokio-util", + "tower", "tower-layer", "tower-service", "tracing", @@ -3381,7 +3335,9 @@ checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", + "indexmap", "pin-project-lite", + "slab", "sync_wrapper", "tokio", "tokio-util", @@ -3405,7 +3361,7 @@ dependencies = [ "iri-string", "mime", "pin-project-lite", - "tower 0.5.2", + "tower", "tower-layer", "tower-service", "tracing", @@ -3481,9 +3437,9 @@ dependencies = [ [[package]] name = "tracing-opentelemetry" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd8e764bd6f5813fd8bebc3117875190c5b0415be8f7f8059bffb6ecd979c444" +checksum = "ddcf5959f39507d0d04d6413119c04f33b623f4f951ebcbdddddfad2d0623a9c" dependencies = [ "js-sys", "once_cell", diff --git a/Cargo.nix b/Cargo.nix index 14a815e8..dbbdaf72 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -637,7 +637,7 @@ rec { } { name = "tower"; - packageId = "tower 0.5.2"; + packageId = "tower"; usesDefaultFeatures = false; features = [ "util" ]; } @@ -680,7 +680,7 @@ rec { } { name = "tower"; - packageId = "tower 0.5.2"; + packageId = "tower"; rename = "tower"; features = [ "util" "timeout" "limit" "load-shed" "steer" "filter" ]; } @@ -3199,16 +3199,6 @@ rec { "zlib-ng-compat" = [ "libgit2-sys/zlib-ng-compat" ]; }; }; - "glob" = rec { - crateName = "glob"; - version = "0.3.2"; - edition = "2015"; - sha256 = "1cm2w34b5w45fxr522h5b0fv1bxchfswcj560m3pnjbia7asvld8"; - authors = [ - "The Rust Project Developers" - ]; - - }; "gloo-timers" = rec { crateName = "gloo-timers"; version = "0.3.0"; @@ -3319,7 +3309,7 @@ rec { } { name = "indexmap"; - packageId = "indexmap 2.9.0"; + packageId = "indexmap"; features = [ "std" ]; } { @@ -3353,29 +3343,7 @@ rec { features = { }; }; - "hashbrown 0.12.3" = rec { - crateName = "hashbrown"; - version = "0.12.3"; - edition = "2021"; - sha256 = "1268ka4750pyg2pbgsr43f0289l5zah4arir2k4igx5a8c6fg7la"; - authors = [ - "Amanieu d'Antras " - ]; - features = { - "ahash" = [ "dep:ahash" ]; - "ahash-compile-time-rng" = [ "ahash/compile-time-rng" ]; - "alloc" = [ "dep:alloc" ]; - "bumpalo" = [ "dep:bumpalo" ]; - "compiler_builtins" = [ "dep:compiler_builtins" ]; - "core" = [ "dep:core" ]; - "default" = [ "ahash" "inline-more" ]; - "rayon" = [ "dep:rayon" ]; - "rustc-dep-of-std" = [ "nightly" "core" "compiler_builtins" "alloc" "rustc-internal-api" ]; - "serde" = [ "dep:serde" ]; - }; - resolvedDefaultFeatures = [ "raw" ]; - }; - "hashbrown 0.15.4" = rec { + "hashbrown" = rec { crateName = "hashbrown"; version = "0.15.4"; edition = "2021"; @@ -4587,35 +4555,7 @@ rec { }; resolvedDefaultFeatures = [ "compiled_data" ]; }; - "indexmap 1.9.3" = rec { - crateName = "indexmap"; - version = "1.9.3"; - edition = "2021"; - sha256 = "16dxmy7yvk51wvnih3a3im6fp5lmx0wx76i03n06wyak6cwhw1xx"; - dependencies = [ - { - name = "hashbrown"; - packageId = "hashbrown 0.12.3"; - usesDefaultFeatures = false; - features = [ "raw" ]; - } - ]; - buildDependencies = [ - { - name = "autocfg"; - packageId = "autocfg"; - } - ]; - features = { - "arbitrary" = [ "dep:arbitrary" ]; - "quickcheck" = [ "dep:quickcheck" ]; - "rayon" = [ "dep:rayon" ]; - "rustc-rayon" = [ "dep:rustc-rayon" ]; - "serde" = [ "dep:serde" ]; - "serde-1" = [ "serde" ]; - }; - }; - "indexmap 2.9.0" = rec { + "indexmap" = rec { crateName = "indexmap"; version = "2.9.0"; edition = "2021"; @@ -4628,7 +4568,7 @@ rec { } { name = "hashbrown"; - packageId = "hashbrown 0.15.4"; + packageId = "hashbrown"; usesDefaultFeatures = false; } ]; @@ -5239,7 +5179,7 @@ rec { } { name = "tower"; - packageId = "tower 0.5.2"; + packageId = "tower"; optional = true; features = [ "buffer" "filter" "util" ]; } @@ -5503,7 +5443,7 @@ rec { } { name = "hashbrown"; - packageId = "hashbrown 0.15.4"; + packageId = "hashbrown"; } { name = "hostname"; @@ -6197,9 +6137,9 @@ rec { }; "opentelemetry" = rec { crateName = "opentelemetry"; - version = "0.29.1"; + version = "0.30.0"; edition = "2021"; - sha256 = "0v6ijlxs486yip2zbjdpgqc525q8l8k9s8ddz6b4ixvm4xz271wy"; + sha256 = "1rjjwlvhr7h01kl0768v9i7ng77l1axxfzbg29ancxbjrgj1dx5a"; dependencies = [ { name = "futures-core"; @@ -6251,9 +6191,9 @@ rec { }; "opentelemetry-appender-tracing" = rec { crateName = "opentelemetry-appender-tracing"; - version = "0.29.1"; + version = "0.30.1"; edition = "2021"; - sha256 = "0zbjp4idhprbfxk21wpcivicx8c8w60w7bn4kpfpn013xdjgh5p7"; + sha256 = "05pwdypdbg8sxkbafy8cr1cyjyy19w4r7s001rbpxm7slpn673z6"; libName = "opentelemetry_appender_tracing"; dependencies = [ { @@ -6304,9 +6244,9 @@ rec { }; "opentelemetry-http" = rec { crateName = "opentelemetry-http"; - version = "0.29.0"; + version = "0.30.0"; edition = "2021"; - sha256 = "1vf86z9d4dr9msck3k2xan9w5k35rfk9bylhpnav9d97p0rapms6"; + sha256 = "0vf3d9p733ms312hcbhy14h32imf22bl7qw6i3mdp5rahjg67xjh"; libName = "opentelemetry_http"; dependencies = [ { @@ -6335,35 +6275,24 @@ rec { usesDefaultFeatures = false; features = [ "blocking" ]; } - { - name = "tracing"; - packageId = "tracing"; - optional = true; - usesDefaultFeatures = false; - } ]; features = { "default" = [ "internal-logs" ]; "hyper" = [ "dep:http-body-util" "dep:hyper" "dep:hyper-util" "dep:tokio" ]; - "internal-logs" = [ "tracing" "opentelemetry/internal-logs" ]; + "internal-logs" = [ "opentelemetry/internal-logs" ]; "reqwest" = [ "dep:reqwest" ]; "reqwest-rustls" = [ "reqwest" "reqwest/rustls-tls-native-roots" ]; "reqwest-rustls-webpki-roots" = [ "reqwest" "reqwest/rustls-tls-webpki-roots" ]; - "tracing" = [ "dep:tracing" ]; }; - resolvedDefaultFeatures = [ "default" "internal-logs" "reqwest" "tracing" ]; + resolvedDefaultFeatures = [ "default" "internal-logs" "reqwest" ]; }; "opentelemetry-otlp" = rec { crateName = "opentelemetry-otlp"; - version = "0.29.0"; + version = "0.30.0"; edition = "2021"; - sha256 = "0mjnx260qn4x1p9pyip35m7764kkszn087f0f6xcq5k9w07p56fq"; + sha256 = "0aw5amychdmwayfa0p724na1m7vd1jk9qlzw39riaxp08d56dvnv"; libName = "opentelemetry_otlp"; dependencies = [ - { - name = "futures-core"; - packageId = "futures-core"; - } { name = "http"; packageId = "http"; @@ -6438,7 +6367,7 @@ rec { name = "tonic"; packageId = "tonic"; usesDefaultFeatures = false; - features = [ "server" ]; + features = [ "router" "server" ]; } ]; features = { @@ -6463,8 +6392,8 @@ rec { "serde" = [ "dep:serde" ]; "serde_json" = [ "dep:serde_json" ]; "serialize" = [ "serde" "serde_json" ]; - "tls" = [ "tonic/tls" ]; - "tls-roots" = [ "tls" "tonic/tls-roots" ]; + "tls" = [ "tonic/tls-ring" ]; + "tls-roots" = [ "tls" "tonic/tls-native-roots" ]; "tls-webpki-roots" = [ "tls" "tonic/tls-webpki-roots" ]; "tokio" = [ "dep:tokio" ]; "tonic" = [ "dep:tonic" ]; @@ -6476,9 +6405,9 @@ rec { }; "opentelemetry-proto" = rec { crateName = "opentelemetry-proto"; - version = "0.29.0"; + version = "0.30.0"; edition = "2021"; - sha256 = "1cq96c16hxsfvcd26ip1v3sg9952mi89snqdawc5whw14cjdlh4c"; + sha256 = "1p4d1s7p4z5a9xy4x4dsjifc3385v5q8wx780mdgw407cvbny11f"; libName = "opentelemetry_proto"; dependencies = [ { @@ -6511,7 +6440,7 @@ rec { "gen-tonic" = [ "gen-tonic-messages" "tonic/channel" ]; "gen-tonic-messages" = [ "tonic" "prost" ]; "hex" = [ "dep:hex" ]; - "internal-logs" = [ "tracing" ]; + "internal-logs" = [ "opentelemetry/internal-logs" ]; "logs" = [ "opentelemetry/logs" "opentelemetry_sdk/logs" ]; "metrics" = [ "opentelemetry/metrics" "opentelemetry_sdk/metrics" ]; "prost" = [ "dep:prost" ]; @@ -6520,7 +6449,6 @@ rec { "testing" = [ "opentelemetry/testing" ]; "tonic" = [ "dep:tonic" ]; "trace" = [ "opentelemetry/trace" "opentelemetry_sdk/trace" ]; - "tracing" = [ "dep:tracing" ]; "with-schemars" = [ "schemars" ]; "with-serde" = [ "serde" "hex" "base64" ]; "zpages" = [ "trace" ]; @@ -6529,9 +6457,9 @@ rec { }; "opentelemetry-semantic-conventions" = rec { crateName = "opentelemetry-semantic-conventions"; - version = "0.29.0"; + version = "0.30.0"; edition = "2021"; - sha256 = "1qvaf3wvf3b40rifklvi767krv7yn8cjzaasdn9m9agii6grmcl4"; + sha256 = "1hns9n0sh89cqp7rav7gf2a5nw65wv2m78sphms3cx54jsi5kl43"; libName = "opentelemetry_semantic_conventions"; features = { }; @@ -6539,9 +6467,9 @@ rec { }; "opentelemetry_sdk" = rec { crateName = "opentelemetry_sdk"; - version = "0.29.0"; + version = "0.30.0"; edition = "2021"; - sha256 = "02r99lz30zrb8870vivww8cvwhdi78v5fv5sq6mr8wyls4hzppmg"; + sha256 = "0jvsqhdrka9ppyfr3y6rhj4ai61wgrfk0970jqcd2cayksm49xhi"; dependencies = [ { name = "futures-channel"; @@ -6557,11 +6485,6 @@ rec { usesDefaultFeatures = false; features = [ "std" "sink" "async-await-macro" ]; } - { - name = "glob"; - packageId = "glob"; - optional = true; - } { name = "opentelemetry"; packageId = "opentelemetry"; @@ -6600,26 +6523,20 @@ rec { packageId = "tokio-stream"; optional = true; } - { - name = "tracing"; - packageId = "tracing"; - optional = true; - usesDefaultFeatures = false; - } ]; features = { "default" = [ "trace" "metrics" "logs" "internal-logs" ]; - "experimental_logs_batch_log_processor_with_async_runtime" = [ "logs" ]; + "experimental_logs_batch_log_processor_with_async_runtime" = [ "logs" "experimental_async_runtime" ]; "experimental_logs_concurrent_log_processor" = [ "logs" ]; + "experimental_metrics_custom_reader" = [ "metrics" ]; "experimental_metrics_disable_name_validation" = [ "metrics" ]; - "experimental_metrics_periodicreader_with_async_runtime" = [ "metrics" ]; - "experimental_trace_batch_span_processor_with_async_runtime" = [ "trace" ]; - "glob" = [ "dep:glob" ]; + "experimental_metrics_periodicreader_with_async_runtime" = [ "metrics" "experimental_async_runtime" ]; + "experimental_trace_batch_span_processor_with_async_runtime" = [ "trace" "experimental_async_runtime" ]; "http" = [ "dep:http" ]; - "internal-logs" = [ "tracing" ]; - "jaeger_remote_sampler" = [ "trace" "opentelemetry-http" "http" "serde" "serde_json" "url" ]; + "internal-logs" = [ "opentelemetry/internal-logs" ]; + "jaeger_remote_sampler" = [ "trace" "opentelemetry-http" "http" "serde" "serde_json" "url" "experimental_async_runtime" ]; "logs" = [ "opentelemetry/logs" "serde_json" ]; - "metrics" = [ "opentelemetry/metrics" "glob" ]; + "metrics" = [ "opentelemetry/metrics" ]; "opentelemetry-http" = [ "dep:opentelemetry-http" ]; "percent-encoding" = [ "dep:percent-encoding" ]; "rand" = [ "dep:rand" ]; @@ -6633,10 +6550,9 @@ rec { "tokio" = [ "dep:tokio" ]; "tokio-stream" = [ "dep:tokio-stream" ]; "trace" = [ "opentelemetry/trace" "rand" "percent-encoding" ]; - "tracing" = [ "dep:tracing" ]; "url" = [ "dep:url" ]; }; - resolvedDefaultFeatures = [ "default" "experimental_async_runtime" "glob" "internal-logs" "logs" "metrics" "percent-encoding" "rand" "rt-tokio" "serde_json" "spec_unstable_logs_enabled" "tokio" "tokio-stream" "trace" "tracing" ]; + resolvedDefaultFeatures = [ "default" "experimental_async_runtime" "internal-logs" "logs" "metrics" "percent-encoding" "rand" "rt-tokio" "serde_json" "spec_unstable_logs_enabled" "tokio" "tokio-stream" "trace" ]; }; "ordered-float" = rec { crateName = "ordered-float"; @@ -7431,13 +7347,6 @@ rec { "The Rust Project Developers" ]; dependencies = [ - { - name = "libc"; - packageId = "libc"; - optional = true; - usesDefaultFeatures = false; - target = { target, features }: (target."unix" or false); - } { name = "rand_chacha"; packageId = "rand_chacha 0.3.1"; @@ -7463,7 +7372,7 @@ rec { "std" = [ "rand_core/std" "rand_chacha/std" "alloc" "getrandom" "libc" ]; "std_rng" = [ "rand_chacha" ]; }; - resolvedDefaultFeatures = [ "alloc" "default" "getrandom" "libc" "rand_chacha" "small_rng" "std" "std_rng" ]; + resolvedDefaultFeatures = [ "rand_chacha" "std_rng" ]; }; "rand 0.9.1" = rec { crateName = "rand"; @@ -7526,7 +7435,6 @@ rec { "serde1" = [ "serde" ]; "std" = [ "ppv-lite86/std" ]; }; - resolvedDefaultFeatures = [ "std" ]; }; "rand_chacha 0.9.0" = rec { crateName = "rand_chacha"; @@ -7922,7 +7830,7 @@ rec { } { name = "tower"; - packageId = "tower 0.5.2"; + packageId = "tower"; usesDefaultFeatures = false; target = { target, features }: (!("wasm32" == target."arch" or null)); features = [ "timeout" "util" ]; @@ -7995,7 +7903,7 @@ rec { } { name = "tower"; - packageId = "tower 0.5.2"; + packageId = "tower"; usesDefaultFeatures = false; features = [ "limit" ]; } @@ -9058,7 +8966,7 @@ rec { dependencies = [ { name = "indexmap"; - packageId = "indexmap 2.9.0"; + packageId = "indexmap"; } { name = "itoa"; @@ -9646,9 +9554,13 @@ rec { name = "futures"; packageId = "futures 0.3.31"; } + { + name = "http"; + packageId = "http"; + } { name = "indexmap"; - packageId = "indexmap 2.9.0"; + packageId = "indexmap"; } { name = "json-patch"; @@ -9888,7 +9800,7 @@ rec { } { name = "tower"; - packageId = "tower 0.5.2"; + packageId = "tower"; features = [ "util" ]; } { @@ -10130,7 +10042,7 @@ rec { } { name = "tower"; - packageId = "tower 0.5.2"; + packageId = "tower"; features = [ "util" ]; } { @@ -11106,9 +11018,9 @@ rec { }; "tonic" = rec { crateName = "tonic"; - version = "0.12.3"; + version = "0.13.1"; edition = "2021"; - sha256 = "0ljd1lfjpw0vrm5wbv15x6nq2i38llsanls5rkzmdn2n0wrmnz47"; + sha256 = "1acvnjzh61y0m829mijj6z2nzqnwshdsnmbcl2g4spw3bahinn3y"; authors = [ "Lucio Franco " ]; @@ -11188,7 +11100,7 @@ rec { } { name = "tower"; - packageId = "tower 0.4.13"; + packageId = "tower"; optional = true; usesDefaultFeatures = false; } @@ -11209,36 +11121,38 @@ rec { { name = "tokio"; packageId = "tokio"; - features = [ "rt" "macros" ]; + features = [ "rt-multi-thread" "macros" ]; } { name = "tower"; - packageId = "tower 0.4.13"; + packageId = "tower"; features = [ "full" ]; } ]; features = { + "_tls-any" = [ "dep:tokio-rustls" "dep:tokio" "tokio?/rt" "tokio?/macros" ]; "channel" = [ "dep:hyper" "hyper?/client" "dep:hyper-util" "hyper-util?/client-legacy" "dep:tower" "tower?/balance" "tower?/buffer" "tower?/discover" "tower?/limit" "tower?/util" "dep:tokio" "tokio?/time" "dep:hyper-timeout" ]; "codegen" = [ "dep:async-trait" ]; - "default" = [ "transport" "codegen" "prost" ]; + "default" = [ "router" "transport" "codegen" "prost" ]; + "deflate" = [ "dep:flate2" ]; "gzip" = [ "dep:flate2" ]; "prost" = [ "dep:prost" ]; "router" = [ "dep:axum" "dep:tower" "tower?/util" ]; - "server" = [ "router" "dep:async-stream" "dep:h2" "dep:hyper" "hyper?/server" "dep:hyper-util" "hyper-util?/service" "hyper-util?/server-auto" "dep:socket2" "dep:tokio" "tokio?/macros" "tokio?/net" "tokio?/time" "tokio-stream/net" "dep:tower" "tower?/util" "tower?/limit" ]; - "tls" = [ "dep:rustls-pemfile" "dep:tokio-rustls" "dep:tokio" "tokio?/rt" "tokio?/macros" ]; - "tls-native-roots" = [ "tls" "channel" "dep:rustls-native-certs" ]; - "tls-roots" = [ "tls-native-roots" ]; - "tls-webpki-roots" = [ "tls" "channel" "dep:webpki-roots" ]; + "server" = [ "dep:h2" "dep:hyper" "hyper?/server" "dep:hyper-util" "hyper-util?/service" "hyper-util?/server-auto" "dep:socket2" "dep:tokio" "tokio?/macros" "tokio?/net" "tokio?/time" "tokio-stream/net" "dep:tower" "tower?/util" "tower?/limit" ]; + "tls-aws-lc" = [ "_tls-any" "tokio-rustls/aws-lc-rs" ]; + "tls-native-roots" = [ "_tls-any" "channel" "dep:rustls-native-certs" ]; + "tls-ring" = [ "_tls-any" "tokio-rustls/ring" ]; + "tls-webpki-roots" = [ "_tls-any" "channel" "dep:webpki-roots" ]; "transport" = [ "server" "channel" ]; "zstd" = [ "dep:zstd" ]; }; resolvedDefaultFeatures = [ "channel" "codegen" "gzip" "prost" ]; }; - "tower 0.4.13" = rec { + "tower" = rec { crateName = "tower"; - version = "0.4.13"; + version = "0.5.2"; edition = "2018"; - sha256 = "073wncyqav4sak1p755hf6vl66njgfc1z1g1di9rxx3cvvh9pymq"; + sha256 = "1ybmd59nm4abl9bsvy6rx31m4zvzp5rja2slzpn712y9b68ssffh"; authors = [ "Tower Maintainers " ]; @@ -11257,12 +11171,7 @@ rec { } { name = "indexmap"; - packageId = "indexmap 1.9.3"; - optional = true; - } - { - name = "pin-project"; - packageId = "pin-project"; + packageId = "indexmap"; optional = true; } { @@ -11270,117 +11179,11 @@ rec { packageId = "pin-project-lite"; optional = true; } - { - name = "rand"; - packageId = "rand 0.8.5"; - optional = true; - features = [ "small_rng" ]; - } { name = "slab"; packageId = "slab"; optional = true; } - { - name = "tokio"; - packageId = "tokio"; - optional = true; - features = [ "sync" ]; - } - { - name = "tokio-util"; - packageId = "tokio-util"; - optional = true; - usesDefaultFeatures = false; - } - { - name = "tower-layer"; - packageId = "tower-layer"; - } - { - name = "tower-service"; - packageId = "tower-service"; - } - { - name = "tracing"; - packageId = "tracing"; - optional = true; - usesDefaultFeatures = false; - features = [ "std" ]; - } - ]; - devDependencies = [ - { - name = "pin-project-lite"; - packageId = "pin-project-lite"; - } - { - name = "tokio"; - packageId = "tokio"; - features = [ "macros" "sync" "test-util" "rt-multi-thread" ]; - } - ]; - features = { - "__common" = [ "futures-core" "pin-project-lite" ]; - "balance" = [ "discover" "load" "ready-cache" "make" "rand" "slab" ]; - "buffer" = [ "__common" "tokio/sync" "tokio/rt" "tokio-util" "tracing" ]; - "default" = [ "log" ]; - "discover" = [ "__common" ]; - "filter" = [ "__common" "futures-util" ]; - "full" = [ "balance" "buffer" "discover" "filter" "hedge" "limit" "load" "load-shed" "make" "ready-cache" "reconnect" "retry" "spawn-ready" "steer" "timeout" "util" ]; - "futures-core" = [ "dep:futures-core" ]; - "futures-util" = [ "dep:futures-util" ]; - "hdrhistogram" = [ "dep:hdrhistogram" ]; - "hedge" = [ "util" "filter" "futures-util" "hdrhistogram" "tokio/time" "tracing" ]; - "indexmap" = [ "dep:indexmap" ]; - "limit" = [ "__common" "tokio/time" "tokio/sync" "tokio-util" "tracing" ]; - "load" = [ "__common" "tokio/time" "tracing" ]; - "load-shed" = [ "__common" ]; - "log" = [ "tracing/log" ]; - "make" = [ "futures-util" "pin-project-lite" "tokio/io-std" ]; - "pin-project" = [ "dep:pin-project" ]; - "pin-project-lite" = [ "dep:pin-project-lite" ]; - "rand" = [ "dep:rand" ]; - "ready-cache" = [ "futures-core" "futures-util" "indexmap" "tokio/sync" "tracing" "pin-project-lite" ]; - "reconnect" = [ "make" "tokio/io-std" "tracing" ]; - "retry" = [ "__common" "tokio/time" ]; - "slab" = [ "dep:slab" ]; - "spawn-ready" = [ "__common" "futures-util" "tokio/sync" "tokio/rt" "util" "tracing" ]; - "timeout" = [ "pin-project-lite" "tokio/time" ]; - "tokio" = [ "dep:tokio" ]; - "tokio-stream" = [ "dep:tokio-stream" ]; - "tokio-util" = [ "dep:tokio-util" ]; - "tracing" = [ "dep:tracing" ]; - "util" = [ "__common" "futures-util" "pin-project" ]; - }; - resolvedDefaultFeatures = [ "__common" "balance" "buffer" "discover" "futures-core" "futures-util" "indexmap" "limit" "load" "make" "pin-project" "pin-project-lite" "rand" "ready-cache" "slab" "tokio" "tokio-util" "tracing" "util" ]; - }; - "tower 0.5.2" = rec { - crateName = "tower"; - version = "0.5.2"; - edition = "2018"; - sha256 = "1ybmd59nm4abl9bsvy6rx31m4zvzp5rja2slzpn712y9b68ssffh"; - authors = [ - "Tower Maintainers " - ]; - dependencies = [ - { - name = "futures-core"; - packageId = "futures-core"; - optional = true; - } - { - name = "futures-util"; - packageId = "futures-util"; - optional = true; - usesDefaultFeatures = false; - features = [ "alloc" ]; - } - { - name = "pin-project-lite"; - packageId = "pin-project-lite"; - optional = true; - } { name = "sync_wrapper"; packageId = "sync_wrapper"; @@ -11462,7 +11265,7 @@ rec { "tracing" = [ "dep:tracing" ]; "util" = [ "__common" "futures-util" "pin-project-lite" "sync_wrapper" ]; }; - resolvedDefaultFeatures = [ "__common" "buffer" "filter" "futures-core" "futures-util" "log" "make" "pin-project-lite" "sync_wrapper" "timeout" "tokio" "tokio-util" "tracing" "util" ]; + resolvedDefaultFeatures = [ "__common" "balance" "buffer" "discover" "filter" "futures-core" "futures-util" "indexmap" "limit" "load" "log" "make" "pin-project-lite" "ready-cache" "slab" "sync_wrapper" "timeout" "tokio" "tokio-util" "tracing" "util" ]; }; "tower-http" = rec { crateName = "tower-http"; @@ -11519,7 +11322,7 @@ rec { } { name = "tower"; - packageId = "tower 0.5.2"; + packageId = "tower"; optional = true; } { @@ -11552,7 +11355,7 @@ rec { } { name = "tower"; - packageId = "tower 0.5.2"; + packageId = "tower"; features = [ "buffer" "util" "retry" "make" "timeout" ]; } ]; @@ -11797,9 +11600,9 @@ rec { }; "tracing-opentelemetry" = rec { crateName = "tracing-opentelemetry"; - version = "0.30.0"; + version = "0.31.0"; edition = "2021"; - sha256 = "0i64g7cyrdpzkc2zixz8bd0v1icha63ifcdwpvc3z0gmsr5pd3px"; + sha256 = "171scb8d5ynxvnyvq7lm9wzn4fzk0jf124v49p8d01wmydcmkkyx"; libName = "tracing_opentelemetry"; dependencies = [ { @@ -11866,7 +11669,7 @@ rec { name = "opentelemetry_sdk"; packageId = "opentelemetry_sdk"; usesDefaultFeatures = false; - features = [ "trace" "rt-tokio" ]; + features = [ "trace" "rt-tokio" "experimental_metrics_custom_reader" ]; } { name = "tracing"; diff --git a/deploy/helm/zookeeper-operator/templates/deployment.yaml b/deploy/helm/zookeeper-operator/templates/deployment.yaml index 76f03e96..f7cd44ae 100644 --- a/deploy/helm/zookeeper-operator/templates/deployment.yaml +++ b/deploy/helm/zookeeper-operator/templates/deployment.yaml @@ -47,6 +47,10 @@ spec: valueFrom: fieldRef: fieldPath: metadata.annotations['internal.stackable.tech/image'] + - name: KUBERNETES_NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName - name: OPERATOR_NAMESPACE valueFrom: fieldRef: diff --git a/deploy/helm/zookeeper-operator/templates/roles.yaml b/deploy/helm/zookeeper-operator/templates/roles.yaml index a295f7bc..0df8d98f 100644 --- a/deploy/helm/zookeeper-operator/templates/roles.yaml +++ b/deploy/helm/zookeeper-operator/templates/roles.yaml @@ -18,6 +18,9 @@ rules: verbs: - list - watch + - apiGroups: [""] + resources: [nodes/proxy] + verbs: [get] - apiGroups: - "" resources: diff --git a/rust/operator-binary/src/main.rs b/rust/operator-binary/src/main.rs index 41e8d24a..ee2f56d6 100644 --- a/rust/operator-binary/src/main.rs +++ b/rust/operator-binary/src/main.rs @@ -67,16 +67,15 @@ async fn main() -> anyhow::Result<()> { Command::Run(ProductOperatorRun { product_config, watch_namespace, - telemetry_arguments, - cluster_info_opts, + telemetry, + cluster_info, operator_environment, }) => { // NOTE (@NickLarsenNZ): Before stackable-telemetry was used: // - The console log level was set by `ZOOKEEPER_OPERATOR_LOG`, and is now `CONSOLE_LOG` (when using Tracing::pre_configured). // - The file log level was set by `ZOOKEEPER_OPERATOR_LOG`, and is now set via `FILE_LOG` (when using Tracing::pre_configured). // - The file log directory was set by `ZOOKEEPER_OPERATOR_LOG_DIRECTORY`, and is now set by `ROLLING_LOGS_DIR` (or via `--rolling-logs `). - let _tracing_guard = - Tracing::pre_configured(built_info::PKG_NAME, telemetry_arguments).init()?; + let _tracing_guard = Tracing::pre_configured(built_info::PKG_NAME, telemetry).init()?; tracing::info!( built_info.pkg_version = built_info::PKG_VERSION, @@ -93,7 +92,7 @@ async fn main() -> anyhow::Result<()> { ])?; let client = stackable_operator::client::initialize_operator( Some(OPERATOR_NAME.to_string()), - &cluster_info_opts, + &cluster_info, ) .await?;