diff --git a/CHANGELOG.md b/CHANGELOG.md index e77f109..8ac9d1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,10 +26,12 @@ All notable changes to this project will be documented in this file. by `FILE_LOG_DIRECTORY` (or via `--file-log-directory `). - Replace stackable-operator `print_startup_string` with `tracing::info!` with fields. - Upgrade csi-provisioner to 5.2.0 ([#304]). +- Version CRDs and bump dependencies ([#307]). [#291]: https://github.com/stackabletech/listener-operator/pull/291 [#299]: https://github.com/stackabletech/listener-operator/pull/299 [#304]: https://github.com/stackabletech/listener-operator/pull/304 +[#307]: https://github.com/stackabletech/listener-operator/pull/307 ## [25.3.0] - 2025-03-21 diff --git a/Cargo.lock b/Cargo.lock index 1449577..b052f7f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -173,40 +173,13 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" -[[package]] -name = "axum" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" -dependencies = [ - "async-trait", - "axum-core 0.4.5", - "bytes", - "futures-util", - "http", - "http-body", - "http-body-util", - "itoa", - "matchit 0.7.3", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "sync_wrapper", - "tower 0.5.2", - "tower-layer", - "tower-service", -] - [[package]] name = "axum" version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de45108900e1f9b9242f7f2e254aa3e2c029c921c258fe9e6b4217eeebd54288" dependencies = [ - "axum-core 0.5.2", + "axum-core", "bytes", "form_urlencoded", "futures-util", @@ -216,7 +189,7 @@ dependencies = [ "hyper", "hyper-util", "itoa", - "matchit 0.8.4", + "matchit", "memchr", "mime", "percent-encoding", @@ -234,26 +207,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "axum-core" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http", - "http-body", - "http-body-util", - "mime", - "pin-project-lite", - "rustversion", - "sync_wrapper", - "tower-layer", - "tower-service", -] - [[package]] name = "axum-core" version = "0.5.2" @@ -344,9 +297,9 @@ dependencies = [ [[package]] name = "built" -version = "0.7.7" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ed6191a7e78c36abdb16ab65341eefd73d64d303fffccdbb00d51e4205967b" +checksum = "f4ad8f11f288f48ca24471bbd51ac257aaeaaa07adae295591266b792902ae64" dependencies = [ "chrono", "git2", @@ -559,7 +512,7 @@ version = "0.0.0-dev" dependencies = [ "prost", "prost-types", - "tonic", + "tonic 0.13.1", "tonic-build", ] @@ -618,6 +571,26 @@ dependencies = [ "powerfmt", ] +[[package]] +name = "derive_more" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" +dependencies = [ + "derive_more-impl", +] + +[[package]] +name = "derive_more-impl" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.99", +] + [[package]] name = "digest" version = "0.10.7" @@ -1178,9 +1151,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.10" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" +checksum = "cf9f1e950e0d9d1d3c47184416723cf29c0d1f93bd8cccf37e4beb6b44f31710" dependencies = [ "bytes", "futures-channel", @@ -1188,6 +1161,7 @@ dependencies = [ "http", "http-body", "hyper", + "libc", "pin-project-lite", "socket2", "tokio", @@ -1477,22 +1451,21 @@ dependencies = [ [[package]] name = "k8s-openapi" -version = "0.24.0" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c75b990324f09bef15e791606b7b7a296d02fc88a344f6eba9390970a870ad5" +checksum = "aa60a41b57ae1a0a071af77dbcf89fc9819cfe66edaf2beeb204c34459dcf0b2" dependencies = [ "base64 0.22.1", "chrono", "schemars", "serde", - "serde-value", "serde_json", ] [[package]] name = "k8s-version" -version = "0.1.2" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.92.0#5fdc47a10de685e4eea49fd0a3f6c3a15a4966c1" +version = "0.1.3" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" dependencies = [ "darling", "regex", @@ -1501,9 +1474,9 @@ dependencies = [ [[package]] name = "kube" -version = "0.99.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a4eb20010536b48abe97fec37d23d43069bcbe9686adcf9932202327bc5ca6e" +checksum = "1b49c39074089233c2bb7b1791d1b6c06c84dbab26757491fad9d233db0d432f" dependencies = [ "k8s-openapi", "kube-client", @@ -1514,9 +1487,9 @@ dependencies = [ [[package]] name = "kube-client" -version = "0.99.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc2ed952042df20d15ac2fe9614d0ec14b6118eab89633985d4b36e688dccf1" +checksum = "e199797b1b08865041c9c698f0d11a91de0a8143e808b71e250cd4a1d7ce2b9f" dependencies = [ "base64 0.22.1", "bytes", @@ -1551,11 +1524,12 @@ dependencies = [ [[package]] name = "kube-core" -version = "0.99.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff0d0793db58e70ca6d689489183816cb3aa481673e7433dc618cf7e8007c675" +checksum = "1bdefbba89dea2d99ea822a1d7cd6945535efbfb10b790056ee9284bf9e698e7" dependencies = [ "chrono", + "derive_more", "form_urlencoded", "http", "json-patch", @@ -1569,9 +1543,9 @@ dependencies = [ [[package]] name = "kube-derive" -version = "0.99.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c562f58dc9f7ca5feac8a6ee5850ca221edd6f04ce0dd2ee873202a88cd494c9" +checksum = "8e609a3633689a50869352a3c16e01d863b6137863c80eeb038383d5ab9f83bf" dependencies = [ "darling", "proc-macro2", @@ -1583,14 +1557,13 @@ dependencies = [ [[package]] name = "kube-runtime" -version = "0.99.0" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88f34cfab9b4bd8633062e0e85edb81df23cb09f159f2e31c60b069ae826ffdc" +checksum = "1d4bd8a4554786f8f9a87bfa977fb7dbaa1d7f102a30477338b044b65de29d8e" dependencies = [ "ahash", "async-broadcast", "async-stream", - "async-trait", "backon", "educe", "futures", @@ -1617,9 +1590,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.170" +version = "0.2.172" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "875b3680cb2f8f71bdcf9a30f38d48282f5d3c95cbf9b3fa57269bb5d5c06828" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "libgit2-sys" @@ -1682,12 +1655,6 @@ dependencies = [ "regex-automata 0.1.10", ] -[[package]] -name = "matchit" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - [[package]] name = "matchit" version = "0.8.4" @@ -1780,9 +1747,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "opentelemetry" -version = "0.28.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "236e667b670a5cdf90c258f5a55794ec5ac5027e960c224bff8367a59e1e6426" +checksum = "9e87237e2775f74896f9ad219d26a2081751187eb7c9f5c58dde20a23b95d16c" dependencies = [ "futures-core", "futures-sink", @@ -1794,9 +1761,9 @@ dependencies = [ [[package]] name = "opentelemetry-appender-tracing" -version = "0.28.1" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c513c7af3bec30113f3d4620134ff923295f1e9c580fda2b8abe0831f925ddc0" +checksum = "e716f864eb23007bdd9dc4aec381e188a1cee28eecf22066772b5fd822b9727d" dependencies = [ "opentelemetry", "tracing", @@ -1806,9 +1773,9 @@ dependencies = [ [[package]] name = "opentelemetry-http" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8863faf2910030d139fb48715ad5ff2f35029fc5f244f6d5f689ddcf4d26253" +checksum = "46d7ab32b827b5b495bd90fa95a6cb65ccc293555dcc3199ae2937d2d237c8ed" dependencies = [ "async-trait", "bytes", @@ -1820,11 +1787,10 @@ dependencies = [ [[package]] name = "opentelemetry-otlp" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bef114c6d41bea83d6dc60eb41720eedd0261a67af57b66dd2b84ac46c01d91" +checksum = "d899720fe06916ccba71c01d04ecd77312734e2de3467fd30d9d580c8ce85656" dependencies = [ - "async-trait", "futures-core", "http", "opentelemetry", @@ -1835,36 +1801,35 @@ dependencies = [ "reqwest", "thiserror 2.0.12", "tokio", - "tonic", + "tonic 0.12.3", "tracing", ] [[package]] name = "opentelemetry-proto" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f8870d3024727e99212eb3bb1762ec16e255e3e6f58eeb3dc8db1aa226746d" +checksum = "8c40da242381435e18570d5b9d50aca2a4f4f4d8e146231adb4e7768023309b3" dependencies = [ "opentelemetry", "opentelemetry_sdk", "prost", - "tonic", + "tonic 0.12.3", ] [[package]] name = "opentelemetry_sdk" -version = "0.28.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84dfad6042089c7fc1f6118b7040dc2eb4ab520abbf410b79dc481032af39570" +checksum = "afdefb21d1d47394abc1ba6c57363ab141be19e27cc70d0e422b7f303e4d290b" dependencies = [ - "async-trait", "futures-channel", "futures-executor", "futures-util", "glob", "opentelemetry", "percent-encoding", - "rand", + "rand 0.9.1", "serde_json", "thiserror 2.0.12", "tokio", @@ -2143,8 +2108,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "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]] @@ -2154,7 +2129,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -2166,6 +2151,15 @@ dependencies = [ "getrandom 0.2.15", ] +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.1", +] + [[package]] name = "redox_syscall" version = "0.5.10" @@ -2660,9 +2654,9 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" +checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" dependencies = [ "libc", "windows-sys 0.52.0", @@ -2695,7 +2689,7 @@ dependencies = [ "strum", "tokio", "tokio-stream", - "tonic", + "tonic 0.13.1", "tonic-reflection", "tracing", ] @@ -2718,8 +2712,8 @@ dependencies = [ [[package]] name = "stackable-operator" -version = "0.92.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.92.0#5fdc47a10de685e4eea49fd0a3f6c3a15a4966c1" +version = "0.93.1" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" dependencies = [ "chrono", "clap", @@ -2756,7 +2750,7 @@ dependencies = [ [[package]] name = "stackable-operator-derive" version = "0.3.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.92.0#5fdc47a10de685e4eea49fd0a3f6c3a15a4966c1" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" dependencies = [ "darling", "proc-macro2", @@ -2767,7 +2761,7 @@ dependencies = [ [[package]] name = "stackable-shared" version = "0.0.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.92.0#5fdc47a10de685e4eea49fd0a3f6c3a15a4966c1" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" dependencies = [ "kube", "semver", @@ -2779,9 +2773,9 @@ dependencies = [ [[package]] name = "stackable-telemetry" version = "0.6.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.92.0#5fdc47a10de685e4eea49fd0a3f6c3a15a4966c1" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" dependencies = [ - "axum 0.8.3", + "axum", "clap", "futures-util", "opentelemetry", @@ -2802,7 +2796,7 @@ dependencies = [ [[package]] name = "stackable-versioned" version = "0.7.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.92.0#5fdc47a10de685e4eea49fd0a3f6c3a15a4966c1" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" dependencies = [ "stackable-versioned-macros", ] @@ -2810,7 +2804,7 @@ dependencies = [ [[package]] name = "stackable-versioned-macros" version = "0.7.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.92.0#5fdc47a10de685e4eea49fd0a3f6c3a15a4966c1" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#d990019c690ed85aea29b095a03661c015676caa" dependencies = [ "convert_case", "darling", @@ -3074,12 +3068,37 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" dependencies = [ - "async-stream", "async-trait", - "axum 0.7.9", "base64 0.22.1", "bytes", "flate2", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-timeout", + "hyper-util", + "percent-encoding", + "pin-project", + "prost", + "tokio", + "tokio-stream", + "tower 0.4.13", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tonic" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e581ba15a835f4d9ea06c55ab1bd4dce26fc53752c69a04aac00703bfb49ba9" +dependencies = [ + "async-trait", + "axum", + "base64 0.22.1", + "bytes", "h2", "http", "http-body", @@ -3093,7 +3112,7 @@ dependencies = [ "socket2", "tokio", "tokio-stream", - "tower 0.4.13", + "tower 0.5.2", "tower-layer", "tower-service", "tracing", @@ -3101,9 +3120,9 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11" +checksum = "eac6f67be712d12f0b41328db3137e0d0757645d8904b4cb7d51cd9c2279e847" dependencies = [ "prettyplease", "proc-macro2", @@ -3115,15 +3134,15 @@ dependencies = [ [[package]] name = "tonic-reflection" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "878d81f52e7fcfd80026b7fdb6a9b578b3c3653ba987f87f0dce4b64043cba27" +checksum = "f9687bd5bfeafebdded2356950f278bba8226f0b32109537c4253406e09aafe1" dependencies = [ "prost", "prost-types", "tokio", "tokio-stream", - "tonic", + "tonic 0.13.1", ] [[package]] @@ -3137,7 +3156,7 @@ dependencies = [ "indexmap 1.9.3", "pin-project", "pin-project-lite", - "rand", + "rand 0.8.5", "slab", "tokio", "tokio-util", @@ -3154,7 +3173,9 @@ checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", + "indexmap 2.7.1", "pin-project-lite", + "slab", "sync_wrapper", "tokio", "tokio-util", @@ -3251,9 +3272,9 @@ dependencies = [ [[package]] name = "tracing-opentelemetry" -version = "0.29.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "721f2d2569dce9f3dfbbddee5906941e953bfcdf736a62da3377f5751650cc36" +checksum = "fd8e764bd6f5813fd8bebc3117875190c5b0415be8f7f8059bffb6ecd979c444" dependencies = [ "js-sys", "once_cell", diff --git a/Cargo.nix b/Cargo.nix index a86bbeb..1d1415e 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -524,123 +524,7 @@ rec { ]; }; - "axum 0.7.9" = rec { - crateName = "axum"; - version = "0.7.9"; - edition = "2021"; - sha256 = "07z7wqczi9i8xb4460rvn39p4wjqwr32hx907crd1vwb2fy8ijpd"; - dependencies = [ - { - name = "async-trait"; - packageId = "async-trait"; - } - { - name = "axum-core"; - packageId = "axum-core 0.4.5"; - } - { - name = "bytes"; - packageId = "bytes"; - } - { - name = "futures-util"; - packageId = "futures-util"; - usesDefaultFeatures = false; - features = [ "alloc" ]; - } - { - name = "http"; - packageId = "http"; - } - { - name = "http-body"; - packageId = "http-body"; - } - { - name = "http-body-util"; - packageId = "http-body-util"; - } - { - name = "itoa"; - packageId = "itoa"; - } - { - name = "matchit"; - packageId = "matchit 0.7.3"; - } - { - name = "memchr"; - packageId = "memchr"; - } - { - name = "mime"; - packageId = "mime"; - } - { - name = "percent-encoding"; - packageId = "percent-encoding"; - } - { - name = "pin-project-lite"; - packageId = "pin-project-lite"; - } - { - name = "rustversion"; - packageId = "rustversion"; - } - { - name = "serde"; - packageId = "serde"; - } - { - name = "sync_wrapper"; - packageId = "sync_wrapper"; - } - { - name = "tower"; - packageId = "tower 0.5.2"; - usesDefaultFeatures = false; - features = [ "util" ]; - } - { - name = "tower-layer"; - packageId = "tower-layer"; - } - { - name = "tower-service"; - packageId = "tower-service"; - } - ]; - devDependencies = [ - { - name = "serde"; - packageId = "serde"; - features = [ "derive" ]; - } - { - name = "tower"; - packageId = "tower 0.5.2"; - rename = "tower"; - features = [ "util" "timeout" "limit" "load-shed" "steer" "filter" ]; - } - ]; - features = { - "__private_docs" = [ "axum-core/__private_docs" "tower/full" "dep:tower-http" ]; - "default" = [ "form" "http1" "json" "matched-path" "original-uri" "query" "tokio" "tower-log" "tracing" ]; - "form" = [ "dep:serde_urlencoded" ]; - "http1" = [ "dep:hyper" "hyper?/http1" "hyper-util?/http1" ]; - "http2" = [ "dep:hyper" "hyper?/http2" "hyper-util?/http2" ]; - "json" = [ "dep:serde_json" "dep:serde_path_to_error" ]; - "macros" = [ "dep:axum-macros" ]; - "multipart" = [ "dep:multer" ]; - "query" = [ "dep:serde_urlencoded" ]; - "tokio" = [ "dep:hyper-util" "dep:tokio" "tokio/net" "tokio/rt" "tower/make" "tokio/macros" ]; - "tower-log" = [ "tower/log" ]; - "tracing" = [ "dep:tracing" "axum-core/tracing" ]; - "ws" = [ "dep:hyper" "tokio" "dep:tokio-tungstenite" "dep:sha1" "dep:base64" ]; - }; - }; - "axum 0.8.3" = rec { + "axum" = rec { crateName = "axum"; version = "0.8.3"; edition = "2021"; @@ -648,7 +532,7 @@ rec { dependencies = [ { name = "axum-core"; - packageId = "axum-core 0.5.2"; + packageId = "axum-core"; } { name = "bytes"; @@ -694,7 +578,7 @@ rec { } { name = "matchit"; - packageId = "matchit 0.8.4"; + packageId = "matchit"; } { name = "memchr"; @@ -819,78 +703,7 @@ rec { }; resolvedDefaultFeatures = [ "default" "form" "http1" "json" "matched-path" "original-uri" "query" "tokio" "tower-log" "tracing" ]; }; - "axum-core 0.4.5" = rec { - crateName = "axum-core"; - version = "0.4.5"; - edition = "2021"; - sha256 = "16b1496c4gm387q20hkv5ic3k5bd6xmnvk50kwsy6ymr8rhvvwh9"; - libName = "axum_core"; - dependencies = [ - { - name = "async-trait"; - packageId = "async-trait"; - } - { - name = "bytes"; - packageId = "bytes"; - } - { - name = "futures-util"; - packageId = "futures-util"; - usesDefaultFeatures = false; - features = [ "alloc" ]; - } - { - name = "http"; - packageId = "http"; - } - { - name = "http-body"; - packageId = "http-body"; - } - { - name = "http-body-util"; - packageId = "http-body-util"; - } - { - name = "mime"; - packageId = "mime"; - } - { - name = "pin-project-lite"; - packageId = "pin-project-lite"; - } - { - name = "rustversion"; - packageId = "rustversion"; - } - { - name = "sync_wrapper"; - packageId = "sync_wrapper"; - } - { - name = "tower-layer"; - packageId = "tower-layer"; - } - { - name = "tower-service"; - packageId = "tower-service"; - } - ]; - devDependencies = [ - { - name = "futures-util"; - packageId = "futures-util"; - usesDefaultFeatures = false; - features = [ "alloc" ]; - } - ]; - features = { - "__private_docs" = [ "dep:tower-http" ]; - "tracing" = [ "dep:tracing" ]; - }; - }; - "axum-core 0.5.2" = rec { + "axum-core" = rec { crateName = "axum-core"; version = "0.5.2"; edition = "2021"; @@ -1168,9 +981,9 @@ rec { }; "built" = rec { crateName = "built"; - version = "0.7.7"; + version = "0.8.0"; edition = "2021"; - sha256 = "0ywn0m11xm80pg6zrzq3sdj3vmzg3qs6baqnvfmkd377ly8n3van"; + sha256 = "0r5f08lpjsr6j5ajkbmd0ymfmajpq8ddbfvi8ji8rx48y88qzbgl"; authors = [ "Lukas Lueg " ]; @@ -1793,7 +1606,7 @@ rec { } { name = "tonic"; - packageId = "tonic"; + packageId = "tonic 0.13.1"; } ]; buildDependencies = [ @@ -1950,6 +1763,94 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "powerfmt" "std" ]; }; + "derive_more" = rec { + crateName = "derive_more"; + version = "2.0.1"; + edition = "2021"; + sha256 = "0y3n97cc7rsvgnj211p92y1ppzh6jzvq5kvk6340ghkhfp7l4ch9"; + authors = [ + "Jelte Fennema " + ]; + dependencies = [ + { + name = "derive_more-impl"; + packageId = "derive_more-impl"; + } + ]; + features = { + "add" = [ "derive_more-impl/add" ]; + "add_assign" = [ "derive_more-impl/add_assign" ]; + "as_ref" = [ "derive_more-impl/as_ref" ]; + "constructor" = [ "derive_more-impl/constructor" ]; + "debug" = [ "derive_more-impl/debug" ]; + "default" = [ "std" ]; + "deref" = [ "derive_more-impl/deref" ]; + "deref_mut" = [ "derive_more-impl/deref_mut" ]; + "display" = [ "derive_more-impl/display" ]; + "error" = [ "derive_more-impl/error" ]; + "from" = [ "derive_more-impl/from" ]; + "from_str" = [ "derive_more-impl/from_str" ]; + "full" = [ "add" "add_assign" "as_ref" "constructor" "debug" "deref" "deref_mut" "display" "error" "from" "from_str" "index" "index_mut" "into" "into_iterator" "is_variant" "mul" "mul_assign" "not" "sum" "try_from" "try_into" "try_unwrap" "unwrap" ]; + "index" = [ "derive_more-impl/index" ]; + "index_mut" = [ "derive_more-impl/index_mut" ]; + "into" = [ "derive_more-impl/into" ]; + "into_iterator" = [ "derive_more-impl/into_iterator" ]; + "is_variant" = [ "derive_more-impl/is_variant" ]; + "mul" = [ "derive_more-impl/mul" ]; + "mul_assign" = [ "derive_more-impl/mul_assign" ]; + "not" = [ "derive_more-impl/not" ]; + "sum" = [ "derive_more-impl/sum" ]; + "testing-helpers" = [ "derive_more-impl/testing-helpers" "dep:rustc_version" ]; + "try_from" = [ "derive_more-impl/try_from" ]; + "try_into" = [ "derive_more-impl/try_into" ]; + "try_unwrap" = [ "derive_more-impl/try_unwrap" ]; + "unwrap" = [ "derive_more-impl/unwrap" ]; + }; + resolvedDefaultFeatures = [ "default" "from" "std" ]; + }; + "derive_more-impl" = rec { + crateName = "derive_more-impl"; + version = "2.0.1"; + edition = "2021"; + sha256 = "1wqxcb7d5lzvpplz9szp4rwy1r23f5wmixz0zd2vcjscqknji9mx"; + procMacro = true; + libName = "derive_more_impl"; + authors = [ + "Jelte Fennema " + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 2.0.99"; + } + ]; + features = { + "as_ref" = [ "syn/extra-traits" "syn/visit" ]; + "debug" = [ "syn/extra-traits" "dep:unicode-xid" ]; + "display" = [ "syn/extra-traits" "dep:unicode-xid" ]; + "error" = [ "syn/extra-traits" ]; + "from" = [ "syn/extra-traits" ]; + "full" = [ "add" "add_assign" "as_ref" "constructor" "debug" "deref" "deref_mut" "display" "error" "from" "from_str" "index" "index_mut" "into" "into_iterator" "is_variant" "mul" "mul_assign" "not" "sum" "try_from" "try_into" "try_unwrap" "unwrap" ]; + "into" = [ "syn/extra-traits" ]; + "is_variant" = [ "dep:convert_case" ]; + "mul" = [ "syn/extra-traits" ]; + "mul_assign" = [ "syn/extra-traits" ]; + "not" = [ "syn/extra-traits" ]; + "testing-helpers" = [ "dep:rustc_version" ]; + "try_into" = [ "syn/extra-traits" ]; + "try_unwrap" = [ "dep:convert_case" ]; + "unwrap" = [ "dep:convert_case" ]; + }; + resolvedDefaultFeatures = [ "default" "from" ]; + }; "digest" = rec { crateName = "digest"; version = "0.10.7"; @@ -2904,6 +2805,7 @@ rec { "rustc-dep-of-std" = [ "dep:compiler_builtins" "dep:core" ]; "wasm_js" = [ "dep:wasm-bindgen" "dep:js-sys" ]; }; + resolvedDefaultFeatures = [ "std" ]; }; "gimli" = rec { crateName = "gimli"; @@ -3728,9 +3630,9 @@ rec { }; "hyper-util" = rec { crateName = "hyper-util"; - version = "0.1.10"; + version = "0.1.12"; edition = "2021"; - sha256 = "1d1iwrkysjhq63pg54zk3vfby1j7zmxzm9zzyfr4lwvp0szcybfz"; + sha256 = "040pyd26pssbgvrwr35xjcghv77j7ir1ci0q8wy1v78d1saix7yg"; libName = "hyper_util"; authors = [ "Sean McArthur " @@ -3762,6 +3664,11 @@ rec { name = "hyper"; packageId = "hyper"; } + { + name = "libc"; + packageId = "libc"; + optional = true; + } { name = "pin-project-lite"; packageId = "pin-project-lite"; @@ -3809,8 +3716,10 @@ rec { ]; features = { "client" = [ "hyper/client" "dep:tracing" "dep:futures-channel" "dep:tower-service" ]; - "client-legacy" = [ "client" "dep:socket2" "tokio/sync" ]; - "full" = [ "client" "client-legacy" "server" "server-auto" "server-graceful" "service" "http1" "http2" "tokio" ]; + "client-legacy" = [ "client" "dep:socket2" "tokio/sync" "dep:libc" ]; + "client-proxy" = [ "client" "dep:base64" "dep:ipnet" "dep:percent-encoding" ]; + "client-proxy-system" = [ "dep:system-configuration" "dep:windows-registry" ]; + "full" = [ "client" "client-legacy" "server" "server-auto" "server-graceful" "service" "http1" "http2" "tokio" "tracing" ]; "http1" = [ "hyper/http1" ]; "http2" = [ "hyper/http2" ]; "server" = [ "hyper/server" ]; @@ -3818,8 +3727,9 @@ rec { "server-graceful" = [ "server" "tokio/sync" "futures-util/alloc" ]; "service" = [ "dep:tower-service" ]; "tokio" = [ "dep:tokio" "tokio/net" "tokio/rt" "tokio/time" ]; + "tracing" = [ "dep:tracing" ]; }; - resolvedDefaultFeatures = [ "client" "client-legacy" "default" "http1" "http2" "server" "server-auto" "service" "tokio" ]; + resolvedDefaultFeatures = [ "client" "client-legacy" "default" "http1" "http2" "server" "server-auto" "service" "tokio" "tracing" ]; }; "iana-time-zone" = rec { crateName = "iana-time-zone"; @@ -4651,10 +4561,10 @@ rec { }; "k8s-openapi" = rec { crateName = "k8s-openapi"; - version = "0.24.0"; + version = "0.25.0"; edition = "2021"; - links = "k8s-openapi-0.24.0"; - sha256 = "1m8ahw59g44kp9p4yd4ar0px15m2nyvhc5krbvqvw2ag6a8bjx9c"; + links = "k8s-openapi-0.25.0"; + sha256 = "1cphvicl9hq4nbp2pbzdcvz9r0f9kzwbqzgp383hl6mfawds8q5a"; libName = "k8s_openapi"; authors = [ "Arnav Singh " @@ -4683,11 +4593,6 @@ rec { packageId = "serde"; usesDefaultFeatures = false; } - { - name = "serde-value"; - packageId = "serde-value"; - usesDefaultFeatures = false; - } { name = "serde_json"; packageId = "serde_json"; @@ -4696,21 +4601,22 @@ rec { } ]; features = { - "earliest" = [ "v1_28" ]; - "latest" = [ "v1_32" ]; + "default" = [ "std" ]; + "earliest" = [ "v1_30" ]; + "latest" = [ "v1_33" ]; "schemars" = [ "dep:schemars" ]; }; - resolvedDefaultFeatures = [ "schemars" "v1_32" ]; + resolvedDefaultFeatures = [ "schemars" "v1_33" ]; }; "k8s-version" = rec { crateName = "k8s-version"; - version = "0.1.2"; + version = "0.1.3"; edition = "2024"; workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "5fdc47a10de685e4eea49fd0a3f6c3a15a4966c1"; - sha256 = "0li9smdrz7danqz17lfkl0j9zl2i84csgc7d01lxs5qi8jcs9fzw"; + rev = "d990019c690ed85aea29b095a03661c015676caa"; + sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; }; libName = "k8s_version"; authors = [ @@ -4733,14 +4639,15 @@ rec { ]; features = { "darling" = [ "dep:darling" ]; + "serde" = [ "dep:serde" ]; }; resolvedDefaultFeatures = [ "darling" ]; }; "kube" = rec { crateName = "kube"; - version = "0.99.0"; + version = "1.0.0"; edition = "2021"; - sha256 = "0vnaqmxk40i2jgwxqsk8x75rn1j37p93gv3zx6mlhssk200b4kls"; + sha256 = "0bs31pdk7lnrza8p8x96mgdq8v60nv8r25vvpg1374h8fj8c6j8v"; authors = [ "clux " "Natalie Klestrup Röijezon " @@ -4811,9 +4718,9 @@ rec { }; "kube-client" = rec { crateName = "kube-client"; - version = "0.99.0"; + version = "1.0.0"; edition = "2021"; - sha256 = "1wfciml6xcylhlwn72dbiq8vc57cs0a9dzn2bb8j1ps242ayvhkz"; + sha256 = "17rbrvbs3m0c4lgbf2788f0hmpli3b8z1666r50m11h83dxpk6g1"; libName = "kube_client"; authors = [ "clux " @@ -4896,7 +4803,7 @@ rec { name = "hyper-util"; packageId = "hyper-util"; optional = true; - features = [ "client" "client-legacy" "http1" "tokio" ]; + features = [ "client" "client-legacy" "http1" "tokio" "tracing" ]; } { name = "jsonpath-rust"; @@ -5052,9 +4959,9 @@ rec { }; "kube-core" = rec { crateName = "kube-core"; - version = "0.99.0"; + version = "1.0.0"; edition = "2021"; - sha256 = "0xf60y07xkqqqqyl7rvk2r4amcvch61r2j49ssk0rrsqvf9hf3gz"; + sha256 = "1rwqwvwlna79dq2r1dqhzgxmwls5d76xg892m2gdk8nyi6xgpphv"; libName = "kube_core"; authors = [ "clux " @@ -5068,6 +4975,11 @@ rec { usesDefaultFeatures = false; features = [ "now" ]; } + { + name = "derive_more"; + packageId = "derive_more"; + features = [ "from" ]; + } { name = "form_urlencoded"; packageId = "form_urlencoded"; @@ -5129,9 +5041,9 @@ rec { }; "kube-derive" = rec { crateName = "kube-derive"; - version = "0.99.0"; + version = "1.0.0"; edition = "2021"; - sha256 = "1jclsj6ah0ijhzpd43ff0ipxs7i2r985ivm6r3m5zjppr66zaqn5"; + sha256 = "1gw3kymxb0w30gmhxj33g09vcqyq05pc38sjjf3516k86cv9lq4f"; procMacro = true; libName = "kube_derive"; authors = [ @@ -5178,9 +5090,9 @@ rec { }; "kube-runtime" = rec { crateName = "kube-runtime"; - version = "0.99.0"; + version = "1.0.0"; edition = "2021"; - sha256 = "1p7z4vl9l1hbqqqjx7qmkyq3rwhxp3nqa3if0qrqdgdlp7x4rww8"; + sha256 = "13lxw9fvci5h71rlfc1a21zivanvnxzrgykvm3wzi1j7anjdhjqx"; libName = "kube_runtime"; authors = [ "clux " @@ -5200,10 +5112,6 @@ rec { name = "async-stream"; packageId = "async-stream"; } - { - name = "async-trait"; - packageId = "async-trait"; - } { name = "backon"; packageId = "backon"; @@ -5314,9 +5222,9 @@ rec { }; "libc" = rec { crateName = "libc"; - version = "0.2.170"; + version = "0.2.172"; edition = "2021"; - sha256 = "0a38q3avb6r6azxb7yfbjly5sbr8926z6c4sryyp33rgrf03cnw7"; + sha256 = "1ykz4skj7gac14znljm5clbnrhini38jkq3d60jggx3y5w2ayl6p"; authors = [ "The Rust Project Developers" ]; @@ -5515,19 +5423,7 @@ rec { ]; }; - "matchit 0.7.3" = rec { - crateName = "matchit"; - version = "0.7.3"; - edition = "2021"; - sha256 = "156bgdmmlv4crib31qhgg49nsjk88dxkdqp80ha2pk2rk6n6ax0f"; - authors = [ - "Ibraheem Ahmed " - ]; - features = { - }; - resolvedDefaultFeatures = [ "default" ]; - }; - "matchit 0.8.4" = rec { + "matchit" = rec { crateName = "matchit"; version = "0.8.4"; edition = "2021"; @@ -5783,9 +5679,9 @@ rec { }; "opentelemetry" = rec { crateName = "opentelemetry"; - version = "0.28.0"; + version = "0.29.1"; edition = "2021"; - sha256 = "09k43sgaarw3zx5j434ngq1canpcjibsbxaqqa8dyp0acxxncvi3"; + sha256 = "0v6ijlxs486yip2zbjdpgqc525q8l8k9s8ddz6b4ixvm4xz271wy"; dependencies = [ { name = "futures-core"; @@ -5821,7 +5717,8 @@ rec { } ]; features = { - "default" = [ "trace" "metrics" "logs" "internal-logs" ]; + "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" ]; @@ -5829,16 +5726,16 @@ rec { "spec_unstable_logs_enabled" = [ "logs" ]; "testing" = [ "trace" ]; "thiserror" = [ "dep:thiserror" ]; - "trace" = [ "pin-project-lite" "futures-sink" "futures-core" "thiserror" ]; + "trace" = [ "futures" "thiserror" ]; "tracing" = [ "dep:tracing" ]; }; - resolvedDefaultFeatures = [ "default" "futures-core" "futures-sink" "internal-logs" "logs" "metrics" "pin-project-lite" "spec_unstable_logs_enabled" "thiserror" "trace" "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" = rec { crateName = "opentelemetry-appender-tracing"; - version = "0.28.1"; + version = "0.29.1"; edition = "2021"; - sha256 = "1h6x4pwk225yi8mxl3sqkhg5ya93z57i68267lzi2c7c7fpwf4y5"; + sha256 = "0zbjp4idhprbfxk21wpcivicx8c8w60w7bn4kpfpn013xdjgh5p7"; libName = "opentelemetry_appender_tracing"; dependencies = [ { @@ -5865,11 +5762,17 @@ rec { } ]; devDependencies = [ + { + name = "tracing"; + packageId = "tracing"; + usesDefaultFeatures = false; + features = [ "std" ]; + } { name = "tracing-subscriber"; packageId = "tracing-subscriber"; usesDefaultFeatures = false; - features = [ "registry" "std" "env-filter" ]; + features = [ "env-filter" "registry" "std" "fmt" ]; } ]; features = { @@ -5883,9 +5786,9 @@ rec { }; "opentelemetry-http" = rec { crateName = "opentelemetry-http"; - version = "0.28.0"; + version = "0.29.0"; edition = "2021"; - sha256 = "0lv2sbsdr7b8bxnly92zzhlm1wzjbynib1xlkw9hs0qh56pkz1m8"; + sha256 = "1vf86z9d4dr9msck3k2xan9w5k35rfk9bylhpnav9d97p0rapms6"; libName = "opentelemetry_http"; dependencies = [ { @@ -5934,15 +5837,11 @@ rec { }; "opentelemetry-otlp" = rec { crateName = "opentelemetry-otlp"; - version = "0.28.0"; + version = "0.29.0"; edition = "2021"; - sha256 = "148xq13ar11bvmk7pxbslrhh5pgf40bv83n6dlysigj1dm613vsv"; + sha256 = "0mjnx260qn4x1p9pyip35m7764kkszn087f0f6xcq5k9w07p56fq"; libName = "opentelemetry_otlp"; dependencies = [ - { - name = "async-trait"; - packageId = "async-trait"; - } { name = "futures-core"; packageId = "futures-core"; @@ -5999,7 +5898,7 @@ rec { } { name = "tonic"; - packageId = "tonic"; + packageId = "tonic 0.12.3"; optional = true; usesDefaultFeatures = false; } @@ -6017,6 +5916,12 @@ rec { usesDefaultFeatures = false; features = [ "macros" "rt-multi-thread" ]; } + { + name = "tonic"; + packageId = "tonic 0.12.3"; + usesDefaultFeatures = false; + features = [ "server" ]; + } ]; features = { "default" = [ "http-proto" "reqwest-blocking-client" "trace" "metrics" "logs" "internal-logs" ]; @@ -6053,9 +5958,9 @@ rec { }; "opentelemetry-proto" = rec { crateName = "opentelemetry-proto"; - version = "0.28.0"; + version = "0.29.0"; edition = "2021"; - sha256 = "0vbl4si1mny87pmqxxg6wday45pcc8bvpcrf46cpwwi4606qgy2n"; + sha256 = "1cq96c16hxsfvcd26ip1v3sg9952mi89snqdawc5whw14cjdlh4c"; libName = "opentelemetry_proto"; dependencies = [ { @@ -6075,7 +5980,7 @@ rec { } { name = "tonic"; - packageId = "tonic"; + packageId = "tonic 0.12.3"; optional = true; usesDefaultFeatures = false; features = [ "codegen" "prost" ]; @@ -6085,7 +5990,7 @@ rec { "base64" = [ "dep:base64" ]; "default" = [ "full" ]; "full" = [ "gen-tonic" "trace" "logs" "metrics" "zpages" "with-serde" "internal-logs" ]; - "gen-tonic" = [ "gen-tonic-messages" "tonic/transport" ]; + "gen-tonic" = [ "gen-tonic-messages" "tonic/channel" ]; "gen-tonic-messages" = [ "tonic" "prost" ]; "hex" = [ "dep:hex" ]; "internal-logs" = [ "tracing" ]; @@ -6106,15 +6011,10 @@ rec { }; "opentelemetry_sdk" = rec { crateName = "opentelemetry_sdk"; - version = "0.28.0"; + version = "0.29.0"; edition = "2021"; - sha256 = "0w4mycm070f4knvi1x5v199apd1fvi0712qiyv0pz70889havpw4"; + sha256 = "02r99lz30zrb8870vivww8cvwhdi78v5fv5sq6mr8wyls4hzppmg"; dependencies = [ - { - name = "async-trait"; - packageId = "async-trait"; - optional = true; - } { name = "futures-channel"; packageId = "futures-channel"; @@ -6145,10 +6045,10 @@ rec { } { name = "rand"; - packageId = "rand"; + packageId = "rand 0.9.1"; optional = true; usesDefaultFeatures = false; - features = [ "std" "std_rng" "small_rng" ]; + features = [ "std" "std_rng" "small_rng" "os_rng" "thread_rng" ]; } { name = "serde_json"; @@ -6180,10 +6080,9 @@ rec { } ]; features = { - "async-std" = [ "dep:async-std" ]; - "async-trait" = [ "dep:async-trait" ]; "default" = [ "trace" "metrics" "logs" "internal-logs" ]; "experimental_logs_batch_log_processor_with_async_runtime" = [ "logs" ]; + "experimental_logs_concurrent_log_processor" = [ "logs" ]; "experimental_metrics_disable_name_validation" = [ "metrics" ]; "experimental_metrics_periodicreader_with_async_runtime" = [ "metrics" ]; "experimental_trace_batch_span_processor_with_async_runtime" = [ "trace" ]; @@ -6192,25 +6091,24 @@ rec { "internal-logs" = [ "tracing" ]; "jaeger_remote_sampler" = [ "trace" "opentelemetry-http" "http" "serde" "serde_json" "url" ]; "logs" = [ "opentelemetry/logs" "serde_json" ]; - "metrics" = [ "opentelemetry/metrics" "glob" "async-trait" ]; + "metrics" = [ "opentelemetry/metrics" "glob" ]; "opentelemetry-http" = [ "dep:opentelemetry-http" ]; "percent-encoding" = [ "dep:percent-encoding" ]; "rand" = [ "dep:rand" ]; - "rt-async-std" = [ "async-std" "experimental_async_runtime" ]; "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-async-std" "rt-tokio" "rt-tokio-current-thread" "tokio/macros" "tokio/rt-multi-thread" ]; + "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" ]; "tracing" = [ "dep:tracing" ]; "url" = [ "dep:url" ]; }; - resolvedDefaultFeatures = [ "async-trait" "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" "glob" "internal-logs" "logs" "metrics" "percent-encoding" "rand" "rt-tokio" "serde_json" "spec_unstable_logs_enabled" "tokio" "tokio-stream" "trace" "tracing" ]; }; "ordered-float" = rec { crateName = "ordered-float"; @@ -6954,7 +6852,7 @@ rec { }; resolvedDefaultFeatures = [ "default" "proc-macro" ]; }; - "rand" = rec { + "rand 0.8.5" = rec { crateName = "rand"; version = "0.8.5"; edition = "2018"; @@ -6973,13 +6871,13 @@ rec { } { name = "rand_chacha"; - packageId = "rand_chacha"; + packageId = "rand_chacha 0.3.1"; optional = true; usesDefaultFeatures = false; } { name = "rand_core"; - packageId = "rand_core"; + packageId = "rand_core 0.6.4"; } ]; features = { @@ -6998,7 +6896,40 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "default" "getrandom" "libc" "rand_chacha" "small_rng" "std" "std_rng" ]; }; - "rand_chacha" = rec { + "rand 0.9.1" = rec { + crateName = "rand"; + version = "0.9.1"; + edition = "2021"; + sha256 = "15yxfcxbgmwba5cv7mjg9bhc1r5c9483dfcdfspg62x4jk8dkgwz"; + authors = [ + "The Rand Project Developers" + "The Rust Project Developers" + ]; + dependencies = [ + { + name = "rand_chacha"; + packageId = "rand_chacha 0.9.0"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "rand_core"; + packageId = "rand_core 0.9.3"; + usesDefaultFeatures = false; + } + ]; + features = { + "default" = [ "std" "std_rng" "os_rng" "small_rng" "thread_rng" ]; + "log" = [ "dep:log" ]; + "os_rng" = [ "rand_core/os_rng" ]; + "serde" = [ "dep:serde" "rand_core/serde" ]; + "std" = [ "rand_core/std" "rand_chacha?/std" "alloc" ]; + "std_rng" = [ "dep:rand_chacha" ]; + "thread_rng" = [ "std" "std_rng" "os_rng" ]; + }; + 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"; @@ -7017,7 +6948,7 @@ rec { } { name = "rand_core"; - packageId = "rand_core"; + packageId = "rand_core 0.6.4"; } ]; features = { @@ -7028,7 +6959,44 @@ rec { }; resolvedDefaultFeatures = [ "std" ]; }; - "rand_core" = rec { + "rand_chacha 0.9.0" = rec { + crateName = "rand_chacha"; + version = "0.9.0"; + edition = "2021"; + sha256 = "1jr5ygix7r60pz0s1cv3ms1f6pd1i9pcdmnxzzhjc3zn3mgjn0nk"; + 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.9.3"; + } + ]; + devDependencies = [ + { + name = "rand_core"; + packageId = "rand_core 0.9.3"; + features = [ "os_rng" ]; + } + ]; + features = { + "default" = [ "std" ]; + "os_rng" = [ "rand_core/os_rng" ]; + "serde" = [ "dep:serde" ]; + "std" = [ "ppv-lite86/std" "rand_core/std" ]; + }; + resolvedDefaultFeatures = [ "std" ]; + }; + "rand_core 0.6.4" = rec { crateName = "rand_core"; version = "0.6.4"; edition = "2018"; @@ -7052,6 +7020,29 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "getrandom" "std" ]; }; + "rand_core 0.9.3" = rec { + crateName = "rand_core"; + version = "0.9.3"; + edition = "2021"; + sha256 = "0f3xhf16yks5ic6kmgxcpv1ngdhp48mmfy4ag82i1wnwh8ws3ncr"; + authors = [ + "The Rand Project Developers" + "The Rust Project Developers" + ]; + dependencies = [ + { + name = "getrandom"; + packageId = "getrandom 0.3.1"; + optional = true; + } + ]; + features = { + "os_rng" = [ "dep:getrandom" ]; + "serde" = [ "dep:serde" ]; + "std" = [ "getrandom?/std" ]; + }; + resolvedDefaultFeatures = [ "os_rng" "std" ]; + }; "redox_syscall" = rec { crateName = "redox_syscall"; version = "0.5.10"; @@ -8755,9 +8746,9 @@ rec { }; "socket2" = rec { crateName = "socket2"; - version = "0.5.8"; + version = "0.5.9"; edition = "2021"; - sha256 = "1s7vjmb5gzp3iaqi94rh9r63k9cj00kjgbfn7gn60kmnk6fjcw69"; + sha256 = "1vzds1wwwi0a51fn10r98j7cx3ir4shvhykpbk7md2h5h1ydapsg"; authors = [ "Alex Crichton " "Thomas de Zeeuw " @@ -8880,7 +8871,7 @@ rec { } { name = "tonic"; - packageId = "tonic"; + packageId = "tonic 0.13.1"; } { name = "tonic-reflection"; @@ -8966,13 +8957,13 @@ rec { }; "stackable-operator" = rec { crateName = "stackable-operator"; - version = "0.92.0"; + version = "0.93.1"; edition = "2024"; workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "5fdc47a10de685e4eea49fd0a3f6c3a15a4966c1"; - sha256 = "0li9smdrz7danqz17lfkl0j9zl2i84csgc7d01lxs5qi8jcs9fzw"; + rev = "d990019c690ed85aea29b095a03661c015676caa"; + sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; }; libName = "stackable_operator"; authors = [ @@ -9027,7 +9018,7 @@ rec { name = "k8s-openapi"; packageId = "k8s-openapi"; usesDefaultFeatures = false; - features = [ "schemars" "v1_32" ]; + features = [ "schemars" "v1_33" ]; } { name = "kube"; @@ -9130,8 +9121,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "5fdc47a10de685e4eea49fd0a3f6c3a15a4966c1"; - sha256 = "0li9smdrz7danqz17lfkl0j9zl2i84csgc7d01lxs5qi8jcs9fzw"; + rev = "d990019c690ed85aea29b095a03661c015676caa"; + sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; }; procMacro = true; libName = "stackable_operator_derive"; @@ -9165,8 +9156,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "5fdc47a10de685e4eea49fd0a3f6c3a15a4966c1"; - sha256 = "0li9smdrz7danqz17lfkl0j9zl2i84csgc7d01lxs5qi8jcs9fzw"; + rev = "d990019c690ed85aea29b095a03661c015676caa"; + sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; }; libName = "stackable_shared"; authors = [ @@ -9206,8 +9197,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "5fdc47a10de685e4eea49fd0a3f6c3a15a4966c1"; - sha256 = "0li9smdrz7danqz17lfkl0j9zl2i84csgc7d01lxs5qi8jcs9fzw"; + rev = "d990019c690ed85aea29b095a03661c015676caa"; + sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; }; libName = "stackable_telemetry"; authors = [ @@ -9216,7 +9207,7 @@ rec { dependencies = [ { name = "axum"; - packageId = "axum 0.8.3"; + packageId = "axum"; } { name = "clap"; @@ -9311,8 +9302,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "5fdc47a10de685e4eea49fd0a3f6c3a15a4966c1"; - sha256 = "0li9smdrz7danqz17lfkl0j9zl2i84csgc7d01lxs5qi8jcs9fzw"; + rev = "d990019c690ed85aea29b095a03661c015676caa"; + sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; }; libName = "stackable_versioned"; authors = [ @@ -9337,8 +9328,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "5fdc47a10de685e4eea49fd0a3f6c3a15a4966c1"; - sha256 = "0li9smdrz7danqz17lfkl0j9zl2i84csgc7d01lxs5qi8jcs9fzw"; + rev = "d990019c690ed85aea29b095a03661c015676caa"; + sha256 = "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6"; }; procMacro = true; libName = "stackable_versioned_macros"; @@ -9363,7 +9354,7 @@ rec { packageId = "k8s-openapi"; optional = true; usesDefaultFeatures = false; - features = [ "schemars" "v1_32" ]; + features = [ "schemars" "v1_33" ]; } { name = "k8s-version"; @@ -9395,7 +9386,7 @@ rec { name = "k8s-openapi"; packageId = "k8s-openapi"; usesDefaultFeatures = false; - features = [ "schemars" "v1_32" ]; + features = [ "schemars" "v1_33" ]; } ]; features = { @@ -10183,7 +10174,7 @@ rec { }; resolvedDefaultFeatures = [ "codec" "default" "io" "slab" "time" ]; }; - "tonic" = rec { + "tonic 0.12.3" = rec { crateName = "tonic"; version = "0.12.3"; edition = "2021"; @@ -10193,10 +10184,135 @@ rec { ]; dependencies = [ { - name = "async-stream"; - packageId = "async-stream"; + name = "async-trait"; + packageId = "async-trait"; optional = true; } + { + name = "base64"; + packageId = "base64 0.22.1"; + } + { + name = "bytes"; + packageId = "bytes"; + } + { + name = "flate2"; + packageId = "flate2"; + optional = true; + } + { + name = "http"; + packageId = "http"; + } + { + name = "http-body"; + packageId = "http-body"; + } + { + name = "http-body-util"; + packageId = "http-body-util"; + } + { + name = "hyper"; + packageId = "hyper"; + optional = true; + features = [ "http1" "http2" ]; + } + { + name = "hyper-timeout"; + packageId = "hyper-timeout"; + optional = true; + } + { + name = "hyper-util"; + packageId = "hyper-util"; + optional = true; + features = [ "tokio" ]; + } + { + name = "percent-encoding"; + packageId = "percent-encoding"; + } + { + name = "pin-project"; + packageId = "pin-project"; + } + { + name = "prost"; + packageId = "prost"; + optional = true; + usesDefaultFeatures = false; + features = [ "std" ]; + } + { + name = "tokio"; + packageId = "tokio"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "tokio-stream"; + packageId = "tokio-stream"; + usesDefaultFeatures = false; + } + { + name = "tower"; + packageId = "tower 0.4.13"; + optional = true; + usesDefaultFeatures = false; + } + { + name = "tower-layer"; + packageId = "tower-layer"; + } + { + name = "tower-service"; + packageId = "tower-service"; + } + { + name = "tracing"; + packageId = "tracing"; + } + ]; + devDependencies = [ + { + name = "tokio"; + packageId = "tokio"; + features = [ "rt" "macros" ]; + } + { + name = "tower"; + packageId = "tower 0.4.13"; + features = [ "full" ]; + } + ]; + features = { + "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" ]; + "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" ]; + "transport" = [ "server" "channel" ]; + "zstd" = [ "dep:zstd" ]; + }; + resolvedDefaultFeatures = [ "channel" "codegen" "gzip" "prost" ]; + }; + "tonic 0.13.1" = rec { + crateName = "tonic"; + version = "0.13.1"; + edition = "2021"; + sha256 = "1acvnjzh61y0m829mijj6z2nzqnwshdsnmbcl2g4spw3bahinn3y"; + authors = [ + "Lucio Franco " + ]; + dependencies = [ { name = "async-trait"; packageId = "async-trait"; @@ -10204,7 +10320,7 @@ rec { } { name = "axum"; - packageId = "axum 0.7.9"; + packageId = "axum"; optional = true; usesDefaultFeatures = false; } @@ -10216,11 +10332,6 @@ rec { name = "bytes"; packageId = "bytes"; } - { - name = "flate2"; - packageId = "flate2"; - optional = true; - } { name = "h2"; packageId = "h2"; @@ -10289,7 +10400,7 @@ rec { } { name = "tower"; - packageId = "tower 0.4.13"; + packageId = "tower 0.5.2"; optional = true; usesDefaultFeatures = false; } @@ -10310,36 +10421,38 @@ rec { { name = "tokio"; packageId = "tokio"; - features = [ "rt" "macros" ]; + features = [ "rt-multi-thread" "macros" ]; } { name = "tower"; - packageId = "tower 0.4.13"; + packageId = "tower 0.5.2"; 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" "default" "gzip" "prost" "router" "server" "transport" ]; + resolvedDefaultFeatures = [ "channel" "codegen" "default" "prost" "router" "server" "transport" ]; }; "tonic-build" = rec { crateName = "tonic-build"; - version = "0.12.3"; + version = "0.13.1"; edition = "2021"; - sha256 = "04baqblgrlc0g8scnhpky5s0n4cljaixrrdrr6cv6wx7kq8cwmwm"; + sha256 = "0iz8g4i9rkaigp5v8149bmj5f1qdgq9v739j845jzl8jwxxzdipa"; libName = "tonic_build"; authors = [ "Lucio Franco " @@ -10373,7 +10486,7 @@ rec { } ]; features = { - "cleanup-markdown" = [ "prost" "prost-build/cleanup-markdown" ]; + "cleanup-markdown" = [ "prost-build?/cleanup-markdown" ]; "default" = [ "transport" "prost" ]; "prost" = [ "prost-build" "dep:prost-types" ]; "prost-build" = [ "dep:prost-build" ]; @@ -10382,9 +10495,9 @@ rec { }; "tonic-reflection" = rec { crateName = "tonic-reflection"; - version = "0.12.3"; + version = "0.13.1"; edition = "2021"; - sha256 = "09xs7h268jyf1mzzi1x97djw7cvqnnlvdzdp4q0dikvz5vsq33c7"; + sha256 = "1qdgkbh0cd15qhvra41j1dpj5a5vg3r50s9msbgbvzpapzapns7r"; libName = "tonic_reflection"; authors = [ "James Nugent " @@ -10410,29 +10523,34 @@ rec { name = "tokio-stream"; packageId = "tokio-stream"; optional = true; - features = [ "net" ]; + usesDefaultFeatures = false; } { name = "tonic"; - packageId = "tonic"; + packageId = "tonic 0.13.1"; usesDefaultFeatures = false; features = [ "codegen" "prost" ]; } ]; devDependencies = [ + { + name = "tokio-stream"; + packageId = "tokio-stream"; + usesDefaultFeatures = false; + features = [ "net" ]; + } { name = "tonic"; - packageId = "tonic"; + packageId = "tonic 0.13.1"; usesDefaultFeatures = false; features = [ "transport" ]; } ]; features = { "default" = [ "server" ]; - "prost-types" = [ "dep:prost-types" ]; - "server" = [ "prost-types" "dep:tokio" "dep:tokio-stream" ]; + "server" = [ "dep:prost-types" "dep:tokio" "dep:tokio-stream" ]; }; - resolvedDefaultFeatures = [ "default" "prost-types" "server" ]; + resolvedDefaultFeatures = [ "default" "server" ]; }; "tower 0.4.13" = rec { crateName = "tower"; @@ -10472,7 +10590,7 @@ rec { } { name = "rand"; - packageId = "rand"; + packageId = "rand 0.8.5"; optional = true; features = [ "small_rng" ]; } @@ -10576,11 +10694,21 @@ rec { usesDefaultFeatures = false; features = [ "alloc" ]; } + { + name = "indexmap"; + packageId = "indexmap 2.7.1"; + optional = true; + } { name = "pin-project-lite"; packageId = "pin-project-lite"; optional = true; } + { + name = "slab"; + packageId = "slab"; + optional = true; + } { name = "sync_wrapper"; packageId = "sync_wrapper"; @@ -10662,7 +10790,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"; @@ -10972,9 +11100,9 @@ rec { }; "tracing-opentelemetry" = rec { crateName = "tracing-opentelemetry"; - version = "0.29.0"; + version = "0.30.0"; edition = "2021"; - sha256 = "0dnca0b7bxbp6gd64skkvzy3p58yjh35kvnxpggz7sfwd4jjs7vj"; + sha256 = "0i64g7cyrdpzkc2zixz8bd0v1icha63ifcdwpvc3z0gmsr5pd3px"; libName = "tracing_opentelemetry"; dependencies = [ { diff --git a/Cargo.toml b/Cargo.toml index a23fa91..9499658 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,10 +10,10 @@ edition = "2021" repository = "https://github.com/stackabletech/listener-operator" [workspace.dependencies] -stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", features = ["telemetry", "versioned"], tag = "stackable-operator-0.92.0" } +stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", features = ["telemetry", "versioned"], tag = "stackable-operator-0.93.1" } anyhow = "1.0" -built = { version = "0.7", features = ["chrono", "git2"] } +built = { version = "0.8", features = ["chrono", "git2"] } clap = "4.5" const_format = "0.2" futures = { version = "0.3" } @@ -30,9 +30,9 @@ strum = { version = "0.27", features = ["derive"] } socket2 = { version = "0.5", features = ["all"] } tokio = { version = "1.40", features = ["full"] } tokio-stream = { version = "0.1", features = ["net"] } -tonic = "0.12" -tonic-build = "0.12" -tonic-reflection = "0.12" +tonic = "0.13" +tonic-build = "0.13" +tonic-reflection = "0.13" tracing = "0.1.40" walkdir = "2.5.0" diff --git a/crate-hashes.json b/crate-hashes.json index 9dcf61e..81f487f 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.92.0#k8s-version@0.1.2": "0li9smdrz7danqz17lfkl0j9zl2i84csgc7d01lxs5qi8jcs9fzw", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.92.0#stackable-operator-derive@0.3.1": "0li9smdrz7danqz17lfkl0j9zl2i84csgc7d01lxs5qi8jcs9fzw", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.92.0#stackable-operator@0.92.0": "0li9smdrz7danqz17lfkl0j9zl2i84csgc7d01lxs5qi8jcs9fzw", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.92.0#stackable-shared@0.0.1": "0li9smdrz7danqz17lfkl0j9zl2i84csgc7d01lxs5qi8jcs9fzw", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.92.0#stackable-telemetry@0.6.0": "0li9smdrz7danqz17lfkl0j9zl2i84csgc7d01lxs5qi8jcs9fzw", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.92.0#stackable-versioned-macros@0.7.1": "0li9smdrz7danqz17lfkl0j9zl2i84csgc7d01lxs5qi8jcs9fzw", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.92.0#stackable-versioned@0.7.1": "0li9smdrz7danqz17lfkl0j9zl2i84csgc7d01lxs5qi8jcs9fzw", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#k8s-version@0.1.3": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-operator-derive@0.3.1": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-operator@0.93.1": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-shared@0.0.1": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-telemetry@0.6.0": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-versioned-macros@0.7.1": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.93.1#stackable-versioned@0.7.1": "16faz0f3dsv095hk94kmb7mk3pr6lban1v3k0g6yawak6gk5xln6", "git+https://github.com/stackabletech/product-config.git?tag=0.7.0#product-config@0.7.0": "0gjsm80g6r75pm3824dcyiz4ysq1ka4c1if6k1mjm9cnd5ym0gny" } \ No newline at end of file diff --git a/rust/operator-binary/src/csi_server/controller.rs b/rust/operator-binary/src/csi_server/controller.rs index 99fbf84..5d8581b 100644 --- a/rust/operator-binary/src/csi_server/controller.rs +++ b/rust/operator-binary/src/csi_server/controller.rs @@ -2,7 +2,7 @@ use csi_grpc as csi; use serde::{Deserialize, de::IntoDeserializer}; use snafu::{OptionExt, ResultExt, Snafu}; use stackable_operator::{ - commons::listener::{Listener, ListenerClass, ServiceType}, + crd::listener, k8s_openapi::api::core::v1::PersistentVolumeClaim, kube::{core::DynamicObject, runtime::reflector::ObjectRef}, }; @@ -36,7 +36,9 @@ enum CreateVolumeError { #[snafu(display("failed to decode volume context"))] DecodeVolumeContext { source: serde::de::value::Error }, #[snafu(display("{listener} does not specify a listener class"))] - NoListenerClass { listener: ObjectRef }, + NoListenerClass { + listener: ObjectRef, + }, } impl From for Status { @@ -99,10 +101,10 @@ impl csi::v1::controller_server::Controller for ListenerOperatorController { ListenerSelector::Listener(listener_name) => { let listener = self .client - .get::(&listener_name, &ns) + .get::(&listener_name, &ns) .await .with_context(|_| GetObjectSnafu { - obj: ObjectRef::::new(&listener_name) + obj: ObjectRef::::new(&listener_name) .within(&ns) .erase(), })?; @@ -118,10 +120,10 @@ impl csi::v1::controller_server::Controller for ListenerOperatorController { }; let listener_class = self .client - .get::(&listener_class_name, &()) + .get::(&listener_class_name, &()) .await .with_context(|_| GetObjectSnafu { - obj: ObjectRef::::new(&listener_class_name) + obj: ObjectRef::::new(&listener_class_name) .within(&ns) .erase(), })?; @@ -134,7 +136,7 @@ impl csi::v1::controller_server::Controller for ListenerOperatorController { accessible_topology: match listener_class.spec.service_type { // Pick the top node (as selected by the CSI client) and "stick" to that // Since we want clients to have a stable address to connect to - ServiceType::NodePort => request + listener::v1alpha1::ServiceType::NodePort => request .accessibility_requirements .unwrap_or_default() .preferred @@ -142,7 +144,8 @@ impl csi::v1::controller_server::Controller for ListenerOperatorController { .take(1) .collect(), // Load balancers and services of type ClusterIP have no relationship to any particular node, so don't try to be sticky - ServiceType::LoadBalancer | ServiceType::ClusterIP => Vec::new(), + listener::v1alpha1::ServiceType::LoadBalancer + | listener::v1alpha1::ServiceType::ClusterIP => Vec::new(), }, }), })) diff --git a/rust/operator-binary/src/csi_server/node.rs b/rust/operator-binary/src/csi_server/node.rs index 62a1d82..94ae7b3 100644 --- a/rust/operator-binary/src/csi_server/node.rs +++ b/rust/operator-binary/src/csi_server/node.rs @@ -5,10 +5,7 @@ use serde::{Deserialize, de::IntoDeserializer}; use snafu::{OptionExt, ResultExt, Snafu}; use stackable_operator::{ builder::meta::OwnerReferenceBuilder, - commons::listener::{ - Listener, ListenerClass, ListenerIngress, ListenerPort, ListenerSpec, PodListener, - PodListenerScope, PodListeners, PodListenersSpec, - }, + crd::listener, k8s_openapi::api::core::v1::{Node, PersistentVolume, PersistentVolumeClaim, Pod, Volume}, kube::{ core::{DynamicObject, ObjectMeta}, @@ -63,17 +60,19 @@ enum PublishVolumeError { #[snafu(display("failed to generate {listener}'s PersistentVolume selector"))] ListenerPvReference { source: ListenerPersistentVolumeLabelError, - listener: ObjectRef, + listener: ObjectRef, }, #[snafu(display("failed to generate {listener}'s pod selector"))] ListenerPodSelector { source: ListenerMountedPodLabelError, - listener: ObjectRef, + listener: ObjectRef, }, #[snafu(display("{listener} has no associated ListenerClass"))] - ListenerHasNoClass { listener: ObjectRef }, + ListenerHasNoClass { + listener: ObjectRef, + }, #[snafu(display("{pod} has not been scheduled to a node yet"))] PodHasNoNode { pod: ObjectRef }, @@ -86,7 +85,7 @@ enum PublishVolumeError { #[snafu(display("failed to apply {listener}"))] ApplyListener { source: stackable_operator::client::Error, - listener: ObjectRef, + listener: ObjectRef, }, #[snafu(display("failed to add listener label to {pv}"))] @@ -114,7 +113,7 @@ enum PublishVolumeError { WritePodListeners { source: stackable_operator::client::Error, create_error: stackable_operator::client::Error, - pod_listeners: ObjectRef, + pod_listeners: ObjectRef, }, #[snafu(display("failed to find Pod volume corresponding for {pvc}"))] @@ -244,17 +243,17 @@ impl csi::v1::node_server::Node for ListenerOperatorNode { let listener = match listener_selector { ListenerSelector::Listener(listener_name) => self .client - .get::(&listener_name, &ns) + .get::(&listener_name, &ns) .await .with_context(|_| GetObjectSnafu { obj: { - ObjectRef::::new(&listener_name) + ObjectRef::::new(&listener_name) .within(&ns) .erase() }, })?, ListenerSelector::ListenerClass(listener_class_name) => { - let listener = Listener { + let listener = listener::v1alpha1::Listener { metadata: ObjectMeta { namespace: Some(ns.clone()), name: Some(pvc_name.to_string()), @@ -269,7 +268,7 @@ impl csi::v1::node_server::Node for ListenerOperatorNode { labels: pvc.metadata.labels, ..Default::default() }, - spec: ListenerSpec { + spec: listener::v1alpha1::ListenerSpec { class_name: Some(listener_class_name), ports: Some( pod.spec @@ -277,7 +276,7 @@ impl csi::v1::node_server::Node for ListenerOperatorNode { .flat_map(|ps| &ps.containers) .flat_map(|ctr| &ctr.ports) .flatten() - .map(|port| ListenerPort { + .map(|port| listener::v1alpha1::ListenerPort { name: port .name .clone() @@ -420,9 +419,9 @@ impl csi::v1::node_server::Node for ListenerOperatorNode { /// (and so can't be found in `Endpoints`). async fn local_listener_addresses_for_pod( client: &stackable_operator::client::Client, - listener: &Listener, + listener: &listener::v1alpha1::Listener, pod: &Pod, -) -> Result, PublishVolumeError> { +) -> Result, PublishVolumeError> { use publish_volume_error::*; if let Some(node_ports) = listener @@ -452,20 +451,23 @@ async fn local_listener_addresses_for_pod( listener: ObjectRef::from_obj(listener), })?; let listener_class = client - .get::(listener_class_name, &()) + .get::(listener_class_name, &()) .await .with_context(|_| GetObjectSnafu { - obj: ObjectRef::::new(listener_class_name).erase(), + obj: ObjectRef::::new(listener_class_name) + .erase(), })?; Ok(node_primary_addresses(&node) .pick(listener_class.spec.resolve_preferred_address_type()) - .map(|(address, address_type)| ListenerIngress { - // nodes: Some(vec![node_name.to_string()]), - address: address.to_string(), - address_type, - ports: node_ports, - }) + .map( + |(address, address_type)| listener::v1alpha1::ListenerIngress { + // nodes: Some(vec![node_name.to_string()]), + address: address.to_string(), + address_type, + ports: node_ports, + }, + ) .into_iter() .collect()) } else { @@ -478,14 +480,14 @@ async fn local_listener_addresses_for_pod( } } -/// Publish listener into a [`PodListeners`] Kubernetes object. +/// Publish listener into a [`listener::v1alpha1::PodListeners`] Kubernetes object. async fn publish_pod_listener( client: &stackable_operator::client::Client, pod: &Pod, pod_name: &str, pvc_name: &str, - listener: &Listener, - listener_addresses: &[ListenerIngress], + listener: &listener::v1alpha1::Listener, + listener_addresses: &[listener::v1alpha1::ListenerIngress], ) -> Result<(), PublishVolumeError> { use publish_volume_error::*; let listener_pod_volume = pod @@ -508,7 +510,7 @@ async fn publish_pod_listener( .with_context(|| FindPodVolumeForPvcSnafu { pvc: ObjectRef::::new(pvc_name), })?; - let pod_listeners = PodListeners { + let pod_listeners = listener::v1alpha1::PodListeners { metadata: ObjectMeta { name: pod.metadata.uid.as_deref().map(|uid| format!("pod-{uid}")), namespace: pod.metadata.namespace.clone(), @@ -520,20 +522,23 @@ async fn publish_pod_listener( ]), ..Default::default() }, - spec: PodListenersSpec { - listeners: [(listener_pod_volume.name.clone(), PodListener { - scope: if listener - .status - .as_ref() - .and_then(|s| s.node_ports.as_ref()) - .is_some() - { - PodListenerScope::Node - } else { - PodListenerScope::Cluster + spec: listener::v1alpha1::PodListenersSpec { + listeners: [( + listener_pod_volume.name.clone(), + listener::v1alpha1::PodListener { + scope: if listener + .status + .as_ref() + .and_then(|s| s.node_ports.as_ref()) + .is_some() + { + listener::v1alpha1::PodListenerScope::Node + } else { + listener::v1alpha1::PodListenerScope::Cluster + }, + ingress_addresses: Some(listener_addresses.to_vec()), }, - ingress_addresses: Some(listener_addresses.to_vec()), - })] + )] .into(), }, }; @@ -556,7 +561,7 @@ mod pod_dir { use std::path::Path; use snafu::{OptionExt, ResultExt, Snafu}; - use stackable_operator::commons::listener::ListenerIngress; + use stackable_operator::crd::listener; #[derive(Snafu, Debug)] pub enum Error { @@ -570,7 +575,7 @@ mod pod_dir { pub async fn write_listener_info_to_pod_dir( target_path: &Path, - listener_addrs: &[ListenerIngress], + listener_addrs: &[listener::v1alpha1::ListenerIngress], ) -> Result<(), Error> { let addrs_path = target_path.join("addresses"); tokio::fs::create_dir_all(&addrs_path).await?; diff --git a/rust/operator-binary/src/listener_controller.rs b/rust/operator-binary/src/listener_controller.rs index a5203b5..b4f033d 100644 --- a/rust/operator-binary/src/listener_controller.rs +++ b/rust/operator-binary/src/listener_controller.rs @@ -14,10 +14,7 @@ use stackable_operator::k8s_openapi::api::core::v1::Pod; use stackable_operator::{ builder::meta::ObjectMetaBuilder, cluster_resources::{ClusterResourceApplyStrategy, ClusterResources}, - commons::listener::{ - AddressType, Listener, ListenerClass, ListenerIngress, ListenerPort, ListenerSpec, - ListenerStatus, ServiceType, - }, + crd::listener, iter::TryFromIterator, k8s_openapi::{ api::core::v1::{Endpoints, Node, PersistentVolume, Service, ServicePort, ServiceSpec}, @@ -52,7 +49,7 @@ pub const FULL_CONTROLLER_NAME: &str = concatcp!(CONTROLLER_NAME, '.', OPERATOR_ pub async fn run(client: stackable_operator::client::Client) { let controller = controller::Controller::new( - client.get_all_api::>(), + client.get_all_api::>(), watcher::Config::default(), ); let listener_store = controller.store(); @@ -66,7 +63,7 @@ pub async fn run(client: stackable_operator::client::Client) { watcher::Config::default(), ) .watches( - client.get_all_api::>(), + client.get_all_api::>(), watcher::Config::default(), { let listener_store = listener_store.clone(); @@ -112,7 +109,10 @@ pub async fn run(client: stackable_operator::client::Client) { labels .get(PV_LABEL_LISTENER_NAMESPACE) .zip(labels.get(PV_LABEL_LISTENER_NAME)) - .map(|(ns, name)| ObjectRef::>::new(name).within(ns)) + .map(|(ns, name)| { + ObjectRef::>::new(name) + .within(ns) + }) }, ) .shutdown_on_signal() @@ -187,7 +187,7 @@ pub enum Error { #[snafu(display("failed to validate annotations specified by {listener_class}"))] ValidateListenerClassAnnotations { source: stackable_operator::kvp::AnnotationError, - listener_class: ObjectRef, + listener_class: ObjectRef, }, #[snafu(display("failed to build cluster resource labels"))] @@ -254,7 +254,7 @@ impl ReconcilerError for Error { } pub async fn reconcile( - listener: Arc>, + listener: Arc>, ctx: Arc, ) -> Result { tracing::info!("Starting reconcile"); @@ -283,10 +283,10 @@ pub async fn reconcile( .context(NoListenerClassSnafu)?; let listener_class = ctx .client - .get::(listener_class_name, &()) + .get::(listener_class_name, &()) .await .with_context(|_| GetObjectSnafu { - obj: ObjectRef::::new(listener_class_name).erase(), + obj: ObjectRef::::new(listener_class_name).erase(), })?; let pod_ports = listener .spec @@ -294,7 +294,7 @@ pub async fn reconcile( .iter() .flatten() .map( - |ListenerPort { + |listener::v1alpha1::ListenerPort { name, port, protocol, @@ -315,13 +315,14 @@ pub async fn reconcile( // ClusterIP services have no external traffic to apply policies to let external_traffic_policy = match listener_class.spec.service_type { - ServiceType::NodePort | ServiceType::LoadBalancer => Some( + listener::v1alpha1::ServiceType::NodePort + | listener::v1alpha1::ServiceType::LoadBalancer => Some( listener_class .spec .service_external_traffic_policy .to_string(), ), - ServiceType::ClusterIP => None, + listener::v1alpha1::ServiceType::ClusterIP => None, }; let svc = Service { @@ -359,9 +360,9 @@ pub async fn reconcile( // We explicitly match here and do not implement `ToString` as there might be more (non vanilla k8s Service // types) in the future. type_: Some(match listener_class.spec.service_type { - ServiceType::NodePort => "NodePort".to_string(), - ServiceType::LoadBalancer => "LoadBalancer".to_string(), - ServiceType::ClusterIP => "ClusterIP".to_string(), + listener::v1alpha1::ServiceType::NodePort => "NodePort".to_string(), + listener::v1alpha1::ServiceType::LoadBalancer => "LoadBalancer".to_string(), + listener::v1alpha1::ServiceType::ClusterIP => "ClusterIP".to_string(), }), ports: Some(pod_ports.into_values().collect()), external_traffic_policy, @@ -385,10 +386,10 @@ pub async fn reconcile( let nodes: Vec; let kubernetes_service_fqdn: String; - let addresses: Vec<(&str, AddressType)>; + let addresses: Vec<(&str, listener::v1alpha1::AddressType)>; let ports: BTreeMap; match listener_class.spec.service_type { - ServiceType::NodePort => { + listener::v1alpha1::ServiceType::NodePort => { let node_names = node_names_for_nodeport_listener(&ctx.client, listener, ns, &svc_name).await?; nodes = try_join_all(node_names.iter().map(|node_name| async { @@ -413,7 +414,7 @@ pub async fn reconcile( .filter_map(|port| Some((port.name.clone()?, port.node_port?))) .collect(); } - ServiceType::LoadBalancer => { + listener::v1alpha1::ServiceType::LoadBalancer => { addresses = svc .status .iter() @@ -436,19 +437,22 @@ pub async fn reconcile( .filter_map(|port| Some((port.name.clone()?, port.port))) .collect(); } - ServiceType::ClusterIP => { + listener::v1alpha1::ServiceType::ClusterIP => { let cluster_domain = &cluster_info.cluster_domain; addresses = match preferred_address_type { - AddressType::Ip => svc + listener::v1alpha1::AddressType::Ip => svc .spec .iter() .flat_map(|s| &s.cluster_ips) .flatten() - .map(|addr| (&**addr, AddressType::Ip)) + .map(|addr| (&**addr, listener::v1alpha1::AddressType::Ip)) .collect::>(), - AddressType::Hostname => { + listener::v1alpha1::AddressType::Hostname => { kubernetes_service_fqdn = format!("{svc_name}.{ns}.svc.{cluster_domain}"); - vec![(&kubernetes_service_fqdn, AddressType::Hostname)] + vec![( + &kubernetes_service_fqdn, + listener::v1alpha1::AddressType::Hostname, + )] } }; ports = svc @@ -462,29 +466,32 @@ pub async fn reconcile( } }; - let listener_status_meta = Listener { + let listener_status_meta = listener::v1alpha1::Listener { metadata: ObjectMeta { name: listener.metadata.name.clone(), namespace: listener.metadata.namespace.clone(), uid: listener.metadata.uid.clone(), ..Default::default() }, - spec: ListenerSpec::default(), + spec: listener::v1alpha1::ListenerSpec::default(), status: None, }; - let listener_status = ListenerStatus { + let listener_status = listener::v1alpha1::ListenerStatus { service_name: svc.metadata.name, ingress_addresses: Some( addresses .into_iter() - .map(|(address, address_type)| ListenerIngress { - address: address.to_string(), - address_type, - ports: ports.clone(), - }) + .map( + |(address, address_type)| listener::v1alpha1::ListenerIngress { + address: address.to_string(), + address_type, + ports: ports.clone(), + }, + ) .collect(), ), - node_ports: (listener_class.spec.service_type == ServiceType::NodePort).then_some(ports), + node_ports: (listener_class.spec.service_type == listener::v1alpha1::ServiceType::NodePort) + .then_some(ports), }; cluster_resources @@ -509,12 +516,12 @@ pub fn error_policy(_obj: Arc, error: &Error, _ctx: Arc) -> controlle } } -/// Lists the names of the [`Node`]s backing this [`Listener`]. +/// Lists the names of the [`Node`]s backing this [`listener::v1alpha1::Listener`]. /// -/// Should only be used for [`NodePort`](`ServiceType::NodePort`) [`Listener`]s. +/// Should only be used for [`NodePort`](`listener::v1alpha1::ServiceType::NodePort`) [`listener::v1alpha1::Listener`]s. async fn node_names_for_nodeport_listener( client: &stackable_operator::client::Client, - listener: &Listener, + listener: &listener::v1alpha1::Listener, namespace: &str, service_name: &str, ) -> Result> { @@ -594,7 +601,7 @@ pub enum ListenerMountedPodLabelError { /// /// Listener-Op's CSI Node driver is responsible for adding this to the relevant [`Pod`]s. pub fn listener_mounted_pod_label( - listener: &Listener, + listener: &listener::v1alpha1::Listener, ) -> Result<(String, String), ListenerMountedPodLabelError> { use listener_mounted_pod_label_error::*; let uid = listener.metadata.uid.as_deref().context(NoUidSnafu)?; @@ -623,9 +630,9 @@ pub enum ListenerPersistentVolumeLabelError { const PV_LABEL_LISTENER_NAMESPACE: &str = "listeners.stackable.tech/listener-namespace"; const PV_LABEL_LISTENER_NAME: &str = "listeners.stackable.tech/listener-name"; -/// A label that identifies which [`Listener`] corresponds to a given [`PersistentVolume`]. +/// A label that identifies which [`listener::v1alpha1::Listener`] corresponds to a given [`PersistentVolume`]. pub fn listener_persistent_volume_label( - listener: &Listener, + listener: &listener::v1alpha1::Listener, ) -> Result, ListenerPersistentVolumeLabelError> { use listener_persistent_volume_label_error::*; Ok([ diff --git a/rust/operator-binary/src/main.rs b/rust/operator-binary/src/main.rs index e7cc7f5..42be31a 100644 --- a/rust/operator-binary/src/main.rs +++ b/rust/operator-binary/src/main.rs @@ -10,8 +10,9 @@ use csi_server::{ }; use futures::{FutureExt, TryStreamExt, pin_mut}; use stackable_operator::{ - self, CustomResourceExt, - commons::listener::{Listener, ListenerClass, PodListeners}, + self, YamlSchema, + crd::listener::{Listener, ListenerClass, PodListeners}, + shared::yaml::SerializeOptions, telemetry::{Tracing, tracing::TelemetryOptions}, utils::cluster_info::KubernetesClusterInfoOpts, }; @@ -70,9 +71,12 @@ async fn main() -> anyhow::Result<()> { let opts = Opts::parse(); match opts.cmd { stackable_operator::cli::Command::Crd => { - ListenerClass::print_yaml_schema(built_info::PKG_VERSION)?; - Listener::print_yaml_schema(built_info::PKG_VERSION)?; - PodListeners::print_yaml_schema(built_info::PKG_VERSION)?; + ListenerClass::merged_crd(ListenerClass::V1Alpha1)? + .print_yaml_schema(built_info::PKG_VERSION, SerializeOptions::default())?; + Listener::merged_crd(Listener::V1Alpha1)? + .print_yaml_schema(built_info::PKG_VERSION, SerializeOptions::default())?; + PodListeners::merged_crd(PodListeners::V1Alpha1)? + .print_yaml_schema(built_info::PKG_VERSION, SerializeOptions::default())?; } stackable_operator::cli::Command::Run(ListenerOperatorRun { csi_endpoint, diff --git a/rust/operator-binary/src/utils/address.rs b/rust/operator-binary/src/utils/address.rs index f044680..e0fb81b 100644 --- a/rust/operator-binary/src/utils/address.rs +++ b/rust/operator-binary/src/utils/address.rs @@ -1,4 +1,4 @@ -use stackable_operator::{commons::listener::AddressType, k8s_openapi::api::core::v1::Node}; +use stackable_operator::{crd::listener, k8s_openapi::api::core::v1::Node}; /// The primary addresses of an entity, for each type of address. #[derive(Debug, Clone, Copy)] @@ -8,13 +8,18 @@ pub struct AddressCandidates<'a> { } impl<'a> AddressCandidates<'a> { - /// Tries to pick the preferred [`AddressType`], falling back if it is not available. - pub fn pick(&self, preferred_address_type: AddressType) -> Option<(&'a str, AddressType)> { - let ip = self.ip.zip(Some(AddressType::Ip)); - let hostname = self.hostname.zip(Some(AddressType::Hostname)); + /// Tries to pick the preferred [`listener::v1alpha1::AddressType`], falling back if it is not available. + pub fn pick( + &self, + preferred_address_type: listener::v1alpha1::AddressType, + ) -> Option<(&'a str, listener::v1alpha1::AddressType)> { + let ip = self.ip.zip(Some(listener::v1alpha1::AddressType::Ip)); + let hostname = self + .hostname + .zip(Some(listener::v1alpha1::AddressType::Hostname)); match preferred_address_type { - AddressType::Ip => ip.or(hostname), - AddressType::Hostname => hostname.or(ip), + listener::v1alpha1::AddressType::Ip => ip.or(hostname), + listener::v1alpha1::AddressType::Hostname => hostname.or(ip), } } } @@ -43,7 +48,7 @@ pub fn node_primary_addresses(node: &Node) -> AddressCandidates { #[cfg(test)] mod tests { use stackable_operator::{ - commons::listener::AddressType, + crd::listener, k8s_openapi::api::core::v1::{Node, NodeAddress, NodeStatus}, }; @@ -54,12 +59,12 @@ mod tests { let node = node_from_addresses(vec![("InternalIP", "10.1.2.3"), ("ExternalIP", "1.2.3.4")]); let node_primary_address = node_primary_addresses(&node); assert_eq!( - node_primary_address.pick(AddressType::Ip), - Some(("1.2.3.4", AddressType::Ip)) + node_primary_address.pick(listener::v1alpha1::AddressType::Ip), + Some(("1.2.3.4", listener::v1alpha1::AddressType::Ip)) ); assert_eq!( - node_primary_address.pick(AddressType::Hostname), - Some(("1.2.3.4", AddressType::Ip)) + node_primary_address.pick(listener::v1alpha1::AddressType::Hostname), + Some(("1.2.3.4", listener::v1alpha1::AddressType::Ip)) ); } @@ -71,12 +76,12 @@ mod tests { ]); let node_primary_address = node_primary_addresses(&node); assert_eq!( - node_primary_address.pick(AddressType::Ip), - Some(("first-hostname", AddressType::Hostname)) + node_primary_address.pick(listener::v1alpha1::AddressType::Ip), + Some(("first-hostname", listener::v1alpha1::AddressType::Hostname)) ); assert_eq!( - node_primary_address.pick(AddressType::Hostname), - Some(("first-hostname", AddressType::Hostname)) + node_primary_address.pick(listener::v1alpha1::AddressType::Hostname), + Some(("first-hostname", listener::v1alpha1::AddressType::Hostname)) ); } @@ -89,12 +94,12 @@ mod tests { ]); let node_primary_address = node_primary_addresses(&node); assert_eq!( - node_primary_address.pick(AddressType::Ip), - Some(("1.2.3.4", AddressType::Ip)) + node_primary_address.pick(listener::v1alpha1::AddressType::Ip), + Some(("1.2.3.4", listener::v1alpha1::AddressType::Ip)) ); assert_eq!( - node_primary_address.pick(AddressType::Hostname), - Some(("node-0", AddressType::Hostname)) + node_primary_address.pick(listener::v1alpha1::AddressType::Hostname), + Some(("node-0", listener::v1alpha1::AddressType::Hostname)) ); }