From 3818ff048a6db4fe2316480c41a5a37f49e4f892 Mon Sep 17 00:00:00 2001 From: Techassi Date: Mon, 6 Oct 2025 15:57:39 +0200 Subject: [PATCH 1/3] feat: Add EoS checker --- Cargo.lock | 380 ++--- Cargo.nix | 1278 ++++++++++------- Cargo.toml | 4 +- crate-hashes.json | 16 +- rust/operator-binary/src/crd/v1alpha1_impl.rs | 4 +- rust/operator-binary/src/main.rs | 97 +- 6 files changed, 1066 insertions(+), 713 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2ae18a06..3a3ed0b9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -281,18 +281,18 @@ dependencies = [ [[package]] name = "bit-set" -version = "0.5.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1" +checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" dependencies = [ "bit-vec", ] [[package]] name = "bit-vec" -version = "0.6.3" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" [[package]] name = "bitflags" @@ -595,38 +595,14 @@ dependencies = [ "typenum", ] -[[package]] -name = "darling" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" -dependencies = [ - "darling_core 0.20.11", - "darling_macro 0.20.11", -] - [[package]] name = "darling" version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" dependencies = [ - "darling_core 0.21.3", - "darling_macro 0.21.3", -] - -[[package]] -name = "darling_core" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.106", + "darling_core", + "darling_macro", ] [[package]] @@ -643,24 +619,13 @@ dependencies = [ "syn 2.0.106", ] -[[package]] -name = "darling_macro" -version = "0.20.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" -dependencies = [ - "darling_core 0.20.11", - "quote", - "syn 2.0.106", -] - [[package]] name = "darling_macro" version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ - "darling_core 0.21.3", + "darling_core", "quote", "syn 2.0.106", ] @@ -857,9 +822,9 @@ dependencies = [ [[package]] name = "fancy-regex" -version = "0.13.0" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "531e46835a22af56d1e3b66f04844bed63158bc094a628bec1d321d9b4c44bf2" +checksum = "998b056554fbe42e03ae0e152895cd1a7e1002aec800fdc6635d20270260c46f" dependencies = [ "bit-set", "regex-automata", @@ -1120,30 +1085,6 @@ dependencies = [ "foldhash", ] -[[package]] -name = "headers" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3314d5adb5d94bcdf56771f2e50dbbc80bb4bdf88967526706205ac9eff24eb" -dependencies = [ - "base64", - "bytes", - "headers-core", - "http", - "httpdate", - "mime", - "sha1", -] - -[[package]] -name = "headers-core" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4" -dependencies = [ - "http", -] - [[package]] name = "heck" version = "0.5.0" @@ -1260,26 +1201,6 @@ dependencies = [ "want", ] -[[package]] -name = "hyper-http-proxy" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ad4b0a1e37510028bc4ba81d0e38d239c39671b0f0ce9e02dfa93a8133f7c08" -dependencies = [ - "bytes", - "futures-util", - "headers", - "http", - "hyper", - "hyper-rustls", - "hyper-util", - "pin-project-lite", - "rustls-native-certs 0.7.3", - "tokio", - "tokio-rustls", - "tower-service", -] - [[package]] name = "hyper-rustls" version = "0.27.7" @@ -1291,7 +1212,7 @@ dependencies = [ "hyper-util", "log", "rustls", - "rustls-native-certs 0.8.1", + "rustls-native-certs", "rustls-pki-types", "tokio", "tokio-rustls", @@ -1623,9 +1544,9 @@ dependencies = [ [[package]] name = "k8s-openapi" -version = "0.25.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa60a41b57ae1a0a071af77dbcf89fc9819cfe66edaf2beeb204c34459dcf0b2" +checksum = "d13f06d5326a915becaffabdfab75051b8cdc260c2a5c06c0e90226ede89a692" dependencies = [ "base64", "chrono", @@ -1637,9 +1558,9 @@ dependencies = [ [[package]] name = "k8s-version" version = "0.1.3" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#89f484ca4e86b565e083e9ad7573e21dbe29a3af" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.99.0#be422046081be2fb9f37dfece660e007273f4e32" dependencies = [ - "darling 0.21.3", + "darling", "regex", "snafu 0.8.7", ] @@ -1664,9 +1585,9 @@ dependencies = [ [[package]] name = "kube" -version = "1.1.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "778f98664beaf4c3c11372721e14310d1ae00f5e2d9aabcf8906c881aa4e9f51" +checksum = "48e7bb0b6a46502cc20e4575b6ff401af45cfea150b34ba272a3410b78aa014e" dependencies = [ "k8s-openapi", "kube-client", @@ -1677,9 +1598,9 @@ dependencies = [ [[package]] name = "kube-client" -version = "1.1.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cb276b85b6e94ded00ac8ea2c68fcf4697ea0553cb25fddc35d4a0ab718db8d" +checksum = "4987d57a184d2b5294fdad3d7fc7f278899469d21a4da39a8f6ca16426567a36" dependencies = [ "base64", "bytes", @@ -1691,7 +1612,6 @@ dependencies = [ "http-body", "http-body-util", "hyper", - "hyper-http-proxy", "hyper-rustls", "hyper-timeout", "hyper-util", @@ -1714,9 +1634,9 @@ dependencies = [ [[package]] name = "kube-core" -version = "1.1.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3c56ff45deb0031f2a476017eed60c06872251f271b8387ad8020b8fef60960" +checksum = "914bbb770e7bb721a06e3538c0edd2babed46447d128f7c21caa68747060ee73" dependencies = [ "chrono", "derive_more", @@ -1733,11 +1653,11 @@ dependencies = [ [[package]] name = "kube-derive" -version = "1.1.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "079fc8c1c397538628309cfdee20696ebdcc26745f9fb17f89b78782205bd995" +checksum = "03dee8252be137772a6ab3508b81cd797dee62ee771112a2453bc85cbbe150d2" dependencies = [ - "darling 0.20.11", + "darling", "proc-macro2", "quote", "serde", @@ -1747,9 +1667,9 @@ dependencies = [ [[package]] name = "kube-runtime" -version = "1.1.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f1326e946fadf6248febdf8a1c001809c3899ccf48cb9768cbc536b741040dc" +checksum = "6aea4de4b562c5cc89ab10300bb63474ae1fa57ff5a19275f2e26401a323e3fd" dependencies = [ "ahash", "async-broadcast", @@ -2105,13 +2025,39 @@ dependencies = [ "tracing", ] +[[package]] +name = "opentelemetry" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b84bcd6ae87133e903af7ef497404dda70c60d0ea14895fc8a5e6722754fc2a0" +dependencies = [ + "futures-core", + "futures-sink", + "js-sys", + "pin-project-lite", + "thiserror 2.0.16", + "tracing", +] + [[package]] name = "opentelemetry-appender-tracing" version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e68f63eca5fad47e570e00e893094fc17be959c80c79a7d6ec1abdd5ae6ffc16" dependencies = [ - "opentelemetry", + "opentelemetry 0.30.0", + "tracing", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "opentelemetry-appender-tracing" +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef6a1ac5ca3accf562b8c306fa8483c85f4390f768185ab775f242f7fe8fdcc2" +dependencies = [ + "opentelemetry 0.31.0", "tracing", "tracing-core", "tracing-subscriber", @@ -2126,7 +2072,20 @@ dependencies = [ "async-trait", "bytes", "http", - "opentelemetry", + "opentelemetry 0.30.0", + "reqwest", +] + +[[package]] +name = "opentelemetry-http" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7a6d09a73194e6b66df7c8f1b680f156d916a1a942abf2de06823dd02b7855d" +dependencies = [ + "async-trait", + "bytes", + "http", + "opentelemetry 0.31.0", "reqwest", ] @@ -2137,10 +2096,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbee664a43e07615731afc539ca60c6d9f1a9425e25ca09c57bc36c87c55852b" dependencies = [ "http", - "opentelemetry", - "opentelemetry-http", - "opentelemetry-proto", - "opentelemetry_sdk", + "opentelemetry 0.30.0", + "opentelemetry-http 0.30.0", + "opentelemetry-proto 0.30.0", + "opentelemetry_sdk 0.30.0", "prost 0.13.5", "reqwest", "thiserror 2.0.16", @@ -2149,24 +2108,62 @@ dependencies = [ "tracing", ] +[[package]] +name = "opentelemetry-otlp" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a2366db2dca4d2ad033cad11e6ee42844fd727007af5ad04a1730f4cb8163bf" +dependencies = [ + "http", + "opentelemetry 0.31.0", + "opentelemetry-http 0.31.0", + "opentelemetry-proto 0.31.0", + "opentelemetry_sdk 0.31.0", + "prost 0.14.1", + "reqwest", + "thiserror 2.0.16", + "tokio", + "tonic 0.14.1", + "tracing", +] + [[package]] name = "opentelemetry-proto" version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e046fd7660710fe5a05e8748e70d9058dc15c94ba914e7c4faa7c728f0e8ddc" dependencies = [ - "opentelemetry", - "opentelemetry_sdk", + "opentelemetry 0.30.0", + "opentelemetry_sdk 0.30.0", "prost 0.13.5", "tonic 0.13.1", ] +[[package]] +name = "opentelemetry-proto" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7175df06de5eaee9909d4805a3d07e28bb752c34cab57fa9cff549da596b30f" +dependencies = [ + "opentelemetry 0.31.0", + "opentelemetry_sdk 0.31.0", + "prost 0.14.1", + "tonic 0.14.1", + "tonic-prost", +] + [[package]] name = "opentelemetry-semantic-conventions" version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83d059a296a47436748557a353c5e6c5705b9470ef6c95cfc52c21a8814ddac2" +[[package]] +name = "opentelemetry-semantic-conventions" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e62e29dfe041afb8ed2a6c9737ab57db4907285d999ef8ad3a59092a36bdc846" + [[package]] name = "opentelemetry_sdk" version = "0.30.0" @@ -2176,7 +2173,7 @@ dependencies = [ "futures-channel", "futures-executor", "futures-util", - "opentelemetry", + "opentelemetry 0.30.0", "percent-encoding", "rand", "serde_json", @@ -2185,6 +2182,23 @@ dependencies = [ "tokio-stream", ] +[[package]] +name = "opentelemetry_sdk" +version = "0.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e14ae4f5991976fd48df6d843de219ca6d31b01daaab2dad5af2badeded372bd" +dependencies = [ + "futures-channel", + "futures-executor", + "futures-util", + "opentelemetry 0.31.0", + "percent-encoding", + "rand", + "thiserror 2.0.16", + "tokio", + "tokio-stream", +] + [[package]] name = "ordered-float" version = "2.10.1" @@ -2392,8 +2406,8 @@ dependencies = [ [[package]] name = "product-config" -version = "0.7.0" -source = "git+https://github.com/stackabletech/product-config.git?tag=0.7.0#d61d4c7542c942da2ba0e9af4e5e3c3113abb0cf" +version = "0.8.0" +source = "git+https://github.com/stackabletech/product-config.git?tag=0.8.0#678fb7cf30af7d7b516c9a46698a1b661120d54a" dependencies = [ "fancy-regex", "java-properties", @@ -2403,7 +2417,7 @@ dependencies = [ "serde_json", "serde_yaml", "snafu 0.8.7", - "xml-rs", + "xml", ] [[package]] @@ -2565,6 +2579,26 @@ dependencies = [ "bitflags", ] +[[package]] +name = "ref-cast" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.106", +] + [[package]] name = "regex" version = "1.11.2" @@ -2682,19 +2716,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "rustls-native-certs" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" -dependencies = [ - "openssl-probe", - "rustls-pemfile", - "rustls-pki-types", - "schannel", - "security-framework 2.11.1", -] - [[package]] name = "rustls-native-certs" version = "0.8.1" @@ -2707,15 +2728,6 @@ dependencies = [ "security-framework 3.3.0", ] -[[package]] -name = "rustls-pemfile" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" -dependencies = [ - "rustls-pki-types", -] - [[package]] name = "rustls-pki-types" version = "1.12.0" @@ -2768,11 +2780,12 @@ dependencies = [ [[package]] name = "schemars" -version = "0.8.22" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbf2ae1b8bc8e02df939598064d22402220cd5bbcca1c76f7d6a310974d5615" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" dependencies = [ "dyn-clone", + "ref-cast", "schemars_derive", "serde", "serde_json", @@ -2781,9 +2794,9 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.22" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32e265784ad618884abaea0600a9adf15393368d840e0222d101a072f3f7534d" +checksum = "33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80" dependencies = [ "proc-macro2", "quote", @@ -3085,8 +3098,8 @@ dependencies = [ [[package]] name = "stackable-operator" -version = "0.96.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#89f484ca4e86b565e083e9ad7573e21dbe29a3af" +version = "0.99.0" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.99.0#be422046081be2fb9f37dfece660e007273f4e32" dependencies = [ "chrono", "clap", @@ -3111,7 +3124,7 @@ dependencies = [ "snafu 0.8.7", "stackable-operator-derive", "stackable-shared", - "stackable-telemetry 0.6.1 (git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0)", + "stackable-telemetry 0.6.1 (git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.99.0)", "stackable-versioned", "strum", "tokio", @@ -3124,9 +3137,9 @@ dependencies = [ [[package]] name = "stackable-operator-derive" version = "0.3.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#89f484ca4e86b565e083e9ad7573e21dbe29a3af" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.99.0#be422046081be2fb9f37dfece660e007273f4e32" dependencies = [ - "darling 0.21.3", + "darling", "proc-macro2", "quote", "syn 2.0.106", @@ -3204,9 +3217,10 @@ dependencies = [ [[package]] name = "stackable-shared" -version = "0.0.2" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#89f484ca4e86b565e083e9ad7573e21dbe29a3af" +version = "0.0.3" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.99.0#be422046081be2fb9f37dfece660e007273f4e32" dependencies = [ + "chrono", "k8s-openapi", "kube", "schemars", @@ -3221,16 +3235,16 @@ dependencies = [ [[package]] name = "stackable-telemetry" version = "0.6.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#89f484ca4e86b565e083e9ad7573e21dbe29a3af" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.99.0#be422046081be2fb9f37dfece660e007273f4e32" dependencies = [ "axum", "clap", "futures-util", - "opentelemetry", - "opentelemetry-appender-tracing", - "opentelemetry-otlp", - "opentelemetry-semantic-conventions", - "opentelemetry_sdk", + "opentelemetry 0.31.0", + "opentelemetry-appender-tracing 0.31.1", + "opentelemetry-otlp 0.31.0", + "opentelemetry-semantic-conventions 0.31.0", + "opentelemetry_sdk 0.31.0", "pin-project", "snafu 0.8.7", "strum", @@ -3238,7 +3252,7 @@ dependencies = [ "tower", "tracing", "tracing-appender", - "tracing-opentelemetry", + "tracing-opentelemetry 0.32.0", "tracing-subscriber", ] @@ -3250,11 +3264,11 @@ dependencies = [ "axum", "clap", "futures-util", - "opentelemetry", - "opentelemetry-appender-tracing", - "opentelemetry-otlp", - "opentelemetry-semantic-conventions", - "opentelemetry_sdk", + "opentelemetry 0.30.0", + "opentelemetry-appender-tracing 0.30.1", + "opentelemetry-otlp 0.30.0", + "opentelemetry-semantic-conventions 0.30.0", + "opentelemetry_sdk 0.30.0", "pin-project", "snafu 0.8.7", "strum", @@ -3262,14 +3276,14 @@ dependencies = [ "tower", "tracing", "tracing-appender", - "tracing-opentelemetry", + "tracing-opentelemetry 0.31.0", "tracing-subscriber", ] [[package]] name = "stackable-versioned" -version = "0.8.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#89f484ca4e86b565e083e9ad7573e21dbe29a3af" +version = "0.8.2" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.99.0#be422046081be2fb9f37dfece660e007273f4e32" dependencies = [ "schemars", "serde", @@ -3281,11 +3295,11 @@ dependencies = [ [[package]] name = "stackable-versioned-macros" -version = "0.8.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#89f484ca4e86b565e083e9ad7573e21dbe29a3af" +version = "0.8.2" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.99.0#be422046081be2fb9f37dfece660e007273f4e32" dependencies = [ "convert_case", - "darling 0.21.3", + "darling", "indoc", "itertools 0.14.0", "k8s-openapi", @@ -3600,6 +3614,7 @@ dependencies = [ "axum", "base64", "bytes", + "flate2", "h2", "http", "http-body", @@ -3788,8 +3803,8 @@ checksum = "ddcf5959f39507d0d04d6413119c04f33b623f4f951ebcbdddddfad2d0623a9c" dependencies = [ "js-sys", "once_cell", - "opentelemetry", - "opentelemetry_sdk", + "opentelemetry 0.30.0", + "opentelemetry_sdk 0.30.0", "smallvec", "tracing", "tracing-core", @@ -3798,6 +3813,25 @@ dependencies = [ "web-time", ] +[[package]] +name = "tracing-opentelemetry" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6e5658463dd88089aba75c7791e1d3120633b1bfde22478b28f625a9bb1b8e" +dependencies = [ + "js-sys", + "opentelemetry 0.31.0", + "opentelemetry_sdk 0.31.0", + "rustversion", + "smallvec", + "thiserror 2.0.16", + "tracing", + "tracing-core", + "tracing-log", + "tracing-subscriber", + "web-time", +] + [[package]] name = "tracing-serde" version = "0.2.0" @@ -4353,10 +4387,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" [[package]] -name = "xml-rs" -version = "0.8.27" +name = "xml" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7" +checksum = "72e6e0a83ae73d886ab66fc2f82b598fbbb8f373357d5f2f9f783e50e4d06435" [[package]] name = "yasna" diff --git a/Cargo.nix b/Cargo.nix index 464a50e2..b50671c5 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -1004,9 +1004,9 @@ rec { }; "bit-set" = rec { crateName = "bit-set"; - version = "0.5.3"; + version = "0.8.0"; edition = "2015"; - sha256 = "1wcm9vxi00ma4rcxkl3pzzjli6ihrpn9cfdi0c5b4cvga2mxs007"; + sha256 = "18riaa10s6n59n39vix0cr7l2dgwdhcpbcm97x1xbyfp1q47x008"; libName = "bit_set"; authors = [ "Alexis Beingessner " @@ -1020,21 +1020,26 @@ rec { ]; features = { "default" = [ "std" ]; + "serde" = [ "dep:serde" "bit-vec/serde" ]; "std" = [ "bit-vec/std" ]; }; resolvedDefaultFeatures = [ "std" ]; }; "bit-vec" = rec { crateName = "bit-vec"; - version = "0.6.3"; + version = "0.8.0"; edition = "2015"; - sha256 = "1ywqjnv60cdh1slhz67psnp422md6jdliji6alq0gmly2xm9p7rl"; + sha256 = "1xxa1s2cj291r7k1whbxq840jxvmdsq9xgh7bvrxl46m80fllxjy"; libName = "bit_vec"; authors = [ "Alexis Beingessner " ]; features = { + "borsh" = [ "dep:borsh" ]; + "borsh_std" = [ "borsh/std" ]; "default" = [ "std" ]; + "miniserde" = [ "dep:miniserde" ]; + "nanoserde" = [ "dep:nanoserde" ]; "serde" = [ "dep:serde" ]; "serde_no_std" = [ "serde/alloc" ]; "serde_std" = [ "std" "serde/std" ]; @@ -1932,32 +1937,7 @@ rec { }; resolvedDefaultFeatures = [ "std" ]; }; - "darling 0.20.11" = rec { - crateName = "darling"; - version = "0.20.11"; - edition = "2021"; - sha256 = "1vmlphlrlw4f50z16p4bc9p5qwdni1ba95qmxfrrmzs6dh8lczzw"; - authors = [ - "Ted Driggs " - ]; - dependencies = [ - { - name = "darling_core"; - packageId = "darling_core 0.20.11"; - } - { - name = "darling_macro"; - packageId = "darling_macro 0.20.11"; - } - ]; - features = { - "default" = [ "suggestions" ]; - "diagnostics" = [ "darling_core/diagnostics" ]; - "suggestions" = [ "darling_core/suggestions" ]; - }; - resolvedDefaultFeatures = [ "default" "suggestions" ]; - }; - "darling 0.21.3" = rec { + "darling" = rec { crateName = "darling"; version = "0.21.3"; edition = "2021"; @@ -1968,11 +1948,11 @@ rec { dependencies = [ { name = "darling_core"; - packageId = "darling_core 0.21.3"; + packageId = "darling_core"; } { name = "darling_macro"; - packageId = "darling_macro 0.21.3"; + packageId = "darling_macro"; } ]; features = { @@ -1983,49 +1963,7 @@ rec { }; resolvedDefaultFeatures = [ "default" "suggestions" ]; }; - "darling_core 0.20.11" = rec { - crateName = "darling_core"; - version = "0.20.11"; - edition = "2021"; - sha256 = "0bj1af6xl4ablnqbgn827m43b8fiicgv180749f5cphqdmcvj00d"; - authors = [ - "Ted Driggs " - ]; - dependencies = [ - { - name = "fnv"; - packageId = "fnv"; - } - { - name = "ident_case"; - packageId = "ident_case"; - } - { - name = "proc-macro2"; - packageId = "proc-macro2"; - } - { - name = "quote"; - packageId = "quote"; - } - { - name = "strsim"; - packageId = "strsim"; - optional = true; - } - { - name = "syn"; - packageId = "syn 2.0.106"; - features = [ "full" "extra-traits" ]; - } - ]; - features = { - "strsim" = [ "dep:strsim" ]; - "suggestions" = [ "strsim" ]; - }; - resolvedDefaultFeatures = [ "strsim" "suggestions" ]; - }; - "darling_core 0.21.3" = rec { + "darling_core" = rec { crateName = "darling_core"; version = "0.21.3"; edition = "2021"; @@ -2068,32 +2006,7 @@ rec { }; resolvedDefaultFeatures = [ "strsim" "suggestions" ]; }; - "darling_macro 0.20.11" = rec { - crateName = "darling_macro"; - version = "0.20.11"; - edition = "2021"; - sha256 = "1bbfbc2px6sj1pqqq97bgqn6c8xdnb2fmz66f7f40nrqrcybjd7w"; - procMacro = true; - authors = [ - "Ted Driggs " - ]; - dependencies = [ - { - name = "darling_core"; - packageId = "darling_core 0.20.11"; - } - { - name = "quote"; - packageId = "quote"; - } - { - name = "syn"; - packageId = "syn 2.0.106"; - } - ]; - - }; - "darling_macro 0.21.3" = rec { + "darling_macro" = rec { crateName = "darling_macro"; version = "0.21.3"; edition = "2021"; @@ -2105,7 +2018,7 @@ rec { dependencies = [ { name = "darling_core"; - packageId = "darling_core 0.21.3"; + packageId = "darling_core"; } { name = "quote"; @@ -2673,13 +2586,14 @@ rec { }; "fancy-regex" = rec { crateName = "fancy-regex"; - version = "0.13.0"; + version = "0.16.2"; edition = "2018"; - sha256 = "1wjbqjsdj8fkq6z2i9llq25iaqzd9f208vxnwg8mdbr2ba1lc7jk"; + sha256 = "0vy4c012f82xcg3gs068mq110zhsrnajh58fmq1jxr7vaijhb2wr"; libName = "fancy_regex"; authors = [ "Raph Levien " "Robin Stocker " + "Keith Hall " ]; dependencies = [ { @@ -3317,15 +3231,15 @@ rec { }; resolvedDefaultFeatures = [ "read" "read-core" ]; }; - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#stackable-telemetry@0.6.1" = rec { + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.99.0#stackable-telemetry@0.6.1" = rec { crateName = "stackable-telemetry"; version = "0.6.1"; edition = "2024"; workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "89f484ca4e86b565e083e9ad7573e21dbe29a3af"; - sha256 = "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c"; + rev = "be422046081be2fb9f37dfece660e007273f4e32"; + sha256 = "14mp7m9x1d6s1xxhdh5rqvkxdksmz96km1hfn0yshdfw6ic5m8cv"; }; libName = "stackable_telemetry"; authors = [ @@ -3349,25 +3263,25 @@ rec { } { name = "opentelemetry"; - packageId = "opentelemetry"; + packageId = "opentelemetry 0.31.0"; features = [ "logs" ]; } { name = "opentelemetry-appender-tracing"; - packageId = "opentelemetry-appender-tracing"; + packageId = "opentelemetry-appender-tracing 0.31.1"; } { name = "opentelemetry-otlp"; - packageId = "opentelemetry-otlp"; + packageId = "opentelemetry-otlp 0.31.0"; features = [ "grpc-tonic" "gzip-tonic" "logs" ]; } { name = "opentelemetry-semantic-conventions"; - packageId = "opentelemetry-semantic-conventions"; + packageId = "opentelemetry-semantic-conventions 0.31.0"; } { name = "opentelemetry_sdk"; - packageId = "opentelemetry_sdk"; + packageId = "opentelemetry_sdk 0.31.0"; features = [ "rt-tokio" "logs" "rt-tokio" "spec_unstable_logs_enabled" ]; } { @@ -3403,7 +3317,7 @@ rec { } { name = "tracing-opentelemetry"; - packageId = "tracing-opentelemetry"; + packageId = "tracing-opentelemetry 0.32.0"; } { name = "tracing-subscriber"; @@ -3419,7 +3333,7 @@ rec { } { name = "tracing-opentelemetry"; - packageId = "tracing-opentelemetry"; + packageId = "tracing-opentelemetry 0.32.0"; } ]; features = { @@ -3459,25 +3373,25 @@ rec { } { name = "opentelemetry"; - packageId = "opentelemetry"; + packageId = "opentelemetry 0.30.0"; features = [ "logs" ]; } { name = "opentelemetry-appender-tracing"; - packageId = "opentelemetry-appender-tracing"; + packageId = "opentelemetry-appender-tracing 0.30.1"; } { name = "opentelemetry-otlp"; - packageId = "opentelemetry-otlp"; + packageId = "opentelemetry-otlp 0.30.0"; features = [ "grpc-tonic" "gzip-tonic" "logs" ]; } { name = "opentelemetry-semantic-conventions"; - packageId = "opentelemetry-semantic-conventions"; + packageId = "opentelemetry-semantic-conventions 0.30.0"; } { name = "opentelemetry_sdk"; - packageId = "opentelemetry_sdk"; + packageId = "opentelemetry_sdk 0.30.0"; features = [ "rt-tokio" "logs" "rt-tokio" "spec_unstable_logs_enabled" ]; } { @@ -3513,7 +3427,7 @@ rec { } { name = "tracing-opentelemetry"; - packageId = "tracing-opentelemetry"; + packageId = "tracing-opentelemetry 0.31.0"; } { name = "tracing-subscriber"; @@ -3529,7 +3443,7 @@ rec { } { name = "tracing-opentelemetry"; - packageId = "tracing-opentelemetry"; + packageId = "tracing-opentelemetry 0.31.0"; } ]; features = { @@ -3740,64 +3654,6 @@ rec { }; resolvedDefaultFeatures = [ "allocator-api2" "default" "default-hasher" "equivalent" "inline-more" "raw-entry" ]; }; - "headers" = rec { - crateName = "headers"; - version = "0.4.1"; - edition = "2018"; - sha256 = "1sr4zygaq1b2f0k7b5l8vx5vp05wvd82w7vpavgvr52xvdd4scdk"; - authors = [ - "Sean McArthur " - ]; - dependencies = [ - { - name = "base64"; - packageId = "base64"; - } - { - name = "bytes"; - packageId = "bytes"; - } - { - name = "headers-core"; - packageId = "headers-core"; - } - { - name = "http"; - packageId = "http"; - } - { - name = "httpdate"; - packageId = "httpdate"; - } - { - name = "mime"; - packageId = "mime"; - } - { - name = "sha1"; - packageId = "sha1"; - } - ]; - features = { - }; - }; - "headers-core" = rec { - crateName = "headers-core"; - version = "0.3.0"; - edition = "2015"; - sha256 = "1r1w80i2bhmyh8s5mjr2dz6baqlrm6cak6yvzm4jq96lacjs5d2l"; - libName = "headers_core"; - authors = [ - "Sean McArthur " - ]; - dependencies = [ - { - name = "http"; - packageId = "http"; - } - ]; - - }; "heck" = rec { crateName = "heck"; version = "0.5.0"; @@ -4126,104 +3982,6 @@ rec { }; resolvedDefaultFeatures = [ "client" "default" "http1" "http2" "server" ]; }; - "hyper-http-proxy" = rec { - crateName = "hyper-http-proxy"; - version = "1.1.0"; - edition = "2021"; - sha256 = "023w7w9si4zs5phfj30g3dkkk713ipix10dsqj5h443mwfhv1m3s"; - libName = "hyper_http_proxy"; - authors = [ - "MetalBear Tech LTD " - ]; - dependencies = [ - { - name = "bytes"; - packageId = "bytes"; - } - { - name = "futures-util"; - packageId = "futures-util"; - usesDefaultFeatures = false; - } - { - name = "headers"; - packageId = "headers"; - } - { - name = "http"; - packageId = "http"; - } - { - name = "hyper"; - packageId = "hyper"; - features = [ "client" ]; - } - { - name = "hyper-rustls"; - packageId = "hyper-rustls"; - optional = true; - usesDefaultFeatures = false; - } - { - name = "hyper-util"; - packageId = "hyper-util"; - features = [ "client" "client-legacy" "tokio" ]; - } - { - name = "pin-project-lite"; - packageId = "pin-project-lite"; - } - { - name = "rustls-native-certs"; - packageId = "rustls-native-certs 0.7.3"; - optional = true; - } - { - name = "tokio"; - packageId = "tokio"; - features = [ "io-std" "io-util" ]; - } - { - name = "tokio-rustls"; - packageId = "tokio-rustls"; - optional = true; - usesDefaultFeatures = false; - } - { - name = "tower-service"; - packageId = "tower-service"; - } - ]; - devDependencies = [ - { - name = "hyper"; - packageId = "hyper"; - features = [ "client" "http1" ]; - } - { - name = "hyper-util"; - packageId = "hyper-util"; - features = [ "client" "client-legacy" "http1" "tokio" ]; - } - { - name = "tokio"; - packageId = "tokio"; - features = [ "full" ]; - } - ]; - features = { - "__rustls" = [ "dep:hyper-rustls" "dep:tokio-rustls" "__tls" ]; - "default" = [ "default-tls" ]; - "default-tls" = [ "rustls-tls-native-roots" ]; - "hyper-tls" = [ "dep:hyper-tls" ]; - "native-tls" = [ "dep:native-tls" "tokio-native-tls" "hyper-tls" "__tls" ]; - "native-tls-vendored" = [ "native-tls" "tokio-native-tls?/vendored" ]; - "rustls-tls-native-roots" = [ "dep:rustls-native-certs" "__rustls" "hyper-rustls/rustls-native-certs" ]; - "rustls-tls-webpki-roots" = [ "dep:webpki-roots" "__rustls" "hyper-rustls/webpki-roots" ]; - "tokio-native-tls" = [ "dep:tokio-native-tls" ]; - }; - resolvedDefaultFeatures = [ "__rustls" "__tls" "rustls-tls-native-roots" ]; - }; "hyper-rustls" = rec { crateName = "hyper-rustls"; version = "0.27.7"; @@ -4258,7 +4016,7 @@ rec { } { name = "rustls-native-certs"; - packageId = "rustls-native-certs 0.8.1"; + packageId = "rustls-native-certs"; optional = true; } { @@ -5333,10 +5091,10 @@ rec { }; "k8s-openapi" = rec { crateName = "k8s-openapi"; - version = "0.25.0"; + version = "0.26.0"; edition = "2021"; - links = "k8s-openapi-0.25.0"; - sha256 = "1cphvicl9hq4nbp2pbzdcvz9r0f9kzwbqzgp383hl6mfawds8q5a"; + links = "k8s-openapi-0.26.0"; + sha256 = "14m6i7g6w8lh1rnc19f2c31cvf2ia2vzmggsmzn5p4ba6bahcgyi"; libName = "k8s_openapi"; authors = [ "Arnav Singh " @@ -5375,10 +5133,10 @@ rec { features = { "default" = [ "std" ]; "earliest" = [ "v1_30" ]; - "latest" = [ "v1_33" ]; + "latest" = [ "v1_34" ]; "schemars" = [ "dep:schemars" ]; }; - resolvedDefaultFeatures = [ "schemars" "v1_33" ]; + resolvedDefaultFeatures = [ "schemars" "v1_34" ]; }; "k8s-version" = rec { crateName = "k8s-version"; @@ -5387,8 +5145,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "89f484ca4e86b565e083e9ad7573e21dbe29a3af"; - sha256 = "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c"; + rev = "be422046081be2fb9f37dfece660e007273f4e32"; + sha256 = "14mp7m9x1d6s1xxhdh5rqvkxdksmz96km1hfn0yshdfw6ic5m8cv"; }; libName = "k8s_version"; authors = [ @@ -5397,7 +5155,7 @@ rec { dependencies = [ { name = "darling"; - packageId = "darling 0.21.3"; + packageId = "darling"; optional = true; } { @@ -5468,9 +5226,9 @@ rec { }; "kube" = rec { crateName = "kube"; - version = "1.1.0"; - edition = "2021"; - sha256 = "0lcz9sm83j06i77sp6idbq7y06hd64a1wwkj2g0w7x7a9dk9i3vp"; + version = "2.0.1"; + edition = "2024"; + sha256 = "0kh1m9w0nhd3fai4pcshl7z5rx0s83zvcxa51v12ql26d85vprs8"; authors = [ "clux " "Natalie Klestrup Röijezon " @@ -5541,9 +5299,9 @@ rec { }; "kube-client" = rec { crateName = "kube-client"; - version = "1.1.0"; - edition = "2021"; - sha256 = "13fv32vhljjxqgfmzciwanh7wsglzil2rsn81b8dx53fbfw7dckw"; + version = "2.0.1"; + edition = "2024"; + sha256 = "0dksaqk698bciyda6k8ss9lr92bqyb3pygddzna54asd31xdb1s9"; libName = "kube_client"; authors = [ "clux " @@ -5604,12 +5362,6 @@ rec { optional = true; features = [ "client" "http1" ]; } - { - name = "hyper-http-proxy"; - packageId = "hyper-http-proxy"; - optional = true; - usesDefaultFeatures = false; - } { name = "hyper-rustls"; packageId = "hyper-rustls"; @@ -5747,12 +5499,10 @@ rec { "home" = [ "dep:home" ]; "http-body" = [ "dep:http-body" ]; "http-body-util" = [ "dep:http-body-util" ]; - "http-proxy" = [ "hyper-http-proxy" ]; + "http-proxy" = [ "hyper-util/client-proxy" ]; "hyper" = [ "dep:hyper" ]; - "hyper-http-proxy" = [ "dep:hyper-http-proxy" ]; "hyper-openssl" = [ "dep:hyper-openssl" ]; "hyper-rustls" = [ "dep:hyper-rustls" ]; - "hyper-socks2" = [ "dep:hyper-socks2" ]; "hyper-timeout" = [ "dep:hyper-timeout" ]; "hyper-util" = [ "dep:hyper-util" ]; "jsonpatch" = [ "kube-core/jsonpatch" ]; @@ -5765,9 +5515,9 @@ rec { "pem" = [ "dep:pem" ]; "ring" = [ "hyper-rustls?/ring" ]; "rustls" = [ "dep:rustls" ]; - "rustls-tls" = [ "rustls" "hyper-rustls" "hyper-http-proxy?/rustls-tls-native-roots" ]; + "rustls-tls" = [ "rustls" "hyper-rustls" ]; "serde_yaml" = [ "dep:serde_yaml" ]; - "socks5" = [ "hyper-socks2" ]; + "socks5" = [ "hyper-util/client-proxy" ]; "tame-oauth" = [ "dep:tame-oauth" ]; "tokio" = [ "dep:tokio" ]; "tokio-tungstenite" = [ "dep:tokio-tungstenite" ]; @@ -5782,9 +5532,9 @@ rec { }; "kube-core" = rec { crateName = "kube-core"; - version = "1.1.0"; - edition = "2021"; - sha256 = "0q09yvzbh840mn3q66r73wjp4s60c3npw0bnlkr3207bbps6zig3"; + version = "2.0.1"; + edition = "2024"; + sha256 = "0wzfc1q78s5a3k1gfa6i8xjd9gmssbnw0f1mdsh23dvv1rvvnjwi"; libName = "kube_core"; authors = [ "clux " @@ -5864,9 +5614,9 @@ rec { }; "kube-derive" = rec { crateName = "kube-derive"; - version = "1.1.0"; - edition = "2021"; - sha256 = "15frbch851xpi5zv37szfhkcrgbfd4hfxzcw60l8clwpqg0wi7q7"; + version = "2.0.1"; + edition = "2024"; + sha256 = "1ljhw6xmrj1v8ni144bpxrifwzbrrn0qnl5kd8m7fdz15cjyiph3"; procMacro = true; libName = "kube_derive"; authors = [ @@ -5877,7 +5627,7 @@ rec { dependencies = [ { name = "darling"; - packageId = "darling 0.20.11"; + packageId = "darling"; } { name = "proc-macro2"; @@ -5913,9 +5663,9 @@ rec { }; "kube-runtime" = rec { crateName = "kube-runtime"; - version = "1.1.0"; - edition = "2021"; - sha256 = "1p2021s6nlxwiivbk37lrjcki740070a3y5xzr465pzs8vljc4rg"; + version = "2.0.1"; + edition = "2024"; + sha256 = "1zg34fih2r72y9sr58gmgyjizbkl6jv0nc0hmf4wrib2npj4vska"; libName = "kube_runtime"; authors = [ "clux " @@ -6970,7 +6720,7 @@ rec { "vendored" = [ "openssl-src" ]; }; }; - "opentelemetry" = rec { + "opentelemetry 0.30.0" = rec { crateName = "opentelemetry"; version = "0.30.0"; edition = "2021"; @@ -7024,28 +6774,82 @@ rec { }; resolvedDefaultFeatures = [ "default" "futures" "futures-core" "futures-sink" "internal-logs" "logs" "metrics" "pin-project-lite" "spec_unstable_logs_enabled" "thiserror" "trace" "tracing" ]; }; - "opentelemetry-appender-tracing" = rec { - crateName = "opentelemetry-appender-tracing"; - version = "0.30.1"; + "opentelemetry 0.31.0" = rec { + crateName = "opentelemetry"; + version = "0.31.0"; edition = "2021"; - sha256 = "05pwdypdbg8sxkbafy8cr1cyjyy19w4r7s001rbpxm7slpn673z6"; - libName = "opentelemetry_appender_tracing"; + sha256 = "18629xsj4rsyiby9aj511q6wcw6s9m09gx3ymw1yjcvix1mcsjxq"; dependencies = [ { - name = "opentelemetry"; - packageId = "opentelemetry"; - features = [ "logs" ]; + name = "futures-core"; + packageId = "futures-core"; + optional = true; } { - name = "tracing"; - packageId = "tracing"; - usesDefaultFeatures = false; - features = [ "std" ]; + name = "futures-sink"; + packageId = "futures-sink"; + optional = true; } { - name = "tracing-core"; - packageId = "tracing-core"; - usesDefaultFeatures = false; + name = "js-sys"; + packageId = "js-sys"; + target = { target, features }: (("wasm32" == target."arch" or null) && (!("wasi" == target."os" or null))); + } + { + name = "pin-project-lite"; + packageId = "pin-project-lite"; + optional = true; + } + { + name = "thiserror"; + packageId = "thiserror 2.0.16"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "tracing"; + packageId = "tracing"; + optional = true; + usesDefaultFeatures = false; + } + ]; + features = { + "default" = [ "trace" "metrics" "logs" "internal-logs" "futures" ]; + "futures" = [ "futures-core" "futures-sink" "pin-project-lite" ]; + "futures-core" = [ "dep:futures-core" ]; + "futures-sink" = [ "dep:futures-sink" ]; + "internal-logs" = [ "tracing" ]; + "pin-project-lite" = [ "dep:pin-project-lite" ]; + "spec_unstable_logs_enabled" = [ "logs" ]; + "testing" = [ "trace" ]; + "thiserror" = [ "dep:thiserror" ]; + "trace" = [ "futures" "thiserror" ]; + "tracing" = [ "dep:tracing" ]; + }; + resolvedDefaultFeatures = [ "default" "futures" "futures-core" "futures-sink" "internal-logs" "logs" "metrics" "pin-project-lite" "spec_unstable_logs_enabled" "thiserror" "trace" "tracing" ]; + }; + "opentelemetry-appender-tracing 0.30.1" = rec { + crateName = "opentelemetry-appender-tracing"; + version = "0.30.1"; + edition = "2021"; + sha256 = "05pwdypdbg8sxkbafy8cr1cyjyy19w4r7s001rbpxm7slpn673z6"; + libName = "opentelemetry_appender_tracing"; + dependencies = [ + { + name = "opentelemetry"; + packageId = "opentelemetry 0.30.0"; + features = [ "logs" ]; + } + { + name = "tracing"; + packageId = "tracing"; + usesDefaultFeatures = false; + features = [ "std" ]; + } + { + name = "tracing-core"; + packageId = "tracing-core"; + usesDefaultFeatures = false; } { name = "tracing-subscriber"; @@ -7077,7 +6881,61 @@ rec { }; resolvedDefaultFeatures = [ "default" ]; }; - "opentelemetry-http" = rec { + "opentelemetry-appender-tracing 0.31.1" = rec { + crateName = "opentelemetry-appender-tracing"; + version = "0.31.1"; + edition = "2021"; + sha256 = "1hnwizzgfhpjfnvml638yy846py8hf2gl1n3p1igbk1srb2ilspg"; + libName = "opentelemetry_appender_tracing"; + dependencies = [ + { + name = "opentelemetry"; + packageId = "opentelemetry 0.31.0"; + usesDefaultFeatures = false; + features = [ "logs" ]; + } + { + name = "tracing"; + packageId = "tracing"; + usesDefaultFeatures = false; + features = [ "std" ]; + } + { + name = "tracing-core"; + packageId = "tracing-core"; + usesDefaultFeatures = false; + } + { + name = "tracing-subscriber"; + packageId = "tracing-subscriber"; + usesDefaultFeatures = false; + features = [ "registry" "std" ]; + } + ]; + devDependencies = [ + { + name = "tracing"; + packageId = "tracing"; + usesDefaultFeatures = false; + features = [ "std" ]; + } + { + name = "tracing-subscriber"; + packageId = "tracing-subscriber"; + usesDefaultFeatures = false; + features = [ "env-filter" "registry" "std" "fmt" ]; + } + ]; + features = { + "experimental_metadata_attributes" = [ "dep:tracing-log" ]; + "experimental_use_tracing_span_context" = [ "tracing-opentelemetry" ]; + "log" = [ "dep:log" ]; + "spec_unstable_logs_enabled" = [ "opentelemetry/spec_unstable_logs_enabled" ]; + "tracing-opentelemetry" = [ "dep:tracing-opentelemetry" ]; + }; + resolvedDefaultFeatures = [ "default" ]; + }; + "opentelemetry-http 0.30.0" = rec { crateName = "opentelemetry-http"; version = "0.30.0"; edition = "2021"; @@ -7100,7 +6958,7 @@ rec { } { name = "opentelemetry"; - packageId = "opentelemetry"; + packageId = "opentelemetry 0.30.0"; features = [ "trace" ]; } { @@ -7121,7 +6979,52 @@ rec { }; resolvedDefaultFeatures = [ "default" "internal-logs" "reqwest" ]; }; - "opentelemetry-otlp" = rec { + "opentelemetry-http 0.31.0" = rec { + crateName = "opentelemetry-http"; + version = "0.31.0"; + edition = "2021"; + sha256 = "0pc5nw1ds8v8w0nvyall39m92v8m1xl1p3vwvxk6nkhrffdd19np"; + libName = "opentelemetry_http"; + dependencies = [ + { + name = "async-trait"; + packageId = "async-trait"; + } + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "http"; + packageId = "http"; + usesDefaultFeatures = false; + features = [ "std" ]; + } + { + name = "opentelemetry"; + packageId = "opentelemetry 0.31.0"; + usesDefaultFeatures = false; + features = [ "trace" ]; + } + { + name = "reqwest"; + packageId = "reqwest"; + optional = true; + usesDefaultFeatures = false; + } + ]; + features = { + "default" = [ "internal-logs" ]; + "hyper" = [ "dep:http-body-util" "dep:hyper" "dep:hyper-util" "dep:tokio" ]; + "internal-logs" = [ "opentelemetry/internal-logs" ]; + "reqwest" = [ "dep:reqwest" ]; + "reqwest-blocking" = [ "dep:reqwest" "reqwest/blocking" ]; + "reqwest-rustls" = [ "dep:reqwest" "reqwest/rustls-tls-native-roots" ]; + "reqwest-rustls-webpki-roots" = [ "dep:reqwest" "reqwest/rustls-tls-webpki-roots" ]; + }; + resolvedDefaultFeatures = [ "internal-logs" "reqwest" "reqwest-blocking" ]; + }; + "opentelemetry-otlp 0.30.0" = rec { crateName = "opentelemetry-otlp"; version = "0.30.0"; edition = "2021"; @@ -7137,22 +7040,22 @@ rec { } { name = "opentelemetry"; - packageId = "opentelemetry"; + packageId = "opentelemetry 0.30.0"; usesDefaultFeatures = false; } { name = "opentelemetry-http"; - packageId = "opentelemetry-http"; + packageId = "opentelemetry-http 0.30.0"; optional = true; } { name = "opentelemetry-proto"; - packageId = "opentelemetry-proto"; + packageId = "opentelemetry-proto 0.30.0"; usesDefaultFeatures = false; } { name = "opentelemetry_sdk"; - packageId = "opentelemetry_sdk"; + packageId = "opentelemetry_sdk 0.30.0"; usesDefaultFeatures = false; } { @@ -7238,7 +7141,135 @@ rec { }; resolvedDefaultFeatures = [ "default" "grpc-tonic" "gzip-tonic" "http" "http-proto" "internal-logs" "logs" "metrics" "opentelemetry-http" "prost" "reqwest" "reqwest-blocking-client" "tokio" "tonic" "trace" "tracing" ]; }; - "opentelemetry-proto" = rec { + "opentelemetry-otlp 0.31.0" = rec { + crateName = "opentelemetry-otlp"; + version = "0.31.0"; + edition = "2021"; + sha256 = "1gv3h75z8c0p9b85mbq7f1rgsi18wip1xlfa6g82lkfa5pdnc8vs"; + libName = "opentelemetry_otlp"; + dependencies = [ + { + name = "http"; + packageId = "http"; + optional = true; + usesDefaultFeatures = false; + features = [ "std" ]; + } + { + name = "opentelemetry"; + packageId = "opentelemetry 0.31.0"; + usesDefaultFeatures = false; + } + { + name = "opentelemetry-http"; + packageId = "opentelemetry-http 0.31.0"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "opentelemetry-proto"; + packageId = "opentelemetry-proto 0.31.0"; + usesDefaultFeatures = false; + } + { + name = "opentelemetry_sdk"; + packageId = "opentelemetry_sdk 0.31.0"; + usesDefaultFeatures = false; + } + { + name = "prost"; + packageId = "prost 0.14.1"; + optional = true; + } + { + name = "reqwest"; + packageId = "reqwest"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "thiserror"; + packageId = "thiserror 2.0.16"; + usesDefaultFeatures = false; + } + { + name = "tokio"; + packageId = "tokio"; + optional = true; + usesDefaultFeatures = false; + features = [ "sync" "rt" ]; + } + { + name = "tonic"; + packageId = "tonic 0.14.1"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "tracing"; + packageId = "tracing"; + optional = true; + usesDefaultFeatures = false; + } + ]; + devDependencies = [ + { + name = "opentelemetry_sdk"; + packageId = "opentelemetry_sdk 0.31.0"; + usesDefaultFeatures = false; + features = [ "trace" "testing" ]; + } + { + name = "tokio"; + packageId = "tokio"; + usesDefaultFeatures = false; + features = [ "macros" "rt-multi-thread" ]; + } + { + name = "tonic"; + packageId = "tonic 0.14.1"; + usesDefaultFeatures = false; + features = [ "router" "server" ]; + } + ]; + features = { + "default" = [ "http-proto" "reqwest-blocking-client" "trace" "metrics" "logs" "internal-logs" ]; + "flate2" = [ "dep:flate2" ]; + "grpc-tonic" = [ "tonic" "prost" "http" "tokio" "opentelemetry-proto/gen-tonic" ]; + "gzip-http" = [ "flate2" ]; + "gzip-tonic" = [ "tonic/gzip" ]; + "http" = [ "dep:http" ]; + "http-json" = [ "serde_json" "prost" "opentelemetry-http" "opentelemetry-proto/gen-tonic-messages" "opentelemetry-proto/with-serde" "http" "trace" "metrics" ]; + "http-proto" = [ "prost" "opentelemetry-http" "opentelemetry-proto/gen-tonic-messages" "http" "trace" "metrics" ]; + "hyper-client" = [ "opentelemetry-http/hyper" ]; + "integration-testing" = [ "tonic" "prost" "tokio/full" "trace" "logs" ]; + "internal-logs" = [ "tracing" "opentelemetry_sdk/internal-logs" "opentelemetry-http/internal-logs" ]; + "logs" = [ "opentelemetry/logs" "opentelemetry_sdk/logs" "opentelemetry-proto/logs" ]; + "metrics" = [ "opentelemetry/metrics" "opentelemetry_sdk/metrics" "opentelemetry-proto/metrics" ]; + "opentelemetry-http" = [ "dep:opentelemetry-http" ]; + "prost" = [ "dep:prost" ]; + "reqwest" = [ "dep:reqwest" ]; + "reqwest-blocking-client" = [ "reqwest/blocking" "opentelemetry-http/reqwest-blocking" ]; + "reqwest-client" = [ "reqwest" "opentelemetry-http/reqwest" ]; + "reqwest-rustls" = [ "reqwest" "opentelemetry-http/reqwest-rustls" ]; + "reqwest-rustls-webpki-roots" = [ "reqwest" "opentelemetry-http/reqwest-rustls-webpki-roots" ]; + "serde" = [ "dep:serde" ]; + "serde_json" = [ "dep:serde_json" ]; + "serialize" = [ "serde" "serde_json" ]; + "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" ]; + "trace" = [ "opentelemetry/trace" "opentelemetry_sdk/trace" "opentelemetry-proto/trace" ]; + "tracing" = [ "dep:tracing" ]; + "zstd" = [ "dep:zstd" ]; + "zstd-http" = [ "zstd" ]; + "zstd-tonic" = [ "tonic/zstd" ]; + }; + resolvedDefaultFeatures = [ "default" "grpc-tonic" "gzip-tonic" "http" "http-proto" "internal-logs" "logs" "metrics" "opentelemetry-http" "prost" "reqwest" "reqwest-blocking-client" "tokio" "tonic" "trace" "tracing" ]; + }; + "opentelemetry-proto 0.30.0" = rec { crateName = "opentelemetry-proto"; version = "0.30.0"; edition = "2021"; @@ -7247,12 +7278,12 @@ rec { dependencies = [ { name = "opentelemetry"; - packageId = "opentelemetry"; + packageId = "opentelemetry 0.30.0"; usesDefaultFeatures = false; } { name = "opentelemetry_sdk"; - packageId = "opentelemetry_sdk"; + packageId = "opentelemetry_sdk 0.30.0"; usesDefaultFeatures = false; } { @@ -7290,7 +7321,74 @@ rec { }; resolvedDefaultFeatures = [ "gen-tonic" "gen-tonic-messages" "logs" "metrics" "prost" "tonic" "trace" ]; }; - "opentelemetry-semantic-conventions" = rec { + "opentelemetry-proto 0.31.0" = rec { + crateName = "opentelemetry-proto"; + version = "0.31.0"; + edition = "2021"; + sha256 = "03xkjsjrsm7zkkx5gascqd9bg2z20wymm06l16cyxsp5dpq5s5x7"; + libName = "opentelemetry_proto"; + dependencies = [ + { + name = "opentelemetry"; + packageId = "opentelemetry 0.31.0"; + usesDefaultFeatures = false; + } + { + name = "opentelemetry_sdk"; + packageId = "opentelemetry_sdk 0.31.0"; + usesDefaultFeatures = false; + } + { + name = "prost"; + packageId = "prost 0.14.1"; + optional = true; + } + { + name = "tonic"; + packageId = "tonic 0.14.1"; + optional = true; + usesDefaultFeatures = false; + features = [ "codegen" ]; + } + { + name = "tonic-prost"; + packageId = "tonic-prost"; + optional = true; + } + ]; + devDependencies = [ + { + name = "opentelemetry"; + packageId = "opentelemetry 0.31.0"; + usesDefaultFeatures = false; + features = [ "testing" ]; + } + ]; + features = { + "base64" = [ "dep:base64" ]; + "const-hex" = [ "dep:const-hex" ]; + "default" = [ "full" ]; + "full" = [ "gen-tonic" "trace" "logs" "metrics" "zpages" "with-serde" "internal-logs" ]; + "gen-tonic" = [ "gen-tonic-messages" "tonic/channel" ]; + "gen-tonic-messages" = [ "tonic" "tonic-prost" "prost" ]; + "internal-logs" = [ "opentelemetry/internal-logs" ]; + "logs" = [ "opentelemetry/logs" "opentelemetry_sdk/logs" ]; + "metrics" = [ "opentelemetry/metrics" "opentelemetry_sdk/metrics" ]; + "prost" = [ "dep:prost" ]; + "schemars" = [ "dep:schemars" ]; + "serde" = [ "dep:serde" ]; + "serde_json" = [ "dep:serde_json" ]; + "testing" = [ "opentelemetry/testing" ]; + "tonic" = [ "dep:tonic" ]; + "tonic-prost" = [ "dep:tonic-prost" ]; + "trace" = [ "opentelemetry/trace" "opentelemetry_sdk/trace" ]; + "with-schemars" = [ "schemars" ]; + "with-serde" = [ "serde" "const-hex" "base64" "serde_json" ]; + "zpages" = [ "trace" ]; + }; + resolvedDefaultFeatures = [ "gen-tonic" "gen-tonic-messages" "logs" "metrics" "prost" "tonic" "tonic-prost" "trace" ]; + }; + "opentelemetry-semantic-conventions 0.30.0" = rec { crateName = "opentelemetry-semantic-conventions"; version = "0.30.0"; edition = "2021"; @@ -7298,13 +7396,112 @@ rec { libName = "opentelemetry_semantic_conventions"; features = { }; - resolvedDefaultFeatures = [ "default" ]; + resolvedDefaultFeatures = [ "default" ]; + }; + "opentelemetry-semantic-conventions 0.31.0" = rec { + crateName = "opentelemetry-semantic-conventions"; + version = "0.31.0"; + edition = "2021"; + sha256 = "0in8plv2l2ar7anzi7lrbll0fjfvaymkg5vc5bnvibs1w3gjjbp6"; + libName = "opentelemetry_semantic_conventions"; + features = { + }; + resolvedDefaultFeatures = [ "default" ]; + }; + "opentelemetry_sdk 0.30.0" = rec { + crateName = "opentelemetry_sdk"; + version = "0.30.0"; + edition = "2021"; + sha256 = "0jvsqhdrka9ppyfr3y6rhj4ai61wgrfk0970jqcd2cayksm49xhi"; + dependencies = [ + { + name = "futures-channel"; + packageId = "futures-channel"; + } + { + name = "futures-executor"; + packageId = "futures-executor"; + } + { + name = "futures-util"; + packageId = "futures-util"; + usesDefaultFeatures = false; + features = [ "std" "sink" "async-await-macro" ]; + } + { + name = "opentelemetry"; + packageId = "opentelemetry 0.30.0"; + } + { + name = "percent-encoding"; + packageId = "percent-encoding"; + optional = true; + } + { + name = "rand"; + packageId = "rand"; + optional = true; + usesDefaultFeatures = false; + features = [ "std" "std_rng" "small_rng" "os_rng" "thread_rng" ]; + } + { + name = "serde_json"; + packageId = "serde_json"; + optional = true; + } + { + name = "thiserror"; + packageId = "thiserror 2.0.16"; + usesDefaultFeatures = false; + } + { + name = "tokio"; + packageId = "tokio"; + optional = true; + usesDefaultFeatures = false; + features = [ "rt" "time" ]; + } + { + name = "tokio-stream"; + packageId = "tokio-stream"; + optional = true; + } + ]; + features = { + "default" = [ "trace" "metrics" "logs" "internal-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_async_runtime" ]; + "experimental_trace_batch_span_processor_with_async_runtime" = [ "trace" "experimental_async_runtime" ]; + "http" = [ "dep:http" ]; + "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" ]; + "opentelemetry-http" = [ "dep:opentelemetry-http" ]; + "percent-encoding" = [ "dep:percent-encoding" ]; + "rand" = [ "dep:rand" ]; + "rt-tokio" = [ "tokio" "tokio-stream" "experimental_async_runtime" ]; + "rt-tokio-current-thread" = [ "tokio" "tokio-stream" "experimental_async_runtime" ]; + "serde" = [ "dep:serde" ]; + "serde_json" = [ "dep:serde_json" ]; + "spec_unstable_logs_enabled" = [ "logs" "opentelemetry/spec_unstable_logs_enabled" ]; + "spec_unstable_metrics_views" = [ "metrics" ]; + "testing" = [ "opentelemetry/testing" "trace" "metrics" "logs" "rt-tokio" "rt-tokio-current-thread" "tokio/macros" "tokio/rt-multi-thread" ]; + "tokio" = [ "dep:tokio" ]; + "tokio-stream" = [ "dep:tokio-stream" ]; + "trace" = [ "opentelemetry/trace" "rand" "percent-encoding" ]; + "url" = [ "dep:url" ]; + }; + resolvedDefaultFeatures = [ "default" "experimental_async_runtime" "internal-logs" "logs" "metrics" "percent-encoding" "rand" "rt-tokio" "serde_json" "spec_unstable_logs_enabled" "tokio" "tokio-stream" "trace" ]; }; - "opentelemetry_sdk" = rec { + "opentelemetry_sdk 0.31.0" = rec { crateName = "opentelemetry_sdk"; - version = "0.30.0"; + version = "0.31.0"; edition = "2021"; - sha256 = "0jvsqhdrka9ppyfr3y6rhj4ai61wgrfk0970jqcd2cayksm49xhi"; + sha256 = "1gbjsggdxfpjbanjvaxa3nq32vfa37i3v13dvx4gsxhrk7sy8jp1"; dependencies = [ { name = "futures-channel"; @@ -7322,7 +7519,8 @@ rec { } { name = "opentelemetry"; - packageId = "opentelemetry"; + packageId = "opentelemetry 0.31.0"; + usesDefaultFeatures = false; } { name = "percent-encoding"; @@ -7336,11 +7534,6 @@ rec { usesDefaultFeatures = false; features = [ "std" "std_rng" "small_rng" "os_rng" "thread_rng" ]; } - { - name = "serde_json"; - packageId = "serde_json"; - optional = true; - } { name = "thiserror"; packageId = "thiserror 2.0.16"; @@ -7351,7 +7544,6 @@ rec { packageId = "tokio"; optional = true; usesDefaultFeatures = false; - features = [ "rt" "time" ]; } { name = "tokio-stream"; @@ -7366,17 +7558,17 @@ rec { "experimental_metrics_custom_reader" = [ "metrics" ]; "experimental_metrics_disable_name_validation" = [ "metrics" ]; "experimental_metrics_periodicreader_with_async_runtime" = [ "metrics" "experimental_async_runtime" ]; - "experimental_trace_batch_span_processor_with_async_runtime" = [ "trace" "experimental_async_runtime" ]; + "experimental_trace_batch_span_processor_with_async_runtime" = [ "tokio/sync" "trace" "experimental_async_runtime" ]; "http" = [ "dep:http" ]; "internal-logs" = [ "opentelemetry/internal-logs" ]; "jaeger_remote_sampler" = [ "trace" "opentelemetry-http" "http" "serde" "serde_json" "url" "experimental_async_runtime" ]; - "logs" = [ "opentelemetry/logs" "serde_json" ]; + "logs" = [ "opentelemetry/logs" ]; "metrics" = [ "opentelemetry/metrics" ]; "opentelemetry-http" = [ "dep:opentelemetry-http" ]; "percent-encoding" = [ "dep:percent-encoding" ]; "rand" = [ "dep:rand" ]; - "rt-tokio" = [ "tokio" "tokio-stream" "experimental_async_runtime" ]; - "rt-tokio-current-thread" = [ "tokio" "tokio-stream" "experimental_async_runtime" ]; + "rt-tokio" = [ "tokio/rt" "tokio/time" "tokio-stream" "experimental_async_runtime" ]; + "rt-tokio-current-thread" = [ "tokio/rt" "tokio/time" "tokio-stream" "experimental_async_runtime" ]; "serde" = [ "dep:serde" ]; "serde_json" = [ "dep:serde_json" ]; "spec_unstable_logs_enabled" = [ "logs" "opentelemetry/spec_unstable_logs_enabled" ]; @@ -7387,7 +7579,7 @@ rec { "trace" = [ "opentelemetry/trace" "rand" "percent-encoding" ]; "url" = [ "dep:url" ]; }; - resolvedDefaultFeatures = [ "default" "experimental_async_runtime" "internal-logs" "logs" "metrics" "percent-encoding" "rand" "rt-tokio" "serde_json" "spec_unstable_logs_enabled" "tokio" "tokio-stream" "trace" ]; + resolvedDefaultFeatures = [ "default" "experimental_async_runtime" "internal-logs" "logs" "metrics" "percent-encoding" "rand" "rt-tokio" "spec_unstable_logs_enabled" "tokio" "tokio-stream" "trace" ]; }; "ordered-float" = rec { crateName = "ordered-float"; @@ -7952,13 +8144,13 @@ rec { }; "product-config" = rec { crateName = "product-config"; - version = "0.7.0"; + version = "0.8.0"; edition = "2021"; workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/product-config.git"; - rev = "d61d4c7542c942da2ba0e9af4e5e3c3113abb0cf"; - sha256 = "0gjsm80g6r75pm3824dcyiz4ysq1ka4c1if6k1mjm9cnd5ym0gny"; + rev = "678fb7cf30af7d7b516c9a46698a1b661120d54a"; + sha256 = "1dz70kapm2wdqcr7ndyjji0lhsl98bsq95gnb2lw487wf6yr7987"; }; libName = "product_config"; authors = [ @@ -7999,8 +8191,8 @@ rec { packageId = "snafu 0.8.7"; } { - name = "xml-rs"; - packageId = "xml-rs"; + name = "xml"; + packageId = "xml"; } ]; @@ -8488,6 +8680,49 @@ rec { }; resolvedDefaultFeatures = [ "default" "userspace" ]; }; + "ref-cast" = rec { + crateName = "ref-cast"; + version = "1.0.25"; + edition = "2021"; + sha256 = "0zdzc34qjva9xxgs889z5iz787g81hznk12zbk4g2xkgwq530m7k"; + libName = "ref_cast"; + authors = [ + "David Tolnay " + ]; + dependencies = [ + { + name = "ref-cast-impl"; + packageId = "ref-cast-impl"; + } + ]; + + }; + "ref-cast-impl" = rec { + crateName = "ref-cast-impl"; + version = "1.0.25"; + edition = "2021"; + sha256 = "1nkhn1fklmn342z5c4mzfzlxddv3x8yhxwwk02cj06djvh36065p"; + procMacro = true; + libName = "ref_cast_impl"; + authors = [ + "David Tolnay " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 2.0.106"; + } + ]; + + }; "regex" = rec { crateName = "regex"; version = "1.11.2"; @@ -9122,41 +9357,7 @@ rec { }; resolvedDefaultFeatures = [ "log" "logging" "ring" "std" "tls12" ]; }; - "rustls-native-certs 0.7.3" = rec { - crateName = "rustls-native-certs"; - version = "0.7.3"; - edition = "2021"; - sha256 = "1r9ib5gwkfci2wbqnbh44nigvrfgxs4n1x89js82w97dxsab7gz5"; - libName = "rustls_native_certs"; - dependencies = [ - { - name = "openssl-probe"; - packageId = "openssl-probe"; - target = { target, features }: ((target."unix" or false) && (!("macos" == target."os" or null))); - } - { - name = "rustls-pemfile"; - packageId = "rustls-pemfile"; - } - { - name = "rustls-pki-types"; - packageId = "rustls-pki-types"; - rename = "pki-types"; - } - { - name = "schannel"; - packageId = "schannel"; - target = { target, features }: (target."windows" or false); - } - { - name = "security-framework"; - packageId = "security-framework 2.11.1"; - target = { target, features }: ("macos" == target."os" or null); - } - ]; - - }; - "rustls-native-certs 0.8.1" = rec { + "rustls-native-certs" = rec { crateName = "rustls-native-certs"; version = "0.8.1"; edition = "2021"; @@ -9187,25 +9388,6 @@ rec { ]; }; - "rustls-pemfile" = rec { - crateName = "rustls-pemfile"; - version = "2.2.0"; - edition = "2018"; - sha256 = "0l3f3mrfkgdjrava7ibwzgwc4h3dljw3pdkbsi9rkwz3zvji9qyw"; - libName = "rustls_pemfile"; - dependencies = [ - { - name = "rustls-pki-types"; - packageId = "rustls-pki-types"; - rename = "pki-types"; - } - ]; - features = { - "default" = [ "std" ]; - "std" = [ "pki-types/std" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; "rustls-pki-types" = rec { crateName = "rustls-pki-types"; version = "1.12.0"; @@ -9332,9 +9514,9 @@ rec { }; "schemars" = rec { crateName = "schemars"; - version = "0.8.22"; + version = "1.0.4"; edition = "2021"; - sha256 = "05an9nbi18ynyxv1rjmwbg6j08j0496hd64mjggh53mwp3hjmgrz"; + sha256 = "1l7w773jfk6mz0v8wpahp60aslksjijlbm65ysi4y5mwj520rll2"; authors = [ "Graham Esau " ]; @@ -9343,6 +9525,10 @@ rec { name = "dyn-clone"; packageId = "dyn-clone"; } + { + name = "ref-cast"; + packageId = "ref-cast"; + } { name = "schemars_derive"; packageId = "schemars_derive"; @@ -9351,56 +9537,64 @@ rec { { name = "serde"; packageId = "serde"; - features = [ "derive" ]; + usesDefaultFeatures = false; + features = [ "alloc" ]; } { name = "serde_json"; packageId = "serde_json"; + usesDefaultFeatures = false; + features = [ "alloc" ]; } { name = "url"; packageId = "url"; + rename = "url2"; optional = true; usesDefaultFeatures = false; } ]; + devDependencies = [ + { + name = "serde"; + packageId = "serde"; + features = [ "derive" ]; + } + { + name = "url"; + packageId = "url"; + rename = "url2"; + usesDefaultFeatures = false; + features = [ "serde" "std" ]; + } + ]; features = { - "arrayvec" = [ "arrayvec05" ]; - "arrayvec05" = [ "dep:arrayvec05" ]; "arrayvec07" = [ "dep:arrayvec07" ]; - "bigdecimal" = [ "bigdecimal03" ]; - "bigdecimal03" = [ "dep:bigdecimal03" ]; "bigdecimal04" = [ "dep:bigdecimal04" ]; - "bytes" = [ "dep:bytes" ]; - "chrono" = [ "dep:chrono" ]; - "default" = [ "derive" ]; + "bytes1" = [ "dep:bytes1" ]; + "chrono04" = [ "dep:chrono04" ]; + "default" = [ "derive" "std" ]; "derive" = [ "schemars_derive" ]; - "derive_json_schema" = [ "impl_json_schema" ]; - "either" = [ "dep:either" ]; - "enumset" = [ "dep:enumset" ]; - "impl_json_schema" = [ "derive" ]; - "indexmap" = [ "dep:indexmap" ]; - "indexmap1" = [ "indexmap" ]; + "either1" = [ "dep:either1" ]; "indexmap2" = [ "dep:indexmap2" ]; - "preserve_order" = [ "indexmap" ]; + "jiff02" = [ "dep:jiff02" ]; + "preserve_order" = [ "serde_json/preserve_order" ]; "raw_value" = [ "serde_json/raw_value" ]; - "rust_decimal" = [ "dep:rust_decimal" ]; + "rust_decimal1" = [ "dep:rust_decimal1" ]; "schemars_derive" = [ "dep:schemars_derive" ]; - "semver" = [ "dep:semver" ]; - "smallvec" = [ "dep:smallvec" ]; - "smol_str" = [ "dep:smol_str" ]; - "url" = [ "dep:url" ]; - "uuid" = [ "uuid08" ]; - "uuid08" = [ "dep:uuid08" ]; + "semver1" = [ "dep:semver1" ]; + "smallvec1" = [ "dep:smallvec1" ]; + "smol_str02" = [ "dep:smol_str02" ]; + "url2" = [ "dep:url2" ]; "uuid1" = [ "dep:uuid1" ]; }; - resolvedDefaultFeatures = [ "default" "derive" "schemars_derive" "url" ]; + resolvedDefaultFeatures = [ "default" "derive" "schemars_derive" "std" "url2" ]; }; "schemars_derive" = rec { crateName = "schemars_derive"; - version = "0.8.22"; + version = "1.0.4"; edition = "2021"; - sha256 = "0kakyzrp5801s4i043l4ilv96lzimnlh01pap958h66n99w6bqij"; + sha256 = "107sprdfa5kacifxq41qv5ccv7a78msxyr8ikz0qs4qxdlwj1l1k"; procMacro = true; authors = [ "Graham Esau " @@ -9418,6 +9612,12 @@ rec { name = "serde_derive_internals"; packageId = "serde_derive_internals"; } + { + name = "syn"; + packageId = "syn 2.0.106"; + } + ]; + devDependencies = [ { name = "syn"; packageId = "syn 2.0.106"; @@ -10284,13 +10484,13 @@ rec { }; "stackable-operator" = rec { crateName = "stackable-operator"; - version = "0.96.0"; + version = "0.99.0"; edition = "2024"; workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "89f484ca4e86b565e083e9ad7573e21dbe29a3af"; - sha256 = "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c"; + rev = "be422046081be2fb9f37dfece660e007273f4e32"; + sha256 = "14mp7m9x1d6s1xxhdh5rqvkxdksmz96km1hfn0yshdfw6ic5m8cv"; }; libName = "stackable_operator"; authors = [ @@ -10335,7 +10535,7 @@ rec { } { name = "stackable-telemetry"; - packageId = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#stackable-telemetry@0.6.1"; + packageId = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.99.0#stackable-telemetry@0.6.1"; optional = true; features = [ "clap" ]; } @@ -10355,7 +10555,7 @@ rec { name = "k8s-openapi"; packageId = "k8s-openapi"; usesDefaultFeatures = false; - features = [ "schemars" "v1_33" ]; + features = [ "schemars" "v1_34" ]; } { name = "kube"; @@ -10374,7 +10574,7 @@ rec { { name = "schemars"; packageId = "schemars"; - features = [ "url" ]; + features = [ "url2" ]; } { name = "semver"; @@ -10404,6 +10604,7 @@ rec { { name = "stackable-shared"; packageId = "stackable-shared"; + features = [ "chrono" "time" ]; } { name = "stackable-versioned"; @@ -10441,14 +10642,14 @@ rec { ]; features = { "certs" = [ "dep:stackable-certs" ]; - "default" = [ "telemetry" "versioned" ]; - "full" = [ "certs" "telemetry" "versioned" "time" "webhook" ]; + "default" = [ "telemetry" "versioned" "clap" ]; + "full" = [ "certs" "telemetry" "versioned" "time" "webhook" "clap" ]; "telemetry" = [ "dep:stackable-telemetry" ]; "time" = [ "stackable-shared/time" ]; "versioned" = [ "dep:stackable-versioned" ]; "webhook" = [ "dep:stackable-webhook" ]; }; - resolvedDefaultFeatures = [ "default" "telemetry" "time" "versioned" ]; + resolvedDefaultFeatures = [ "clap" "default" "telemetry" "time" "versioned" ]; }; "stackable-operator-derive" = rec { crateName = "stackable-operator-derive"; @@ -10457,8 +10658,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "89f484ca4e86b565e083e9ad7573e21dbe29a3af"; - sha256 = "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c"; + rev = "be422046081be2fb9f37dfece660e007273f4e32"; + sha256 = "14mp7m9x1d6s1xxhdh5rqvkxdksmz96km1hfn0yshdfw6ic5m8cv"; }; procMacro = true; libName = "stackable_operator_derive"; @@ -10468,7 +10669,7 @@ rec { dependencies = [ { name = "darling"; - packageId = "darling 0.21.3"; + packageId = "darling"; } { name = "proc-macro2"; @@ -10778,24 +10979,30 @@ rec { }; "stackable-shared" = rec { crateName = "stackable-shared"; - version = "0.0.2"; + version = "0.0.3"; edition = "2024"; workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "89f484ca4e86b565e083e9ad7573e21dbe29a3af"; - sha256 = "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c"; + rev = "be422046081be2fb9f37dfece660e007273f4e32"; + sha256 = "14mp7m9x1d6s1xxhdh5rqvkxdksmz96km1hfn0yshdfw6ic5m8cv"; }; libName = "stackable_shared"; authors = [ "Stackable GmbH " ]; dependencies = [ + { + name = "chrono"; + packageId = "chrono"; + optional = true; + usesDefaultFeatures = false; + } { name = "k8s-openapi"; packageId = "k8s-openapi"; usesDefaultFeatures = false; - features = [ "schemars" "v1_33" ]; + features = [ "schemars" "v1_34" ]; } { name = "kube"; @@ -10806,7 +11013,7 @@ rec { { name = "schemars"; packageId = "schemars"; - features = [ "url" ]; + features = [ "url2" ]; } { name = "semver"; @@ -10841,25 +11048,26 @@ rec { name = "k8s-openapi"; packageId = "k8s-openapi"; usesDefaultFeatures = false; - features = [ "schemars" "v1_33" ]; + features = [ "schemars" "v1_34" ]; } ]; features = { + "chrono" = [ "dep:chrono" ]; "default" = [ "time" ]; - "full" = [ "time" ]; + "full" = [ "chrono" "time" ]; "time" = [ "dep:time" ]; }; - resolvedDefaultFeatures = [ "default" "time" ]; + resolvedDefaultFeatures = [ "chrono" "default" "time" ]; }; "stackable-versioned" = rec { crateName = "stackable-versioned"; - version = "0.8.1"; + version = "0.8.2"; edition = "2024"; workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "89f484ca4e86b565e083e9ad7573e21dbe29a3af"; - sha256 = "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c"; + rev = "be422046081be2fb9f37dfece660e007273f4e32"; + sha256 = "14mp7m9x1d6s1xxhdh5rqvkxdksmz96km1hfn0yshdfw6ic5m8cv"; }; libName = "stackable_versioned"; authors = [ @@ -10869,7 +11077,7 @@ rec { { name = "schemars"; packageId = "schemars"; - features = [ "url" ]; + features = [ "url2" ]; } { name = "serde"; @@ -10897,13 +11105,13 @@ rec { }; "stackable-versioned-macros" = rec { crateName = "stackable-versioned-macros"; - version = "0.8.1"; + version = "0.8.2"; edition = "2024"; workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "89f484ca4e86b565e083e9ad7573e21dbe29a3af"; - sha256 = "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c"; + rev = "be422046081be2fb9f37dfece660e007273f4e32"; + sha256 = "14mp7m9x1d6s1xxhdh5rqvkxdksmz96km1hfn0yshdfw6ic5m8cv"; }; procMacro = true; libName = "stackable_versioned_macros"; @@ -10917,7 +11125,7 @@ rec { } { name = "darling"; - packageId = "darling 0.21.3"; + packageId = "darling"; } { name = "indoc"; @@ -10931,7 +11139,7 @@ rec { name = "k8s-openapi"; packageId = "k8s-openapi"; usesDefaultFeatures = false; - features = [ "schemars" "v1_33" ]; + features = [ "schemars" "v1_34" ]; } { name = "k8s-version"; @@ -11978,6 +12186,11 @@ rec { name = "bytes"; packageId = "bytes"; } + { + name = "flate2"; + packageId = "flate2"; + optional = true; + } { name = "h2"; packageId = "h2"; @@ -12088,7 +12301,7 @@ rec { "transport" = [ "server" "channel" ]; "zstd" = [ "dep:zstd" ]; }; - resolvedDefaultFeatures = [ "channel" "codegen" "default" "router" "server" "transport" ]; + resolvedDefaultFeatures = [ "channel" "codegen" "default" "gzip" "router" "server" "transport" ]; }; "tonic-build" = rec { crateName = "tonic-build"; @@ -12713,7 +12926,7 @@ rec { }; resolvedDefaultFeatures = [ "log-tracer" "std" ]; }; - "tracing-opentelemetry" = rec { + "tracing-opentelemetry 0.31.0" = rec { crateName = "tracing-opentelemetry"; version = "0.31.0"; edition = "2021"; @@ -12731,13 +12944,13 @@ rec { } { name = "opentelemetry"; - packageId = "opentelemetry"; + packageId = "opentelemetry 0.30.0"; usesDefaultFeatures = false; features = [ "trace" ]; } { name = "opentelemetry_sdk"; - packageId = "opentelemetry_sdk"; + packageId = "opentelemetry_sdk 0.30.0"; usesDefaultFeatures = false; features = [ "trace" ]; } @@ -12777,12 +12990,12 @@ rec { devDependencies = [ { name = "opentelemetry"; - packageId = "opentelemetry"; + packageId = "opentelemetry 0.30.0"; features = [ "trace" "metrics" ]; } { name = "opentelemetry_sdk"; - packageId = "opentelemetry_sdk"; + packageId = "opentelemetry_sdk 0.30.0"; usesDefaultFeatures = false; features = [ "trace" "rt-tokio" "experimental_metrics_custom_reader" ]; } @@ -12812,6 +13025,106 @@ rec { }; resolvedDefaultFeatures = [ "default" "metrics" "smallvec" "tracing-log" ]; }; + "tracing-opentelemetry 0.32.0" = rec { + crateName = "tracing-opentelemetry"; + version = "0.32.0"; + edition = "2021"; + sha256 = "13hvpfljbxi8id3j5pmzn4rhc4nkw68pfp57mf4q1n1x8rc5cvhy"; + libName = "tracing_opentelemetry"; + dependencies = [ + { + name = "js-sys"; + packageId = "js-sys"; + target = { target, features }: (("wasm32" == target."arch" or null) && (!("wasi" == target."os" or null))); + } + { + name = "opentelemetry"; + packageId = "opentelemetry 0.31.0"; + usesDefaultFeatures = false; + features = [ "trace" ]; + } + { + name = "opentelemetry_sdk"; + packageId = "opentelemetry_sdk 0.31.0"; + usesDefaultFeatures = false; + features = [ "trace" ]; + } + { + name = "rustversion"; + packageId = "rustversion"; + } + { + name = "smallvec"; + packageId = "smallvec"; + optional = true; + } + { + name = "thiserror"; + packageId = "thiserror 2.0.16"; + usesDefaultFeatures = false; + } + { + name = "tracing"; + packageId = "tracing"; + usesDefaultFeatures = false; + features = [ "std" ]; + } + { + name = "tracing-core"; + packageId = "tracing-core"; + } + { + name = "tracing-log"; + packageId = "tracing-log"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "tracing-subscriber"; + packageId = "tracing-subscriber"; + usesDefaultFeatures = false; + features = [ "registry" "std" ]; + } + { + name = "web-time"; + packageId = "web-time"; + target = { target, features }: (("wasm32" == target."arch" or null) && (!("wasi" == target."os" or null))); + } + ]; + devDependencies = [ + { + name = "opentelemetry"; + packageId = "opentelemetry 0.31.0"; + features = [ "trace" "metrics" ]; + } + { + name = "opentelemetry_sdk"; + packageId = "opentelemetry_sdk 0.31.0"; + usesDefaultFeatures = false; + features = [ "trace" "rt-tokio" "experimental_metrics_custom_reader" "testing" ]; + } + { + name = "tracing"; + packageId = "tracing"; + usesDefaultFeatures = false; + features = [ "std" "attributes" ]; + } + { + name = "tracing-subscriber"; + packageId = "tracing-subscriber"; + usesDefaultFeatures = false; + features = [ "registry" "std" "fmt" ]; + } + ]; + features = { + "default" = [ "tracing-log" "metrics" ]; + "lazy_static" = [ "dep:lazy_static" ]; + "metrics" = [ "opentelemetry/metrics" "opentelemetry_sdk/metrics" "smallvec" ]; + "smallvec" = [ "dep:smallvec" ]; + "tracing-log" = [ "dep:tracing-log" ]; + }; + resolvedDefaultFeatures = [ "default" "metrics" "smallvec" "tracing-log" ]; + }; "tracing-serde" = rec { crateName = "tracing-serde"; version = "0.2.0"; @@ -16099,15 +16412,14 @@ rec { "either" = [ "dep:either" ]; }; }; - "xml-rs" = rec { - crateName = "xml-rs"; - version = "0.8.27"; + "xml" = rec { + crateName = "xml"; + version = "1.0.0"; edition = "2021"; - crateBin = []; - sha256 = "1irplg223x6w3lvj0yig6czbiwci06495wc9xg3660kh6cvl1n3g"; - libName = "xml"; + sha256 = "0db4s3j50gkqkwpmyz9mfgrvifwgb4mzihkgnrm8hgg77alf1rkj"; authors = [ "Vladimir Matveev " + "Kornel (https://github.com/kornelski)" ]; }; diff --git a/Cargo.toml b/Cargo.toml index 32b5ee66..f637fa78 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,7 @@ edition = "2021" repository = "https://github.com/stackabletech/secret-operator" [workspace.dependencies] -stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", features = ["time", "telemetry", "versioned"], tag = "stackable-operator-0.96.0" } +stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", features = ["time", "telemetry", "versioned"], tag = "stackable-operator-0.99.0" } krb5 = { git = "https://github.com/stackabletech/krb5-rs.git", tag = "v0.1.0" } anyhow = "1.0" @@ -23,7 +23,7 @@ const_format = "0.2.34" futures = { version = "0.3", features = ["compat"] } h2 = "0.4" hex = "0.4" -kube-runtime = { version = "1.0", features = ["unstable-runtime-stream-control"] } +kube-runtime = { version = "2.0", features = ["unstable-runtime-stream-control"] } ldap3 = { version = "0.11", default-features = false, features = ["gssapi", "tls"] } libc = "0.2" native-tls = "0.2" diff --git a/crate-hashes.json b/crate-hashes.json index 12b48568..ad933641 100644 --- a/crate-hashes.json +++ b/crate-hashes.json @@ -1,13 +1,13 @@ { "git+https://github.com/stackabletech/krb5-rs.git?tag=v0.1.0#krb5-sys@0.1.0": "148zr0q04163hpirkrff5q7cbxqgwzzxh0091zr4g23x7l64jh39", "git+https://github.com/stackabletech/krb5-rs.git?tag=v0.1.0#krb5@0.1.0": "148zr0q04163hpirkrff5q7cbxqgwzzxh0091zr4g23x7l64jh39", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#k8s-version@0.1.3": "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#stackable-operator-derive@0.3.1": "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#stackable-operator@0.96.0": "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#stackable-shared@0.0.2": "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#stackable-telemetry@0.6.1": "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#stackable-versioned-macros@0.8.1": "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#stackable-versioned@0.8.1": "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.99.0#k8s-version@0.1.3": "14mp7m9x1d6s1xxhdh5rqvkxdksmz96km1hfn0yshdfw6ic5m8cv", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.99.0#stackable-operator-derive@0.3.1": "14mp7m9x1d6s1xxhdh5rqvkxdksmz96km1hfn0yshdfw6ic5m8cv", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.99.0#stackable-operator@0.99.0": "14mp7m9x1d6s1xxhdh5rqvkxdksmz96km1hfn0yshdfw6ic5m8cv", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.99.0#stackable-shared@0.0.3": "14mp7m9x1d6s1xxhdh5rqvkxdksmz96km1hfn0yshdfw6ic5m8cv", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.99.0#stackable-telemetry@0.6.1": "14mp7m9x1d6s1xxhdh5rqvkxdksmz96km1hfn0yshdfw6ic5m8cv", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.99.0#stackable-versioned-macros@0.8.2": "14mp7m9x1d6s1xxhdh5rqvkxdksmz96km1hfn0yshdfw6ic5m8cv", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.99.0#stackable-versioned@0.8.2": "14mp7m9x1d6s1xxhdh5rqvkxdksmz96km1hfn0yshdfw6ic5m8cv", "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-telemetry-0.6.1#stackable-telemetry@0.6.1": "0hiymhr40ix4jv9dmvp5d009xs6v0frvllr2xkf5mw43rcg44mgd", - "git+https://github.com/stackabletech/product-config.git?tag=0.7.0#product-config@0.7.0": "0gjsm80g6r75pm3824dcyiz4ysq1ka4c1if6k1mjm9cnd5ym0gny" + "git+https://github.com/stackabletech/product-config.git?tag=0.8.0#product-config@0.8.0": "1dz70kapm2wdqcr7ndyjji0lhsl98bsq95gnb2lw487wf6yr7987" } \ No newline at end of file diff --git a/rust/operator-binary/src/crd/v1alpha1_impl.rs b/rust/operator-binary/src/crd/v1alpha1_impl.rs index e3010ef8..fd8323aa 100644 --- a/rust/operator-binary/src/crd/v1alpha1_impl.rs +++ b/rust/operator-binary/src/crd/v1alpha1_impl.rs @@ -4,7 +4,7 @@ use snafu::Snafu; use stackable_operator::{ k8s_openapi::api::core::v1::{ConfigMap, Secret}, kube::api::PartialObjectMeta, - schemars::{self, schema::Schema}, + schemars::{Schema, SchemaGenerator}, shared::time::Duration, }; @@ -149,7 +149,7 @@ impl CertificateKeyGeneration { // - '3072' // - '4096' // type: string - pub fn tls_key_length_schema(_: &mut schemars::gen::SchemaGenerator) -> Schema { + pub fn tls_key_length_schema(_: &mut SchemaGenerator) -> Schema { serde_json::from_value(serde_json::json!({ "type": "integer", "enum": [ diff --git a/rust/operator-binary/src/main.rs b/rust/operator-binary/src/main.rs index 5c9b3b81..e7439d97 100644 --- a/rust/operator-binary/src/main.rs +++ b/rust/operator-binary/src/main.rs @@ -2,7 +2,7 @@ // This will need changes in our and upstream error types. #![allow(clippy::result_large_err)] -use std::{os::unix::prelude::FileTypeExt, path::PathBuf, pin::pin}; +use std::{os::unix::prelude::FileTypeExt, path::PathBuf}; use anyhow::Context; use clap::Parser; @@ -15,12 +15,13 @@ use grpc::csi::v1::{ controller_server::ControllerServer, identity_server::IdentityServer, node_server::NodeServer, }; use stackable_operator::{ - YamlSchema, - cli::{CommonOptions, ProductOperatorRun}, - shared::yaml::SerializeOptions, + YamlSchema, cli::RunArguments, eos::EndOfSupportChecker, shared::yaml::SerializeOptions, telemetry::Tracing, }; -use tokio::signal::unix::{SignalKind, signal}; +use tokio::{ + pin, + signal::unix::{SignalKind, signal}, +}; use tokio_stream::wrappers::UnixListenerStream; use tonic::transport::Server; use utils::{TonicUnixStream, uds_bind_private}; @@ -60,7 +61,7 @@ struct SecretOperatorRun { privileged: bool, #[clap(flatten)] - common: ProductOperatorRun, + common: RunArguments, } mod built_info { @@ -81,22 +82,20 @@ async fn main() -> anyhow::Result<()> { csi_endpoint, privileged, common: - ProductOperatorRun { - common: - CommonOptions { - telemetry, - cluster_info, - }, + RunArguments { + operator_environment: _, product_config: _, watch_namespace, - operator_environment: _, + maintenance, + common, }, }) => { // NOTE (@NickLarsenNZ): Before stackable-telemetry was used: // - The console log level was set by `SECRET_PROVISIONER_LOG`, and is now `CONSOLE_LOG` (when using Tracing::pre_configured). // - The file log level was set by `SECRET_PROVISIONER_LOG`, and is now set via `FILE_LOG` (when using Tracing::pre_configured). // - The file log directory was set by `SECRET_PROVISIONER_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).init()?; + let _tracing_guard = + Tracing::pre_configured(built_info::PKG_NAME, common.telemetry).init()?; tracing::info!( built_info.pkg_version = built_info::PKG_VERSION, @@ -108,50 +107,58 @@ async fn main() -> anyhow::Result<()> { description = built_info::PKG_DESCRIPTION ); + let eos_checker = + EndOfSupportChecker::new(built_info::BUILT_TIME_UTC, maintenance.end_of_support)? + .run() + .map(Ok); + let client = stackable_operator::client::initialize_operator( Some(OPERATOR_NAME.to_string()), - &cluster_info, + &common.cluster_info, ) .await?; + if csi_endpoint .symlink_metadata() .is_ok_and(|meta| meta.file_type().is_socket()) { let _ = std::fs::remove_file(&csi_endpoint); } + let mut sigterm = signal(SignalKind::terminate())?; - let csi_server = pin!( - Server::builder() - .add_service( - tonic_reflection::server::Builder::configure() - .include_reflection_service(true) - .register_encoded_file_descriptor_set(grpc::FILE_DESCRIPTOR_SET_BYTES) - .build_v1()?, - ) - .add_service(IdentityServer::new(SecretProvisionerIdentity)) - .add_service(ControllerServer::new(SecretProvisionerController { - client: client.clone(), - })) - .add_service(NodeServer::new(SecretProvisionerNode { - client: client.clone(), - node_name: cluster_info.kubernetes_node_name.to_owned(), - privileged, - })) - .serve_with_incoming_shutdown( - UnixListenerStream::new( - uds_bind_private(csi_endpoint) - .context("failed to bind CSI listener")?, - ) - .map_ok(TonicUnixStream), - sigterm.recv().map(|_| ()), + + let csi_server = Server::builder() + .add_service( + tonic_reflection::server::Builder::configure() + .include_reflection_service(true) + .register_encoded_file_descriptor_set(grpc::FILE_DESCRIPTOR_SET_BYTES) + .build_v1()?, + ) + .add_service(IdentityServer::new(SecretProvisionerIdentity)) + .add_service(ControllerServer::new(SecretProvisionerController { + client: client.clone(), + })) + .add_service(NodeServer::new(SecretProvisionerNode { + client: client.clone(), + node_name: common.cluster_info.kubernetes_node_name.to_owned(), + privileged, + })) + .serve_with_incoming_shutdown( + UnixListenerStream::new( + uds_bind_private(csi_endpoint).context("failed to bind CSI listener")?, ) - ); + .map_ok(TonicUnixStream), + sigterm.recv().map(|_| ()), + ); + let truststore_controller = - pin!(truststore_controller::start(&client, &watch_namespace).map(Ok)); - futures::future::select(csi_server, truststore_controller) - .await - .factor_first() - .0?; + truststore_controller::start(&client, &watch_namespace).map(Ok); + + // NOTE (@Techassi): I'm not quite sure if there is any benefit to pinning these futures + // to the stack (maybe slightly better performance), but it was there before and as such + // we will keep it. + pin!(csi_server, truststore_controller, eos_checker); + futures::try_join!(csi_server, truststore_controller, eos_checker)?; } } Ok(()) From d9641ca60fb804719d477b2f5c172a7731727390 Mon Sep 17 00:00:00 2001 From: Techassi Date: Mon, 6 Oct 2025 15:57:54 +0200 Subject: [PATCH 2/3] chore: Update schema descriptions in CRD --- deploy/helm/secret-operator/crds/crds.yaml | 133 ++++++++++++++++----- 1 file changed, 101 insertions(+), 32 deletions(-) diff --git a/deploy/helm/secret-operator/crds/crds.yaml b/deploy/helm/secret-operator/crds/crds.yaml index cfa8b732..1459d6f4 100644 --- a/deploy/helm/secret-operator/crds/crds.yaml +++ b/deploy/helm/secret-operator/crds/crds.yaml @@ -22,10 +22,15 @@ spec: description: Auto-generated derived type for SecretClassSpec via `CustomResource` properties: spec: - description: A [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) is a cluster-global Kubernetes resource that defines a category of secrets that the Secret Operator knows how to provision. + description: |- + A [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass) is a cluster-global Kubernetes resource + that defines a category of secrets that the Secret Operator knows how to provision. properties: backend: - description: Each SecretClass is associated with a single [backend](https://docs.stackable.tech/home/nightly/secret-operator/secretclass#backend), which dictates the mechanism for issuing that kind of Secret. + description: |- + Each SecretClass is associated with a single + [backend](https://docs.stackable.tech/home/nightly/secret-operator/secretclass#backend), + which dictates the mechanism for issuing that kind of Secret. oneOf: - required: - k8sSearch @@ -38,7 +43,9 @@ spec: properties: autoTls: description: |- - The [`autoTls` backend](https://docs.stackable.tech/home/nightly/secret-operator/secretclass#backend-autotls) issues a TLS certificate signed by the Secret Operator. The certificate authority can be provided by the administrator, or managed automatically by the Secret Operator. + The [`autoTls` backend](https://docs.stackable.tech/home/nightly/secret-operator/secretclass#backend-autotls) + issues a TLS certificate signed by the Secret Operator. + The certificate authority can be provided by the administrator, or managed automatically by the Secret Operator. A new certificate and key pair will be generated and signed for each Pod, keys or certificates are never reused. properties: @@ -53,7 +60,12 @@ spec: - secret properties: configMap: - description: 'Reference (name and namespace) to a Kubernetes ConfigMap object where additional certificates are stored. The extensions of the keys denote its contents: A key suffixed with `.crt` contains a stack of base64 encoded DER certificates, a key suffixed with `.der` contains a binary DER certificate.' + description: |- + Reference (name and namespace) to a Kubernetes ConfigMap object where additional + certificates are stored. + The extensions of the keys denote its contents: A key suffixed with `.crt` contains a stack + of base64 encoded DER certificates, a key suffixed with `.der` contains a binary DER + certificate. properties: name: description: Name of the ConfigMap being referred to. @@ -66,7 +78,12 @@ spec: - namespace type: object secret: - description: 'Reference (name and namespace) to a Kubernetes Secret object where additional certificates are stored. The extensions of the keys denote its contents: A key suffixed with `.crt` contains a stack of base64 encoded DER certificates, a key suffixed with `.der` contains a binary DER certificate.' + description: |- + Reference (name and namespace) to a Kubernetes Secret object where additional certificates + are stored. + The extensions of the keys denote its contents: A key suffixed with `.crt` contains a stack + of base64 encoded DER certificates, a key suffixed with `.der` contains a binary DER + certificate. properties: name: description: Name of the Secret being referred to. @@ -85,7 +102,9 @@ spec: properties: autoGenerate: default: false - description: Whether the certificate authority should be managed by Secret Operator, including being generated if it does not already exist. + description: |- + Whether the certificate authority should be managed by Secret Operator, including being generated + if it does not already exist. type: boolean caCertificateLifetime: default: 365d @@ -94,13 +113,16 @@ spec: Should always be more than double `maxCertificateLifetime`. - If `autoGenerate: true` then the Secret Operator will prepare a new CA certificate the old CA approaches expiration. If `autoGenerate: false` then the Secret Operator will log a warning instead. + If `autoGenerate: true` then the Secret Operator will prepare a new CA certificate the old CA approaches expiration. + If `autoGenerate: false` then the Secret Operator will log a warning instead. type: string keyGeneration: default: rsa: length: 2048 - description: The algorithm used to generate a key pair and required configuration settings. Currently only RSA and a key length of 2048, 3072 or 4096 bits can be configured. + description: |- + The algorithm used to generate a key pair and required configuration settings. + Currently only RSA and a key length of 2048, 3072 or 4096 bits can be configured. oneOf: - required: - rsa @@ -108,7 +130,9 @@ spec: rsa: properties: length: - description: The amount of bits used for generating the RSA keypair. Currently, `2048`, `3072` and `4096` are supported. Defaults to `2048` bits. + description: |- + The amount of bits used for generating the RSA keypair. + Currently, `2048`, `3072` and `4096` are supported. Defaults to `2048` bits. enum: - 2048 - 3072 @@ -119,7 +143,9 @@ spec: type: object type: object secret: - description: Reference (name and namespace) to a Kubernetes Secret object where the CA certificate and key is stored in the keys `ca.crt` and `ca.key` respectively. + description: |- + Reference (name and namespace) to a Kubernetes Secret object where the CA certificate + and key is stored in the keys `ca.crt` and `ca.key` respectively. properties: name: description: Name of the Secret being referred to. @@ -136,16 +162,22 @@ spec: type: object maxCertificateLifetime: default: 15d - description: Maximum lifetime the created certificates are allowed to have. In case consumers request a longer lifetime than allowed by this setting, the lifetime will be the minimum of both, so this setting takes precedence. The default value is 15 days. + description: |- + Maximum lifetime the created certificates are allowed to have. + In case consumers request a longer lifetime than allowed by this setting, + the lifetime will be the minimum of both, so this setting takes precedence. + The default value is 15 days. type: string required: - ca type: object experimentalCertManager: description: |- - The [`experimentalCertManager` backend][1] injects a TLS certificate issued by [cert-manager](https://cert-manager.io/). + The [`experimentalCertManager` backend][1] injects a TLS certificate issued + by [cert-manager](https://cert-manager.io/). - A new certificate will be requested the first time it is used by a Pod, it will be reused after that (subject to cert-manager renewal rules). + A new certificate will be requested the first time it is used by a Pod, it + will be reused after that (subject to cert-manager renewal rules). [1]: https://docs.stackable.tech/home/nightly/secret-operator/secretclass#backend-certmanager properties: @@ -179,7 +211,9 @@ spec: default: rsa: length: 2048 - description: The algorithm used to generate a key pair and required configuration settings. Currently only RSA and a key length of 2048, 3072 or 4096 bits can be configured. + description: |- + The algorithm used to generate a key pair and required configuration settings. + Currently only RSA and a key length of 2048, 3072 or 4096 bits can be configured. oneOf: - required: - rsa @@ -187,7 +221,9 @@ spec: rsa: properties: length: - description: The amount of bits used for generating the RSA keypair. Currently, `2048`, `3072` and `4096` are supported. Defaults to `2048` bits. + description: |- + The amount of bits used for generating the RSA keypair. + Currently, `2048`, `3072` and `4096` are supported. Defaults to `2048` bits. enum: - 2048 - 3072 @@ -201,7 +237,9 @@ spec: - issuer type: object k8sSearch: - description: The [`k8sSearch` backend](https://docs.stackable.tech/home/nightly/secret-operator/secretclass#backend-k8ssearch) can be used to mount Secrets across namespaces into Pods. + description: |- + The [`k8sSearch` backend](https://docs.stackable.tech/home/nightly/secret-operator/secretclass#backend-k8ssearch) + can be used to mount Secrets across namespaces into Pods. properties: searchNamespace: description: Configures the namespace searched for Secret objects. @@ -212,10 +250,14 @@ spec: - name properties: name: - description: The Secret objects are located in a single global namespace. Should be used for secrets that are provisioned by the cluster administrator. + description: |- + The Secret objects are located in a single global namespace. + Should be used for secrets that are provisioned by the cluster administrator. type: string pod: - description: The Secret objects are located in the same namespace as the Pod object. Should be used for Secrets that are provisioned by the application administrator. + description: |- + The Secret objects are located in the same namespace as the Pod object. + Should be used for Secrets that are provisioned by the application administrator. type: object type: object trustStoreConfigMapName: @@ -231,7 +273,10 @@ spec: - searchNamespace type: object kerberosKeytab: - description: The [`kerberosKeytab` backend](https://docs.stackable.tech/home/nightly/secret-operator/secretclass#backend-kerberoskeytab) creates a Kerberos keytab file for a selected realm. The Kerberos KDC and administrator credentials must be provided by the administrator. + description: |- + The [`kerberosKeytab` backend](https://docs.stackable.tech/home/nightly/secret-operator/secretclass#backend-kerberoskeytab) + creates a Kerberos keytab file for a selected realm. + The Kerberos KDC and administrator credentials must be provided by the administrator. properties: admin: description: Kerberos admin configuration settings. @@ -245,7 +290,10 @@ spec: description: Credentials should be provisioned in a Microsoft Active Directory domain. properties: experimentalGenerateSamAccountName: - description: Allows samAccountName generation for new accounts to be customized. Note that setting this field (even if empty) makes the Secret Operator take over the generation duty from the domain controller. + description: |- + Allows samAccountName generation for new accounts to be customized. + Note that setting this field (even if empty) makes the Secret Operator take + over the generation duty from the domain controller. nullable: true properties: prefix: @@ -255,18 +303,24 @@ spec: totalLength: default: 20 description: |- - The total length of generated samAccountNames, _including_ `prefix`. Must be larger than the length of `prefix`, but at most `20`. + The total length of generated samAccountNames, _including_ `prefix`. + Must be larger than the length of `prefix`, but at most `20`. Note that this should be as large as possible, to minimize the risk of collisions. format: uint8 + maximum: 255.0 minimum: 0.0 type: integer type: object ldapServer: - description: An AD LDAP server, such as the AD Domain Controller. This must match the server’s FQDN, or GSSAPI authentication will fail. + description: |- + An AD LDAP server, such as the AD Domain Controller. + This must match the server’s FQDN, or GSSAPI authentication will fail. type: string ldapTlsCaSecret: - description: Reference (name and namespace) to a Kubernetes Secret object containing the TLS CA (in `ca.crt`) that the LDAP server’s certificate should be authenticated against. + description: |- + Reference (name and namespace) to a Kubernetes Secret object containing + the TLS CA (in `ca.crt`) that the LDAP server’s certificate should be authenticated against. properties: name: description: Name of the Secret being referred to. @@ -279,7 +333,9 @@ spec: - namespace type: object passwordCacheSecret: - description: Reference (name and namespace) to a Kubernetes Secret object where workload passwords will be stored. This must not be accessible to end users. + description: |- + Reference (name and namespace) to a Kubernetes Secret object where workload + passwords will be stored. This must not be accessible to end users. properties: name: description: Name of the Secret being referred to. @@ -292,10 +348,14 @@ spec: - namespace type: object schemaDistinguishedName: - description: The root Distinguished Name (DN) for AD-managed schemas, typically `CN=Schema,CN=Configuration,{domain_dn}`. + description: |- + The root Distinguished Name (DN) for AD-managed schemas, + typically `CN=Schema,CN=Configuration,{domain_dn}`. type: string userDistinguishedName: - description: The root Distinguished Name (DN) where service accounts should be provisioned, typically `CN=Users,{domain_dn}`. + description: |- + The root Distinguished Name (DN) where service accounts should be provisioned, + typically `CN=Users,{domain_dn}`. type: string required: - ldapServer @@ -308,14 +368,18 @@ spec: description: Credentials should be provisioned in a MIT Kerberos Admin Server. properties: kadminServer: - description: The hostname of the Kerberos Admin Server. This should be provided by the Kerberos administrator. + description: |- + The hostname of the Kerberos Admin Server. + This should be provided by the Kerberos administrator. type: string required: - kadminServer type: object type: object adminKeytabSecret: - description: Reference (`name` and `namespace`) to a K8s Secret object where a keytab with administrative privileges is stored in the key `keytab`. + description: |- + Reference (`name` and `namespace`) to a K8s Secret object where a + keytab with administrative privileges is stored in the key `keytab`. properties: name: description: Name of the Secret being referred to. @@ -331,11 +395,12 @@ spec: description: The admin principal. type: string kdc: - description: The hostname of the Kerberos Key Distribution Center (KDC). This should be provided by the Kerberos administrator. + description: |- + The hostname of the Kerberos Key Distribution Center (KDC). + This should be provided by the Kerberos administrator. type: string realmName: description: The name of the Kerberos realm. This should be provided by the Kerberos administrator. - pattern: ^[-.a-zA-Z0-9]+$ type: string required: - admin @@ -380,7 +445,8 @@ spec: properties: spec: description: |- - A [TrustStore](https://docs.stackable.tech/home/nightly/secret-operator/truststore) requests information about how to validate secrets issued by a [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass). + A [TrustStore](https://docs.stackable.tech/home/nightly/secret-operator/truststore) requests information about how to + validate secrets issued by a [SecretClass](https://docs.stackable.tech/home/nightly/secret-operator/secretclass). The requested information is written to a ConfigMap with the same name as the TrustStore. properties: @@ -390,6 +456,7 @@ spec: - tls-pem - tls-pkcs12 - kerberos + - null nullable: true type: string secretClassName: @@ -400,7 +467,9 @@ spec: description: |- Which Kubernetes kind should be used to output the requested information to. - The trust information (such as a `ca.crt`) can be considered public information, so we put it in a `ConfigMap` by default. However, some tools might require it to be placed in a `Secret`, so we also support that. + The trust information (such as a `ca.crt`) can be considered public information, so we put + it in a `ConfigMap` by default. However, some tools might require it to be placed in a + `Secret`, so we also support that. Can be either `ConfigMap` or `Secret`, defaults to `ConfigMap`. enum: From e6e2d7fe5b6ad49963e5a7b497b6fb6f54ec3d49 Mon Sep 17 00:00:00 2001 From: Techassi Date: Mon, 6 Oct 2025 15:59:46 +0200 Subject: [PATCH 3/3] chore: Add changelog entry --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb39576d..9ed81c89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ All notable changes to this project will be documented in this file. ### Added +- Add end-of-support checker which can be controlled with environment variables and CLI arguments ([#644]). + - `EOS_CHECK_MODE` (`--eos-check-mode`) to set the EoS check mode. Currently, only "offline" is supported. + - `EOS_INTERVAL` (`--eos-interval`) to set the interval in which the operator checks if it is EoS. + - `EOS_DISABLED` (`--eos-disabled`) to disable the EoS checker completely. - Support exporting the TrustStore CA certificate information to Secrets or ConfigMaps ([#597]). - New helm value for `priorityClassName` ([#641]). @@ -28,6 +32,7 @@ All notable changes to this project will be documented in this file. [#641]: https://github.com/stackabletech/secret-operator/pull/641 [#642]: https://github.com/stackabletech/secret-operator/pull/642 [#643]: https://github.com/stackabletech/secret-operator/pull/643 +[#644]: https://github.com/stackabletech/secret-operator/pull/644 ## [25.7.0] - 2025-07-23