diff --git a/Cargo.lock b/Cargo.lock index 9e6d857..f5dd2d0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -69,6 +69,17 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" +[[package]] +name = "backoff" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" +dependencies = [ + "getrandom 0.2.3", + "instant", + "rand 0.8.4", +] + [[package]] name = "base64" version = "0.13.0" @@ -217,15 +228,6 @@ dependencies = [ "libc", ] -[[package]] -name = "ct-logs" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1a816186fa68d9e426e3cb4ae4dff1fcd8e4a2c34b781bf7a822574a0d0aac8" -dependencies = [ - "sct", -] - [[package]] name = "darling" version = "0.13.0" @@ -641,6 +643,12 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "http-range-header" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" + [[package]] name = "httparse" version = "1.5.1" @@ -679,19 +687,17 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.22.1" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f9f7a97316d44c0af9b0301e65010573a853a9fc97046d7331d7f6bc0fd5a64" +checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac" dependencies = [ - "ct-logs", - "futures-util", + "http", "hyper", "log", - "rustls", + "rustls 0.20.2", "rustls-native-certs", "tokio", - "tokio-rustls", - "webpki", + "tokio-rustls 0.23.2", ] [[package]] @@ -755,6 +761,15 @@ dependencies = [ "bytes", ] +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + [[package]] name = "integer-encoding" version = "1.1.7" @@ -814,7 +829,7 @@ dependencies = [ [[package]] name = "krator" -version = "0.5.0" +version = "0.6.0" dependencies = [ "anyhow", "async-trait", @@ -846,7 +861,7 @@ dependencies = [ [[package]] name = "krator-derive" -version = "0.4.0" +version = "0.5.0" dependencies = [ "anyhow", "k8s-openapi", @@ -865,9 +880,9 @@ dependencies = [ [[package]] name = "kube" -version = "0.64.0" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84dcc2f8ca3f2427a72acc31fa9538159f6b33a97002e315a3fcd5323cf51a2b" +checksum = "f4b96944d327b752df4f62f3a31d8694892af06fb585747c0b5e664927823d1a" dependencies = [ "k8s-openapi", "kube-client", @@ -877,9 +892,9 @@ dependencies = [ [[package]] name = "kube-client" -version = "0.64.0" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8957106140aa24a76de3f7d005966f381b30a4cd6a9c003b3bba6828e9617535" +checksum = "232db1af3d3680f9289cf0b4db51b2b9fee22550fc65d25869e39b23e0aaa696" dependencies = [ "base64", "bytes", @@ -899,8 +914,9 @@ dependencies = [ "openssl", "pem 1.0.1", "pin-project", - "rustls", + "rustls 0.20.2", "rustls-pemfile", + "secrecy", "serde", "serde_json", "serde_yaml", @@ -911,14 +927,13 @@ dependencies = [ "tower", "tower-http", "tracing", - "webpki", ] [[package]] name = "kube-core" -version = "0.64.0" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ec73e7d8e937dd055d962af06e635e262fdb6ed341c36ecf659d4fece0a8005" +checksum = "de491f8c9ee97117e0b47a629753e939c2392d5d0a40f6928e582a5fba328098" dependencies = [ "chrono", "form_urlencoded", @@ -926,6 +941,7 @@ dependencies = [ "json-patch", "k8s-openapi", "once_cell", + "schemars", "serde", "serde_json", "thiserror", @@ -933,9 +949,9 @@ dependencies = [ [[package]] name = "kube-derive" -version = "0.64.0" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6651bfae82bc23439da1099174b52bcbf68df065dc33317c912e3c5c5cea43c" +checksum = "fcbb86bb3607245a67c8ad3a52aff41108f36b0d1e9e3e82ffb5760bfd84b965" dependencies = [ "darling", "proc-macro2", @@ -946,10 +962,11 @@ dependencies = [ [[package]] name = "kube-runtime" -version = "0.64.0" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b090d3d7b43e2d60fa93ca51b19fe9f2e05a5252c97880fe834f8fa9f2de605" +checksum = "710729592eb30219b4e84898e91dc991fe09ccafe2c17fec4e45c3426c61abe0" dependencies = [ + "backoff", "dashmap", "derivative", "futures", @@ -1595,18 +1612,30 @@ dependencies = [ "base64", "log", "ring", - "sct", - "webpki", + "sct 0.6.1", + "webpki 0.21.4", +] + +[[package]] +name = "rustls" +version = "0.20.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d37e5e2290f3e040b594b1a9e04377c2c671f1a1cfd9bfdef82106ac1c113f84" +dependencies = [ + "log", + "ring", + "sct 0.7.0", + "webpki 0.22.0", ] [[package]] name = "rustls-native-certs" -version = "0.5.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a07b7c1885bd8ed3831c289b7870b13ef46fe0e856d288c30d9cc17d75a2092" +checksum = "5ca9ebdfa27d3fc180e42879037b5338ab1c040c06affd00d8338598e7800943" dependencies = [ "openssl-probe", - "rustls", + "rustls-pemfile", "schannel", "security-framework", ] @@ -1650,9 +1679,9 @@ dependencies = [ [[package]] name = "schemars" -version = "0.8.3" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6ab463ae35acccb5cba66c0084c985257b797d288b6050cc2f6ac1b266cb78" +checksum = "c6b5a3c80cea1ab61f4260238409510e814e38b4b563c06044edf91e7dc070e3" dependencies = [ "dyn-clone", "schemars_derive", @@ -1662,9 +1691,9 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.3" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "902fdfbcf871ae8f653bddf4b2c05905ddaabc08f69d32a915787e3be0d31356" +checksum = "41ae4dce13e8614c46ac3c38ef1c0d668b101df6ac39817aebdaa26642ddae9b" dependencies = [ "proc-macro2", "quote", @@ -1688,6 +1717,26 @@ dependencies = [ "untrusted", ] +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "secrecy" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e" +dependencies = [ + "serde", + "zeroize", +] + [[package]] name = "security-framework" version = "2.4.2" @@ -2086,9 +2135,20 @@ version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" dependencies = [ - "rustls", + "rustls 0.19.1", + "tokio", + "webpki 0.21.4", +] + +[[package]] +name = "tokio-rustls" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a27d5f2b839802bd8267fa19b0530f5a08b9c08cd417976be2a65d130fe1c11b" +dependencies = [ + "rustls 0.20.2", "tokio", - "webpki", + "webpki 0.22.0", ] [[package]] @@ -2149,17 +2209,19 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.1.1" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b56efe69aa0ad2b5da6b942e57ea9f6fe683b7a314d4ff48662e2c8838de1" +checksum = "03650267ad175b51c47d02ed9547fc7d4ba2c7e5cb76df0bed67edd1825ae297" dependencies = [ "base64", + "bitflags", "bytes", "futures-core", "futures-util", "http", "http-body", - "pin-project", + "http-range-header", + "pin-project-lite", "tower-layer", "tower-service", "tracing", @@ -2441,7 +2503,7 @@ dependencies = [ "serde_json", "serde_urlencoded", "tokio", - "tokio-rustls", + "tokio-rustls 0.22.0", "tokio-stream", "tokio-tungstenite", "tokio-util", @@ -2535,6 +2597,16 @@ dependencies = [ "untrusted", ] +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "winapi" version = "0.3.9" @@ -2598,3 +2670,9 @@ checksum = "e262a29d0e61ccf2b6190d7050d4b237535fc76ce4c1210d9caa316f71dffa75" dependencies = [ "chrono", ] + +[[package]] +name = "zeroize" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc222aec311c323c717f56060324f32b82da1ce1dd81d9a09aa6a9030bfe08db" diff --git a/deny.toml b/deny.toml index 7b51278..c732c1e 100644 --- a/deny.toml +++ b/deny.toml @@ -75,6 +75,7 @@ allow = [ "Apache-2.0", "LicenseRef-ring", "ISC", + "BSD-3-Clause" ] # List of explictly disallowed licenses # See https://spdx.org/licenses/ for list of possible licenses diff --git a/krator-derive/Cargo.toml b/krator-derive/Cargo.toml index f122f86..9cf131d 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.64", default-features = false } -kube-derive = "0.64" +kube-runtime = { version = "0.66", default-features = false } +kube-derive = "0.66" 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.64", default-features = false, features = ["derive"] } +kube = { version = "0.66", default-features = false, features = ["derive"] } rcgen = { version = "0.8.9", features = ["x509-parser", "pem"] } diff --git a/krator-derive/src/transitions.rs b/krator-derive/src/transitions.rs index 6b37421..90239f1 100644 --- a/krator-derive/src/transitions.rs +++ b/krator-derive/src/transitions.rs @@ -36,15 +36,13 @@ pub fn run_custom_derive(input: TokenStream) -> TokenStream { if transitions.is_empty() { let message = format!( "No `{}` attribute found for `{}`. Please specify at least one type to transition to", - ATTRIBUTE_NAME, - name.to_string() + ATTRIBUTE_NAME, name ); TokenStream::from(Error::new(name.span(), message).to_compile_error()) } else if transitions.len() > 1 { let message = format!( "Multiple `{}` attributes found for `{}`. Please specify only one attribute", - ATTRIBUTE_NAME, - name.to_string() + ATTRIBUTE_NAME, name ); TokenStream::from(Error::new(name.span(), message).to_compile_error()) } else { diff --git a/krator/Cargo.toml b/krator/Cargo.toml index 7c473b6..dc2f07e 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.64", default-features = false, features = ['client'] } -kube-runtime = { version = "0.64", default-features = false } +kube = { version = "0.66", default-features = false, features = ['client'] } +kube-runtime = { version = "0.66", default-features = false } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_yaml = { version = "0.8", optional = true } @@ -58,7 +58,7 @@ default-features = false features = ["v1_22"] [dev-dependencies] -kube-derive = "0.64" +kube-derive = "0.66" schemars = "0.8" serde_yaml = "0.8" chrono = "0.4"