diff --git a/CHANGELOG.md b/CHANGELOG.md index 93ad9712..3b9397a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +### Changed + +- Update Rust dependency versions, most notably operator-rs 0.67.1 ([#401]) + +[#401]: https://github.com/stackabletech/spark-k8s-operator/pull/401 + ## [24.3.0] - 2024-03-20 ### Added diff --git a/Cargo.lock b/Cargo.lock index edcb9878..e32bd777 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "ahash" -version = "0.8.9" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d713b3834d76b85304d4d525563c1276e2e30dc97cc67bfb4585a4a29fc2c89f" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", "getrandom", @@ -32,18 +32,18 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" dependencies = [ "memchr", ] [[package]] name = "allocator-api2" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "android-tzdata" @@ -62,47 +62,48 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.12" +version = "0.6.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96b09b5178381e0874812a9b157f7fe84982617e48f71f4e3235482775e5b540" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" [[package]] name = "anstyle-parse" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -110,26 +111,60 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.80" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" + +[[package]] +name = "async-broadcast" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" +checksum = "258b52a1aa741b9f09783b2d86cf0aeeb617bbf847f6933340a39644227acbdb" +dependencies = [ + "event-listener", + "event-listener-strategy", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.61", +] [[package]] name = "async-trait" -version = "0.1.77" +version = "0.1.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.61", ] [[package]] name = "autocfg" -version = "1.1.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "backoff" @@ -144,9 +179,9 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.69" +version = "0.3.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" dependencies = [ "addr2line", "cc", @@ -163,6 +198,12 @@ version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + [[package]] name = "bit-set" version = "0.5.3" @@ -186,9 +227,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.2" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" [[package]] name = "block-buffer" @@ -212,9 +253,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.15.1" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c764d619ca78fccbf3069b37bd7af92577f044bb15236036662d79b6559f25b7" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "byteorder" @@ -224,9 +265,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" [[package]] name = "cargo-lock" @@ -242,11 +283,13 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.86" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9fa1897e4325be0d68d48df6aa1a71ac2ed4d27723887e7754192705350730" +checksum = "099a5357d84c4c61eb35fc8eafa9a79a902c2f76911e5747ced4e032edd8d9b4" dependencies = [ + "jobserver", "libc", + "once_cell", ] [[package]] @@ -257,22 +300,22 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.34" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", "num-traits", "serde", - "windows-targets 0.52.0", + "windows-targets 0.52.5", ] [[package]] name = "clap" -version = "4.5.1" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da" +checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" dependencies = [ "clap_builder", "clap_derive", @@ -280,26 +323,26 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.1" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim 0.11.0", + "strsim 0.11.1", ] [[package]] name = "clap_derive" -version = "4.5.0" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47" +checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.61", ] [[package]] @@ -310,9 +353,18 @@ checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" + +[[package]] +name = "concurrent-queue" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" +dependencies = [ + "crossbeam-utils", +] [[package]] name = "const_format" @@ -361,9 +413,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.11" +version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b" +checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" dependencies = [ "crossbeam-utils", ] @@ -386,9 +438,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.6" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c376d08ea6aa96aafe61237c7200d1241cb177b7d3a542d791f2d118e9cbb955" +checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" dependencies = [ "darling_core", "darling_macro", @@ -396,27 +448,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.6" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33043dcd19068b8192064c704b3f83eb464f91f1ff527b44a4e2b08d9cdb8855" +checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.50", + "syn 2.0.61", ] [[package]] name = "darling_macro" -version = "0.20.6" +version = "0.20.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a91391accf613803c2a9bf9abccdbaa07c54b4244a5b64883f9c3c137c86be" +checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" dependencies = [ "darling_core", "quote", - "syn 2.0.50", + "syn 2.0.61", ] [[package]] @@ -427,7 +479,7 @@ checksum = "4e018fccbeeb50ff26562ece792ed06659b9c2dae79ece77c4456bb10d9bf79b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.61", ] [[package]] @@ -473,21 +525,21 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.16" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "545b22097d44f8a9581187cdf93de7a71e4722bf51200cfaba810865b49a495d" +checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" [[package]] name = "either" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" +checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" [[package]] name = "encoding_rs" -version = "0.8.33" +version = "0.8.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" dependencies = [ "cfg-if", ] @@ -507,6 +559,27 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" +[[package]] +name = "event-listener" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" +dependencies = [ + "event-listener", + "pin-project-lite", +] + [[package]] name = "fancy-regex" version = "0.11.0" @@ -594,7 +667,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.61", ] [[package]] @@ -611,9 +684,9 @@ checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-timer" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" @@ -646,9 +719,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.12" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -682,9 +755,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", "allocator-api2", @@ -696,11 +769,17 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + [[package]] name = "hermit-abi" -version = "0.3.6" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" [[package]] name = "home" @@ -713,9 +792,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.11" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" dependencies = [ "bytes", "fnv", @@ -724,20 +803,26 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.6" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" dependencies = [ "bytes", "http", - "pin-project-lite", ] [[package]] -name = "http-range-header" -version = "0.3.1" +name = "http-body-util" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" +checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] [[package]] name = "httparse" @@ -745,61 +830,75 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - [[package]] name = "hyper" -version = "0.14.28" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" dependencies = [ "bytes", "futures-channel", - "futures-core", "futures-util", "http", "http-body", "httparse", - "httpdate", "itoa", "pin-project-lite", - "socket2", + "smallvec", "tokio", - "tower-service", - "tracing", "want", ] [[package]] name = "hyper-rustls" -version = "0.24.2" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +checksum = "908bb38696d7a037a01ebcc68a00634112ac2bbf8ca74e30a2c3d2f4f021302b" dependencies = [ "futures-util", "http", "hyper", + "hyper-util", "log", "rustls", "rustls-native-certs", + "rustls-pki-types", "tokio", "tokio-rustls", + "tower-service", ] [[package]] name = "hyper-timeout" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +checksum = "3203a961e5c83b6f5498933e78b6b263e208c197b63e9c6c53cc82ffd3f63793" dependencies = [ + "hyper", + "hyper-util", + "pin-project-lite", + "tokio", + "tower-service", +] + +[[package]] +name = "hyper-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", "hyper", "pin-project-lite", + "socket2", "tokio", - "tokio-io-timeout", + "tower", + "tower-service", + "tracing", ] [[package]] @@ -843,9 +942,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.3" +version = "2.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", "hashbrown", @@ -853,9 +952,9 @@ dependencies = [ [[package]] name = "indoc" -version = "2.0.4" +version = "2.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" +checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" [[package]] name = "instant" @@ -872,11 +971,17 @@ version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8bb03732005da905c88227371639bf1ad885cc712789c011c31c5fb3ab3ccf02" +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "java-properties" @@ -889,33 +994,43 @@ dependencies = [ "regex", ] +[[package]] +name = "jobserver" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +dependencies = [ + "libc", +] + [[package]] name = "js-sys" -version = "0.3.68" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] [[package]] name = "json-patch" -version = "1.2.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55ff1e1486799e3f64129f8ccad108b38290df9cd7015cd31bed17239f0789d6" +checksum = "ec9ad60d674508f3ca8f380a928cfe7b096bc729c4e2dbfe3852bc45da3ab30b" dependencies = [ "serde", "serde_json", "thiserror", - "treediff", ] [[package]] name = "jsonpath-rust" -version = "0.3.5" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06cc127b7c3d270be504572364f9569761a180b981919dd0d87693a7f5fb7829" +checksum = "19d8fe85bd70ff715f31ce8c739194b423d79811a19602115d611a3ec85d6200" dependencies = [ + "lazy_static", + "once_cell", "pest", "pest_derive", "regex", @@ -925,12 +1040,11 @@ dependencies = [ [[package]] name = "k8s-openapi" -version = "0.20.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc3606fd16aca7989db2f84bb25684d0270c6d6fa1dbcd0025af7b4130523a6" +checksum = "19501afb943ae5806548bc3ebd7f3374153ca057a38f480ef30adfde5ef09755" dependencies = [ - "base64", - "bytes", + "base64 0.22.1", "chrono", "schemars", "serde", @@ -940,9 +1054,9 @@ dependencies = [ [[package]] name = "kube" -version = "0.87.2" +version = "0.91.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3499c8d60c763246c7a213f51caac1e9033f46026904cb89bc8951ae8601f26e" +checksum = "264461a7ebf4fb0fcf23e4c7e4f9387c5696ee61d003de207d9b5a895ff37bfa" dependencies = [ "k8s-openapi", "kube-client", @@ -953,11 +1067,11 @@ dependencies = [ [[package]] name = "kube-client" -version = "0.87.2" +version = "0.91.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "033450dfa0762130565890dadf2f8835faedf749376ca13345bcd8ecd6b5f29f" +checksum = "47164ad6c47398ee4bdf90509c7b44026229721cb1377eb4623a1ec2a00a85e9" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "chrono", "either", @@ -965,14 +1079,15 @@ dependencies = [ "home", "http", "http-body", + "http-body-util", "hyper", "hyper-rustls", "hyper-timeout", + "hyper-util", "jsonpath-rust", "k8s-openapi", "kube-core", "pem", - "pin-project", "rustls", "rustls-pemfile", "secrecy", @@ -989,16 +1104,15 @@ dependencies = [ [[package]] name = "kube-core" -version = "0.87.2" +version = "0.91.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5bba93d054786eba7994d03ce522f368ef7d48c88a1826faa28478d85fb63ae" +checksum = "2797d3044a238825432129cd9537e12c2a6dacbbb5352381af5ea55e1505ed4f" dependencies = [ "chrono", "form_urlencoded", "http", "json-patch", "k8s-openapi", - "once_cell", "schemars", "serde", "serde_json", @@ -1007,24 +1121,26 @@ dependencies = [ [[package]] name = "kube-derive" -version = "0.87.2" +version = "0.91.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e98dd5e5767c7b894c1f0e41fd628b145f808e981feb8b08ed66455d47f1a4" +checksum = "fcf837edaa0c478f85e9a3cddb17fa80d58a57c1afa722b3a9e55753ea162f41" dependencies = [ "darling", "proc-macro2", "quote", "serde_json", - "syn 2.0.50", + "syn 2.0.61", ] [[package]] name = "kube-runtime" -version = "0.87.2" +version = "0.91.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d8893eb18fbf6bb6c80ef6ee7dd11ec32b1dc3c034c988ac1b3a84d46a230ae" +checksum = "e463e89a1fb222c65a5469b568803153d1bf13d084a8dd42b659e6cca66edc6e" dependencies = [ "ahash", + "async-broadcast", + "async-stream", "async-trait", "backoff", "derivative", @@ -1052,9 +1168,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.153" +version = "0.2.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" [[package]] name = "libgit2-sys" @@ -1070,9 +1186,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.15" +version = "1.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6" +checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9" dependencies = [ "cc", "libc", @@ -1082,9 +1198,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -1092,9 +1208,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.20" +version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" [[package]] name = "matchers" @@ -1107,9 +1223,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.1" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" [[package]] name = "mime" @@ -1128,9 +1244,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.10" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "wasi", @@ -1149,9 +1265,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] @@ -1189,13 +1305,12 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "opentelemetry" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e32339a5dc40459130b3bd269e9892439f55b33e772d2a9d402a789baaf4e8a" +checksum = "900d57987be3f2aeb70d385fff9b27fb74c5723cc9a52d904d4f9c807a0667bf" dependencies = [ "futures-core", "futures-sink", - "indexmap", "js-sys", "once_cell", "pin-project-lite", @@ -1205,9 +1320,9 @@ dependencies = [ [[package]] name = "opentelemetry-jaeger" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e617c66fd588e40e0dbbd66932fdc87393095b125d4459b1a3a10feb1712f8a1" +checksum = "fb7f5ef13427696ae8382c6f3bb7dcdadb5994223d6b983c7c50a46df7d19277" dependencies = [ "async-trait", "futures-core", @@ -1221,18 +1336,15 @@ dependencies = [ [[package]] name = "opentelemetry-semantic-conventions" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5774f1ef1f982ef2a447f6ee04ec383981a3ab99c8e77a1a7b30182e65bbc84" -dependencies = [ - "opentelemetry", -] +checksum = "f9ab5bd6c42fb9349dcf28af2ba9a0667f697f9bdcca045d39f2cec5543e2910" [[package]] name = "opentelemetry_sdk" -version = "0.21.2" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f16aec8a98a457a52664d69e0091bac3a0abd18ead9b641cb00202ba4e0efe4" +checksum = "9e90c7113be649e31e9a0f8b5ee24ed7a16923b322c3c5ab6367469c049d6b7e" dependencies = [ "async-trait", "crossbeam-channel", @@ -1274,11 +1386,17 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" +[[package]] +name = "parking" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" + [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" dependencies = [ "lock_api", "parking_lot_core", @@ -1286,24 +1404,24 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] name = "pem" -version = "3.0.3" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b8fcc794035347fb64beda2d3b462595dd2753e3f268d89c5aae77e8cf2c310" +checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" dependencies = [ - "base64", + "base64 0.22.1", "serde", ] @@ -1315,9 +1433,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.7" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219c0dcc30b6a27553f9cc242972b67f75b60eb0db71f0b5462f38b058c41546" +checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" dependencies = [ "memchr", "thiserror", @@ -1326,9 +1444,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.7" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e1288dbd7786462961e69bfd4df7848c1e37e8b74303dbdab82c3a9cdd2809" +checksum = "26293c9193fbca7b1a3bf9b79dc1e388e927e6cacaa78b4a3ab705a1d3d41459" dependencies = [ "pest", "pest_generator", @@ -1336,22 +1454,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.7" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1381c29a877c6d34b8c176e734f35d7f7f5b3adaefe940cb4d1bb7af94678e2e" +checksum = "3ec22af7d3fb470a85dd2ca96b7c577a1eb4ef6f1683a9fe9a8c16e136c04687" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.61", ] [[package]] name = "pest_meta" -version = "2.7.7" +version = "2.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0934d6907f148c22a3acbda520c7eed243ad7487a30f51f6ce52b58b7077a8a" +checksum = "d7a240022f37c361ec1878d646fc5b7d7c4d28d5946e1a80ad5a7a4f4ca0bdcd" dependencies = [ "once_cell", "pest", @@ -1360,29 +1478,29 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0" +checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" +checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.61", ] [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -1404,9 +1522,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b" dependencies = [ "unicode-ident", ] @@ -1429,9 +1547,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -1468,23 +1586,23 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", ] [[package]] name = "regex" -version = "1.10.3" +version = "1.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.5", - "regex-syntax 0.8.2", + "regex-automata 0.4.6", + "regex-syntax 0.8.3", ] [[package]] @@ -1498,13 +1616,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.2", + "regex-syntax 0.8.3", ] [[package]] @@ -1515,15 +1633,15 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" [[package]] name = "relative-path" -version = "1.9.2" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e898588f33fdd5b9420719948f9f2a32c922a246964576f71ba7f24f80610fbc" +checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" [[package]] name = "ring" @@ -1542,9 +1660,9 @@ dependencies = [ [[package]] name = "rstest" -version = "0.18.2" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199" +checksum = "9d5316d2a1479eeef1ea21e7f9ddc67c191d497abc8fc3ba2467857abbb68330" dependencies = [ "futures 0.3.30", "futures-timer", @@ -1554,9 +1672,9 @@ dependencies = [ [[package]] name = "rstest_macros" -version = "0.18.2" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605" +checksum = "04a9df72cc1f67020b0d63ad9bfe4a323e459ea7eb68e03bd9824db49f9a4c25" dependencies = [ "cfg-if", "glob", @@ -1565,15 +1683,15 @@ dependencies = [ "regex", "relative-path", "rustc_version", - "syn 2.0.50", + "syn 2.0.61", "unicode-ident", ] [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc_version" @@ -1586,58 +1704,70 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.10" +version = "0.23.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" +checksum = "afabcee0551bd1aa3e18e5adbf2c0544722014b899adb31bd186ec638d3da97e" dependencies = [ "log", + "once_cell", "ring", + "rustls-pki-types", "rustls-webpki", - "sct", + "subtle", + "zeroize", ] [[package]] name = "rustls-native-certs" -version = "0.6.3" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" +checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792" dependencies = [ "openssl-probe", "rustls-pemfile", + "rustls-pki-types", "schannel", "security-framework", ] [[package]] name = "rustls-pemfile" -version = "1.0.4" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" dependencies = [ - "base64", + "base64 0.22.1", + "rustls-pki-types", ] +[[package]] +name = "rustls-pki-types" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" + [[package]] name = "rustls-webpki" -version = "0.101.7" +version = "0.102.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf" dependencies = [ "ring", + "rustls-pki-types", "untrusted", ] [[package]] name = "rustversion" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +checksum = "092474d1a01ea8278f69e6a358998405fae5b8b963ddaeb2b0b04a128bf1dfb0" [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "schannel" @@ -1650,26 +1780,27 @@ dependencies = [ [[package]] name = "schemars" -version = "0.8.16" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29" +checksum = "fc6e7ed6919cb46507fb01ff1654309219f62b4d603822501b0b80d42f6f21ef" dependencies = [ "dyn-clone", "schemars_derive", "serde", "serde_json", + "url", ] [[package]] name = "schemars_derive" -version = "0.8.16" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967" +checksum = "185f2b7aa7e02d418e453790dde16890256bbd2bcd04b7dc5348811052b53f49" dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 1.0.109", + "syn 2.0.61", ] [[package]] @@ -1678,16 +1809,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring", - "untrusted", -] - [[package]] name = "secrecy" version = "0.8.0" @@ -1700,11 +1821,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.9.2" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", "core-foundation", "core-foundation-sys", "libc", @@ -1713,9 +1834,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.1" +version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" dependencies = [ "core-foundation-sys", "libc", @@ -1723,18 +1844,18 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" dependencies = [ "serde", ] [[package]] name = "serde" -version = "1.0.197" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c" dependencies = [ "serde_derive", ] @@ -1751,31 +1872,31 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.197" +version = "1.0.201" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.61", ] [[package]] name = "serde_derive_internals" -version = "0.26.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" +checksum = "330f01ce65a3a5fe59a60c82f3c9a024b573b8a6e875bd233fe5f934e71d54e3" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.61", ] [[package]] name = "serde_json" -version = "1.0.114" +version = "1.0.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" dependencies = [ "itoa", "ryu", @@ -1793,9 +1914,9 @@ dependencies = [ [[package]] name = "serde_yaml" -version = "0.9.32" +version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd075d994154d4a774f95b51fb96bdc2832b0ea48425c92546073816cda1f2f" +checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ "indexmap", "itoa", @@ -1826,9 +1947,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] @@ -1844,9 +1965,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "snafu" @@ -1868,6 +1989,15 @@ dependencies = [ "snafu-derive 0.7.5", ] +[[package]] +name = "snafu" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75976f4748ab44f6e5332102be424e7c2dc18daeaf7e725f2040c3ebb133512e" +dependencies = [ + "snafu-derive 0.8.2", +] + [[package]] name = "snafu-derive" version = "0.6.10" @@ -1885,20 +2015,32 @@ version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "990079665f075b699031e9c08fd3ab99be5029b96f3b78dc0709e8f77e4efebf" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro2", "quote", "syn 1.0.109", ] +[[package]] +name = "snafu-derive" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4b19911debfb8c2fb1107bc6cb2d61868aaf53a988449213959bb1b5b1ed95f" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 2.0.61", +] + [[package]] name = "socket2" -version = "0.5.5" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -1909,8 +2051,8 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] name = "stackable-operator" -version = "0.64.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=0.64.0#d988822e7af3d363d52fb35643f0c6ed933f340a" +version = "0.67.1" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.67.1#9ba3ab1ea4164ba9946d7febdfae5911decc0f4b" dependencies = [ "chrono", "clap", @@ -1924,21 +2066,18 @@ dependencies = [ "k8s-openapi", "kube", "lazy_static", - "opentelemetry", "opentelemetry-jaeger", "opentelemetry_sdk", "product-config", - "rand", "regex", "schemars", "semver", "serde", "serde_json", "serde_yaml", - "snafu 0.7.5", + "snafu 0.8.2", "stackable-operator-derive", "strum", - "thiserror", "tokio", "tracing", "tracing-opentelemetry", @@ -1948,13 +2087,13 @@ dependencies = [ [[package]] name = "stackable-operator-derive" -version = "0.64.0" -source = "git+https://github.com/stackabletech/operator-rs.git?tag=0.64.0#d988822e7af3d363d52fb35643f0c6ed933f340a" +version = "0.3.0" +source = "git+https://github.com/stackabletech/operator-rs.git?tag=stackable-operator-0.67.1#9ba3ab1ea4164ba9946d7febdfae5911decc0f4b" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.61", ] [[package]] @@ -1968,7 +2107,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "snafu 0.7.5", + "snafu 0.8.2", "stackable-operator", "strum", "tracing", @@ -1987,7 +2126,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "snafu 0.7.5", + "snafu 0.8.2", "stackable-operator", "stackable-spark-k8s-crd", "strum", @@ -2004,32 +2143,38 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "strsim" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "strum" -version = "0.25.0" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" dependencies = [ "strum_macros", ] [[package]] name = "strum_macros" -version = "0.25.3" +version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946" dependencies = [ - "heck", + "heck 0.4.1", "proc-macro2", "quote", "rustversion", - "syn 2.0.50", + "syn 2.0.61", ] +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + [[package]] name = "syn" version = "1.0.109" @@ -2043,9 +2188,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.50" +version = "2.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74f1bdc9872430ce9b75da68329d1c1746faf50ffac5f19e02b71e37ff881ffb" +checksum = "c993ed8ccba56ae856363b1845da7266a7cb78e1d146c8a32d54b45a8b831fc9" dependencies = [ "proc-macro2", "quote", @@ -2054,22 +2199,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.57" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" +checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.57" +version = "1.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" +checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.61", ] [[package]] @@ -2121,9 +2266,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.36.0" +version = "1.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" +checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" dependencies = [ "backtrace", "bytes", @@ -2138,16 +2283,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "tokio-io-timeout" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" -dependencies = [ - "pin-project-lite", - "tokio", -] - [[package]] name = "tokio-macros" version = "2.2.0" @@ -2156,24 +2291,25 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.61", ] [[package]] name = "tokio-rustls" -version = "0.24.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ "rustls", + "rustls-pki-types", "tokio", ] [[package]] name = "tokio-stream" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" dependencies = [ "futures-core", "pin-project-lite", @@ -2182,9 +2318,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" dependencies = [ "bytes", "futures-core", @@ -2192,7 +2328,6 @@ dependencies = [ "pin-project-lite", "slab", "tokio", - "tracing", ] [[package]] @@ -2248,18 +2383,16 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.4.4" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" +checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ - "base64", - "bitflags 2.4.2", + "base64 0.21.7", + "bitflags 2.5.0", "bytes", - "futures-core", - "futures-util", "http", "http-body", - "http-range-header", + "http-body-util", "mime", "pin-project-lite", "tower-layer", @@ -2299,7 +2432,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.61", ] [[package]] @@ -2337,9 +2470,9 @@ dependencies = [ [[package]] name = "tracing-opentelemetry" -version = "0.22.0" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c67ac25c5407e7b961fafc6f7e9aa5958fd297aada2d20fa2ae1737357e55596" +checksum = "a9be14ba1bbe4ab79e9229f7f89fab8d120b865859f10527f31c033e599d2284" dependencies = [ "js-sys", "once_cell", @@ -2371,15 +2504,6 @@ dependencies = [ "tracing-log", ] -[[package]] -name = "treediff" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d127780145176e2b5d16611cc25a900150e86e9fd79d3bde6ff3a37359c9cb5" -dependencies = [ - "serde_json", -] - [[package]] name = "try-lock" version = "0.2.5" @@ -2427,9 +2551,9 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "unsafe-libyaml" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab4c90930b95a82d00dc9e9ac071b4991924390d46cbd0dfe566148667605e4b" +checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" [[package]] name = "untrusted" @@ -2446,6 +2570,7 @@ dependencies = [ "form_urlencoded", "idna", "percent-encoding", + "serde", ] [[package]] @@ -2495,9 +2620,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -2505,24 +2630,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.61", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2530,28 +2655,28 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.61", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "web-time" -version = "0.2.4" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa30049b1c872b72c89866d458eae9f20380ab280ffd1b1e18df2d3e2d98cfe0" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ "js-sys", "wasm-bindgen", @@ -2585,7 +2710,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.5", ] [[package]] @@ -2603,7 +2728,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.52.5", ] [[package]] @@ -2623,17 +2748,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", ] [[package]] @@ -2644,9 +2770,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" [[package]] name = "windows_aarch64_msvc" @@ -2656,9 +2782,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" [[package]] name = "windows_i686_gnu" @@ -2668,9 +2794,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" [[package]] name = "windows_i686_msvc" @@ -2680,9 +2812,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" [[package]] name = "windows_x86_64_gnu" @@ -2692,9 +2824,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" [[package]] name = "windows_x86_64_gnullvm" @@ -2704,9 +2836,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" [[package]] name = "windows_x86_64_msvc" @@ -2716,9 +2848,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.0" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winnow" @@ -2731,28 +2863,28 @@ dependencies = [ [[package]] name = "xml-rs" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" +checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.50", + "syn 2.0.61", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 3254297e..fc9152d8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,18 +12,18 @@ repository = "https://github.com/stackabletech/spark-k8s-operator" [workspace.dependencies] anyhow = "1.0" built = { version = "0.6", features = ["chrono", "git2"] } -clap = "4.3" +clap = "4.5" futures = { version = "0.3", features = ["compat"] } product-config = { git = "https://github.com/stackabletech/product-config.git", tag = "0.6.0" } -rstest = "0.18" +rstest = "0.19" semver = "1.0" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_yaml = "0.9" -snafu = "0.7" -stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", tag = "0.64.0" } -strum = { version = "0.25", features = ["derive"] } -tokio = { version = "1.29", features = ["full"] } +snafu = "0.8" +stackable-operator = { git = "https://github.com/stackabletech/operator-rs.git", tag = "stackable-operator-0.67.1" } +strum = { version = "0.26", features = ["derive"] } +tokio = { version = "1.37", features = ["full"] } tracing = "0.1" tracing-futures = { version = "0.2", features = ["futures-03"] } indoc = "2" diff --git a/deploy/helm/spark-k8s-operator/crds/crds.yaml b/deploy/helm/spark-k8s-operator/crds/crds.yaml index e8d7f6c9..aa3058a4 100644 --- a/deploy/helm/spark-k8s-operator/crds/crds.yaml +++ b/deploy/helm/spark-k8s-operator/crds/crds.yaml @@ -208,6 +208,8 @@ spec: type: object type: object nodeSelector: + additionalProperties: + type: string nullable: true type: object podAffinity: @@ -223,7 +225,7 @@ spec: description: Required. A pod affinity term, associated with the corresponding weight. properties: labelSelector: - description: A label query over a set of resources, in this case pods. + description: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -252,6 +254,16 @@ spec: description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + matchLabelKeys: + description: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. properties: @@ -308,7 +320,7 @@ spec: description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running properties: labelSelector: - description: A label query over a set of resources, in this case pods. + description: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -337,6 +349,16 @@ spec: description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + matchLabelKeys: + description: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. properties: @@ -393,7 +415,7 @@ spec: description: Required. A pod affinity term, associated with the corresponding weight. properties: labelSelector: - description: A label query over a set of resources, in this case pods. + description: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -422,6 +444,16 @@ spec: description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + matchLabelKeys: + description: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. properties: @@ -478,7 +510,7 @@ spec: description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running properties: labelSelector: - description: A label query over a set of resources, in this case pods. + description: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -507,6 +539,16 @@ spec: description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + matchLabelKeys: + description: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. properties: @@ -682,7 +724,7 @@ spec: description: Path within the container at which the volume should be mounted. Must not contain ':'. type: string mountPropagation: - description: mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. + description: mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified (which defaults to None). type: string name: description: This must match the Name of a Volume. @@ -690,6 +732,18 @@ spec: readOnly: description: Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. type: boolean + recursiveReadOnly: + description: |- + RecursiveReadOnly specifies whether read-only mounts should be handled recursively. + + If ReadOnly is false, this field has no meaning and must be unspecified. + + If ReadOnly is true, and this field is set to Disabled, the mount is not made recursively read-only. If this field is set to IfPossible, the mount is made recursively read-only, if it is supported by the container runtime. If this field is set to Enabled, the mount is made recursively read-only if it is supported by the container runtime, otherwise the pod will not be started and an error will be generated to indicate the reason. + + If this field is set to IfPossible or Enabled, MountPropagation must be set to None (or be unspecified, which defaults to None). + + If this field is not specified, it is treated as an equivalent of Disabled. + type: string subPath: description: Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). type: string @@ -905,6 +959,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -960,6 +1022,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -1016,6 +1086,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -1071,6 +1149,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -1212,18 +1298,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object preStop: @@ -1251,18 +1341,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object type: object @@ -1302,8 +1396,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -1321,8 +1414,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -1386,8 +1478,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -1405,8 +1496,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -1448,6 +1538,13 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object capabilities: properties: add: @@ -1539,8 +1636,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -1558,8 +1654,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -1598,6 +1693,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -1741,18 +1838,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object preStop: @@ -1780,18 +1881,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object type: object @@ -1831,8 +1936,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -1850,8 +1954,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -1915,8 +2018,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -1934,8 +2036,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -1977,6 +2078,13 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object capabilities: properties: add: @@ -2068,8 +2176,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -2087,8 +2194,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -2129,6 +2235,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -2276,18 +2384,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object preStop: @@ -2315,18 +2427,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object type: object @@ -2366,8 +2482,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -2385,8 +2500,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -2450,8 +2564,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -2469,8 +2582,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -2512,6 +2624,13 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object capabilities: properties: add: @@ -2603,8 +2722,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -2622,8 +2740,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -2662,6 +2779,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -2730,6 +2849,13 @@ spec: type: array securityContext: properties: + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object fsGroup: format: int64 type: integer @@ -3119,13 +3245,6 @@ spec: type: object resources: properties: - claims: - items: - properties: - name: - type: string - type: object - type: array limits: additionalProperties: type: string @@ -3157,6 +3276,8 @@ spec: type: object storageClassName: type: string + volumeAttributesClassName: + type: string volumeMode: type: string volumeName: @@ -3317,6 +3438,37 @@ spec: sources: items: properties: + clusterTrustBundle: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + name: + type: string + optional: + type: boolean + path: + type: string + signerName: + type: string + type: object configMap: properties: items: @@ -3734,6 +3886,8 @@ spec: type: object type: object nodeSelector: + additionalProperties: + type: string nullable: true type: object podAffinity: @@ -3749,7 +3903,7 @@ spec: description: Required. A pod affinity term, associated with the corresponding weight. properties: labelSelector: - description: A label query over a set of resources, in this case pods. + description: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -3778,6 +3932,16 @@ spec: description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + matchLabelKeys: + description: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. properties: @@ -3834,7 +3998,7 @@ spec: description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running properties: labelSelector: - description: A label query over a set of resources, in this case pods. + description: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -3863,6 +4027,16 @@ spec: description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + matchLabelKeys: + description: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. properties: @@ -3919,7 +4093,7 @@ spec: description: Required. A pod affinity term, associated with the corresponding weight. properties: labelSelector: - description: A label query over a set of resources, in this case pods. + description: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -3948,6 +4122,16 @@ spec: description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + matchLabelKeys: + description: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. properties: @@ -4004,7 +4188,7 @@ spec: description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running properties: labelSelector: - description: A label query over a set of resources, in this case pods. + description: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -4033,6 +4217,16 @@ spec: description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + matchLabelKeys: + description: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. properties: @@ -4208,7 +4402,7 @@ spec: description: Path within the container at which the volume should be mounted. Must not contain ':'. type: string mountPropagation: - description: mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. + description: mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified (which defaults to None). type: string name: description: This must match the Name of a Volume. @@ -4216,6 +4410,18 @@ spec: readOnly: description: Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. type: boolean + recursiveReadOnly: + description: |- + RecursiveReadOnly specifies whether read-only mounts should be handled recursively. + + If ReadOnly is false, this field has no meaning and must be unspecified. + + If ReadOnly is true, and this field is set to Disabled, the mount is not made recursively read-only. If this field is set to IfPossible, the mount is made recursively read-only, if it is supported by the container runtime. If this field is set to Enabled, the mount is made recursively read-only if it is supported by the container runtime, otherwise the pod will not be started and an error will be generated to indicate the reason. + + If this field is set to IfPossible or Enabled, MountPropagation must be set to None (or be unspecified, which defaults to None). + + If this field is not specified, it is treated as an equivalent of Disabled. + type: string subPath: description: Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). type: string @@ -4431,6 +4637,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -4486,6 +4700,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -4542,6 +4764,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -4597,6 +4827,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -4738,18 +4976,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object preStop: @@ -4777,18 +5019,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object type: object @@ -4828,8 +5074,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -4847,8 +5092,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -4912,8 +5156,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -4931,8 +5174,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -4974,6 +5216,13 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object capabilities: properties: add: @@ -5065,8 +5314,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -5084,8 +5332,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -5124,6 +5371,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -5267,18 +5516,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object preStop: @@ -5306,18 +5559,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object type: object @@ -5357,8 +5614,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -5376,8 +5632,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -5441,8 +5696,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -5460,8 +5714,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -5503,6 +5756,13 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object capabilities: properties: add: @@ -5594,8 +5854,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -5613,8 +5872,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -5655,6 +5913,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -5802,18 +6062,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object preStop: @@ -5841,18 +6105,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object type: object @@ -5892,8 +6160,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -5911,8 +6178,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -5976,8 +6242,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -5995,8 +6260,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -6038,6 +6302,13 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object capabilities: properties: add: @@ -6129,8 +6400,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -6148,8 +6418,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -6188,6 +6457,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -6256,6 +6527,13 @@ spec: type: array securityContext: properties: + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object fsGroup: format: int64 type: integer @@ -6645,13 +6923,6 @@ spec: type: object resources: properties: - claims: - items: - properties: - name: - type: string - type: object - type: array limits: additionalProperties: type: string @@ -6683,6 +6954,8 @@ spec: type: object storageClassName: type: string + volumeAttributesClassName: + type: string volumeMode: type: string volumeName: @@ -6843,6 +7116,37 @@ spec: sources: items: properties: + clusterTrustBundle: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + name: + type: string + optional: + type: boolean + path: + type: string + signerName: + type: string + type: object configMap: properties: items: @@ -7110,7 +7414,7 @@ spec: description: Path within the container at which the volume should be mounted. Must not contain ':'. type: string mountPropagation: - description: mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. + description: mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified (which defaults to None). type: string name: description: This must match the Name of a Volume. @@ -7118,6 +7422,18 @@ spec: readOnly: description: Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. type: boolean + recursiveReadOnly: + description: |- + RecursiveReadOnly specifies whether read-only mounts should be handled recursively. + + If ReadOnly is false, this field has no meaning and must be unspecified. + + If ReadOnly is true, and this field is set to Disabled, the mount is not made recursively read-only. If this field is set to IfPossible, the mount is made recursively read-only, if it is supported by the container runtime. If this field is set to Enabled, the mount is made recursively read-only if it is supported by the container runtime, otherwise the pod will not be started and an error will be generated to indicate the reason. + + If this field is set to IfPossible or Enabled, MountPropagation must be set to None (or be unspecified, which defaults to None). + + If this field is not specified, it is treated as an equivalent of Disabled. + type: string subPath: description: Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root). type: string @@ -7333,6 +7649,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -7388,6 +7712,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -7444,6 +7776,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -7499,6 +7839,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -7640,18 +7988,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object preStop: @@ -7679,18 +8031,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object type: object @@ -7730,8 +8086,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -7749,8 +8104,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -7814,8 +8168,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -7833,8 +8186,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -7876,6 +8228,13 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object capabilities: properties: add: @@ -7967,8 +8326,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -7986,8 +8344,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -8026,6 +8383,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -8169,18 +8528,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object preStop: @@ -8208,18 +8571,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object type: object @@ -8259,8 +8626,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -8278,8 +8644,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -8343,8 +8708,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -8362,8 +8726,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -8405,6 +8768,13 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object capabilities: properties: add: @@ -8496,8 +8866,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -8515,8 +8884,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -8557,6 +8925,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -8704,18 +9074,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object preStop: @@ -8743,18 +9117,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object type: object @@ -8794,8 +9172,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -8813,8 +9190,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -8878,8 +9254,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -8897,8 +9272,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -8940,6 +9314,13 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object capabilities: properties: add: @@ -9031,8 +9412,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -9050,8 +9430,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -9090,6 +9469,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -9158,6 +9539,13 @@ spec: type: array securityContext: properties: + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object fsGroup: format: int64 type: integer @@ -9547,13 +9935,6 @@ spec: type: object resources: properties: - claims: - items: - properties: - name: - type: string - type: object - type: array limits: additionalProperties: type: string @@ -9585,6 +9966,8 @@ spec: type: object storageClassName: type: string + volumeAttributesClassName: + type: string volumeMode: type: string volumeName: @@ -9745,6 +10128,37 @@ spec: sources: items: properties: + clusterTrustBundle: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + name: + type: string + optional: + type: boolean + path: + type: string + signerName: + type: string + type: object configMap: properties: items: @@ -10447,7 +10861,7 @@ spec: description: DownwardAPIVolumeFile represents information to create the file containing the pod field properties: fieldRef: - description: 'Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.' + description: 'Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.' properties: apiVersion: description: Version of the schema the FieldPath is written in terms of, defaults to "v1". @@ -10708,23 +11122,6 @@ spec: resources: description: 'resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources' properties: - claims: - description: |- - Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. - - This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. - - This field is immutable. It can only be set for containers. - items: - description: ResourceClaim references one entry in PodSpec.ResourceClaims. - properties: - name: - description: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. - type: string - required: - - name - type: object - type: array limits: additionalProperties: description: "Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.\n\nThe serialization format is:\n\n``` ::= \n\n\t(Note that may be empty, from the \"\" case in .)\n\n ::= 0 | 1 | ... | 9 ::= | ::= | . | . | . ::= \"+\" | \"-\" ::= | ::= | | ::= Ki | Mi | Gi | Ti | Pi | Ei\n\n\t(International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)\n\n ::= m | \"\" | k | M | G | T | P | E\n\n\t(Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)\n\n ::= \"e\" | \"E\" ```\n\nNo matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.\n\nWhen a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.\n\nBefore serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:\n\n- No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible.\n\nThe sign will be omitted unless the number is negative.\n\nExamples:\n\n- 1.5 will be serialized as \"1500m\" - 1.5Gi will be serialized as \"1536Mi\"\n\nNote that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.\n\nNon-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)\n\nThis format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation." @@ -10771,6 +11168,9 @@ spec: storageClassName: description: 'storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1' type: string + volumeAttributesClassName: + description: 'volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it''s not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.' + type: string volumeMode: description: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. type: string @@ -11023,6 +11423,61 @@ spec: items: description: Projection that may be projected along with other supported volume types properties: + clusterTrustBundle: + description: |- + ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field of ClusterTrustBundle objects in an auto-updating file. + + Alpha, gated by the ClusterTrustBundleProjection feature gate. + + ClusterTrustBundle objects can either be selected by name, or by the combination of signer name and a label selector. + + Kubelet performs aggressive normalization of the PEM contents written into the pod filesystem. Esoteric PEM features such as inter-block comments and block headers are stripped. Certificates are deduplicated. The ordering of certificates within the file is arbitrary, and Kubelet may change the order over time. + properties: + labelSelector: + description: Select all ClusterTrustBundles that match this label selector. Only has effect if signerName is set. Mutually-exclusive with name. If unset, interpreted as "match nothing". If set but empty, interpreted as "match everything". + properties: + matchExpressions: + description: matchExpressions is a list of label selector requirements. The requirements are ANDed. + items: + description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values. + properties: + key: + description: key is the label key that the selector applies to. + type: string + operator: + description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist. + type: string + values: + description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. + type: object + type: object + name: + description: Select a single ClusterTrustBundle by object name. Mutually-exclusive with signerName and labelSelector. + type: string + optional: + description: If true, don't block pod startup if the referenced ClusterTrustBundle(s) aren't available. If using name, then the named ClusterTrustBundle is allowed not to exist. If using signerName, then the combination of signerName and labelSelector is allowed to match zero ClusterTrustBundles. + type: boolean + path: + description: Relative path from the volume root to write the bundle. + type: string + signerName: + description: Select all ClusterTrustBundles that match this signer name. Mutually-exclusive with name. The contents of all selected ClusterTrustBundles will be unified and deduplicated. + type: string + required: + - path + type: object configMap: description: configMap information about the configMap data to project properties: @@ -11062,7 +11517,7 @@ spec: description: DownwardAPIVolumeFile represents information to create the file containing the pod field properties: fieldRef: - description: 'Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.' + description: 'Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.' properties: apiVersion: description: Version of the schema the FieldPath is written in terms of, defaults to "v1". @@ -11727,6 +12182,8 @@ spec: type: object type: object nodeSelector: + additionalProperties: + type: string nullable: true type: object podAffinity: @@ -11742,7 +12199,7 @@ spec: description: Required. A pod affinity term, associated with the corresponding weight. properties: labelSelector: - description: A label query over a set of resources, in this case pods. + description: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -11771,6 +12228,16 @@ spec: description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + matchLabelKeys: + description: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. properties: @@ -11827,7 +12294,7 @@ spec: description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running properties: labelSelector: - description: A label query over a set of resources, in this case pods. + description: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -11856,6 +12323,16 @@ spec: description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + matchLabelKeys: + description: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. properties: @@ -11912,7 +12389,7 @@ spec: description: Required. A pod affinity term, associated with the corresponding weight. properties: labelSelector: - description: A label query over a set of resources, in this case pods. + description: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -11941,6 +12418,16 @@ spec: description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + matchLabelKeys: + description: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. properties: @@ -11997,7 +12484,7 @@ spec: description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running properties: labelSelector: - description: A label query over a set of resources, in this case pods. + description: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -12026,6 +12513,16 @@ spec: description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + matchLabelKeys: + description: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. properties: @@ -12398,6 +12895,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -12453,6 +12958,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -12509,6 +13022,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -12564,6 +13085,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -12705,18 +13234,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object preStop: @@ -12744,18 +13277,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object type: object @@ -12795,8 +13332,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -12814,8 +13350,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -12879,8 +13414,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -12898,8 +13432,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -12941,6 +13474,13 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object capabilities: properties: add: @@ -13032,8 +13572,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -13051,8 +13590,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -13091,6 +13629,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -13234,18 +13774,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object preStop: @@ -13273,18 +13817,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object type: object @@ -13324,8 +13872,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -13343,8 +13890,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -13408,8 +13954,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -13427,8 +13972,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -13470,6 +14014,13 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object capabilities: properties: add: @@ -13561,8 +14112,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -13580,8 +14130,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -13622,6 +14171,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -13769,18 +14320,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object preStop: @@ -13808,18 +14363,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object type: object @@ -13859,8 +14418,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -13878,8 +14436,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -13943,8 +14500,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -13962,8 +14518,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -14005,6 +14560,13 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object capabilities: properties: add: @@ -14096,8 +14658,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -14115,8 +14676,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -14155,6 +14715,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -14223,6 +14785,13 @@ spec: type: array securityContext: properties: + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object fsGroup: format: int64 type: integer @@ -14612,13 +15181,6 @@ spec: type: object resources: properties: - claims: - items: - properties: - name: - type: string - type: object - type: array limits: additionalProperties: type: string @@ -14650,6 +15212,8 @@ spec: type: object storageClassName: type: string + volumeAttributesClassName: + type: string volumeMode: type: string volumeName: @@ -14810,6 +15374,37 @@ spec: sources: items: properties: + clusterTrustBundle: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + name: + type: string + optional: + type: boolean + path: + type: string + signerName: + type: string + type: object configMap: properties: items: @@ -15178,6 +15773,8 @@ spec: type: object type: object nodeSelector: + additionalProperties: + type: string nullable: true type: object podAffinity: @@ -15193,7 +15790,7 @@ spec: description: Required. A pod affinity term, associated with the corresponding weight. properties: labelSelector: - description: A label query over a set of resources, in this case pods. + description: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -15222,6 +15819,16 @@ spec: description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + matchLabelKeys: + description: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. properties: @@ -15278,7 +15885,7 @@ spec: description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running properties: labelSelector: - description: A label query over a set of resources, in this case pods. + description: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -15307,6 +15914,16 @@ spec: description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + matchLabelKeys: + description: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. properties: @@ -15363,7 +15980,7 @@ spec: description: Required. A pod affinity term, associated with the corresponding weight. properties: labelSelector: - description: A label query over a set of resources, in this case pods. + description: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -15392,6 +16009,16 @@ spec: description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + matchLabelKeys: + description: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. properties: @@ -15448,7 +16075,7 @@ spec: description: Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key matches that of any node on which a pod of the set of pods is running properties: labelSelector: - description: A label query over a set of resources, in this case pods. + description: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods. properties: matchExpressions: description: matchExpressions is a list of label selector requirements. The requirements are ANDed. @@ -15477,6 +16104,16 @@ spec: description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. type: object type: object + matchLabelKeys: + description: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array + mismatchLabelKeys: + description: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. + items: + type: string + type: array namespaceSelector: description: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. properties: @@ -15849,6 +16486,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -15904,6 +16549,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -15960,6 +16613,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -16015,6 +16676,14 @@ spec: type: string type: object type: object + matchLabelKeys: + items: + type: string + type: array + mismatchLabelKeys: + items: + type: string + type: array namespaceSelector: properties: matchExpressions: @@ -16156,18 +16825,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object preStop: @@ -16195,18 +16868,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object type: object @@ -16246,8 +16923,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -16265,8 +16941,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -16330,8 +17005,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -16349,8 +17023,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -16392,6 +17065,13 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object capabilities: properties: add: @@ -16483,8 +17163,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -16502,8 +17181,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -16542,6 +17220,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -16685,18 +17365,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object preStop: @@ -16724,18 +17408,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object type: object @@ -16775,8 +17463,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -16794,8 +17481,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -16859,8 +17545,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -16878,8 +17563,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -16921,6 +17605,13 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object capabilities: properties: add: @@ -17012,8 +17703,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -17031,8 +17721,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -17073,6 +17762,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -17220,18 +17911,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object preStop: @@ -17259,18 +17954,22 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object + sleep: + properties: + seconds: + format: int64 + type: integer + type: object tcpSocket: properties: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object type: object type: object @@ -17310,8 +18009,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -17329,8 +18027,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -17394,8 +18091,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -17413,8 +18109,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -17456,6 +18151,13 @@ spec: properties: allowPrivilegeEscalation: type: boolean + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object capabilities: properties: add: @@ -17547,8 +18249,7 @@ spec: path: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true scheme: type: string type: object @@ -17566,8 +18267,7 @@ spec: host: type: string port: - format: int-or-string - type: string + x-kubernetes-int-or-string: true type: object terminationGracePeriodSeconds: format: int64 @@ -17606,6 +18306,8 @@ spec: type: string readOnly: type: boolean + recursiveReadOnly: + type: string subPath: type: string subPathExpr: @@ -17674,6 +18376,13 @@ spec: type: array securityContext: properties: + appArmorProfile: + properties: + localhostProfile: + type: string + type: + type: string + type: object fsGroup: format: int64 type: integer @@ -18063,13 +18772,6 @@ spec: type: object resources: properties: - claims: - items: - properties: - name: - type: string - type: object - type: array limits: additionalProperties: type: string @@ -18101,6 +18803,8 @@ spec: type: object storageClassName: type: string + volumeAttributesClassName: + type: string volumeMode: type: string volumeName: @@ -18261,6 +18965,37 @@ spec: sources: items: properties: + clusterTrustBundle: + properties: + labelSelector: + properties: + matchExpressions: + items: + properties: + key: + type: string + operator: + type: string + values: + items: + type: string + type: array + type: object + type: array + matchLabels: + additionalProperties: + type: string + type: object + type: object + name: + type: string + optional: + type: boolean + path: + type: string + signerName: + type: string + type: object configMap: properties: items: diff --git a/rust/crd/src/affinity.rs b/rust/crd/src/affinity.rs index bbe30dd1..e4511481 100644 --- a/rust/crd/src/affinity.rs +++ b/rust/crd/src/affinity.rs @@ -90,9 +90,8 @@ mod test { ), ])), }), - namespace_selector: None, - namespaces: None, topology_key: "kubernetes.io/hostname".to_string(), + ..PodAffinityTerm::default() }, weight: 70, }, diff --git a/rust/crd/src/history.rs b/rust/crd/src/history.rs index 2de608b2..6d856157 100644 --- a/rust/crd/src/history.rs +++ b/rust/crd/src/history.rs @@ -37,11 +37,11 @@ use strum::{Display, EnumIter}; pub enum Error { #[snafu(display("failed to transform configs"))] ProductConfigTransform { - source: stackable_operator::product_config_utils::ConfigError, + source: stackable_operator::product_config_utils::Error, }, #[snafu(display("invalid product config"))] InvalidProductConfig { - source: stackable_operator::error::Error, + source: stackable_operator::product_config_utils::Error, }, #[snafu(display("fragment validation failure"))] FragmentValidationFailure { source: ValidationError }, @@ -339,7 +339,7 @@ impl Configuration for HistoryConfigFragment { &self, _resource: &Self::Configurable, _role_name: &str, - ) -> stackable_operator::product_config_utils::ConfigResult>> + ) -> Result>, stackable_operator::product_config_utils::Error> { Ok(BTreeMap::new()) } @@ -348,7 +348,7 @@ impl Configuration for HistoryConfigFragment { &self, _resource: &Self::Configurable, _role_name: &str, - ) -> stackable_operator::product_config_utils::ConfigResult>> + ) -> Result>, stackable_operator::product_config_utils::Error> { Ok(BTreeMap::new()) } @@ -358,7 +358,7 @@ impl Configuration for HistoryConfigFragment { _resource: &Self::Configurable, _role_name: &str, _file: &str, - ) -> stackable_operator::product_config_utils::ConfigResult>> + ) -> Result>, stackable_operator::product_config_utils::Error> { Ok(BTreeMap::new()) } diff --git a/rust/crd/src/lib.rs b/rust/crd/src/lib.rs index 1f0d7e7b..0b07b1fd 100644 --- a/rust/crd/src/lib.rs +++ b/rust/crd/src/lib.rs @@ -14,14 +14,16 @@ use product_config::{types::PropertyNameKind, ProductConfigManager}; use s3logdir::S3LogDir; use serde::{Deserialize, Serialize}; use snafu::{OptionExt, ResultExt, Snafu}; -use stackable_operator::builder::SecretFormat; use stackable_operator::product_config_utils::{ transform_all_roles_to_config, validate_all_roles_and_groups_config, ValidatedRoleConfigByPropertyKind, }; use stackable_operator::role_utils::EmptyRoleConfig; use stackable_operator::{ - builder::{SecretOperatorVolumeSourceBuilder, VolumeBuilder}, + builder::pod::volume::{ + SecretFormat, SecretOperatorVolumeSourceBuilder, SecretOperatorVolumeSourceBuilderError, + VolumeBuilder, + }, commons::{ product_image_selection::{ProductImage, ResolvedProductImage}, resources::{CpuLimits, MemoryLimits, Resources}, @@ -63,7 +65,7 @@ pub enum Error { #[snafu(display("failed to convert java heap config to unit [{unit}]"))] FailedToConvertJavaHeap { - source: stackable_operator::error::Error, + source: stackable_operator::memory::Error, unit: String, }, @@ -75,17 +77,17 @@ pub enum Error { #[snafu(display("failed to transform configs"))] ProductConfigTransform { - source: stackable_operator::product_config_utils::ConfigError, + source: stackable_operator::product_config_utils::Error, }, #[snafu(display("invalid product config"))] InvalidProductConfig { - source: stackable_operator::error::Error, + source: stackable_operator::product_config_utils::Error, }, #[snafu(display("failed to build TLS certificate SecretClass Volume"))] TlsCertSecretClassVolumeBuild { - source: stackable_operator::builder::SecretOperatorVolumeSourceBuilderError, + source: SecretOperatorVolumeSourceBuilderError, }, #[snafu(display("failed to build S3 credentials Volume"))] @@ -1298,25 +1300,19 @@ mod tests { mount_path: "/stackable/spark/driver-pod-templates".into(), mount_propagation: None, name: "driver-pod-template".into(), - read_only: None, - sub_path: None, - sub_path_expr: None, + ..VolumeMount::default() }, VolumeMount { mount_path: "/stackable/spark/executor-pod-templates".into(), mount_propagation: None, name: "executor-pod-template".into(), - read_only: None, - sub_path: None, - sub_path_expr: None, + ..VolumeMount::default() }, VolumeMount { mount_path: "/kerberos".into(), mount_propagation: None, name: "keytab".into(), - read_only: None, - sub_path: None, - sub_path_expr: None, + ..VolumeMount::default() }, ]; diff --git a/rust/crd/src/roles.rs b/rust/crd/src/roles.rs index e1e6eb0d..4cee4409 100644 --- a/rust/crd/src/roles.rs +++ b/rust/crd/src/roles.rs @@ -158,7 +158,7 @@ impl Configuration for RoleConfigFragment { &self, _resource: &Self::Configurable, _role_name: &str, - ) -> stackable_operator::product_config_utils::ConfigResult>> + ) -> Result>, stackable_operator::product_config_utils::Error> { Ok(BTreeMap::new()) } @@ -167,7 +167,7 @@ impl Configuration for RoleConfigFragment { &self, _resource: &Self::Configurable, _role_name: &str, - ) -> stackable_operator::product_config_utils::ConfigResult>> + ) -> Result>, stackable_operator::product_config_utils::Error> { Ok(BTreeMap::new()) } @@ -177,7 +177,7 @@ impl Configuration for RoleConfigFragment { _resource: &Self::Configurable, _role_name: &str, _file: &str, - ) -> stackable_operator::product_config_utils::ConfigResult>> + ) -> Result>, stackable_operator::product_config_utils::Error> { Ok(BTreeMap::new()) } @@ -230,7 +230,7 @@ impl Configuration for SubmitConfigFragment { &self, _resource: &Self::Configurable, _role_name: &str, - ) -> stackable_operator::product_config_utils::ConfigResult>> + ) -> Result>, stackable_operator::product_config_utils::Error> { Ok(BTreeMap::new()) } @@ -239,7 +239,7 @@ impl Configuration for SubmitConfigFragment { &self, _resource: &Self::Configurable, _role_name: &str, - ) -> stackable_operator::product_config_utils::ConfigResult>> + ) -> Result>, stackable_operator::product_config_utils::Error> { Ok(BTreeMap::new()) } @@ -249,7 +249,7 @@ impl Configuration for SubmitConfigFragment { _resource: &Self::Configurable, _role_name: &str, _file: &str, - ) -> stackable_operator::product_config_utils::ConfigResult>> + ) -> Result>, stackable_operator::product_config_utils::Error> { Ok(BTreeMap::new()) } diff --git a/rust/crd/src/s3logdir.rs b/rust/crd/src/s3logdir.rs index 4e8498cb..f3ff8ecb 100644 --- a/rust/crd/src/s3logdir.rs +++ b/rust/crd/src/s3logdir.rs @@ -7,7 +7,10 @@ use crate::{ tlscerts, }; use stackable_operator::{ - builder::{SecretOperatorVolumeSourceBuilder, VolumeBuilder}, + builder::pod::volume::{ + SecretFormat, SecretOperatorVolumeSourceBuilder, SecretOperatorVolumeSourceBuilderError, + VolumeBuilder, + }, commons::{ authentication::tls::{CaCert, TlsVerification}, s3::{InlinedS3BucketSpec, S3AccessStyle}, @@ -18,7 +21,6 @@ use stackable_operator::{ use std::collections::BTreeMap; use snafu::{OptionExt, ResultExt, Snafu}; -use stackable_operator::builder::SecretFormat; use strum::{EnumDiscriminants, IntoStaticStr}; #[derive(Snafu, Debug, EnumDiscriminants)] @@ -27,7 +29,7 @@ use strum::{EnumDiscriminants, IntoStaticStr}; pub enum Error { #[snafu(display("s3 bucket error"))] S3Bucket { - source: stackable_operator::error::Error, + source: stackable_operator::commons::s3::Error, }, #[snafu(display("missing bucket name for history logs"))] @@ -41,7 +43,7 @@ pub enum Error { #[snafu(display("failed to build TLS certificate SecretClass Volume"))] TlsCertSecretClassVolumeBuild { - source: stackable_operator::builder::SecretOperatorVolumeSourceBuilderError, + source: SecretOperatorVolumeSourceBuilderError, }, #[snafu(display("failed to build credentials Volume"))] diff --git a/rust/operator-binary/build.rs b/rust/operator-binary/build.rs index ed36fcf0..fa809bfd 100644 --- a/rust/operator-binary/build.rs +++ b/rust/operator-binary/build.rs @@ -1,13 +1,3 @@ -use std::path::PathBuf; - fn main() { - let out_dir = PathBuf::from(std::env::var("OUT_DIR").expect("OUT_DIR is required")); - built::write_built_file_with_opts( - // built's env module depends on a whole bunch of variables that crate2nix doesn't provide - // so we grab the specific env variables that we care about out ourselves instead. - built::Options::default().set_env(false), - "Cargo.toml".as_ref(), - &out_dir.join("built.rs"), - ) - .unwrap(); + built::write_built_file().unwrap(); } diff --git a/rust/operator-binary/src/history/history_controller.rs b/rust/operator-binary/src/history/history_controller.rs index e8744c72..b7582f56 100644 --- a/rust/operator-binary/src/history/history_controller.rs +++ b/rust/operator-binary/src/history/history_controller.rs @@ -4,7 +4,11 @@ use crate::Ctx; use product_config::{types::PropertyNameKind, writer::to_java_properties_string}; use stackable_operator::kvp::{Label, Labels, ObjectLabels}; use stackable_operator::{ - builder::{ConfigMapBuilder, ContainerBuilder, ObjectMetaBuilder, PodBuilder, VolumeBuilder}, + builder::{ + configmap::ConfigMapBuilder, + meta::ObjectMetaBuilder, + pod::{container::ContainerBuilder, volume::VolumeBuilder, PodBuilder}, + }, cluster_resources::{ClusterResourceApplyStrategy, ClusterResources}, commons::product_image_selection::ResolvedProductImage, k8s_openapi::{ @@ -50,7 +54,7 @@ use std::collections::HashMap; use std::{collections::BTreeMap, sync::Arc}; use snafu::{OptionExt, ResultExt, Snafu}; -use stackable_operator::builder::resources::ResourceRequirementsBuilder; +use stackable_operator::builder::pod::resources::ResourceRequirementsBuilder; use stackable_operator::k8s_openapi::DeepMerge; use stackable_operator::logging::controller::ReconcilerError; use strum::{EnumDiscriminants, IntoStaticStr}; @@ -65,36 +69,36 @@ pub enum Error { ObjectHasNoNamespace, #[snafu(display("invalid config map {name}"))] InvalidConfigMap { - source: stackable_operator::error::Error, + source: stackable_operator::builder::configmap::Error, name: String, }, #[snafu(display("invalid history container name"))] InvalidContainerName { - source: stackable_operator::error::Error, + source: stackable_operator::builder::pod::container::Error, }, #[snafu(display("object is missing metadata to build owner reference"))] ObjectMissingMetadataForOwnerRef { - source: stackable_operator::error::Error, + source: stackable_operator::builder::meta::Error, }, #[snafu(display("failed to update the history server deployment"))] ApplyDeployment { - source: stackable_operator::error::Error, + source: stackable_operator::cluster_resources::Error, }, #[snafu(display("failed to update history server config map"))] ApplyConfigMap { - source: stackable_operator::error::Error, + source: stackable_operator::cluster_resources::Error, }, #[snafu(display("failed to update history server service"))] ApplyService { - source: stackable_operator::error::Error, + source: stackable_operator::cluster_resources::Error, }, #[snafu(display("failed to apply role ServiceAccount"))] ApplyServiceAccount { - source: stackable_operator::error::Error, + source: stackable_operator::cluster_resources::Error, }, #[snafu(display("failed to apply global RoleBinding"))] ApplyRoleBinding { - source: stackable_operator::error::Error, + source: stackable_operator::cluster_resources::Error, }, #[snafu(display("product config validation failed"))] ProductConfigValidation { @@ -114,11 +118,11 @@ pub enum Error { }, #[snafu(display("failed to create cluster resources"))] CreateClusterResources { - source: stackable_operator::error::Error, + source: stackable_operator::cluster_resources::Error, }, #[snafu(display("failed to delete orphaned resources"))] DeleteOrphanedResources { - source: stackable_operator::error::Error, + source: stackable_operator::cluster_resources::Error, }, #[snafu(display("failed to resolve the Vector aggregator address"))] ResolveVectorAggregatorAddress { source: product_logging::Error }, @@ -149,7 +153,7 @@ pub enum Error { #[snafu(display("failed to build Metadata"))] MetadataBuild { - source: stackable_operator::builder::ObjectMetaBuilderError, + source: stackable_operator::builder::meta::Error, }, #[snafu(display("failed to get required Labels"))] @@ -189,7 +193,7 @@ pub async fn reconcile(shs: Arc, ctx: Arc) -> Result, _error: &Error, _ctx: Arc>, @@ -371,6 +376,7 @@ fn build_config_map( .context(InvalidConfigMapSnafu { name: cm_name }) } +#[allow(clippy::result_large_err)] fn build_stateful_set( shs: &SparkHistoryServer, resolved_product_image: &ResolvedProductImage, @@ -512,6 +518,7 @@ fn build_stateful_set( }) } +#[allow(clippy::result_large_err)] fn build_service( shs: &SparkHistoryServer, app_version_label: &str, @@ -577,6 +584,7 @@ fn build_service( }) } +#[allow(clippy::result_large_err)] fn build_history_role_serviceaccount( shs: &SparkHistoryServer, app_version_label: &str, @@ -617,6 +625,7 @@ fn build_history_role_serviceaccount( Ok((sa, binding)) } +#[allow(clippy::result_large_err)] fn spark_defaults( shs: &SparkHistoryServer, s3_log_dir: &S3LogDir, @@ -720,6 +729,7 @@ fn labels<'a, T>( /// Return the Spark properties for the cleaner role group (if any). /// There should be only one role group with "cleaner=true" and this /// group should have a replica count of 0 or 1. +#[allow(clippy::result_large_err)] fn cleaner_config( shs: &SparkHistoryServer, rolegroup_ref: &RoleGroupRef, diff --git a/rust/operator-binary/src/history/operations/pdb.rs b/rust/operator-binary/src/history/operations/pdb.rs index ac694237..ca27f840 100644 --- a/rust/operator-binary/src/history/operations/pdb.rs +++ b/rust/operator-binary/src/history/operations/pdb.rs @@ -12,12 +12,12 @@ use stackable_spark_k8s_crd::{ pub enum Error { #[snafu(display("Cannot create PodDisruptionBudget for role [{role}]"))] CreatePdb { - source: stackable_operator::error::Error, + source: stackable_operator::builder::pdb::Error, role: String, }, #[snafu(display("Cannot apply PodDisruptionBudget [{name}]"))] ApplyPdb { - source: stackable_operator::error::Error, + source: stackable_operator::cluster_resources::Error, name: String, }, } diff --git a/rust/operator-binary/src/main.rs b/rust/operator-binary/src/main.rs index 96f4d248..c8d61a7f 100644 --- a/rust/operator-binary/src/main.rs +++ b/rust/operator-binary/src/main.rs @@ -26,8 +26,6 @@ use tracing_futures::Instrument; mod built_info { include!(concat!(env!("OUT_DIR"), "/built.rs")); - pub const TARGET_PLATFORM: Option<&str> = option_env!("TARGET"); - pub const CARGO_PKG_VERSION: &str = env!("CARGO_PKG_VERSION"); } #[derive(Parser)] @@ -51,8 +49,8 @@ async fn main() -> anyhow::Result<()> { let opts = Opts::parse(); match opts.cmd { Command::Crd => { - SparkApplication::print_yaml_schema(built_info::CARGO_PKG_VERSION)?; - SparkHistoryServer::print_yaml_schema(built_info::CARGO_PKG_VERSION)?; + SparkApplication::print_yaml_schema(built_info::PKG_VERSION)?; + SparkHistoryServer::print_yaml_schema(built_info::PKG_VERSION)?; } Command::Run(ProductOperatorRun { product_config, @@ -68,7 +66,7 @@ async fn main() -> anyhow::Result<()> { crate_description!(), crate_version!(), built_info::GIT_VERSION, - built_info::TARGET_PLATFORM.unwrap_or("unknown target"), + built_info::TARGET, built_info::BUILT_TIME_UTC, built_info::RUSTC_VERSION, ); diff --git a/rust/operator-binary/src/pod_driver_controller.rs b/rust/operator-binary/src/pod_driver_controller.rs index 272fe1e3..435f079d 100644 --- a/rust/operator-binary/src/pod_driver_controller.rs +++ b/rust/operator-binary/src/pod_driver_controller.rs @@ -21,7 +21,7 @@ pub enum Error { LabelInstanceNotFound { pod_name: String }, #[snafu(display("Failed to update status for application [{name}]"))] ApplySparkApplicationStatus { - source: stackable_operator::error::Error, + source: stackable_operator::client::Error, name: String, }, #[snafu(display("Pod name not found"))] @@ -32,7 +32,7 @@ pub enum Error { PodStatusPhaseNotFound { pod_name: String }, #[snafu(display("Spark application [{name}] not found"))] SparkApplicationNotFound { - source: stackable_operator::error::Error, + source: stackable_operator::client::Error, name: String, }, } diff --git a/rust/operator-binary/src/product_logging.rs b/rust/operator-binary/src/product_logging.rs index 896a1dae..3f9116ec 100644 --- a/rust/operator-binary/src/product_logging.rs +++ b/rust/operator-binary/src/product_logging.rs @@ -2,7 +2,7 @@ use std::fmt::Display; use snafu::{OptionExt, ResultExt, Snafu}; use stackable_operator::{ - builder::ConfigMapBuilder, + builder::configmap::ConfigMapBuilder, client::Client, k8s_openapi::api::core::v1::ConfigMap, kube::Resource, @@ -21,7 +21,7 @@ use stackable_spark_k8s_crd::constants::{ pub enum Error { #[snafu(display("failed to retrieve the ConfigMap {cm_name}"))] ConfigMapNotFound { - source: stackable_operator::error::Error, + source: stackable_operator::client::Error, cm_name: String, }, #[snafu(display("failed to retrieve the entry {entry} for ConfigMap {cm_name}"))] diff --git a/rust/operator-binary/src/spark_k8s_controller.rs b/rust/operator-binary/src/spark_k8s_controller.rs index 3dbc95fc..ab394117 100644 --- a/rust/operator-binary/src/spark_k8s_controller.rs +++ b/rust/operator-binary/src/spark_k8s_controller.rs @@ -16,10 +16,12 @@ use stackable_spark_k8s_crd::{ use crate::product_logging::{self, resolve_vector_aggregator_address}; use product_config::types::PropertyNameKind; use snafu::{OptionExt, ResultExt, Snafu}; -use stackable_operator::builder::resources::ResourceRequirementsBuilder; use stackable_operator::k8s_openapi::DeepMerge; use stackable_operator::{ - builder::{ConfigMapBuilder, ContainerBuilder, ObjectMetaBuilder, PodBuilder, VolumeBuilder}, + builder::{ + configmap::ConfigMapBuilder, meta::ObjectMetaBuilder, pod::container::ContainerBuilder, + pod::resources::ResourceRequirementsBuilder, pod::volume::VolumeBuilder, pod::PodBuilder, + }, commons::{ authentication::tls::{CaCert, TlsVerification}, product_image_selection::ResolvedProductImage, @@ -62,19 +64,19 @@ pub enum Error { ObjectHasNoNamespace, #[snafu(display("object is missing metadata to build owner reference"))] ObjectMissingMetadataForOwnerRef { - source: stackable_operator::error::Error, + source: stackable_operator::builder::meta::Error, }, #[snafu(display("failed to apply role ServiceAccount"))] ApplyServiceAccount { - source: stackable_operator::error::Error, + source: stackable_operator::client::Error, }, #[snafu(display("failed to apply global RoleBinding"))] ApplyRoleBinding { - source: stackable_operator::error::Error, + source: stackable_operator::client::Error, }, #[snafu(display("failed to apply Job"))] ApplyApplication { - source: stackable_operator::error::Error, + source: stackable_operator::client::Error, }, #[snafu(display("failed to build stark-submit command"))] BuildCommand { @@ -82,13 +84,13 @@ pub enum Error { }, #[snafu(display("failed to build the pod template config map"))] PodTemplateConfigMap { - source: stackable_operator::error::Error, + source: stackable_operator::builder::configmap::Error, }, #[snafu(display("pod template serialization"))] PodTemplateSerde { source: serde_yaml::Error }, #[snafu(display("s3 bucket error"))] S3Bucket { - source: stackable_operator::error::Error, + source: stackable_operator::commons::s3::Error, }, #[snafu(display("tls non-verification not supported"))] S3TlsNoVerificationNotSupported, @@ -102,7 +104,7 @@ pub enum Error { UnrecognisedContainerName, #[snafu(display("illegal container name"))] IllegalContainerName { - source: stackable_operator::error::Error, + source: stackable_operator::builder::pod::container::Error, }, #[snafu(display("failed to resolve the s3 log dir configuration"))] S3LogDir { @@ -122,7 +124,7 @@ pub enum Error { }, #[snafu(display("failed to generate product config"))] GenerateProductConfig { - source: stackable_operator::product_config_utils::ConfigError, + source: stackable_operator::product_config_utils::Error, }, #[snafu(display("invalid product config"))] InvalidProductConfig { @@ -140,7 +142,7 @@ pub enum Error { #[snafu(display("failed to build Metadata"))] MetadataBuild { - source: stackable_operator::builder::ObjectMetaBuilderError, + source: stackable_operator::builder::meta::Error, }, #[snafu(display("failed to get required Labels"))] @@ -206,7 +208,7 @@ pub async fn reconcile(spark_application: Arc, ctx: Arc) let resolved_product_image = spark_application .spec .spark_image - .resolve(SPARK_IMAGE_BASE_NAME, crate::built_info::CARGO_PKG_VERSION); + .resolve(SPARK_IMAGE_BASE_NAME, crate::built_info::PKG_VERSION); let validated_product_config: ValidatedRoleConfigByPropertyKind = spark_application .validated_role_config(&resolved_product_image, &ctx.product_config)