From d0049b2a054bbb2162df822e9927b02c4b162337 Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Mon, 25 Aug 2025 14:11:43 +0200 Subject: [PATCH 1/4] fix: Return correct exit code in krb5-provision-keytab --- Cargo.lock | 98 +++++++++---------- Cargo.nix | 128 +++++++++++++------------ Cargo.toml | 2 +- crate-hashes.json | 14 +-- rust/krb5-provision-keytab/src/lib.rs | 5 +- rust/krb5-provision-keytab/src/main.rs | 7 +- rust/operator-binary/src/main.rs | 13 ++- 7 files changed, 141 insertions(+), 126 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ae0d6fdc..c579473e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -296,9 +296,9 @@ checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" [[package]] name = "bitflags" -version = "2.9.2" +version = "2.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a65b545ab31d687cff52899d4890855fec459eb6afe0da6417b8a18da87aa29" +checksum = "34efbcccd345379ca2868b2b2c9d3782e9cc58ba87bc7d79d5b53d9c9ae6f25d" [[package]] name = "block-buffer" @@ -357,9 +357,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.33" +version = "1.2.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ee0f8803222ba5a7e2777dd72ca451868909b1ac410621b676adf07280e9b5f" +checksum = "42bc4aea80032b7bf409b0bc7ccad88853858911b7713a8062fdc0623867bedc" dependencies = [ "jobserver", "libc", @@ -593,12 +593,12 @@ dependencies = [ [[package]] name = "darling" -version = "0.21.2" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08440b3dd222c3d0433e63e097463969485f112baff337dfdaca043a0d760570" +checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" dependencies = [ - "darling_core 0.21.2", - "darling_macro 0.21.2", + "darling_core 0.21.3", + "darling_macro 0.21.3", ] [[package]] @@ -617,9 +617,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.21.2" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d25b7912bc28a04ab1b7715a68ea03aaa15662b43a1a4b2c480531fd19f8bf7e" +checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" dependencies = [ "fnv", "ident_case", @@ -642,11 +642,11 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.21.2" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce154b9bea7fb0c8e8326e62d00354000c36e79770ff21b8c84e3aa267d9d531" +checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" dependencies = [ - "darling_core 0.21.2", + "darling_core 0.21.3", "quote", "syn 2.0.106", ] @@ -848,8 +848,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "531e46835a22af56d1e3b66f04844bed63158bc094a628bec1d321d9b4c44bf2" dependencies = [ "bit-set", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", + "regex-automata 0.4.10", + "regex-syntax 0.8.6", ] [[package]] @@ -903,9 +903,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" dependencies = [ "percent-encoding", ] @@ -1433,9 +1433,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "idna" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" dependencies = [ "idna_adapter", "smallvec", @@ -1454,9 +1454,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.10.0" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" +checksum = "f2481980430f9f78649238835720ddccc57e52df14ffce1c6f37391d61b563e9" dependencies = [ "equivalent", "hashbrown", @@ -1480,9 +1480,9 @@ dependencies = [ [[package]] name = "io-uring" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4" +checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" dependencies = [ "bitflags", "cfg-if", @@ -1548,9 +1548,9 @@ dependencies = [ [[package]] name = "jobserver" -version = "0.1.33" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f262f097c174adebe41eb73d66ae9c06b2844fb0da69969647bbddd9b0538a" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ "getrandom 0.3.3", "libc", @@ -1617,9 +1617,9 @@ dependencies = [ [[package]] name = "k8s-version" version = "0.1.3" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.95.0#20659fe864c643fe48c7ff70ed417f0ed05ccf45" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#89f484ca4e86b565e083e9ad7573e21dbe29a3af" dependencies = [ - "darling 0.21.2", + "darling 0.21.3", "regex", "snafu 0.8.7", ] @@ -2238,9 +2238,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" [[package]] name = "pest" @@ -2554,14 +2554,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.1" +version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" +checksum = "23d7fd106d8c02486a8d64e778353d1cffe08ce79ac2e82f540c86d0facf6912" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", + "regex-automata 0.4.10", + "regex-syntax 0.8.6", ] [[package]] @@ -2575,13 +2575,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" +checksum = "6b9458fa0bfeeac22b5ca447c63aaf45f28439a709ccd244698632f9aa6394d6" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.5", + "regex-syntax 0.8.6", ] [[package]] @@ -2592,9 +2592,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" +checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" [[package]] name = "reqwest" @@ -3087,8 +3087,8 @@ dependencies = [ [[package]] name = "stackable-operator" -version = "0.95.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.95.0#20659fe864c643fe48c7ff70ed417f0ed05ccf45" +version = "0.96.0" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#89f484ca4e86b565e083e9ad7573e21dbe29a3af" dependencies = [ "chrono", "clap", @@ -3126,9 +3126,9 @@ dependencies = [ [[package]] name = "stackable-operator-derive" version = "0.3.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.95.0#20659fe864c643fe48c7ff70ed417f0ed05ccf45" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#89f484ca4e86b565e083e9ad7573e21dbe29a3af" dependencies = [ - "darling 0.21.2", + "darling 0.21.3", "proc-macro2", "quote", "syn 2.0.106", @@ -3203,7 +3203,7 @@ dependencies = [ [[package]] name = "stackable-shared" version = "0.0.2" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.95.0#20659fe864c643fe48c7ff70ed417f0ed05ccf45" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#89f484ca4e86b565e083e9ad7573e21dbe29a3af" dependencies = [ "k8s-openapi", "kube", @@ -3219,7 +3219,7 @@ dependencies = [ [[package]] name = "stackable-telemetry" version = "0.6.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.95.0#20659fe864c643fe48c7ff70ed417f0ed05ccf45" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#89f484ca4e86b565e083e9ad7573e21dbe29a3af" dependencies = [ "axum", "clap", @@ -3243,7 +3243,7 @@ dependencies = [ [[package]] name = "stackable-versioned" version = "0.8.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.95.0#20659fe864c643fe48c7ff70ed417f0ed05ccf45" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#89f484ca4e86b565e083e9ad7573e21dbe29a3af" dependencies = [ "schemars", "serde", @@ -3256,10 +3256,10 @@ dependencies = [ [[package]] name = "stackable-versioned-macros" version = "0.8.1" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.95.0#20659fe864c643fe48c7ff70ed417f0ed05ccf45" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#89f484ca4e86b565e083e9ad7573e21dbe29a3af" dependencies = [ "convert_case", - "darling 0.21.2", + "darling 0.21.3", "indoc", "itertools 0.14.0", "k8s-openapi", @@ -3859,9 +3859,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.4" +version = "2.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" +checksum = "08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b" dependencies = [ "form_urlencoded", "idna", diff --git a/Cargo.nix b/Cargo.nix index 3483c16a..6b343ba7 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -1033,9 +1033,9 @@ rec { }; "bitflags" = rec { crateName = "bitflags"; - version = "2.9.2"; + version = "2.9.3"; edition = "2021"; - sha256 = "0adahzd1i2kv86k0vzkaxdcw9zjm124x9698yp7qgmiimd2varba"; + sha256 = "0pgjwsd9qgdmsmwpvg47p9ccrsc26yfjqawbhsi9qds5sg6brvrl"; authors = [ "The Rust Project Developers" ]; @@ -1189,9 +1189,9 @@ rec { }; "cc" = rec { crateName = "cc"; - version = "1.2.33"; + version = "1.2.34"; edition = "2018"; - sha256 = "0pwv1ql0gpvacwdn44643adr0s0q8p575pbp4xz5mfi26a0giq1y"; + sha256 = "1p5ycww65h7xca03lwdp264qalw8v357rg5h17s7naq3h3m4mg22"; authors = [ "Alex Crichton " ]; @@ -1893,22 +1893,22 @@ rec { }; resolvedDefaultFeatures = [ "default" "suggestions" ]; }; - "darling 0.21.2" = rec { + "darling 0.21.3" = rec { crateName = "darling"; - version = "0.21.2"; + version = "0.21.3"; edition = "2021"; - sha256 = "0w05fq6kl16avbgkgwxg5c8myj397539gq337r1x1hr2s8yhni08"; + sha256 = "1h281ah78pz05450r71h3gwm2n24hy8yngbz58g426l4j1q37pww"; authors = [ "Ted Driggs " ]; dependencies = [ { name = "darling_core"; - packageId = "darling_core 0.21.2"; + packageId = "darling_core 0.21.3"; } { name = "darling_macro"; - packageId = "darling_macro 0.21.2"; + packageId = "darling_macro 0.21.3"; } ]; features = { @@ -1961,11 +1961,11 @@ rec { }; resolvedDefaultFeatures = [ "strsim" "suggestions" ]; }; - "darling_core 0.21.2" = rec { + "darling_core 0.21.3" = rec { crateName = "darling_core"; - version = "0.21.2"; + version = "0.21.3"; edition = "2021"; - sha256 = "0zmzz0czsc8590n4n6isnii5d8da0gm6hnkinyqlm818ph97jnyj"; + sha256 = "193ya45qgac0a4siwghk0bl8im8h89p3cald7kw8ag3yrmg1jiqj"; authors = [ "Ted Driggs " ]; @@ -2029,11 +2029,11 @@ rec { ]; }; - "darling_macro 0.21.2" = rec { + "darling_macro 0.21.3" = rec { crateName = "darling_macro"; - version = "0.21.2"; + version = "0.21.3"; edition = "2021"; - sha256 = "0cfmv5ks4fjfr2w23zvhjzkkc300ah1x0qkf6blcic3zxadln5ff"; + sha256 = "10ac85n4lnx3rmf5rw8lijl2c0sbl6ghcpgfmzh0s26ihbghi0yk"; procMacro = true; authors = [ "Ted Driggs " @@ -2041,7 +2041,7 @@ rec { dependencies = [ { name = "darling_core"; - packageId = "darling_core 0.21.2"; + packageId = "darling_core 0.21.3"; } { name = "quote"; @@ -2625,13 +2625,13 @@ rec { } { name = "regex-automata"; - packageId = "regex-automata 0.4.9"; + packageId = "regex-automata 0.4.10"; usesDefaultFeatures = false; features = [ "alloc" "syntax" "meta" "nfa" "dfa" "hybrid" ]; } { name = "regex-syntax"; - packageId = "regex-syntax 0.8.5"; + packageId = "regex-syntax 0.8.6"; usesDefaultFeatures = false; } ]; @@ -2776,9 +2776,9 @@ rec { }; "form_urlencoded" = rec { crateName = "form_urlencoded"; - version = "1.2.1"; + version = "1.2.2"; edition = "2018"; - sha256 = "0milh8x7nl4f450s3ddhg57a3flcv6yq8hlkyk6fyr3mcb128dp1"; + sha256 = "1kqzb2qn608rxl3dws04zahcklpplkd5r1vpabwga5l50d2v4k6b"; authors = [ "The rust-url developers" ]; @@ -4586,9 +4586,9 @@ rec { }; "idna" = rec { crateName = "idna"; - version = "1.0.3"; + version = "1.1.0"; edition = "2018"; - sha256 = "0zlajvm2k3wy0ay8plr07w22hxkkmrxkffa6ah57ac6nci984vv8"; + sha256 = "1pp4n7hppm480zcx411dsv9wfibai00wbpgnjj4qj0xa7kr7a21v"; authors = [ "The rust-url developers" ]; @@ -4641,9 +4641,9 @@ rec { }; "indexmap" = rec { crateName = "indexmap"; - version = "2.10.0"; + version = "2.11.0"; edition = "2021"; - sha256 = "0qd6g26gxzl6dbf132w48fa8rr95glly3jhbk90i29726d9xhk7y"; + sha256 = "1sb3nmhisf9pdwfcxzqlvx97xifcvlh5g0rqj9j7i7qg8f01jj7j"; dependencies = [ { name = "equivalent"; @@ -4663,6 +4663,7 @@ rec { "quickcheck" = [ "dep:quickcheck" ]; "rayon" = [ "dep:rayon" ]; "serde" = [ "dep:serde" ]; + "sval" = [ "dep:sval" ]; }; resolvedDefaultFeatures = [ "default" "std" ]; }; @@ -4704,9 +4705,9 @@ rec { }; "io-uring" = rec { crateName = "io-uring"; - version = "0.7.9"; + version = "0.7.10"; edition = "2021"; - sha256 = "1i60fxfbxypfgfmq883kwxgldxcjlnnwjazgjiys3893fvrqfdfr"; + sha256 = "0yvjyygwdcqjcgw8zp254hvjbm7as1c075dl50spdshas3aa4vq4"; libName = "io_uring"; authors = [ "quininer " @@ -4873,9 +4874,9 @@ rec { }; "jobserver" = rec { crateName = "jobserver"; - version = "0.1.33"; + version = "0.1.34"; edition = "2021"; - sha256 = "12jkn3cxvfs7jsb6knmh9y2b41lwmrk3vdqywkmssx61jzq65wiq"; + sha256 = "0cwx0fllqzdycqn4d6nb277qx5qwnmjdxdl0lxkkwssx77j3vyws"; authors = [ "Alex Crichton " ]; @@ -5087,8 +5088,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "20659fe864c643fe48c7ff70ed417f0ed05ccf45"; - sha256 = "0db745j2nz5kz5mp8sh8af26gh9wx3cdad7ggl9f9jki1ms534z0"; + rev = "89f484ca4e86b565e083e9ad7573e21dbe29a3af"; + sha256 = "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c"; }; libName = "k8s_version"; authors = [ @@ -5097,7 +5098,7 @@ rec { dependencies = [ { name = "darling"; - packageId = "darling 0.21.2"; + packageId = "darling 0.21.3"; optional = true; } { @@ -7297,9 +7298,9 @@ rec { }; "percent-encoding" = rec { crateName = "percent-encoding"; - version = "2.3.1"; + version = "2.3.2"; edition = "2018"; - sha256 = "0gi8wgx0dcy8rnv1kywdv98lwcx67hz0a0zwpib5v2i08r88y573"; + sha256 = "083jv1ai930azvawz2khv7w73xh8mnylk7i578cifndjn5y64kwv"; libName = "percent_encoding"; authors = [ "The rust-url developers" @@ -8199,9 +8200,9 @@ rec { }; "regex" = rec { crateName = "regex"; - version = "1.11.1"; + version = "1.11.2"; edition = "2021"; - sha256 = "148i41mzbx8bmq32hsj1q4karkzzx5m60qza6gdw4pdc9qdyyi5m"; + sha256 = "04k9rzxd11hcahpyihlswy6f1zqw7lspirv4imm4h0lcdl8gvmr3"; authors = [ "The Rust Project Developers" "Andrew Gallant " @@ -8221,13 +8222,13 @@ rec { } { name = "regex-automata"; - packageId = "regex-automata 0.4.9"; + packageId = "regex-automata 0.4.10"; usesDefaultFeatures = false; features = [ "alloc" "syntax" "meta" "nfa-pikevm" ]; } { name = "regex-syntax"; - packageId = "regex-syntax 0.8.5"; + packageId = "regex-syntax 0.8.6"; usesDefaultFeatures = false; } ]; @@ -8280,11 +8281,11 @@ rec { }; resolvedDefaultFeatures = [ "default" "regex-syntax" "std" ]; }; - "regex-automata 0.4.9" = rec { + "regex-automata 0.4.10" = rec { crateName = "regex-automata"; - version = "0.4.9"; + version = "0.4.10"; edition = "2021"; - sha256 = "02092l8zfh3vkmk47yjc8d631zhhcd49ck2zr133prvd3z38v7l0"; + sha256 = "1mllcfmgjcl6d52d5k09lwwq9wj5mwxccix4bhmw5spy1gx5i53b"; libName = "regex_automata"; authors = [ "The Rust Project Developers" @@ -8305,7 +8306,7 @@ rec { } { name = "regex-syntax"; - packageId = "regex-syntax 0.8.5"; + packageId = "regex-syntax 0.8.6"; optional = true; usesDefaultFeatures = false; } @@ -8326,7 +8327,7 @@ rec { "nfa-thompson" = [ "alloc" ]; "perf" = [ "perf-inline" "perf-literal" ]; "perf-literal" = [ "perf-literal-substring" "perf-literal-multisubstring" ]; - "perf-literal-multisubstring" = [ "std" "dep:aho-corasick" ]; + "perf-literal-multisubstring" = [ "dep:aho-corasick" ]; "perf-literal-substring" = [ "aho-corasick?/perf-literal" "dep:memchr" ]; "std" = [ "regex-syntax?/std" "memchr?/std" "aho-corasick?/std" "alloc" ]; "syntax" = [ "dep:regex-syntax" "alloc" ]; @@ -8356,11 +8357,11 @@ rec { }; resolvedDefaultFeatures = [ "default" "unicode" "unicode-age" "unicode-bool" "unicode-case" "unicode-gencat" "unicode-perl" "unicode-script" "unicode-segment" ]; }; - "regex-syntax 0.8.5" = rec { + "regex-syntax 0.8.6" = rec { crateName = "regex-syntax"; - version = "0.8.5"; + version = "0.8.6"; edition = "2021"; - sha256 = "0p41p3hj9ww7blnbwbj9h7rwxzxg0c1hvrdycgys8rxyhqqw859b"; + sha256 = "00chjpglclfskmc919fj5aq308ffbrmcn7kzbkz92k231xdsmx6a"; libName = "regex_syntax"; authors = [ "The Rust Project Developers" @@ -10032,13 +10033,13 @@ rec { }; "stackable-operator" = rec { crateName = "stackable-operator"; - version = "0.95.0"; + version = "0.96.0"; edition = "2024"; workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "20659fe864c643fe48c7ff70ed417f0ed05ccf45"; - sha256 = "0db745j2nz5kz5mp8sh8af26gh9wx3cdad7ggl9f9jki1ms534z0"; + rev = "89f484ca4e86b565e083e9ad7573e21dbe29a3af"; + sha256 = "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c"; }; libName = "stackable_operator"; authors = [ @@ -10205,8 +10206,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "20659fe864c643fe48c7ff70ed417f0ed05ccf45"; - sha256 = "0db745j2nz5kz5mp8sh8af26gh9wx3cdad7ggl9f9jki1ms534z0"; + rev = "89f484ca4e86b565e083e9ad7573e21dbe29a3af"; + sha256 = "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c"; }; procMacro = true; libName = "stackable_operator_derive"; @@ -10216,7 +10217,7 @@ rec { dependencies = [ { name = "darling"; - packageId = "darling 0.21.2"; + packageId = "darling 0.21.3"; } { name = "proc-macro2"; @@ -10507,8 +10508,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "20659fe864c643fe48c7ff70ed417f0ed05ccf45"; - sha256 = "0db745j2nz5kz5mp8sh8af26gh9wx3cdad7ggl9f9jki1ms534z0"; + rev = "89f484ca4e86b565e083e9ad7573e21dbe29a3af"; + sha256 = "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c"; }; libName = "stackable_shared"; authors = [ @@ -10582,8 +10583,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "20659fe864c643fe48c7ff70ed417f0ed05ccf45"; - sha256 = "0db745j2nz5kz5mp8sh8af26gh9wx3cdad7ggl9f9jki1ms534z0"; + rev = "89f484ca4e86b565e083e9ad7573e21dbe29a3af"; + sha256 = "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c"; }; libName = "stackable_telemetry"; authors = [ @@ -10692,8 +10693,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "20659fe864c643fe48c7ff70ed417f0ed05ccf45"; - sha256 = "0db745j2nz5kz5mp8sh8af26gh9wx3cdad7ggl9f9jki1ms534z0"; + rev = "89f484ca4e86b565e083e9ad7573e21dbe29a3af"; + sha256 = "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c"; }; libName = "stackable_versioned"; authors = [ @@ -10736,8 +10737,8 @@ rec { workspace_member = null; src = pkgs.fetchgit { url = "https://github.com/stackabletech/operator-rs.git"; - rev = "20659fe864c643fe48c7ff70ed417f0ed05ccf45"; - sha256 = "0db745j2nz5kz5mp8sh8af26gh9wx3cdad7ggl9f9jki1ms534z0"; + rev = "89f484ca4e86b565e083e9ad7573e21dbe29a3af"; + sha256 = "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c"; }; procMacro = true; libName = "stackable_versioned_macros"; @@ -10751,7 +10752,7 @@ rec { } { name = "darling"; - packageId = "darling 0.21.2"; + packageId = "darling 0.21.3"; } { name = "indoc"; @@ -12913,9 +12914,9 @@ rec { }; "url" = rec { crateName = "url"; - version = "2.5.4"; + version = "2.5.7"; edition = "2018"; - sha256 = "0q6sgznyy2n4l5lm16zahkisvc9nip9aa5q1pps7656xra3bdy1j"; + sha256 = "0nzghdv0kcksyvri0npxbjzyx2ihprks5k590y77bld355m17g08"; authors = [ "The rust-url developers" ]; @@ -12942,6 +12943,7 @@ rec { name = "serde"; packageId = "serde"; optional = true; + usesDefaultFeatures = false; features = [ "derive" ]; } ]; @@ -12955,7 +12957,7 @@ rec { features = { "default" = [ "std" ]; "serde" = [ "dep:serde" ]; - "std" = [ "idna/std" "percent-encoding/std" "form_urlencoded/std" ]; + "std" = [ "idna/std" "percent-encoding/std" "form_urlencoded/std" "serde/std" ]; }; resolvedDefaultFeatures = [ "default" "serde" "std" ]; }; diff --git a/Cargo.toml b/Cargo.toml index 4bc8ff6f..cb667807 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,7 @@ edition = "2021" repository = "https://github.com/stackabletech/secret-operator" [workspace.dependencies] -stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", features = ["time", "telemetry"], tag = "stackable-operator-0.95.0" } +stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", features = ["time", "telemetry"], tag = "stackable-operator-0.96.0" } krb5 = { git = "https://github.com/stackabletech/krb5-rs.git", tag = "v0.1.0" } anyhow = "1.0" diff --git a/crate-hashes.json b/crate-hashes.json index b6cd8c14..30a54dc0 100644 --- a/crate-hashes.json +++ b/crate-hashes.json @@ -1,12 +1,12 @@ { "git+https://github.com/stackabletech/krb5-rs.git?tag=v0.1.0#krb5-sys@0.1.0": "148zr0q04163hpirkrff5q7cbxqgwzzxh0091zr4g23x7l64jh39", "git+https://github.com/stackabletech/krb5-rs.git?tag=v0.1.0#krb5@0.1.0": "148zr0q04163hpirkrff5q7cbxqgwzzxh0091zr4g23x7l64jh39", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.95.0#k8s-version@0.1.3": "0db745j2nz5kz5mp8sh8af26gh9wx3cdad7ggl9f9jki1ms534z0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.95.0#stackable-operator-derive@0.3.1": "0db745j2nz5kz5mp8sh8af26gh9wx3cdad7ggl9f9jki1ms534z0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.95.0#stackable-operator@0.95.0": "0db745j2nz5kz5mp8sh8af26gh9wx3cdad7ggl9f9jki1ms534z0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.95.0#stackable-shared@0.0.2": "0db745j2nz5kz5mp8sh8af26gh9wx3cdad7ggl9f9jki1ms534z0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.95.0#stackable-telemetry@0.6.1": "0db745j2nz5kz5mp8sh8af26gh9wx3cdad7ggl9f9jki1ms534z0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.95.0#stackable-versioned-macros@0.8.1": "0db745j2nz5kz5mp8sh8af26gh9wx3cdad7ggl9f9jki1ms534z0", - "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.95.0#stackable-versioned@0.8.1": "0db745j2nz5kz5mp8sh8af26gh9wx3cdad7ggl9f9jki1ms534z0", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#k8s-version@0.1.3": "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#stackable-operator-derive@0.3.1": "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#stackable-operator@0.96.0": "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#stackable-shared@0.0.2": "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#stackable-telemetry@0.6.1": "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#stackable-versioned-macros@0.8.1": "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c", + "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.96.0#stackable-versioned@0.8.1": "05xhfz0bd09095ljkaj950r80bchdb202d8nka95cq356y4wha4c", "git+https://github.com/stackabletech/product-config.git?tag=0.7.0#product-config@0.7.0": "0gjsm80g6r75pm3824dcyiz4ysq1ka4c1if6k1mjm9cnd5ym0gny" } \ No newline at end of file diff --git a/rust/krb5-provision-keytab/src/lib.rs b/rust/krb5-provision-keytab/src/lib.rs index c92833d8..774b8307 100644 --- a/rust/krb5-provision-keytab/src/lib.rs +++ b/rust/krb5-provision-keytab/src/lib.rs @@ -128,8 +128,9 @@ pub async fn provision_keytab(krb5_config_path: &Path, req: &Request) -> Result< } else { Err(Error::RunProvisioner { msg: format!( - "Got non zero return code from stackable-krb5-provision-keytab: [{:?}]", - output.status.code() + "Got non zero return code {:?} from stackable-krb5-provision-keytab. STDERR output was: {}", + output.status.code(), + String::from_utf8(output.stderr).unwrap_or_else(|_| "".to_owned()), ), }) } diff --git a/rust/krb5-provision-keytab/src/main.rs b/rust/krb5-provision-keytab/src/main.rs index fa2f93b5..f2ab7547 100644 --- a/rust/krb5-provision-keytab/src/main.rs +++ b/rust/krb5-provision-keytab/src/main.rs @@ -192,5 +192,10 @@ async fn main() { .init(); let res = run().await.map_err(|err| Report::from(err).to_string()); println!("{}", serde_json::to_string_pretty(&res).unwrap()); - std::process::exit(res.is_ok().into()); + + if res.is_ok() { + std::process::exit(0); + } else { + std::process::exit(1); + } } diff --git a/rust/operator-binary/src/main.rs b/rust/operator-binary/src/main.rs index 109bfd1c..2db1adc9 100644 --- a/rust/operator-binary/src/main.rs +++ b/rust/operator-binary/src/main.rs @@ -14,7 +14,11 @@ use futures::{FutureExt, TryStreamExt}; use grpc::csi::v1::{ controller_server::ControllerServer, identity_server::IdentityServer, node_server::NodeServer, }; -use stackable_operator::{CustomResourceExt, cli::ProductOperatorRun, telemetry::Tracing}; +use stackable_operator::{ + CustomResourceExt, + cli::{CommonOptions, ProductOperatorRun}, + telemetry::Tracing, +}; use tokio::signal::unix::{SignalKind, signal}; use tokio_stream::wrappers::UnixListenerStream; use tonic::transport::Server; @@ -73,11 +77,14 @@ async fn main() -> anyhow::Result<()> { privileged, common: ProductOperatorRun { + common: + CommonOptions { + telemetry, + cluster_info, + }, product_config: _, watch_namespace, operator_environment: _, - telemetry, - cluster_info, }, }) => { // NOTE (@NickLarsenNZ): Before stackable-telemetry was used: From 02d356413e584ff7bc45647af34b339ce84f9fb9 Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Mon, 25 Aug 2025 14:18:22 +0200 Subject: [PATCH 2/4] Safe a line or so --- rust/krb5-provision-keytab/src/main.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/rust/krb5-provision-keytab/src/main.rs b/rust/krb5-provision-keytab/src/main.rs index f2ab7547..8781eb7e 100644 --- a/rust/krb5-provision-keytab/src/main.rs +++ b/rust/krb5-provision-keytab/src/main.rs @@ -193,9 +193,5 @@ async fn main() { let res = run().await.map_err(|err| Report::from(err).to_string()); println!("{}", serde_json::to_string_pretty(&res).unwrap()); - if res.is_ok() { - std::process::exit(0); - } else { - std::process::exit(1); - } + std::process::exit(if res.is_ok() { 0 } else { 1 }); } From fd62f4202d5c10c202719218b45f957771da5616 Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Tue, 26 Aug 2025 09:24:42 +0200 Subject: [PATCH 3/4] Update rust/krb5-provision-keytab/src/lib.rs Co-authored-by: Techassi --- rust/krb5-provision-keytab/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/krb5-provision-keytab/src/lib.rs b/rust/krb5-provision-keytab/src/lib.rs index 774b8307..2bb1f5a8 100644 --- a/rust/krb5-provision-keytab/src/lib.rs +++ b/rust/krb5-provision-keytab/src/lib.rs @@ -128,7 +128,7 @@ pub async fn provision_keytab(krb5_config_path: &Path, req: &Request) -> Result< } else { Err(Error::RunProvisioner { msg: format!( - "Got non zero return code {:?} from stackable-krb5-provision-keytab. STDERR output was: {}", + "Got non zero return code {:?} from stackable-krb5-provision-keytab: {:?}", output.status.code(), String::from_utf8(output.stderr).unwrap_or_else(|_| "".to_owned()), ), From 707d3539e195802d8d7579aa2ddae35288c8a6af Mon Sep 17 00:00:00 2001 From: Sebastian Bernauer Date: Tue, 26 Aug 2025 11:35:01 +0200 Subject: [PATCH 4/4] Use is_err() --- rust/krb5-provision-keytab/src/main.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rust/krb5-provision-keytab/src/main.rs b/rust/krb5-provision-keytab/src/main.rs index 8781eb7e..c76fdc27 100644 --- a/rust/krb5-provision-keytab/src/main.rs +++ b/rust/krb5-provision-keytab/src/main.rs @@ -193,5 +193,6 @@ async fn main() { let res = run().await.map_err(|err| Report::from(err).to_string()); println!("{}", serde_json::to_string_pretty(&res).unwrap()); - std::process::exit(if res.is_ok() { 0 } else { 1 }); + // Exit code 0 for Ok, 1 for Err + std::process::exit(res.is_err().into()) }