diff --git a/CHANGELOG.md b/CHANGELOG.md index 5bf810d0..fb484ee3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,7 +12,8 @@ All notable changes to this project will be documented in this file. - Use `--console-log-format` (or `CONSOLE_LOG_FORMAT`) to set the format to `plain` (default) or `json`. - The operator now defaults to `AES/CTR/NoPadding` for `dfs.encrypt.data.transfer.cipher.suite` to improve security and performance ([#693]). - The built-in Prometheus servlet is now enabled and metrics are exposed under the `/prom` path of all UI services ([#695]). -- Added several properties to `hdfs-site.xml` and `core-site.xml` that improve general performance and reliability ([#696]) +- Add several properties to `hdfs-site.xml` and `core-site.xml` that improve general performance and reliability ([#696]). +- Add RBAC rule to helm template for automatic cluster domain detection ([#699]). ### Changed @@ -31,15 +32,22 @@ All notable changes to this project will be documented in this file. - This is marked as breaking because tools and policies might exist, which require these fields to be set - Use versioned common structs ([#684]). - BREAKING: remove legacy service account binding for cluster role nodes ([#697]). +- BREAKING: Bump stackable-operator to 0.94.0 and update other dependencies ([#699]). + - The default Kubernetes cluster domain name is now fetched from the kubelet API unless explicitly configured. + - This requires operators to have the RBAC permission to get nodes/proxy in the apiGroup "". The helm-chart takes care of this. + - The CLI argument `--kubernetes-node-name` or env variable `KUBERNETES_NODE_NAME` needs to be set. The helm-chart takes care of this. ### Fixed - Use `json` file extension for log files ([#667]). - Fix a bug where changes to ConfigMaps that are referenced in the HdfsCluster spec didn't trigger a reconciliation ([#671]). +- Allow uppercase characters in domain names ([#699]). ### Removed - Remove support for HDFS `3.3.4`, `3.3.6`, and `3.4.0` ([#675]). +- Remove the `lastUpdateTime` field from the stacklet status ([#699]). +- Remove role binding to legacy service accounts ([#699]). [#661]: https://github.com/stackabletech/hdfs-operator/pull/661 [#671]: https://github.com/stackabletech/hdfs-operator/pull/671 @@ -54,6 +62,7 @@ All notable changes to this project will be documented in this file. [#695]: https://github.com/stackabletech/hdfs-operator/pull/695 [#696]: https://github.com/stackabletech/hdfs-operator/pull/696 [#697]: https://github.com/stackabletech/hdfs-operator/pull/697 +[#699]: https://github.com/stackabletech/hdfs-operator/pull/699 ## [25.3.0] - 2025-03-21 diff --git a/Cargo.lock b/Cargo.lock index 9615e35a..7c12bd98 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -201,7 +201,7 @@ dependencies = [ "serde_urlencoded", "sync_wrapper", "tokio", - "tower 0.5.2", + "tower", "tower-layer", "tower-service", "tracing", @@ -937,19 +937,13 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.9.0", + "indexmap", "slab", "tokio", "tokio-util", "tracing", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - [[package]] name = "hashbrown" version = "0.15.2" @@ -1319,16 +1313,6 @@ dependencies = [ "icu_properties", ] -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - [[package]] name = "indexmap" version = "2.9.0" @@ -1336,7 +1320,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown", ] [[package]] @@ -1454,7 +1438,7 @@ dependencies = [ [[package]] name = "k8s-version" version = "0.1.3" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.94.0#958f62f2befdd984ad9fcd272d0214055c3a7601" dependencies = [ "darling", "regex", @@ -1463,9 +1447,9 @@ dependencies = [ [[package]] name = "kube" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b49c39074089233c2bb7b1791d1b6c06c84dbab26757491fad9d233db0d432f" +checksum = "778f98664beaf4c3c11372721e14310d1ae00f5e2d9aabcf8906c881aa4e9f51" dependencies = [ "k8s-openapi", "kube-client", @@ -1476,9 +1460,9 @@ dependencies = [ [[package]] name = "kube-client" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e199797b1b08865041c9c698f0d11a91de0a8143e808b71e250cd4a1d7ce2b9f" +checksum = "7cb276b85b6e94ded00ac8ea2c68fcf4697ea0553cb25fddc35d4a0ab718db8d" dependencies = [ "base64 0.22.1", "bytes", @@ -1506,16 +1490,16 @@ dependencies = [ "thiserror 2.0.12", "tokio", "tokio-util", - "tower 0.5.2", + "tower", "tower-http", "tracing", ] [[package]] name = "kube-core" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bdefbba89dea2d99ea822a1d7cd6945535efbfb10b790056ee9284bf9e698e7" +checksum = "e3c56ff45deb0031f2a476017eed60c06872251f271b8387ad8020b8fef60960" dependencies = [ "chrono", "derive_more", @@ -1532,9 +1516,9 @@ dependencies = [ [[package]] name = "kube-derive" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e609a3633689a50869352a3c16e01d863b6137863c80eeb038383d5ab9f83bf" +checksum = "079fc8c1c397538628309cfdee20696ebdcc26745f9fb17f89b78782205bd995" dependencies = [ "darling", "proc-macro2", @@ -1546,9 +1530,9 @@ dependencies = [ [[package]] name = "kube-runtime" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d4bd8a4554786f8f9a87bfa977fb7dbaa1d7f102a30477338b044b65de29d8e" +checksum = "2f1326e946fadf6248febdf8a1c001809c3899ccf48cb9768cbc536b741040dc" dependencies = [ "ahash", "async-broadcast", @@ -1556,7 +1540,7 @@ dependencies = [ "backon", "educe", "futures 0.3.31", - "hashbrown 0.15.2", + "hashbrown", "hostname", "json-patch", "k8s-openapi", @@ -1724,9 +1708,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "opentelemetry" -version = "0.29.1" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e87237e2775f74896f9ad219d26a2081751187eb7c9f5c58dde20a23b95d16c" +checksum = "aaf416e4cb72756655126f7dd7bb0af49c674f4c1b9903e80c009e0c37e552e6" dependencies = [ "futures-core", "futures-sink", @@ -1738,9 +1722,9 @@ dependencies = [ [[package]] name = "opentelemetry-appender-tracing" -version = "0.29.1" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e716f864eb23007bdd9dc4aec381e188a1cee28eecf22066772b5fd822b9727d" +checksum = "e68f63eca5fad47e570e00e893094fc17be959c80c79a7d6ec1abdd5ae6ffc16" dependencies = [ "opentelemetry", "tracing", @@ -1750,25 +1734,23 @@ dependencies = [ [[package]] name = "opentelemetry-http" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46d7ab32b827b5b495bd90fa95a6cb65ccc293555dcc3199ae2937d2d237c8ed" +checksum = "50f6639e842a97dbea8886e3439710ae463120091e2e064518ba8e716e6ac36d" dependencies = [ "async-trait", "bytes", "http", "opentelemetry", "reqwest", - "tracing", ] [[package]] name = "opentelemetry-otlp" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d899720fe06916ccba71c01d04ecd77312734e2de3467fd30d9d580c8ce85656" +checksum = "dbee664a43e07615731afc539ca60c6d9f1a9425e25ca09c57bc36c87c55852b" dependencies = [ - "futures-core", "http", "opentelemetry", "opentelemetry-http", @@ -1784,9 +1766,9 @@ dependencies = [ [[package]] name = "opentelemetry-proto" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c40da242381435e18570d5b9d50aca2a4f4f4d8e146231adb4e7768023309b3" +checksum = "2e046fd7660710fe5a05e8748e70d9058dc15c94ba914e7c4faa7c728f0e8ddc" dependencies = [ "opentelemetry", "opentelemetry_sdk", @@ -1794,24 +1776,28 @@ dependencies = [ "tonic", ] +[[package]] +name = "opentelemetry-semantic-conventions" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83d059a296a47436748557a353c5e6c5705b9470ef6c95cfc52c21a8814ddac2" + [[package]] name = "opentelemetry_sdk" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afdefb21d1d47394abc1ba6c57363ab141be19e27cc70d0e422b7f303e4d290b" +checksum = "11f644aa9e5e31d11896e024305d7e3c98a88884d9f8919dbf37a9991bc47a4b" dependencies = [ "futures-channel", "futures-executor", "futures-util", - "glob", "opentelemetry", "percent-encoding", - "rand 0.9.1", + "rand", "serde_json", "thiserror 2.0.12", "tokio", "tokio-stream", - "tracing", ] [[package]] @@ -2044,35 +2030,14 @@ version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - [[package]] name = "rand" version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" dependencies = [ - "rand_chacha 0.9.0", - "rand_core 0.9.3", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", + "rand_chacha", + "rand_core", ] [[package]] @@ -2082,16 +2047,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.9.3", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.15", + "rand_core", ] [[package]] @@ -2190,7 +2146,7 @@ dependencies = [ "serde_urlencoded", "sync_wrapper", "tokio", - "tower 0.5.2", + "tower", "tower-service", "url", "wasm-bindgen", @@ -2508,7 +2464,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.9.0", + "indexmap", "itoa", "ryu", "serde", @@ -2659,8 +2615,8 @@ dependencies = [ [[package]] name = "stackable-operator" -version = "0.93.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" +version = "0.94.0" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.94.0#958f62f2befdd984ad9fcd272d0214055c3a7601" dependencies = [ "chrono", "clap", @@ -2670,7 +2626,8 @@ dependencies = [ "educe", "either", "futures 0.3.31", - "indexmap 2.9.0", + "http", + "indexmap", "json-patch", "k8s-openapi", "kube", @@ -2697,7 +2654,7 @@ dependencies = [ [[package]] name = "stackable-operator-derive" version = "0.3.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.94.0#958f62f2befdd984ad9fcd272d0214055c3a7601" dependencies = [ "darling", "proc-macro2", @@ -2708,7 +2665,7 @@ dependencies = [ [[package]] name = "stackable-shared" version = "0.0.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.94.0#958f62f2befdd984ad9fcd272d0214055c3a7601" dependencies = [ "kube", "semver", @@ -2719,8 +2676,8 @@ dependencies = [ [[package]] name = "stackable-telemetry" -version = "0.6.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" +version = "0.6.1" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.94.0#958f62f2befdd984ad9fcd272d0214055c3a7601" dependencies = [ "axum", "clap", @@ -2728,12 +2685,13 @@ dependencies = [ "opentelemetry", "opentelemetry-appender-tracing", "opentelemetry-otlp", + "opentelemetry-semantic-conventions", "opentelemetry_sdk", "pin-project", "snafu 0.8.5", "strum", "tokio", - "tower 0.5.2", + "tower", "tracing", "tracing-appender", "tracing-opentelemetry", @@ -2742,19 +2700,25 @@ dependencies = [ [[package]] name = "stackable-versioned" -version = "0.7.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" +version = "0.8.0" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.94.0#958f62f2befdd984ad9fcd272d0214055c3a7601" dependencies = [ + "schemars", + "serde", + "serde_json", + "serde_yaml", + "snafu 0.8.5", "stackable-versioned-macros", ] [[package]] name = "stackable-versioned-macros" -version = "0.7.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" +version = "0.8.0" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.94.0#958f62f2befdd984ad9fcd272d0214055c3a7601" dependencies = [ "convert_case", "darling", + "indoc", "itertools", "k8s-openapi", "k8s-version", @@ -3007,16 +2971,16 @@ version = "0.22.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" dependencies = [ - "indexmap 2.9.0", + "indexmap", "toml_datetime", "winnow", ] [[package]] name = "tonic" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +checksum = "7e581ba15a835f4d9ea06c55ab1bd4dce26fc53752c69a04aac00703bfb49ba9" dependencies = [ "async-trait", "base64 0.22.1", @@ -3033,27 +2997,7 @@ dependencies = [ "prost", "tokio", "tokio-stream", - "tower 0.4.13", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "indexmap 1.9.3", - "pin-project", - "pin-project-lite", - "rand 0.8.5", - "slab", - "tokio", - "tokio-util", + "tower", "tower-layer", "tower-service", "tracing", @@ -3067,7 +3011,9 @@ checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", + "indexmap", "pin-project-lite", + "slab", "sync_wrapper", "tokio", "tokio-util", @@ -3176,9 +3122,9 @@ dependencies = [ [[package]] name = "tracing-opentelemetry" -version = "0.30.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd8e764bd6f5813fd8bebc3117875190c5b0415be8f7f8059bffb6ecd979c444" +checksum = "ddcf5959f39507d0d04d6413119c04f33b623f4f951ebcbdddddfad2d0623a9c" dependencies = [ "js-sys", "once_cell", diff --git a/Cargo.nix b/Cargo.nix index b95a7b15..2640221e 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -625,7 +625,7 @@ rec { } { name = "tower"; - packageId = "tower 0.5.2"; + packageId = "tower"; usesDefaultFeatures = false; features = [ "util" ]; } @@ -668,7 +668,7 @@ rec { } { name = "tower"; - packageId = "tower 0.5.2"; + packageId = "tower"; rename = "tower"; features = [ "util" "timeout" "limit" "load-shed" "steer" "filter" ]; } @@ -693,7 +693,7 @@ rec { "tracing" = [ "dep:tracing" "axum-core/tracing" ]; "ws" = [ "dep:hyper" "tokio" "dep:tokio-tungstenite" "dep:sha1" "dep:base64" ]; }; - resolvedDefaultFeatures = [ "default" "form" "http1" "json" "matched-path" "original-uri" "query" "tokio" "tower-log" "tracing" ]; + resolvedDefaultFeatures = [ "default" "form" "http1" "http2" "json" "matched-path" "original-uri" "query" "tokio" "tower-log" "tracing" ]; }; "axum-core" = rec { crateName = "axum-core"; @@ -2660,7 +2660,6 @@ rec { "rustc-dep-of-std" = [ "compiler_builtins" "core" "libc/rustc-dep-of-std" "wasi/rustc-dep-of-std" ]; "wasm-bindgen" = [ "dep:wasm-bindgen" ]; }; - resolvedDefaultFeatures = [ "std" ]; }; "getrandom 0.3.2" = rec { crateName = "getrandom"; @@ -2885,7 +2884,7 @@ rec { } { name = "indexmap"; - packageId = "indexmap 2.9.0"; + packageId = "indexmap"; features = [ "std" ]; } { @@ -2919,29 +2918,7 @@ rec { features = { }; }; - "hashbrown 0.12.3" = rec { - crateName = "hashbrown"; - version = "0.12.3"; - edition = "2021"; - sha256 = "1268ka4750pyg2pbgsr43f0289l5zah4arir2k4igx5a8c6fg7la"; - authors = [ - "Amanieu d'Antras " - ]; - features = { - "ahash" = [ "dep:ahash" ]; - "ahash-compile-time-rng" = [ "ahash/compile-time-rng" ]; - "alloc" = [ "dep:alloc" ]; - "bumpalo" = [ "dep:bumpalo" ]; - "compiler_builtins" = [ "dep:compiler_builtins" ]; - "core" = [ "dep:core" ]; - "default" = [ "ahash" "inline-more" ]; - "rayon" = [ "dep:rayon" ]; - "rustc-dep-of-std" = [ "nightly" "core" "compiler_builtins" "alloc" "rustc-internal-api" ]; - "serde" = [ "dep:serde" ]; - }; - resolvedDefaultFeatures = [ "raw" ]; - }; - "hashbrown 0.15.2" = rec { + "hashbrown" = rec { crateName = "hashbrown"; version = "0.15.2"; edition = "2021"; @@ -3661,7 +3638,7 @@ rec { "tokio" = [ "dep:tokio" "tokio/net" "tokio/rt" "tokio/time" ]; "tracing" = [ "dep:tracing" ]; }; - resolvedDefaultFeatures = [ "client" "client-legacy" "default" "http1" "server" "service" "tokio" "tracing" ]; + resolvedDefaultFeatures = [ "client" "client-legacy" "default" "http1" "http2" "server" "service" "tokio" "tracing" ]; }; "iana-time-zone" = rec { crateName = "iana-time-zone"; @@ -4201,35 +4178,7 @@ rec { }; resolvedDefaultFeatures = [ "compiled_data" ]; }; - "indexmap 1.9.3" = rec { - crateName = "indexmap"; - version = "1.9.3"; - edition = "2021"; - sha256 = "16dxmy7yvk51wvnih3a3im6fp5lmx0wx76i03n06wyak6cwhw1xx"; - dependencies = [ - { - name = "hashbrown"; - packageId = "hashbrown 0.12.3"; - usesDefaultFeatures = false; - features = [ "raw" ]; - } - ]; - buildDependencies = [ - { - name = "autocfg"; - packageId = "autocfg"; - } - ]; - features = { - "arbitrary" = [ "dep:arbitrary" ]; - "quickcheck" = [ "dep:quickcheck" ]; - "rayon" = [ "dep:rayon" ]; - "rustc-rayon" = [ "dep:rustc-rayon" ]; - "serde" = [ "dep:serde" ]; - "serde-1" = [ "serde" ]; - }; - }; - "indexmap 2.9.0" = rec { + "indexmap" = rec { crateName = "indexmap"; version = "2.9.0"; edition = "2021"; @@ -4242,7 +4191,7 @@ rec { } { name = "hashbrown"; - packageId = "hashbrown 0.15.2"; + packageId = "hashbrown"; usesDefaultFeatures = false; } ]; @@ -4568,8 +4517,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "d990019c690ed85aea29b095a03661c015676caa"; - sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; + rev = "958f62f2befdd984ad9fcd272d0214055c3a7601"; + sha256 = "0hiymhr40ix4jv9dmvp5d009xs6v0frvllr2xkf5mw43rcg44mgd"; }; libName = "k8s_version"; authors = [ @@ -4598,9 +4547,9 @@ rec { }; "kube" = rec { crateName = "kube"; - version = "1.0.0"; + version = "1.1.0"; edition = "2021"; - sha256 = "0bs31pdk7lnrza8p8x96mgdq8v60nv8r25vvpg1374h8fj8c6j8v"; + sha256 = "0lcz9sm83j06i77sp6idbq7y06hd64a1wwkj2g0w7x7a9dk9i3vp"; authors = [ "clux " "Natalie Klestrup Röijezon " @@ -4671,9 +4620,9 @@ rec { }; "kube-client" = rec { crateName = "kube-client"; - version = "1.0.0"; + version = "1.1.0"; edition = "2021"; - sha256 = "17rbrvbs3m0c4lgbf2788f0hmpli3b8z1666r50m11h83dxpk6g1"; + sha256 = "13fv32vhljjxqgfmzciwanh7wsglzil2rsn81b8dx53fbfw7dckw"; libName = "kube_client"; authors = [ "clux " @@ -4819,7 +4768,7 @@ rec { } { name = "tower"; - packageId = "tower 0.5.2"; + packageId = "tower"; optional = true; features = [ "buffer" "filter" "util" ]; } @@ -4912,9 +4861,9 @@ rec { }; "kube-core" = rec { crateName = "kube-core"; - version = "1.0.0"; + version = "1.1.0"; edition = "2021"; - sha256 = "1rwqwvwlna79dq2r1dqhzgxmwls5d76xg892m2gdk8nyi6xgpphv"; + sha256 = "0q09yvzbh840mn3q66r73wjp4s60c3npw0bnlkr3207bbps6zig3"; libName = "kube_core"; authors = [ "clux " @@ -4994,9 +4943,9 @@ rec { }; "kube-derive" = rec { crateName = "kube-derive"; - version = "1.0.0"; + version = "1.1.0"; edition = "2021"; - sha256 = "1gw3kymxb0w30gmhxj33g09vcqyq05pc38sjjf3516k86cv9lq4f"; + sha256 = "15frbch851xpi5zv37szfhkcrgbfd4hfxzcw60l8clwpqg0wi7q7"; procMacro = true; libName = "kube_derive"; authors = [ @@ -5043,9 +4992,9 @@ rec { }; "kube-runtime" = rec { crateName = "kube-runtime"; - version = "1.0.0"; + version = "1.1.0"; edition = "2021"; - sha256 = "13lxw9fvci5h71rlfc1a21zivanvnxzrgykvm3wzi1j7anjdhjqx"; + sha256 = "1p2021s6nlxwiivbk37lrjcki740070a3y5xzr465pzs8vljc4rg"; libName = "kube_runtime"; authors = [ "clux " @@ -5083,7 +5032,7 @@ rec { } { name = "hashbrown"; - packageId = "hashbrown 0.15.2"; + packageId = "hashbrown"; } { name = "hostname"; @@ -5602,9 +5551,9 @@ rec { }; "opentelemetry" = rec { crateName = "opentelemetry"; - version = "0.29.1"; + version = "0.30.0"; edition = "2021"; - sha256 = "0v6ijlxs486yip2zbjdpgqc525q8l8k9s8ddz6b4ixvm4xz271wy"; + sha256 = "1rjjwlvhr7h01kl0768v9i7ng77l1axxfzbg29ancxbjrgj1dx5a"; dependencies = [ { name = "futures-core"; @@ -5656,9 +5605,9 @@ rec { }; "opentelemetry-appender-tracing" = rec { crateName = "opentelemetry-appender-tracing"; - version = "0.29.1"; + version = "0.30.1"; edition = "2021"; - sha256 = "0zbjp4idhprbfxk21wpcivicx8c8w60w7bn4kpfpn013xdjgh5p7"; + sha256 = "05pwdypdbg8sxkbafy8cr1cyjyy19w4r7s001rbpxm7slpn673z6"; libName = "opentelemetry_appender_tracing"; dependencies = [ { @@ -5709,9 +5658,9 @@ rec { }; "opentelemetry-http" = rec { crateName = "opentelemetry-http"; - version = "0.29.0"; + version = "0.30.0"; edition = "2021"; - sha256 = "1vf86z9d4dr9msck3k2xan9w5k35rfk9bylhpnav9d97p0rapms6"; + sha256 = "0vf3d9p733ms312hcbhy14h32imf22bl7qw6i3mdp5rahjg67xjh"; libName = "opentelemetry_http"; dependencies = [ { @@ -5740,35 +5689,24 @@ rec { usesDefaultFeatures = false; features = [ "blocking" ]; } - { - name = "tracing"; - packageId = "tracing"; - optional = true; - usesDefaultFeatures = false; - } ]; features = { "default" = [ "internal-logs" ]; "hyper" = [ "dep:http-body-util" "dep:hyper" "dep:hyper-util" "dep:tokio" ]; - "internal-logs" = [ "tracing" "opentelemetry/internal-logs" ]; + "internal-logs" = [ "opentelemetry/internal-logs" ]; "reqwest" = [ "dep:reqwest" ]; "reqwest-rustls" = [ "reqwest" "reqwest/rustls-tls-native-roots" ]; "reqwest-rustls-webpki-roots" = [ "reqwest" "reqwest/rustls-tls-webpki-roots" ]; - "tracing" = [ "dep:tracing" ]; }; - resolvedDefaultFeatures = [ "default" "internal-logs" "reqwest" "tracing" ]; + resolvedDefaultFeatures = [ "default" "internal-logs" "reqwest" ]; }; "opentelemetry-otlp" = rec { crateName = "opentelemetry-otlp"; - version = "0.29.0"; + version = "0.30.0"; edition = "2021"; - sha256 = "0mjnx260qn4x1p9pyip35m7764kkszn087f0f6xcq5k9w07p56fq"; + sha256 = "0aw5amychdmwayfa0p724na1m7vd1jk9qlzw39riaxp08d56dvnv"; libName = "opentelemetry_otlp"; dependencies = [ - { - name = "futures-core"; - packageId = "futures-core"; - } { name = "http"; packageId = "http"; @@ -5843,7 +5781,7 @@ rec { name = "tonic"; packageId = "tonic"; usesDefaultFeatures = false; - features = [ "server" ]; + features = [ "router" "server" ]; } ]; features = { @@ -5868,8 +5806,8 @@ rec { "serde" = [ "dep:serde" ]; "serde_json" = [ "dep:serde_json" ]; "serialize" = [ "serde" "serde_json" ]; - "tls" = [ "tonic/tls" ]; - "tls-roots" = [ "tls" "tonic/tls-roots" ]; + "tls" = [ "tonic/tls-ring" ]; + "tls-roots" = [ "tls" "tonic/tls-native-roots" ]; "tls-webpki-roots" = [ "tls" "tonic/tls-webpki-roots" ]; "tokio" = [ "dep:tokio" ]; "tonic" = [ "dep:tonic" ]; @@ -5881,9 +5819,9 @@ rec { }; "opentelemetry-proto" = rec { crateName = "opentelemetry-proto"; - version = "0.29.0"; + version = "0.30.0"; edition = "2021"; - sha256 = "1cq96c16hxsfvcd26ip1v3sg9952mi89snqdawc5whw14cjdlh4c"; + sha256 = "1p4d1s7p4z5a9xy4x4dsjifc3385v5q8wx780mdgw407cvbny11f"; libName = "opentelemetry_proto"; dependencies = [ { @@ -5916,7 +5854,7 @@ rec { "gen-tonic" = [ "gen-tonic-messages" "tonic/channel" ]; "gen-tonic-messages" = [ "tonic" "prost" ]; "hex" = [ "dep:hex" ]; - "internal-logs" = [ "tracing" ]; + "internal-logs" = [ "opentelemetry/internal-logs" ]; "logs" = [ "opentelemetry/logs" "opentelemetry_sdk/logs" ]; "metrics" = [ "opentelemetry/metrics" "opentelemetry_sdk/metrics" ]; "prost" = [ "dep:prost" ]; @@ -5925,18 +5863,27 @@ rec { "testing" = [ "opentelemetry/testing" ]; "tonic" = [ "dep:tonic" ]; "trace" = [ "opentelemetry/trace" "opentelemetry_sdk/trace" ]; - "tracing" = [ "dep:tracing" ]; "with-schemars" = [ "schemars" ]; "with-serde" = [ "serde" "hex" "base64" ]; "zpages" = [ "trace" ]; }; resolvedDefaultFeatures = [ "gen-tonic" "gen-tonic-messages" "logs" "metrics" "prost" "tonic" "trace" ]; }; + "opentelemetry-semantic-conventions" = rec { + crateName = "opentelemetry-semantic-conventions"; + version = "0.30.0"; + edition = "2021"; + sha256 = "1hns9n0sh89cqp7rav7gf2a5nw65wv2m78sphms3cx54jsi5kl43"; + libName = "opentelemetry_semantic_conventions"; + features = { + }; + resolvedDefaultFeatures = [ "default" ]; + }; "opentelemetry_sdk" = rec { crateName = "opentelemetry_sdk"; - version = "0.29.0"; + version = "0.30.0"; edition = "2021"; - sha256 = "02r99lz30zrb8870vivww8cvwhdi78v5fv5sq6mr8wyls4hzppmg"; + sha256 = "0jvsqhdrka9ppyfr3y6rhj4ai61wgrfk0970jqcd2cayksm49xhi"; dependencies = [ { name = "futures-channel"; @@ -5952,11 +5899,6 @@ rec { usesDefaultFeatures = false; features = [ "std" "sink" "async-await-macro" ]; } - { - name = "glob"; - packageId = "glob"; - optional = true; - } { name = "opentelemetry"; packageId = "opentelemetry"; @@ -5968,7 +5910,7 @@ rec { } { name = "rand"; - packageId = "rand 0.9.1"; + packageId = "rand"; optional = true; usesDefaultFeatures = false; features = [ "std" "std_rng" "small_rng" "os_rng" "thread_rng" ]; @@ -5995,26 +5937,20 @@ rec { packageId = "tokio-stream"; optional = true; } - { - name = "tracing"; - packageId = "tracing"; - optional = true; - usesDefaultFeatures = false; - } ]; features = { "default" = [ "trace" "metrics" "logs" "internal-logs" ]; - "experimental_logs_batch_log_processor_with_async_runtime" = [ "logs" ]; + "experimental_logs_batch_log_processor_with_async_runtime" = [ "logs" "experimental_async_runtime" ]; "experimental_logs_concurrent_log_processor" = [ "logs" ]; + "experimental_metrics_custom_reader" = [ "metrics" ]; "experimental_metrics_disable_name_validation" = [ "metrics" ]; - "experimental_metrics_periodicreader_with_async_runtime" = [ "metrics" ]; - "experimental_trace_batch_span_processor_with_async_runtime" = [ "trace" ]; - "glob" = [ "dep:glob" ]; + "experimental_metrics_periodicreader_with_async_runtime" = [ "metrics" "experimental_async_runtime" ]; + "experimental_trace_batch_span_processor_with_async_runtime" = [ "trace" "experimental_async_runtime" ]; "http" = [ "dep:http" ]; - "internal-logs" = [ "tracing" ]; - "jaeger_remote_sampler" = [ "trace" "opentelemetry-http" "http" "serde" "serde_json" "url" ]; + "internal-logs" = [ "opentelemetry/internal-logs" ]; + "jaeger_remote_sampler" = [ "trace" "opentelemetry-http" "http" "serde" "serde_json" "url" "experimental_async_runtime" ]; "logs" = [ "opentelemetry/logs" "serde_json" ]; - "metrics" = [ "opentelemetry/metrics" "glob" ]; + "metrics" = [ "opentelemetry/metrics" ]; "opentelemetry-http" = [ "dep:opentelemetry-http" ]; "percent-encoding" = [ "dep:percent-encoding" ]; "rand" = [ "dep:rand" ]; @@ -6028,10 +5964,9 @@ rec { "tokio" = [ "dep:tokio" ]; "tokio-stream" = [ "dep:tokio-stream" ]; "trace" = [ "opentelemetry/trace" "rand" "percent-encoding" ]; - "tracing" = [ "dep:tracing" ]; "url" = [ "dep:url" ]; }; - resolvedDefaultFeatures = [ "default" "experimental_async_runtime" "glob" "internal-logs" "logs" "metrics" "percent-encoding" "rand" "rt-tokio" "serde_json" "spec_unstable_logs_enabled" "tokio" "tokio-stream" "trace" "tracing" ]; + resolvedDefaultFeatures = [ "default" "experimental_async_runtime" "internal-logs" "logs" "metrics" "percent-encoding" "rand" "rt-tokio" "serde_json" "spec_unstable_logs_enabled" "tokio" "tokio-stream" "trace" ]; }; "ordered-float" = rec { crateName = "ordered-float"; @@ -6630,51 +6565,7 @@ rec { "rustc-dep-of-std" = [ "compiler_builtins/rustc-dep-of-std" "core" ]; }; }; - "rand 0.8.5" = rec { - crateName = "rand"; - version = "0.8.5"; - edition = "2018"; - sha256 = "013l6931nn7gkc23jz5mm3qdhf93jjf0fg64nz2lp4i51qd8vbrl"; - authors = [ - "The Rand Project Developers" - "The Rust Project Developers" - ]; - dependencies = [ - { - name = "libc"; - packageId = "libc"; - optional = true; - usesDefaultFeatures = false; - target = { target, features }: (target."unix" or false); - } - { - name = "rand_chacha"; - packageId = "rand_chacha 0.3.1"; - optional = true; - usesDefaultFeatures = false; - } - { - name = "rand_core"; - packageId = "rand_core 0.6.4"; - } - ]; - features = { - "alloc" = [ "rand_core/alloc" ]; - "default" = [ "std" "std_rng" ]; - "getrandom" = [ "rand_core/getrandom" ]; - "libc" = [ "dep:libc" ]; - "log" = [ "dep:log" ]; - "packed_simd" = [ "dep:packed_simd" ]; - "rand_chacha" = [ "dep:rand_chacha" ]; - "serde" = [ "dep:serde" ]; - "serde1" = [ "serde" "rand_core/serde1" ]; - "simd_support" = [ "packed_simd" ]; - "std" = [ "rand_core/std" "rand_chacha/std" "alloc" "getrandom" "libc" ]; - "std_rng" = [ "rand_chacha" ]; - }; - resolvedDefaultFeatures = [ "alloc" "default" "getrandom" "libc" "rand_chacha" "small_rng" "std" "std_rng" ]; - }; - "rand 0.9.1" = rec { + "rand" = rec { crateName = "rand"; version = "0.9.1"; edition = "2021"; @@ -6686,13 +6577,13 @@ rec { dependencies = [ { name = "rand_chacha"; - packageId = "rand_chacha 0.9.0"; + packageId = "rand_chacha"; optional = true; usesDefaultFeatures = false; } { name = "rand_core"; - packageId = "rand_core 0.9.3"; + packageId = "rand_core"; usesDefaultFeatures = false; } ]; @@ -6707,37 +6598,7 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "os_rng" "small_rng" "std" "std_rng" "thread_rng" ]; }; - "rand_chacha 0.3.1" = rec { - crateName = "rand_chacha"; - version = "0.3.1"; - edition = "2018"; - sha256 = "123x2adin558xbhvqb8w4f6syjsdkmqff8cxwhmjacpsl1ihmhg6"; - authors = [ - "The Rand Project Developers" - "The Rust Project Developers" - "The CryptoCorrosion Contributors" - ]; - dependencies = [ - { - name = "ppv-lite86"; - packageId = "ppv-lite86"; - usesDefaultFeatures = false; - features = [ "simd" ]; - } - { - name = "rand_core"; - packageId = "rand_core 0.6.4"; - } - ]; - features = { - "default" = [ "std" ]; - "serde" = [ "dep:serde" ]; - "serde1" = [ "serde" ]; - "std" = [ "ppv-lite86/std" ]; - }; - resolvedDefaultFeatures = [ "std" ]; - }; - "rand_chacha 0.9.0" = rec { + "rand_chacha" = rec { crateName = "rand_chacha"; version = "0.9.0"; edition = "2021"; @@ -6756,13 +6617,13 @@ rec { } { name = "rand_core"; - packageId = "rand_core 0.9.3"; + packageId = "rand_core"; } ]; devDependencies = [ { name = "rand_core"; - packageId = "rand_core 0.9.3"; + packageId = "rand_core"; features = [ "os_rng" ]; } ]; @@ -6774,31 +6635,7 @@ rec { }; resolvedDefaultFeatures = [ "std" ]; }; - "rand_core 0.6.4" = rec { - crateName = "rand_core"; - version = "0.6.4"; - edition = "2018"; - sha256 = "0b4j2v4cb5krak1pv6kakv4sz6xcwbrmy2zckc32hsigbrwy82zc"; - authors = [ - "The Rand Project Developers" - "The Rust Project Developers" - ]; - dependencies = [ - { - name = "getrandom"; - packageId = "getrandom 0.2.15"; - optional = true; - } - ]; - features = { - "getrandom" = [ "dep:getrandom" ]; - "serde" = [ "dep:serde" ]; - "serde1" = [ "serde" ]; - "std" = [ "alloc" "getrandom" "getrandom/std" ]; - }; - resolvedDefaultFeatures = [ "alloc" "getrandom" "std" ]; - }; - "rand_core 0.9.3" = rec { + "rand_core" = rec { crateName = "rand_core"; version = "0.9.3"; edition = "2021"; @@ -7159,7 +6996,7 @@ rec { } { name = "tower"; - packageId = "tower 0.5.2"; + packageId = "tower"; usesDefaultFeatures = false; target = { target, features }: (!("wasm32" == target."arch" or null)); features = [ "timeout" "util" ]; @@ -7230,7 +7067,7 @@ rec { } { name = "tower"; - packageId = "tower 0.5.2"; + packageId = "tower"; usesDefaultFeatures = false; features = [ "limit" ]; } @@ -8202,7 +8039,7 @@ rec { dependencies = [ { name = "indexmap"; - packageId = "indexmap 2.9.0"; + packageId = "indexmap"; } { name = "itoa"; @@ -8663,13 +8500,13 @@ rec { }; "stackable-operator" = rec { crateName = "stackable-operator"; - version = "0.93.1"; + version = "0.94.0"; edition = "2024"; workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "d990019c690ed85aea29b095a03661c015676caa"; - sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; + rev = "958f62f2befdd984ad9fcd272d0214055c3a7601"; + sha256 = "0hiymhr40ix4jv9dmvp5d009xs6v0frvllr2xkf5mw43rcg44mgd"; }; libName = "stackable_operator"; authors = [ @@ -8712,9 +8549,13 @@ rec { name = "futures"; packageId = "futures 0.3.31"; } + { + name = "http"; + packageId = "http"; + } { name = "indexmap"; - packageId = "indexmap 2.9.0"; + packageId = "indexmap"; } { name = "json-patch"; @@ -8782,7 +8623,6 @@ rec { { name = "stackable-versioned"; packageId = "stackable-versioned"; - features = [ "k8s" ]; } { name = "strum"; @@ -8827,8 +8667,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "d990019c690ed85aea29b095a03661c015676caa"; - sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; + rev = "958f62f2befdd984ad9fcd272d0214055c3a7601"; + sha256 = "0hiymhr40ix4jv9dmvp5d009xs6v0frvllr2xkf5mw43rcg44mgd"; }; procMacro = true; libName = "stackable_operator_derive"; @@ -8862,8 +8702,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "d990019c690ed85aea29b095a03661c015676caa"; - sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; + rev = "958f62f2befdd984ad9fcd272d0214055c3a7601"; + sha256 = "0hiymhr40ix4jv9dmvp5d009xs6v0frvllr2xkf5mw43rcg44mgd"; }; libName = "stackable_shared"; authors = [ @@ -8898,13 +8738,13 @@ rec { }; "stackable-telemetry" = rec { crateName = "stackable-telemetry"; - version = "0.6.0"; + version = "0.6.1"; edition = "2024"; workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "d990019c690ed85aea29b095a03661c015676caa"; - sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; + rev = "958f62f2befdd984ad9fcd272d0214055c3a7601"; + sha256 = "0hiymhr40ix4jv9dmvp5d009xs6v0frvllr2xkf5mw43rcg44mgd"; }; libName = "stackable_telemetry"; authors = [ @@ -8914,6 +8754,7 @@ rec { { name = "axum"; packageId = "axum"; + features = [ "http2" ]; } { name = "clap"; @@ -8939,6 +8780,10 @@ rec { packageId = "opentelemetry-otlp"; features = [ "grpc-tonic" "gzip-tonic" "logs" ]; } + { + name = "opentelemetry-semantic-conventions"; + packageId = "opentelemetry-semantic-conventions"; + } { name = "opentelemetry_sdk"; packageId = "opentelemetry_sdk"; @@ -8964,7 +8809,7 @@ rec { } { name = "tower"; - packageId = "tower 0.5.2"; + packageId = "tower"; features = [ "util" ]; } { @@ -9003,39 +8848,57 @@ rec { }; "stackable-versioned" = rec { crateName = "stackable-versioned"; - version = "0.7.1"; + version = "0.8.0"; edition = "2024"; workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "d990019c690ed85aea29b095a03661c015676caa"; - sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; + rev = "958f62f2befdd984ad9fcd272d0214055c3a7601"; + sha256 = "0hiymhr40ix4jv9dmvp5d009xs6v0frvllr2xkf5mw43rcg44mgd"; }; libName = "stackable_versioned"; authors = [ "Stackable GmbH " ]; dependencies = [ + { + name = "schemars"; + packageId = "schemars"; + features = [ "url" ]; + } + { + name = "serde"; + packageId = "serde"; + features = [ "derive" ]; + } + { + name = "serde_json"; + packageId = "serde_json"; + } + { + name = "serde_yaml"; + packageId = "serde_yaml"; + } + { + name = "snafu"; + packageId = "snafu 0.8.5"; + } { name = "stackable-versioned-macros"; packageId = "stackable-versioned-macros"; } ]; - features = { - "full" = [ "k8s" ]; - "k8s" = [ "stackable-versioned-macros/k8s" ]; - }; - resolvedDefaultFeatures = [ "k8s" ]; + }; "stackable-versioned-macros" = rec { crateName = "stackable-versioned-macros"; - version = "0.7.1"; + version = "0.8.0"; edition = "2024"; workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "d990019c690ed85aea29b095a03661c015676caa"; - sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; + rev = "958f62f2befdd984ad9fcd272d0214055c3a7601"; + sha256 = "0hiymhr40ix4jv9dmvp5d009xs6v0frvllr2xkf5mw43rcg44mgd"; }; procMacro = true; libName = "stackable_versioned_macros"; @@ -9051,6 +8914,10 @@ rec { name = "darling"; packageId = "darling"; } + { + name = "indoc"; + packageId = "indoc"; + } { name = "itertools"; packageId = "itertools"; @@ -9058,7 +8925,6 @@ rec { { name = "k8s-openapi"; packageId = "k8s-openapi"; - optional = true; usesDefaultFeatures = false; features = [ "schemars" "v1_33" ]; } @@ -9070,7 +8936,6 @@ rec { { name = "kube"; packageId = "kube"; - optional = true; usesDefaultFeatures = false; features = [ "client" "jsonpatch" "runtime" "derive" "rustls-tls" "ring" ]; } @@ -9087,19 +8952,7 @@ rec { packageId = "syn 2.0.100"; } ]; - devDependencies = [ - { - name = "k8s-openapi"; - packageId = "k8s-openapi"; - usesDefaultFeatures = false; - features = [ "schemars" "v1_33" ]; - } - ]; - features = { - "full" = [ "k8s" ]; - "k8s" = [ "dep:kube" "dep:k8s-openapi" ]; - }; - resolvedDefaultFeatures = [ "k8s" ]; + }; "strsim" = rec { crateName = "strsim"; @@ -9852,7 +9705,7 @@ rec { dependencies = [ { name = "indexmap"; - packageId = "indexmap 2.9.0"; + packageId = "indexmap"; features = [ "std" ]; } { @@ -9875,9 +9728,9 @@ rec { }; "tonic" = rec { crateName = "tonic"; - version = "0.12.3"; + version = "0.13.1"; edition = "2021"; - sha256 = "0ljd1lfjpw0vrm5wbv15x6nq2i38llsanls5rkzmdn2n0wrmnz47"; + sha256 = "1acvnjzh61y0m829mijj6z2nzqnwshdsnmbcl2g4spw3bahinn3y"; authors = [ "Lucio Franco " ]; @@ -9957,7 +9810,7 @@ rec { } { name = "tower"; - packageId = "tower 0.4.13"; + packageId = "tower"; optional = true; usesDefaultFeatures = false; } @@ -9978,36 +9831,38 @@ rec { { name = "tokio"; packageId = "tokio"; - features = [ "rt" "macros" ]; + features = [ "rt-multi-thread" "macros" ]; } { name = "tower"; - packageId = "tower 0.4.13"; + packageId = "tower"; features = [ "full" ]; } ]; features = { + "_tls-any" = [ "dep:tokio-rustls" "dep:tokio" "tokio?/rt" "tokio?/macros" ]; "channel" = [ "dep:hyper" "hyper?/client" "dep:hyper-util" "hyper-util?/client-legacy" "dep:tower" "tower?/balance" "tower?/buffer" "tower?/discover" "tower?/limit" "tower?/util" "dep:tokio" "tokio?/time" "dep:hyper-timeout" ]; "codegen" = [ "dep:async-trait" ]; - "default" = [ "transport" "codegen" "prost" ]; + "default" = [ "router" "transport" "codegen" "prost" ]; + "deflate" = [ "dep:flate2" ]; "gzip" = [ "dep:flate2" ]; "prost" = [ "dep:prost" ]; "router" = [ "dep:axum" "dep:tower" "tower?/util" ]; - "server" = [ "router" "dep:async-stream" "dep:h2" "dep:hyper" "hyper?/server" "dep:hyper-util" "hyper-util?/service" "hyper-util?/server-auto" "dep:socket2" "dep:tokio" "tokio?/macros" "tokio?/net" "tokio?/time" "tokio-stream/net" "dep:tower" "tower?/util" "tower?/limit" ]; - "tls" = [ "dep:rustls-pemfile" "dep:tokio-rustls" "dep:tokio" "tokio?/rt" "tokio?/macros" ]; - "tls-native-roots" = [ "tls" "channel" "dep:rustls-native-certs" ]; - "tls-roots" = [ "tls-native-roots" ]; - "tls-webpki-roots" = [ "tls" "channel" "dep:webpki-roots" ]; + "server" = [ "dep:h2" "dep:hyper" "hyper?/server" "dep:hyper-util" "hyper-util?/service" "hyper-util?/server-auto" "dep:socket2" "dep:tokio" "tokio?/macros" "tokio?/net" "tokio?/time" "tokio-stream/net" "dep:tower" "tower?/util" "tower?/limit" ]; + "tls-aws-lc" = [ "_tls-any" "tokio-rustls/aws-lc-rs" ]; + "tls-native-roots" = [ "_tls-any" "channel" "dep:rustls-native-certs" ]; + "tls-ring" = [ "_tls-any" "tokio-rustls/ring" ]; + "tls-webpki-roots" = [ "_tls-any" "channel" "dep:webpki-roots" ]; "transport" = [ "server" "channel" ]; "zstd" = [ "dep:zstd" ]; }; resolvedDefaultFeatures = [ "channel" "codegen" "gzip" "prost" ]; }; - "tower 0.4.13" = rec { + "tower" = rec { crateName = "tower"; - version = "0.4.13"; + version = "0.5.2"; edition = "2018"; - sha256 = "073wncyqav4sak1p755hf6vl66njgfc1z1g1di9rxx3cvvh9pymq"; + sha256 = "1ybmd59nm4abl9bsvy6rx31m4zvzp5rja2slzpn712y9b68ssffh"; authors = [ "Tower Maintainers " ]; @@ -10026,12 +9881,7 @@ rec { } { name = "indexmap"; - packageId = "indexmap 1.9.3"; - optional = true; - } - { - name = "pin-project"; - packageId = "pin-project"; + packageId = "indexmap"; optional = true; } { @@ -10039,117 +9889,11 @@ rec { packageId = "pin-project-lite"; optional = true; } - { - name = "rand"; - packageId = "rand 0.8.5"; - optional = true; - features = [ "small_rng" ]; - } { name = "slab"; packageId = "slab"; optional = true; } - { - name = "tokio"; - packageId = "tokio"; - optional = true; - features = [ "sync" ]; - } - { - name = "tokio-util"; - packageId = "tokio-util"; - optional = true; - usesDefaultFeatures = false; - } - { - name = "tower-layer"; - packageId = "tower-layer"; - } - { - name = "tower-service"; - packageId = "tower-service"; - } - { - name = "tracing"; - packageId = "tracing"; - optional = true; - usesDefaultFeatures = false; - features = [ "std" ]; - } - ]; - devDependencies = [ - { - name = "pin-project-lite"; - packageId = "pin-project-lite"; - } - { - name = "tokio"; - packageId = "tokio"; - features = [ "macros" "sync" "test-util" "rt-multi-thread" ]; - } - ]; - features = { - "__common" = [ "futures-core" "pin-project-lite" ]; - "balance" = [ "discover" "load" "ready-cache" "make" "rand" "slab" ]; - "buffer" = [ "__common" "tokio/sync" "tokio/rt" "tokio-util" "tracing" ]; - "default" = [ "log" ]; - "discover" = [ "__common" ]; - "filter" = [ "__common" "futures-util" ]; - "full" = [ "balance" "buffer" "discover" "filter" "hedge" "limit" "load" "load-shed" "make" "ready-cache" "reconnect" "retry" "spawn-ready" "steer" "timeout" "util" ]; - "futures-core" = [ "dep:futures-core" ]; - "futures-util" = [ "dep:futures-util" ]; - "hdrhistogram" = [ "dep:hdrhistogram" ]; - "hedge" = [ "util" "filter" "futures-util" "hdrhistogram" "tokio/time" "tracing" ]; - "indexmap" = [ "dep:indexmap" ]; - "limit" = [ "__common" "tokio/time" "tokio/sync" "tokio-util" "tracing" ]; - "load" = [ "__common" "tokio/time" "tracing" ]; - "load-shed" = [ "__common" ]; - "log" = [ "tracing/log" ]; - "make" = [ "futures-util" "pin-project-lite" "tokio/io-std" ]; - "pin-project" = [ "dep:pin-project" ]; - "pin-project-lite" = [ "dep:pin-project-lite" ]; - "rand" = [ "dep:rand" ]; - "ready-cache" = [ "futures-core" "futures-util" "indexmap" "tokio/sync" "tracing" "pin-project-lite" ]; - "reconnect" = [ "make" "tokio/io-std" "tracing" ]; - "retry" = [ "__common" "tokio/time" ]; - "slab" = [ "dep:slab" ]; - "spawn-ready" = [ "__common" "futures-util" "tokio/sync" "tokio/rt" "util" "tracing" ]; - "timeout" = [ "pin-project-lite" "tokio/time" ]; - "tokio" = [ "dep:tokio" ]; - "tokio-stream" = [ "dep:tokio-stream" ]; - "tokio-util" = [ "dep:tokio-util" ]; - "tracing" = [ "dep:tracing" ]; - "util" = [ "__common" "futures-util" "pin-project" ]; - }; - resolvedDefaultFeatures = [ "__common" "balance" "buffer" "discover" "futures-core" "futures-util" "indexmap" "limit" "load" "make" "pin-project" "pin-project-lite" "rand" "ready-cache" "slab" "tokio" "tokio-util" "tracing" "util" ]; - }; - "tower 0.5.2" = rec { - crateName = "tower"; - version = "0.5.2"; - edition = "2018"; - sha256 = "1ybmd59nm4abl9bsvy6rx31m4zvzp5rja2slzpn712y9b68ssffh"; - authors = [ - "Tower Maintainers " - ]; - dependencies = [ - { - name = "futures-core"; - packageId = "futures-core"; - optional = true; - } - { - name = "futures-util"; - packageId = "futures-util"; - optional = true; - usesDefaultFeatures = false; - features = [ "alloc" ]; - } - { - name = "pin-project-lite"; - packageId = "pin-project-lite"; - optional = true; - } { name = "sync_wrapper"; packageId = "sync_wrapper"; @@ -10231,7 +9975,7 @@ rec { "tracing" = [ "dep:tracing" ]; "util" = [ "__common" "futures-util" "pin-project-lite" "sync_wrapper" ]; }; - resolvedDefaultFeatures = [ "__common" "buffer" "filter" "futures-core" "futures-util" "log" "make" "pin-project-lite" "sync_wrapper" "timeout" "tokio" "tokio-util" "tracing" "util" ]; + resolvedDefaultFeatures = [ "__common" "balance" "buffer" "discover" "filter" "futures-core" "futures-util" "indexmap" "limit" "load" "log" "make" "pin-project-lite" "ready-cache" "slab" "sync_wrapper" "timeout" "tokio" "tokio-util" "tracing" "util" ]; }; "tower-http" = rec { crateName = "tower-http"; @@ -10588,9 +10332,9 @@ rec { }; "tracing-opentelemetry" = rec { crateName = "tracing-opentelemetry"; - version = "0.30.0"; + version = "0.31.0"; edition = "2021"; - sha256 = "0i64g7cyrdpzkc2zixz8bd0v1icha63ifcdwpvc3z0gmsr5pd3px"; + sha256 = "171scb8d5ynxvnyvq7lm9wzn4fzk0jf124v49p8d01wmydcmkkyx"; libName = "tracing_opentelemetry"; dependencies = [ { @@ -10657,7 +10401,7 @@ rec { name = "opentelemetry_sdk"; packageId = "opentelemetry_sdk"; usesDefaultFeatures = false; - features = [ "trace" "rt-tokio" ]; + features = [ "trace" "rt-tokio" "experimental_metrics_custom_reader" ]; } { name = "tracing"; diff --git a/Cargo.toml b/Cargo.toml index daa20138..75472135 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,7 @@ repository = "https://github.com/stackabletech/hdfs-operator" [workspace.dependencies] product-config = { git = "https://github.com/stackabletech/product-config.git", tag = "0.7.0" } -stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", features = ["telemetry", "versioned"], tag = "stackable-operator-0.93.1" } +stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", features = ["telemetry", "versioned"], tag = "stackable-operator-0.94.0" } anyhow = "1.0" built = { version = "0.8", features = ["chrono", "git2"] } diff --git a/crate-hashes.json b/crate-hashes.json index 81f487ff..96482789 100644 --- a/crate-hashes.json +++ b/crate-hashes.json @@ -1,10 +1,10 @@ { - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#k8s-version@0.1.3": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-operator-derive@0.3.1": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-operator@0.93.1": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-shared@0.0.1": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-telemetry@0.6.0": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-versioned-macros@0.7.1": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-versioned@0.7.1": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.94.0#k8s-version@0.1.3": "0hiymhr40ix4jv9dmvp5d009xs6v0frvllr2xkf5mw43rcg44mgd", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.94.0#stackable-operator-derive@0.3.1": "0hiymhr40ix4jv9dmvp5d009xs6v0frvllr2xkf5mw43rcg44mgd", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.94.0#stackable-operator@0.94.0": "0hiymhr40ix4jv9dmvp5d009xs6v0frvllr2xkf5mw43rcg44mgd", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.94.0#stackable-shared@0.0.1": "0hiymhr40ix4jv9dmvp5d009xs6v0frvllr2xkf5mw43rcg44mgd", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.94.0#stackable-telemetry@0.6.1": "0hiymhr40ix4jv9dmvp5d009xs6v0frvllr2xkf5mw43rcg44mgd", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.94.0#stackable-versioned-macros@0.8.0": "0hiymhr40ix4jv9dmvp5d009xs6v0frvllr2xkf5mw43rcg44mgd", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.94.0#stackable-versioned@0.8.0": "0hiymhr40ix4jv9dmvp5d009xs6v0frvllr2xkf5mw43rcg44mgd", "git+https://github.com/stackabletech/product-config.git?tag=0.7.0#product-config@0.7.0": "0gjsm80g6r75pm3824dcyiz4ysq1ka4c1if6k1mjm9cnd5ym0gny" } \ No newline at end of file diff --git a/deploy/helm/hdfs-operator/crds/crds.yaml b/deploy/helm/hdfs-operator/crds/crds.yaml index f2840821..b8b3884b 100644 --- a/deploy/helm/hdfs-operator/crds/crds.yaml +++ b/deploy/helm/hdfs-operator/crds/crds.yaml @@ -1931,11 +1931,6 @@ spec: format: date-time nullable: true type: string - lastUpdateTime: - description: The last time this condition was updated. - format: date-time - nullable: true - type: string message: description: A human readable message indicating details about the transition. nullable: true diff --git a/deploy/helm/hdfs-operator/templates/roles.yaml b/deploy/helm/hdfs-operator/templates/roles.yaml index 2b846ea5..1a7e23c1 100644 --- a/deploy/helm/hdfs-operator/templates/roles.yaml +++ b/deploy/helm/hdfs-operator/templates/roles.yaml @@ -14,6 +14,13 @@ rules: - list - watch - get + # For automatic cluster domain detection + - apiGroups: + - "" + resources: + - nodes/proxy + verbs: + - get - apiGroups: - "" resources: diff --git a/rust/operator-binary/src/container.rs b/rust/operator-binary/src/container.rs index e1109f8c..4110b48c 100644 --- a/rust/operator-binary/src/container.rs +++ b/rust/operator-binary/src/container.rs @@ -418,7 +418,6 @@ impl ContainerConfig { &ListenerReference::ListenerClass(node.listener_class.to_string()), labels, ) - .context(BuildListenerVolumeSnafu)? .build_ephemeral() .context(BuildListenerVolumeSnafu)? .volume_claim_template @@ -1040,7 +1039,6 @@ wait_for_termination $! &ListenerReference::ListenerClass(node.listener_class.to_string()), labels, ) - .context(ListenerVolumeLabelsSnafu)? .build_ephemeral() .context(BuildListenerVolumeSnafu)?, ) diff --git a/rust/operator-binary/src/crd/mod.rs b/rust/operator-binary/src/crd/mod.rs index 5646a9c7..fc6a4087 100644 --- a/rust/operator-binary/src/crd/mod.rs +++ b/rust/operator-binary/src/crd/mod.rs @@ -119,25 +119,29 @@ pub enum Error { MergeJvmArgumentOverrides { source: role_utils::Error }, } -#[versioned(version(name = "v1alpha1"))] +#[versioned( + version(name = "v1alpha1"), + crates( + kube_core = "stackable_operator::kube::core", + kube_client = "stackable_operator::kube::client", + k8s_openapi = "stackable_operator::k8s_openapi", + schemars = "stackable_operator::schemars", + versioned = "stackable_operator::versioned" + ) +)] pub mod versioned { /// An HDFS cluster stacklet. This resource is managed by the Stackable operator for Apache Hadoop HDFS. /// Find more information on how to use it and the resources that the operator generates in the /// [operator documentation](DOCS_BASE_URL_PLACEHOLDER/hdfs/). /// /// The CRD contains three roles: `nameNodes`, `dataNodes` and `journalNodes`. - #[versioned(k8s( + #[versioned(crd( group = "hdfs.stackable.tech", kind = "HdfsCluster", plural = "hdfsclusters", shortname = "hdfs", status = "HdfsClusterStatus", - namespaced, - crates( - kube_core = "stackable_operator::kube::core", - k8s_openapi = "stackable_operator::k8s_openapi", - schemars = "stackable_operator::schemars" - ) + namespaced ))] #[derive(Clone, CustomResource, Debug, Deserialize, JsonSchema, PartialEq, Serialize)] #[serde(rename_all = "camelCase")] diff --git a/rust/operator-binary/src/crd/storage.rs b/rust/operator-binary/src/crd/storage.rs index 9ce56658..e1627d22 100644 --- a/rust/operator-binary/src/crd/storage.rs +++ b/rust/operator-binary/src/crd/storage.rs @@ -94,19 +94,24 @@ impl DataNodeStorageConfig { .join(",") } - /// Returns a list with the names of the pvcs to be used for nodes. + /// Returns a list with the names of the PVCs to be used for nodes. /// The pvc names will be prefixed with the name given in the `pvc_name_prefix` argument. /// /// There are two options when it comes to naming: - /// 1. Name the pvcs `data-0, data-1, data-2, ... , data-{n-1}` - /// ** Good, because consistent naming - /// ** Bad, because existing deployments (using release 22.11 or earlier) will need to migrate their data by renaming their pvcs + /// 1. Name the PVCs `data-0, data-1, data-2, ... , data-{n-1}` + /// - Good, because consistent naming. + /// - Bad, because existing deployments (using release 22.11 or earlier) will need to migrate + /// their data by renaming their PVCs. /// - /// 2. Name the pvcs `data, data-1, data-2, ... , data-{n-1}` - /// ** Good, if nodes only have a single pvc (which probably most of the deployments will have) they name of the pvc will be consistent with the name of all the other pvcs out there - /// ** It is important that the first pvc will be called `data` (without suffix), regardless of the number of pvcs to be used. This is needed as nodes should be able to alter the number of pvcs attached and the use-case number of pvcs 1 -> 2 should be supported without renaming pvcs. + /// 2. Name the PVCs `data, data-1, data-2, ... , data-{n-1}` + /// - Good, if nodes only have a single pvc (which probably most of the deployments will have) + /// they name of the pvc will be consistent with the name of all the other PVCs out there. + /// - It is important that the first pvc will be called `data` (without suffix), regardless + /// of the number of PVCs to be used. This is needed as nodes should be able to alter the + /// number of PVCs attached and the use-case number of PVCs 1 -> 2 should be supported + /// without renaming PVCs. /// - /// This function uses the 2. option. + /// This function uses the second option. pub fn pvc_names(pvc_name_prefix: &str, number_of_pvcs: u16) -> Vec { (0..number_of_pvcs) .map(|pvc_index| { diff --git a/rust/operator-binary/src/main.rs b/rust/operator-binary/src/main.rs index 88500fb9..1c601a70 100644 --- a/rust/operator-binary/src/main.rs +++ b/rust/operator-binary/src/main.rs @@ -1,3 +1,7 @@ +// TODO: Look into how to properly resolve `clippy::large_enum_variant`. +// This will need changes in our and upstream error types. +#![allow(clippy::result_large_err, clippy::large_enum_variant)] + use std::sync::Arc; use clap::Parser; @@ -31,7 +35,7 @@ use stackable_operator::{ use tracing::info_span; use tracing_futures::Instrument; -use crate::crd::{HdfsCluster, constants::APP_NAME, v1alpha1}; +use crate::crd::{HdfsCluster, HdfsClusterVersion, constants::APP_NAME, v1alpha1}; mod config; mod container; @@ -61,7 +65,7 @@ struct Opts { async fn main() -> anyhow::Result<()> { let opts = Opts::parse(); match opts.cmd { - Command::Crd => HdfsCluster::merged_crd(HdfsCluster::V1Alpha1)? + Command::Crd => HdfsCluster::merged_crd(HdfsClusterVersion::V1Alpha1)? .print_yaml_schema(built_info::PKG_VERSION, SerializeOptions::default())?, Command::Run(ProductOperatorRun { product_config,