diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 28bea0c..bfbed10 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,12 +22,12 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: Install toolchain stable + - name: Install toolchain nightly uses: actions-rs/toolchain@v1 with: toolchain: nightly default: true - - name: UI Test with toolchain stable + - name: UI Test with toolchain nightly uses: actions-rs/cargo@v1 with: command: test diff --git a/Cargo.lock b/Cargo.lock index f5dd2d0..bd2bbe7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,17 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "ahash" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom 0.2.3", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" version = "0.7.15" @@ -65,9 +76,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "backoff" @@ -263,16 +274,6 @@ dependencies = [ "syn", ] -[[package]] -name = "dashmap" -version = "4.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c" -dependencies = [ - "cfg-if", - "num_cpus", -] - [[package]] name = "data-encoding" version = "2.3.2" @@ -568,7 +569,7 @@ dependencies = [ "indexmap", "slab", "tokio", - "tokio-util", + "tokio-util 0.6.8", "tracing", ] @@ -694,7 +695,7 @@ dependencies = [ "http", "hyper", "log", - "rustls 0.20.2", + "rustls 0.20.4", "rustls-native-certs", "tokio", "tokio-rustls 0.23.2", @@ -815,9 +816,9 @@ dependencies = [ [[package]] name = "k8s-openapi" -version = "0.13.1" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f8de9873b904e74b3533f77493731ee26742418077503683db44e1b3c54aa5c" +checksum = "0489fc937cc7616a9abfa61bf39c250d7e32e1325ef028c8d9278dd24ea395b3" dependencies = [ "base64", "bytes", @@ -880,9 +881,9 @@ dependencies = [ [[package]] name = "kube" -version = "0.66.0" +version = "0.71.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4b96944d327b752df4f62f3a31d8694892af06fb585747c0b5e664927823d1a" +checksum = "342744dfeb81fe186b84f485b33f12c6a15d3396987d933b06a566a3db52ca38" dependencies = [ "k8s-openapi", "kube-client", @@ -892,9 +893,9 @@ dependencies = [ [[package]] name = "kube-client" -version = "0.66.0" +version = "0.71.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "232db1af3d3680f9289cf0b4db51b2b9fee22550fc65d25869e39b23e0aaa696" +checksum = "3f69a504997799340408635d6e351afb8aab2c34ca3165e162f41b3b34a69a79" dependencies = [ "base64", "bytes", @@ -914,8 +915,8 @@ dependencies = [ "openssl", "pem 1.0.1", "pin-project", - "rustls 0.20.2", - "rustls-pemfile", + "rustls 0.20.4", + "rustls-pemfile 0.3.0", "secrecy", "serde", "serde_json", @@ -923,7 +924,7 @@ dependencies = [ "thiserror", "tokio", "tokio-native-tls", - "tokio-util", + "tokio-util 0.7.1", "tower", "tower-http", "tracing", @@ -931,9 +932,9 @@ dependencies = [ [[package]] name = "kube-core" -version = "0.66.0" +version = "0.71.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de491f8c9ee97117e0b47a629753e939c2392d5d0a40f6928e582a5fba328098" +checksum = "a4a247487699941baaf93438d65b12d4e32450bea849d619d19ed394e8a4a645" dependencies = [ "chrono", "form_urlencoded", @@ -949,9 +950,9 @@ dependencies = [ [[package]] name = "kube-derive" -version = "0.66.0" +version = "0.71.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcbb86bb3607245a67c8ad3a52aff41108f36b0d1e9e3e82ffb5760bfd84b965" +checksum = "203f7c5acf9d0dfb0b08d44ec1d66ace3d1dfe0cdd82e65e274f3f96615d666c" dependencies = [ "darling", "proc-macro2", @@ -962,24 +963,25 @@ dependencies = [ [[package]] name = "kube-runtime" -version = "0.66.0" +version = "0.71.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "710729592eb30219b4e84898e91dc991fe09ccafe2c17fec4e45c3426c61abe0" +checksum = "02ea50e6ed56578e1d1d02548901b12fe6d3edbf110269a396955e285d487973" dependencies = [ + "ahash", "backoff", - "dashmap", "derivative", "futures", "json-patch", "k8s-openapi", "kube-client", + "parking_lot", "pin-project", "serde", "serde_json", "smallvec", "thiserror", "tokio", - "tokio-util", + "tokio-util 0.7.1", "tracing", ] @@ -1014,6 +1016,16 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" +[[package]] +name = "lock_api" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" +dependencies = [ + "autocfg", + "scopeguard", +] + [[package]] name = "log" version = "0.4.14" @@ -1281,6 +1293,29 @@ dependencies = [ "num-traits", ] +[[package]] +name = "parking_lot" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "995f667a6c822200b0433ac218e05582f0e2efa1b922a3fd2fbaadc5f87bab37" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-sys", +] + [[package]] name = "pem" version = "0.8.3" @@ -1618,9 +1653,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.20.2" +version = "0.20.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d37e5e2290f3e040b594b1a9e04377c2c671f1a1cfd9bfdef82106ac1c113f84" +checksum = "4fbfeb8d0ddb84706bc597a5574ab8912817c52a397f819e5b614e2265206921" dependencies = [ "log", "ring", @@ -1635,7 +1670,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ca9ebdfa27d3fc180e42879037b5338ab1c040c06affd00d8338598e7800943" dependencies = [ "openssl-probe", - "rustls-pemfile", + "rustls-pemfile 0.2.1", "schannel", "security-framework", ] @@ -1649,6 +1684,15 @@ dependencies = [ "base64", ] +[[package]] +name = "rustls-pemfile" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ee86d63972a7c661d1536fefe8c3c8407321c3df668891286de28abcd087360" +dependencies = [ + "base64", +] + [[package]] name = "rustversion" version = "1.0.5" @@ -1707,6 +1751,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2" +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + [[package]] name = "sct" version = "0.6.1" @@ -2146,7 +2196,7 @@ version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a27d5f2b839802bd8267fa19b0530f5a08b9c08cd417976be2a65d130fe1c11b" dependencies = [ - "rustls 0.20.2", + "rustls 0.20.4", "tokio", "webpki 0.22.0", ] @@ -2160,7 +2210,7 @@ dependencies = [ "futures-core", "pin-project-lite", "tokio", - "tokio-util", + "tokio-util 0.6.8", ] [[package]] @@ -2187,8 +2237,22 @@ dependencies = [ "futures-sink", "log", "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0edfdeb067411dba2044da6d1cb2df793dd35add7888d73c16e3381ded401764" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "pin-project-lite", "slab", "tokio", + "tracing", ] [[package]] @@ -2201,7 +2265,7 @@ dependencies = [ "futures-util", "pin-project", "tokio", - "tokio-util", + "tokio-util 0.6.8", "tower-layer", "tower-service", "tracing", @@ -2506,7 +2570,7 @@ dependencies = [ "tokio-rustls 0.22.0", "tokio-stream", "tokio-tungstenite", - "tokio-util", + "tokio-util 0.6.8", "tower-service", "tracing", ] @@ -2629,6 +2693,49 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5acdd78cb4ba54c0045ac14f62d8f94a03d10047904ae2a40afa1e99d8f70825" +dependencies = [ + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_msvc" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d" + +[[package]] +name = "windows_i686_gnu" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed" + +[[package]] +name = "windows_i686_msvc" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9" + [[package]] name = "wyz" version = "0.2.0" diff --git a/krator-derive/Cargo.toml b/krator-derive/Cargo.toml index 9cf131d..bfcdf89 100644 --- a/krator-derive/Cargo.toml +++ b/krator-derive/Cargo.toml @@ -30,13 +30,13 @@ features = ["docs", "admission-webhook"] rustdoc-args = ["--cfg", "feature=\"docs\""] [dev-dependencies] -kube-runtime = { version = "0.66", default-features = false } -kube-derive = "0.66" +kube-runtime = { version = "0.71", default-features = false } +kube-derive = "0.71" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_yaml = "0.8" schemars = "0.8.0" anyhow = { version = "1.0.40" } -k8s-openapi = { version = "0.13", default-features = false, features = ["v1_22"] } -kube = { version = "0.66", default-features = false, features = ["derive"] } +k8s-openapi = { version = "0.14", default-features = false, features = ["v1_22"] } +kube = { version = "0.71", default-features = false, features = ["derive"] } rcgen = { version = "0.8.9", features = ["x509-parser", "pem"] } diff --git a/krator/Cargo.toml b/krator/Cargo.toml index dc2f07e..d93e4f5 100644 --- a/krator/Cargo.toml +++ b/krator/Cargo.toml @@ -35,8 +35,8 @@ async-trait = "0.1" anyhow = "1.0" tokio = { version = "1.0", features = ["fs", "macros", "signal"] } tokio-stream = { version = "0.1", features = ['sync'] } -kube = { version = "0.66", default-features = false, features = ['client'] } -kube-runtime = { version = "0.66", default-features = false } +kube = { version = "0.71", default-features = false, features = ['client', 'derive'] } +kube-runtime = { version = "0.71", default-features = false } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_yaml = { version = "0.8", optional = true } @@ -49,16 +49,16 @@ tracing-futures = "0.2" rcgen = { version = "0.8.9", features = ["x509-parser", "pem"], optional = true } [dependencies.k8s-openapi] -version = "0.13" +version = "0.14" default-features = false [dev-dependencies.k8s-openapi] -version = "0.13" +version = "0.14" default-features = false features = ["v1_22"] [dev-dependencies] -kube-derive = "0.66" +kube-derive = "0.71" schemars = "0.8" serde_yaml = "0.8" chrono = "0.4" diff --git a/krator/tests/ui/state/next_must_be_state.stderr b/krator/tests/ui/state/next_must_be_state.stderr index ccb92c5..94689a3 100644 --- a/krator/tests/ui/state/next_must_be_state.stderr +++ b/krator/tests/ui/state/next_must_be_state.stderr @@ -6,6 +6,9 @@ LL | Transition::next(self, NotState) | | | required by a bound introduced by this call | + = help: the following other types implement trait `krator::State`: + > + > note: required by a bound in `Transition::::next` --> $SRC_DIR/src/state.rs:43:33 | diff --git a/krator/tests/ui/state/require_same_object_state.stderr b/krator/tests/ui/state/require_same_object_state.stderr index 86cae70..7bab178 100644 --- a/krator/tests/ui/state/require_same_object_state.stderr +++ b/krator/tests/ui/state/require_same_object_state.stderr @@ -6,8 +6,7 @@ LL | Transition::next(self, OtherState) | | | required by a bound introduced by this call | - = help: the following implementations were found: - > + = help: the trait `krator::State` is implemented for `OtherState` note: required by a bound in `Transition::::next` --> $SRC_DIR/src/state.rs:43:33 |