diff --git a/Cargo.lock b/Cargo.lock index 9ea826f808..dc48c528d9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -32,15 +32,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "ansi_term" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" -dependencies = [ - "winapi", -] - [[package]] name = "ansi_term" version = "0.12.1" @@ -52,18 +43,18 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.44" +version = "1.0.53" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1" +checksum = "94a45b455c14666b85fc40a019e8ab9eb75e3a124e05494f5397122bc9eb06e0" dependencies = [ "backtrace", ] [[package]] name = "async-compression" -version = "0.3.8" +version = "0.3.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443ccbb270374a2b1055fc72da40e1f237809cd6bb0e97e66d264cd138473a6" +checksum = "f2bf394cfbbe876f0ac67b13b6ca819f9c9f2fb9ec67223cceb1555fbab1c31a" dependencies = [ "futures-core", "memchr", @@ -75,9 +66,9 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.51" +version = "0.1.52" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44318e776df68115a881de9a8fd1b9e53368d7a4a5ce4cc48517da3393233a5e" +checksum = "061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3" dependencies = [ "proc-macro2", "quote", @@ -97,7 +88,7 @@ dependencies = [ "serde_json", "url", "webpki 0.22.0", - "webpki-roots 0.22.1", + "webpki-roots", "wildmatch", ] @@ -114,9 +105,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 = "aversion" @@ -160,18 +151,18 @@ dependencies = [ [[package]] name = "aws-region" -version = "0.23.2" +version = "0.23.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2884b8f2aaeb4a4bf80b219b4fe1d340139ca9331679c57e0fd4a24f571a78bd" +checksum = "4e37c2dc2c9047311911ef175e0ffbb3853f17c32b72cf3d562f455e5ff77267" dependencies = [ "anyhow", ] [[package]] name = "backtrace" -version = "0.3.63" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "321629d8ba6513061f26707241fa9bc89524ff1cd7a915a97ef0c62c666ce1b6" +checksum = "5e121dee8023ce33ab248d9ce1493df03c3b38a659b240096fcbd7048ff9c31f" dependencies = [ "addr2line", "cc", @@ -205,14 +196,14 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.59.1" +version = "0.59.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453c49e5950bb0eb63bb3df640e31618846c89d5b7faa54040d76e98e0134375" +checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8" dependencies = [ "bitflags", "cexpr", "clang-sys", - "clap", + "clap 2.34.0", "env_logger", "lazy_static", "lazycell", @@ -232,18 +223,6 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -[[package]] -name = "bitvec" -version = "0.19.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - [[package]] name = "block-buffer" version = "0.9.0" @@ -272,9 +251,9 @@ checksum = "5988cb1d626264ac94100be357308f29ff7cbdd3b36bda27f450a4ee3f713426" [[package]] name = "bumpalo" -version = "3.7.1" +version = "3.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9df67f7bf9ef8498769f994239c45613ef0c5899415fb58e9add412d2c1a538" +checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899" [[package]] name = "byteorder" @@ -293,18 +272,18 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.71" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd" +checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" dependencies = [ "jobserver", ] [[package]] name = "cexpr" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db507a7679252d2276ed0dd8113c6875ec56d3089f9225b2b42c30cc1f8e5c89" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" dependencies = [ "nom", ] @@ -330,9 +309,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.2.2" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10612c0ec0e0a1ff0e97980647cb058a6e7aedb913d01d009c406b8b7d0b26ee" +checksum = "4cc00842eed744b858222c4c9faf7243aafc6d33f92f96935263ef4d8a41ce21" dependencies = [ "glob", "libc", @@ -341,24 +320,39 @@ dependencies = [ [[package]] name = "clap" -version = "2.33.3" +version = "2.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ - "ansi_term 0.11.0", + "ansi_term", "atty", "bitflags", - "strsim", - "textwrap", + "strsim 0.8.0", + "textwrap 0.11.0", "unicode-width", "vec_map", ] [[package]] -name = "combine" -version = "4.6.2" +name = "clap" +version = "3.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b2f5d0ee456f3928812dfc8c6d9a1d592b98678f6d56db9b0cd2b7bc6c8db5" +checksum = "b63edc3f163b3c71ec8aa23f9bd6070f77edbf3d1d198b164afa90ff00e4ec62" +dependencies = [ + "atty", + "bitflags", + "indexmap", + "os_str_bytes", + "strsim 0.10.0", + "termcolor", + "textwrap 0.14.2", +] + +[[package]] +name = "combine" +version = "4.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50b727aacc797f9fc28e355d21f34709ac4fc9adecfe470ad07b8f4464f53062" dependencies = [ "bytes", "memchr", @@ -370,7 +364,7 @@ version = "0.1.0" dependencies = [ "anyhow", "chrono", - "clap", + "clap 3.0.14", "env_logger", "hyper", "libc", @@ -434,18 +428,18 @@ dependencies = [ [[package]] name = "crc32c" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "210cdf933e6a81212bfabf90cd8762f471b5922e5f6b709547673ad8e04b9448" +checksum = "ee6b9c9389584bcba988bd0836086789b7f87ad91892d6a83d5291dbb24524b5" dependencies = [ "rustc_version", ] [[package]] name = "crossbeam-utils" -version = "0.8.5" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db" +checksum = "b5e5bed1f1c269533fa816a0a5492b3545209a205ca1a54842be180eb63a16a6" dependencies = [ "cfg-if", "lazy_static", @@ -527,18 +521,18 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "encoding_rs" -version = "0.8.28" +version = "0.8.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065" +checksum = "7896dc8abb250ffdda33912550faa54c88ec8b998dec0b2c55ab224921ce11df" dependencies = [ "cfg-if", ] [[package]] name = "env_logger" -version = "0.8.4" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3" +checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" dependencies = [ "atty", "humantime", @@ -553,6 +547,15 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" +[[package]] +name = "fastrand" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" +dependencies = [ + "instant", +] + [[package]] name = "filetime" version = "0.2.15" @@ -591,17 +594,11 @@ dependencies = [ "winapi", ] -[[package]] -name = "funty" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7" - [[package]] name = "futures" -version = "0.3.18" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cd0210d8c325c245ff06fd95a3b13689a1a276ac8cfa8e8720cb840bfb84b9e" +checksum = "f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e" dependencies = [ "futures-channel", "futures-core", @@ -614,9 +611,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.18" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc8cd39e3dbf865f7340dce6a2d401d24fd37c6fe6c4f0ee0de8bfca2252d27" +checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010" dependencies = [ "futures-core", "futures-sink", @@ -624,15 +621,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.18" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "629316e42fe7c2a0b9a65b47d159ceaa5453ab14e8f0a3c5eedbb8cd55b4a445" +checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3" [[package]] name = "futures-executor" -version = "0.3.18" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b808bf53348a36cab739d7e04755909b9fcaaa69b7d7e588b37b6ec62704c97" +checksum = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6" dependencies = [ "futures-core", "futures-task", @@ -641,15 +638,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.18" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e481354db6b5c353246ccf6a728b0c5511d752c08da7260546fc0933869daa11" +checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b" [[package]] name = "futures-macro" -version = "0.3.18" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a89f17b21645bc4ed773c69af9c9a0effd4a3f1a3876eadd453469f8854e7fdd" +checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512" dependencies = [ "proc-macro2", "quote", @@ -658,21 +655,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.18" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "996c6442437b62d21a32cd9906f9c41e7dc1e19a9579843fad948696769305af" +checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868" [[package]] name = "futures-task" -version = "0.3.18" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dabf1872aaab32c886832f2276d2f5399887e2bd613698a02359e4ea83f8de12" +checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a" [[package]] name = "futures-util" -version = "0.3.18" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d22213122356472061ac0f1ab2cee28d2bac8491410fd68c2af53d1cedb83e" +checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a" dependencies = [ "futures-channel", "futures-core", @@ -688,9 +685,9 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.4" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" +checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803" dependencies = [ "typenum", "version_check", @@ -698,9 +695,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +checksum = "418d37c8b1d42553c93648be529cb70f920d3baf8ef469b74b9638df426e0b4c" dependencies = [ "cfg-if", "libc", @@ -743,9 +740,9 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" [[package]] name = "h2" -version = "0.3.6" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c06815895acec637cd6ed6e9662c935b866d20a106f8361892893a7d9234964" +checksum = "d9f1f717ddc7b2ba36df7e871fd88db79326551d3d6f1fc406fbfd28b582ff8e" dependencies = [ "bytes", "fnv", @@ -762,9 +759,9 @@ dependencies = [ [[package]] name = "half" -version = "1.8.0" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac5956d4e63858efaec57e0d6c1c2f6a41e1487f830314a324ccd7e2223a7ca0" +checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" [[package]] name = "hashbrown" @@ -801,9 +798,9 @@ dependencies = [ [[package]] name = "hex-literal" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e4590e13640f19f249fe3e4eca5113bc4289f2497710378190e7f4bd96f45b" +checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0" [[package]] name = "hmac" @@ -827,20 +824,20 @@ dependencies = [ [[package]] name = "http" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1323096b05d41827dadeaee54c9981958c0f94e670bc94ed80037d1a7b8b186b" +checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03" dependencies = [ "bytes", "fnv", - "itoa", + "itoa 1.0.1", ] [[package]] name = "http-body" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "399c583b2979440c60be0821a6199eca73bc3c8dcd9d070d75ac726e2c6186e5" +checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6" dependencies = [ "bytes", "http", @@ -849,15 +846,15 @@ dependencies = [ [[package]] name = "httparse" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" +checksum = "9100414882e15fb7feccb4897e5f0ff0ff1ca7d1a86a23208ada4d7a18e6c6c4" [[package]] name = "httpdate" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" [[package]] name = "humantime" @@ -867,9 +864,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.13" +version = "0.14.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15d1cfb9e4f68655fa04c01f59edb405b6074a0f7118ea881e5026e4a1cd8593" +checksum = "b7ec3e62bdc98a2f0393a5048e4c30ef659440ea6e0e572965103e72bd836f55" dependencies = [ "bytes", "futures-channel", @@ -880,7 +877,7 @@ dependencies = [ "http-body", "httparse", "httpdate", - "itoa", + "itoa 0.4.8", "pin-project-lite", "socket2", "tokio", @@ -891,17 +888,15 @@ 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 = [ - "futures-util", + "http", "hyper", - "log", - "rustls 0.19.1", + "rustls 0.20.2", "tokio", "tokio-rustls", - "webpki 0.21.4", ] [[package]] @@ -917,9 +912,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" +checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223" dependencies = [ "autocfg", "hashbrown 0.11.2", @@ -927,9 +922,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.11" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "716d3d89f35ac6a34fd0eed635395f4c3b76fa889338a4632e5231a8684216bd" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ "cfg-if", ] @@ -955,6 +950,12 @@ version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" +[[package]] +name = "itoa" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" + [[package]] name = "jobserver" version = "0.1.24" @@ -966,9 +967,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.55" +version = "0.3.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84" +checksum = "a38fc24e30fd564ce974c02bf1d337caddff65be6cc4735a1f7eab22a7440f04" dependencies = [ "wasm-bindgen", ] @@ -1010,15 +1011,15 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.103" +version = "0.2.117" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8f7255a17a627354f321ef0055d63b898c6fb27eff628af4d1b66b7331edf6" +checksum = "e74d72e0f9b65b5b4ca49a346af3976df0f9c61d550727f349ecd559f251a26c" [[package]] name = "libloading" -version = "0.7.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0cf036d15402bea3c5d4de17b3fce76b3e4a56ebc1f577be0e7a72f7c607cf0" +checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" dependencies = [ "cfg-if", "winapi", @@ -1026,9 +1027,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" +checksum = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b" dependencies = [ "scopeguard", ] @@ -1094,9 +1095,9 @@ checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" [[package]] name = "memoffset" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" dependencies = [ "autocfg", ] @@ -1107,6 +1108,12 @@ version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + [[package]] name = "miniz_oxide" version = "0.4.4" @@ -1119,9 +1126,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.7.13" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c2bdb6314ec10835cd3293dd268473a835c02b7b352e788be788b3c6ca6bb16" +checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" dependencies = [ "libc", "log", @@ -1141,9 +1148,9 @@ dependencies = [ [[package]] name = "nix" -version = "0.23.0" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f305c2c2e4c39a82f7bf0bf65fb557f9070ce06781d4f2454295cc34b1c43188" +checksum = "9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6" dependencies = [ "bitflags", "cc", @@ -1154,13 +1161,12 @@ dependencies = [ [[package]] name = "nom" -version = "6.1.2" +version = "7.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2" +checksum = "1b1d11e1ef389c76fe5b81bcaf2ea32cf88b62bc494e19f493d0b30e7a930109" dependencies = [ - "bitvec", - "funty", "memchr", + "minimal-lexical", "version_check", ] @@ -1205,9 +1211,9 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" +checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" dependencies = [ "hermit-abi", "libc", @@ -1224,9 +1230,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" +checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5" [[package]] name = "opaque-debug" @@ -1244,6 +1250,15 @@ dependencies = [ "hashbrown 0.9.1", ] +[[package]] +name = "os_str_bytes" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64" +dependencies = [ + "memchr", +] + [[package]] name = "pageserver" version = "0.1.0" @@ -1255,7 +1270,7 @@ dependencies = [ "byteorder", "bytes", "chrono", - "clap", + "clap 3.0.14", "const_format", "crc32c", "crossbeam-utils", @@ -1269,7 +1284,6 @@ dependencies = [ "log", "nix", "once_cell", - "parking_lot", "postgres 0.19.1 (git+https://github.com/zenithdb/rust-postgres.git?rev=2949d98df52587d562986aad155dd4e889e408b7)", "postgres-protocol 0.6.1 (git+https://github.com/zenithdb/rust-postgres.git?rev=2949d98df52587d562986aad155dd4e889e408b7)", "postgres-types 0.2.1 (git+https://github.com/zenithdb/rust-postgres.git?rev=2949d98df52587d562986aad155dd4e889e408b7)", @@ -1305,7 +1319,17 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", "lock_api", - "parking_lot_core", + "parking_lot_core 0.8.5", +] + +[[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 0.9.1", ] [[package]] @@ -1322,6 +1346,19 @@ dependencies = [ "winapi", ] +[[package]] +name = "parking_lot_core" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28141e0cc4143da2443301914478dc976a61ffdb3f043058310c70df2fed8954" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-sys", +] + [[package]] name = "peeking_take_while" version = "0.1.2" @@ -1365,18 +1402,18 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.0.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08" +checksum = "58ad3879ad3baf4e44784bc6a718a8698867bb991f8ce24d1bcbe2cfb4c3a75e" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.0.8" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389" +checksum = "744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bb" dependencies = [ "proc-macro2", "quote", @@ -1385,9 +1422,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" +checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c" [[package]] name = "pin-utils" @@ -1503,9 +1540,9 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.14" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ca011bd0129ff4ae15cd04c4eef202cadf6c51c21e47aba319b4e0501db741" +checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" [[package]] name = "proc-macro-hack" @@ -1515,24 +1552,24 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] name = "proc-macro2" -version = "1.0.30" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc3358ebc67bc8b7fa0c007f945b0b18226f78437d61bec735a9eb96b61ee70" +checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" dependencies = [ "unicode-xid", ] [[package]] name = "prometheus" -version = "0.12.0" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5986aa8d62380092d2f50f8b1cdba9cb9b6731ffd4b25b51fd126b6c3e05b99c" +checksum = "b7f64969ffd5dd8f39bd57a68ac53c163a095ed9d0fb707146da1b27025a3504" dependencies = [ "cfg-if", "fnv", "lazy_static", "memchr", - "parking_lot", + "parking_lot 0.11.2", "thiserror", ] @@ -1542,12 +1579,12 @@ version = "0.1.0" dependencies = [ "anyhow", "bytes", - "clap", + "clap 3.0.14", "hex", "hyper", "lazy_static", "md5", - "parking_lot", + "parking_lot 0.12.0", "rand", "reqwest", "routerify", @@ -1562,19 +1599,13 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.10" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05" +checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145" dependencies = [ "proc-macro2", ] -[[package]] -name = "radium" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8" - [[package]] name = "rand" version = "0.8.4" @@ -1671,15 +1702,16 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.5" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51c732d463dd300362ffb44b7b125f299c23d2990411a4253824630ebc7467fb" +checksum = "87f242f1488a539a79bac6dbe7c8609ae43b7914b7736210f239a37cccb32525" dependencies = [ "base64 0.13.0", "bytes", "encoding_rs", "futures-core", "futures-util", + "h2", "http", "http-body", "hyper", @@ -1691,17 +1723,19 @@ dependencies = [ "mime", "percent-encoding", "pin-project-lite", - "rustls 0.19.1", + "rustls 0.20.2", + "rustls-pemfile", "serde", "serde_json", "serde_urlencoded", "tokio", "tokio-rustls", + "tokio-util", "url", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots 0.21.1", + "webpki-roots", "winreg", ] @@ -1722,9 +1756,9 @@ dependencies = [ [[package]] name = "routerify" -version = "2.2.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c6bb49594c791cadb5ccfa5f36d41b498d40482595c199d10cd318800280bd9" +checksum = "496c1d3718081c45ba9c31fbfc07417900aa96f4070ff90dc29961836b7a9945" dependencies = [ "http", "hyper", @@ -1745,9 +1779,9 @@ dependencies = [ [[package]] name = "rust-s3" -version = "0.28.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18c58d4682844a5d6301efbf915dd7a9d3d638006f9bb821527a0bbbf2a4cfc2" +checksum = "2dc0e521d1084d6950e050d4e2595f0fbdaa2b96bb795bab3d90a282288c5e49" dependencies = [ "anyhow", "async-trait", @@ -1787,9 +1821,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc_version" -version = "0.2.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ "semver", ] @@ -1819,6 +1853,15 @@ dependencies = [ "webpki 0.22.0", ] +[[package]] +name = "rustls-pemfile" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9" +dependencies = [ + "base64 0.13.0", +] + [[package]] name = "rustls-split" version = "0.2.2" @@ -1830,9 +1873,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.5" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" +checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" [[package]] name = "same-file" @@ -1871,24 +1914,15 @@ dependencies = [ [[package]] name = "semver" -version = "0.9.0" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser", -] - -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" +checksum = "0486718e92ec9a68fbed73bb5ef687d71103b142595b406835649bebd33f72c7" [[package]] name = "serde" -version = "1.0.130" +version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" +checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" dependencies = [ "serde_derive", ] @@ -1917,9 +1951,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.130" +version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" +checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" dependencies = [ "proc-macro2", "quote", @@ -1928,32 +1962,32 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.68" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f690853975602e1bfe1ccbf50504d67174e3bcf340f23b5ea9992e0587a52d8" +checksum = "d23c1ba4cf0efd44be32017709280b32d1cea5c3f1275c3b6d9e8bc54f758085" dependencies = [ - "itoa", + "itoa 1.0.1", "ryu", "serde", ] [[package]] name = "serde_urlencoded" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" dependencies = [ "form_urlencoded", - "itoa", + "itoa 1.0.1", "ryu", "serde", ] [[package]] name = "sha2" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b69f9a4c9740d74c5baa3fd2e547f9525fa8088a8a958e0ca2409a514e33f5fa" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" dependencies = [ "block-buffer", "cfg-if", @@ -1979,9 +2013,9 @@ checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" [[package]] name = "signal-hook" -version = "0.3.10" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c98891d737e271a2954825ef19e46bd16bdb98e2746f2eec4f7a4ef7946efd1" +checksum = "647c97df271007dcea485bb74ffdb57f2e683f1306c854f468a0c244badabf2d" dependencies = [ "libc", "signal-hook-registry", @@ -2009,9 +2043,9 @@ dependencies = [ [[package]] name = "siphasher" -version = "0.3.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "533494a8f9b724d33625ab53c6c4800f7cc445895924a8ef649222dcb76e938b" +checksum = "a86232ab60fa71287d7f2ddae4a7073f6b7aac33631c3015abb556f08c6d0a3e" [[package]] name = "slab" @@ -2021,15 +2055,15 @@ checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5" [[package]] name = "smallvec" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" +checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" [[package]] name = "socket2" -version = "0.4.2" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" +checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" dependencies = [ "libc", "winapi", @@ -2057,6 +2091,12 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + [[package]] name = "subtle" version = "2.4.1" @@ -2065,26 +2105,20 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.80" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d010a1623fbd906d51d650a9916aaefc05ffa0e4053ff7fe601167f3e715d194" +checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b" dependencies = [ "proc-macro2", "quote", "unicode-xid", ] -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - [[package]] name = "tar" -version = "0.4.37" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6f5515d3add52e0bbdcad7b83c388bb36ba7b754dda3b5f5bc2d38640cdba5c" +checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6" dependencies = [ "filetime", "libc", @@ -2093,13 +2127,13 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" +checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" dependencies = [ "cfg-if", + "fastrand", "libc", - "rand", "redox_syscall", "remove_dir_all", "winapi", @@ -2123,6 +2157,12 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "textwrap" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80" + [[package]] name = "thiserror" version = "1.0.30" @@ -2145,9 +2185,9 @@ dependencies = [ [[package]] name = "thread_local" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8018d24e04c95ac8790716a5987d0fec4f8b27249ffa0f7d33f1369bdfb88cbd" +checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" dependencies = [ "once_cell", ] @@ -2165,9 +2205,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83b2a3d4d9091d0abd7eba4dc2710b1718583bd4d8992e2190720ea38f391f7" +checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" dependencies = [ "tinyvec_macros", ] @@ -2180,11 +2220,10 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.12.0" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2c2416fdedca8443ae44b4527de1ea633af61d8f7169ffa6e72c5b53d24efcc" +checksum = "0c27a64b625de6d309e8c57716ba93021dccf1b3b5c97edd6d3dd2d2135afc0a" dependencies = [ - "autocfg", "bytes", "libc", "memchr", @@ -2199,9 +2238,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.5.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2dd85aeaba7b68df939bd357c6afb36c87951be9e80bf9c859f2fc3e9fca0fd" +checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7" dependencies = [ "proc-macro2", "quote", @@ -2219,7 +2258,7 @@ dependencies = [ "fallible-iterator", "futures", "log", - "parking_lot", + "parking_lot 0.11.2", "percent-encoding", "phf", "pin-project-lite", @@ -2241,7 +2280,7 @@ dependencies = [ "fallible-iterator", "futures", "log", - "parking_lot", + "parking_lot 0.11.2", "percent-encoding", "phf", "pin-project-lite", @@ -2254,13 +2293,13 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.22.0" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" +checksum = "a27d5f2b839802bd8267fa19b0530f5a08b9c08cd417976be2a65d130fe1c11b" dependencies = [ - "rustls 0.19.1", + "rustls 0.20.2", "tokio", - "webpki 0.21.4", + "webpki 0.22.0", ] [[package]] @@ -2276,9 +2315,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d3725d3efa29485e87311c5b699de63cde14b00ed4d256b8318aa30ca452cd" +checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0" dependencies = [ "bytes", "futures-core", @@ -2299,9 +2338,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.12.0" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c14e16aafed5fb7a1bdc293270ca28f17d0a09b4f528f8de34521f2a32d99198" +checksum = "744e9ed5b352340aa47ce033716991b5589e23781acb97cad37d4ea70560f55b" dependencies = [ "combine", "indexmap", @@ -2318,9 +2357,9 @@ checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" [[package]] name = "tracing" -version = "0.1.29" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105" +checksum = "2d8d93354fe2a8e50d5953f5ae2e47a3fc2ef03292e7ea46e3cc38f549525fb9" dependencies = [ "cfg-if", "pin-project-lite", @@ -2330,9 +2369,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.18" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f480b8f81512e825f337ad51e94c1eb5d3bbdf2b363dcd01e2b19a9ffe3f8e" +checksum = "8276d9a4a3a558d7b7ad5303ad50b53d58264641b82914b7ada36bd762e7a716" dependencies = [ "proc-macro2", "quote", @@ -2341,11 +2380,12 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4" +checksum = "03cfcb51380632a72d3111cb8d3447a8d908e577d31beeac006f836383d29a23" dependencies = [ "lazy_static", + "valuable", ] [[package]] @@ -2371,11 +2411,11 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.1" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80a4ddde70311d8da398062ecf6fc2c309337de6b0f77d6c27aff8d53f6fca52" +checksum = "74786ce43333fcf51efe947aed9718fbe46d5c7328ec3f1029e818083966d9aa" dependencies = [ - "ansi_term 0.12.1", + "ansi_term", "lazy_static", "matchers", "regex", @@ -2395,9 +2435,9 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "typenum" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "unicode-bidi" @@ -2444,6 +2484,12 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + [[package]] name = "vec_map" version = "0.8.2" @@ -2452,9 +2498,9 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" [[package]] name = "version_check" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] name = "walkdir" @@ -2474,7 +2520,7 @@ dependencies = [ "anyhow", "byteorder", "bytes", - "clap", + "clap 3.0.14", "const_format", "crc32c", "daemonize", @@ -2520,9 +2566,9 @@ checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" [[package]] name = "wasm-bindgen" -version = "0.2.78" +version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce" +checksum = "25f1af7423d8588a3d840681122e72e6a24ddbcb3f0ec385cac0d12d24256c06" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -2530,9 +2576,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.78" +version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b" +checksum = "8b21c0df030f5a177f3cba22e9bc4322695ec43e7257d865302900290bcdedca" dependencies = [ "bumpalo", "lazy_static", @@ -2545,9 +2591,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.28" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8d7523cb1f2a4c96c1317ca690031b714a51cc14e05f712446691f413f5d39" +checksum = "2eb6ec270a31b1d3c7e266b999739109abce8b6c87e4b31fcfcd788b65267395" dependencies = [ "cfg-if", "js-sys", @@ -2557,9 +2603,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.78" +version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9" +checksum = "2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2567,9 +2613,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.78" +version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab" +checksum = "bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc" dependencies = [ "proc-macro2", "quote", @@ -2580,15 +2626,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.78" +version = "0.2.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc" +checksum = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2" [[package]] name = "web-sys" -version = "0.3.55" +version = "0.3.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb" +checksum = "c060b319f29dd25724f09a2ba1418f142f539b2be99fbf4d2d5a8f7330afb8eb" dependencies = [ "js-sys", "wasm-bindgen", @@ -2616,28 +2662,21 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.21.1" +version = "0.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940" -dependencies = [ - "webpki 0.21.4", -] - -[[package]] -name = "webpki-roots" -version = "0.22.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c475786c6f47219345717a043a37ec04cb4bc185e28853adcc4fa0a947eba630" +checksum = "552ceb903e957524388c4d3475725ff2c8b7960922063af6ce53c9a43da07449" dependencies = [ "webpki 0.22.0", ] [[package]] name = "which" -version = "3.1.1" +version = "4.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d011071ae14a2f6671d0b74080ae0cd8ebf3a6f8c9589a2cd45f23126fe29724" +checksum = "2a5a7e487e921cf220206864a94a89b6c6905bfc19f1057fa26a4cb360e5c1d2" dependencies = [ + "either", + "lazy_static", "libc", ] @@ -2678,6 +2717,49 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows-sys" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3df6e476185f92a12c072be4a189a0210dcdcf512a1891d6dff9edb874deadc6" +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.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5" + +[[package]] +name = "windows_i686_gnu" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615" + +[[package]] +name = "windows_i686_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" + [[package]] name = "winreg" version = "0.7.0" @@ -2703,12 +2785,6 @@ dependencies = [ "syn", ] -[[package]] -name = "wyz" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214" - [[package]] name = "xattr" version = "0.2.2" @@ -2729,7 +2805,7 @@ name = "zenith" version = "0.1.0" dependencies = [ "anyhow", - "clap", + "clap 3.0.14", "control_plane", "pageserver", "postgres 0.19.1 (git+https://github.com/zenithdb/rust-postgres.git?rev=2949d98df52587d562986aad155dd4e889e408b7)", @@ -2787,18 +2863,18 @@ dependencies = [ [[package]] name = "zstd" -version = "0.7.0+zstd.1.4.9" +version = "0.10.0+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9428752481d8372e15b1bf779ea518a179ad6c771cca2d2c60e4fbff3cc2cd52" +checksum = "3b1365becbe415f3f0fcd024e2f7b45bacfb5bdd055f0dc113571394114e7bdd" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "3.1.0+zstd.1.4.9" +version = "4.1.4+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa1926623ad7fe406e090555387daf73db555b948134b4d73eac5eb08fb666d" +checksum = "2f7cd17c9af1a4d6c24beb1cc54b17e2ef7b593dc92f19e9d9acad8b182bbaee" dependencies = [ "libc", "zstd-sys", @@ -2806,9 +2882,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "1.5.0+zstd.1.4.9" +version = "1.6.3+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e6c094340240369025fc6b731b054ee2a834328fa584310ac96aa4baebdc465" +checksum = "fc49afa5c8d634e75761feda8c592051e7eeb4683ba827211eb0d731d3402ea8" dependencies = [ "cc", "libc", diff --git a/compute_tools/Cargo.toml b/compute_tools/Cargo.toml index 4efef1f1ca..3adf762dcb 100644 --- a/compute_tools/Cargo.toml +++ b/compute_tools/Cargo.toml @@ -1,17 +1,14 @@ [package] name = "compute_tools" version = "0.1.0" -authors = ["Alexey Kondratov "] edition = "2021" -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - [dependencies] libc = "0.2" anyhow = "1.0" chrono = "0.4" -clap = "2.33" -env_logger = "0.8" +clap = "3.0" +env_logger = "0.9" hyper = { version = "0.14", features = ["full"] } log = { version = "0.4", features = ["std", "serde"] } postgres = { git = "https://github.com/zenithdb/rust-postgres.git", rev="9eb0dbfbeb6a6c1b79099b9f7ae4a8c021877858" } diff --git a/compute_tools/src/bin/zenith_ctl.rs b/compute_tools/src/bin/zenith_ctl.rs index 83fe97681d..49ba653fa1 100644 --- a/compute_tools/src/bin/zenith_ctl.rs +++ b/compute_tools/src/bin/zenith_ctl.rs @@ -34,6 +34,7 @@ use std::sync::{Arc, RwLock}; use anyhow::{Context, Result}; use chrono::Utc; +use clap::Arg; use log::info; use postgres::{Client, NoTls}; @@ -162,34 +163,34 @@ fn main() -> Result<()> { let matches = clap::App::new("zenith_ctl") .version(version.unwrap_or("unknown")) .arg( - clap::Arg::with_name("connstr") - .short("C") + Arg::new("connstr") + .short('C') .long("connstr") .value_name("DATABASE_URL") .required(true), ) .arg( - clap::Arg::with_name("pgdata") - .short("D") + Arg::new("pgdata") + .short('D') .long("pgdata") .value_name("DATADIR") .required(true), ) .arg( - clap::Arg::with_name("pgbin") - .short("b") + Arg::new("pgbin") + .short('b') .long("pgbin") .value_name("POSTGRES_PATH"), ) .arg( - clap::Arg::with_name("spec") - .short("s") + Arg::new("spec") + .short('s') .long("spec") .value_name("SPEC_JSON"), ) .arg( - clap::Arg::with_name("spec-path") - .short("S") + Arg::new("spec-path") + .short('S') .long("spec-path") .value_name("SPEC_PATH"), ) diff --git a/control_plane/Cargo.toml b/control_plane/Cargo.toml index 87d08e7439..5e972200c2 100644 --- a/control_plane/Cargo.toml +++ b/control_plane/Cargo.toml @@ -1,11 +1,8 @@ [package] name = "control_plane" version = "0.1.0" -authors = ["Stas Kelvich "] edition = "2021" -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - [dependencies] tar = "0.4.33" postgres = { git = "https://github.com/zenithdb/rust-postgres.git", rev="2949d98df52587d562986aad155dd4e889e408b7" } diff --git a/pageserver/Cargo.toml b/pageserver/Cargo.toml index aa9afe82b3..45a9bb6a1e 100644 --- a/pageserver/Cargo.toml +++ b/pageserver/Cargo.toml @@ -1,7 +1,6 @@ [package] name = "pageserver" version = "0.1.0" -authors = ["Stas Kelvich "] edition = "2021" [dependencies] @@ -15,7 +14,7 @@ futures = "0.3.13" hyper = "0.14" lazy_static = "1.4.0" log = "0.4.14" -clap = "2.33.0" +clap = "3.0" daemonize = "0.4.1" tokio = { version = "1.11", features = ["process", "sync", "macros", "fs", "rt", "io-util", "time"] } postgres-types = { git = "https://github.com/zenithdb/rust-postgres.git", rev="2949d98df52587d562986aad155dd4e889e408b7" } @@ -23,7 +22,7 @@ postgres-protocol = { git = "https://github.com/zenithdb/rust-postgres.git", rev postgres = { git = "https://github.com/zenithdb/rust-postgres.git", rev="2949d98df52587d562986aad155dd4e889e408b7" } tokio-postgres = { git = "https://github.com/zenithdb/rust-postgres.git", rev="2949d98df52587d562986aad155dd4e889e408b7" } tokio-stream = "0.1.8" -routerify = "2" +routerify = "3" anyhow = { version = "1.0", features = ["backtrace"] } crc32c = "0.6.0" thiserror = "1.0" @@ -32,7 +31,7 @@ tar = "0.4.33" humantime = "2.1.0" serde = { version = "1.0", features = ["derive"] } serde_json = "1" -toml_edit = { version = "0.12", features = ["easy"] } +toml_edit = { version = "0.13", features = ["easy"] } scopeguard = "1.1.0" async-trait = "0.1" const_format = "0.2.21" @@ -42,7 +41,6 @@ signal-hook = "0.3.10" url = "2" nix = "0.23" once_cell = "1.8.0" -parking_lot = "0.11.2" crossbeam-utils = "0.8.5" rust-s3 = { version = "0.28", default-features = false, features = ["no-verify-ssl", "tokio-rustls-tls"] } diff --git a/pageserver/src/bin/dump_layerfile.rs b/pageserver/src/bin/dump_layerfile.rs index bf8be5ab30..b954ad5a15 100644 --- a/pageserver/src/bin/dump_layerfile.rs +++ b/pageserver/src/bin/dump_layerfile.rs @@ -13,7 +13,7 @@ fn main() -> Result<()> { .about("Dump contents of one layer file, for debugging") .version(GIT_VERSION) .arg( - Arg::with_name("path") + Arg::new("path") .help("Path to file to dump") .required(true) .index(1), diff --git a/pageserver/src/bin/pageserver.rs b/pageserver/src/bin/pageserver.rs index bd495d2316..fb8baa28f6 100644 --- a/pageserver/src/bin/pageserver.rs +++ b/pageserver/src/bin/pageserver.rs @@ -27,27 +27,27 @@ fn main() -> Result<()> { .about("Materializes WAL stream to pages and serves them to the postgres") .version(GIT_VERSION) .arg( - Arg::with_name("daemonize") - .short("d") + Arg::new("daemonize") + .short('d') .long("daemonize") .takes_value(false) .help("Run in the background"), ) .arg( - Arg::with_name("init") + Arg::new("init") .long("init") .takes_value(false) .help("Initialize pageserver repo"), ) .arg( - Arg::with_name("workdir") - .short("D") + Arg::new("workdir") + .short('D') .long("workdir") .takes_value(true) .help("Working directory for the pageserver"), ) .arg( - Arg::with_name("create-tenant") + Arg::new("create-tenant") .long("create-tenant") .takes_value(true) .help("Create tenant during init") @@ -55,11 +55,11 @@ fn main() -> Result<()> { ) // See `settings.md` for more details on the extra configuration patameters pageserver can process .arg( - Arg::with_name("config-override") - .short("c") + Arg::new("config-override") + .short('c') .takes_value(true) .number_of_values(1) - .multiple(true) + .multiple_occurrences(true) .help("Additional configuration overrides of the ones from the toml config file (or new ones to add there). Any option has to be a valid toml document, example: `-c \"foo='hey'\"` `-c \"foo={value=1}\"`"), ) diff --git a/pageserver/src/bin/pageserver_zst.rs b/pageserver/src/bin/pageserver_zst.rs index 6a4d9e3607..5b8f8cc3c6 100644 --- a/pageserver/src/bin/pageserver_zst.rs +++ b/pageserver/src/bin/pageserver_zst.rs @@ -4,7 +4,7 @@ use std::{collections::BTreeSet, path::Path}; use anyhow::{bail, ensure, Context}; -use clap::{App, Arg, SubCommand}; +use clap::{App, Arg}; use pageserver::{ layered_repository::metadata::{TimelineMetadata, METADATA_FILE_NAME}, remote_storage::compression, @@ -26,38 +26,38 @@ async fn main() -> anyhow::Result<()> { let arg_matches = App::new("pageserver zst blob [un]compressor utility") .version(GIT_VERSION) .subcommands(vec![ - SubCommand::with_name(LIST_SUBCOMMAND) + App::new(LIST_SUBCOMMAND) .about("List the archive contents") .arg( - Arg::with_name(ARCHIVE_ARG_NAME) + Arg::new(ARCHIVE_ARG_NAME) .required(true) .takes_value(true) .help("An archive to list the contents of"), ), - SubCommand::with_name(EXTRACT_SUBCOMMAND) + App::new(EXTRACT_SUBCOMMAND) .about("Extracts the archive into the directory") .arg( - Arg::with_name(ARCHIVE_ARG_NAME) + Arg::new(ARCHIVE_ARG_NAME) .required(true) .takes_value(true) .help("An archive to extract"), ) .arg( - Arg::with_name(TARGET_DIRECTORY_ARG_NAME) + Arg::new(TARGET_DIRECTORY_ARG_NAME) .required(false) .takes_value(true) .help("A directory to extract the archive into. Optional, will use the current directory if not specified"), ), - SubCommand::with_name(CREATE_SUBCOMMAND) + App::new(CREATE_SUBCOMMAND) .about("Creates an archive with the contents of a directory (only the first level files are taken, metadata file has to be present in the same directory)") .arg( - Arg::with_name(SOURCE_DIRECTORY_ARG_NAME) + Arg::new(SOURCE_DIRECTORY_ARG_NAME) .required(true) .takes_value(true) .help("A directory to use for creating the archive"), ) .arg( - Arg::with_name(TARGET_DIRECTORY_ARG_NAME) + Arg::new(TARGET_DIRECTORY_ARG_NAME) .required(false) .takes_value(true) .help("A directory to create the archive in. Optional, will use the current directory if not specified"), diff --git a/pageserver/src/bin/update_metadata.rs b/pageserver/src/bin/update_metadata.rs index 2d90dbbf70..bfbb6179c5 100644 --- a/pageserver/src/bin/update_metadata.rs +++ b/pageserver/src/bin/update_metadata.rs @@ -14,20 +14,20 @@ fn main() -> Result<()> { .about("Dump or update metadata file") .version(GIT_VERSION) .arg( - Arg::with_name("path") + Arg::new("path") .help("Path to metadata file") .required(true), ) .arg( - Arg::with_name("disk_lsn") - .short("d") + Arg::new("disk_lsn") + .short('d') .long("disk_lsn") .takes_value(true) .help("Replace disk constistent lsn"), ) .arg( - Arg::with_name("prev_lsn") - .short("p") + Arg::new("prev_lsn") + .short('p') .long("prev_lsn") .takes_value(true) .help("Previous record LSN"), diff --git a/pageserver/src/walreceiver.rs b/pageserver/src/walreceiver.rs index 4421bb6752..a632c687b1 100644 --- a/pageserver/src/walreceiver.rs +++ b/pageserver/src/walreceiver.rs @@ -13,13 +13,13 @@ use crate::walingest::WalIngest; use anyhow::{bail, Context, Error, Result}; use bytes::BytesMut; use lazy_static::lazy_static; -use parking_lot::Mutex; use postgres_ffi::waldecoder::*; use postgres_protocol::message::backend::ReplicationMessage; use postgres_types::PgLsn; use std::cell::Cell; use std::collections::HashMap; use std::str::FromStr; +use std::sync::Mutex; use std::thread_local; use std::time::SystemTime; use tokio::pin; @@ -51,7 +51,7 @@ thread_local! { } fn drop_wal_receiver(tenantid: ZTenantId, timelineid: ZTimelineId) { - let mut receivers = WAL_RECEIVERS.lock(); + let mut receivers = WAL_RECEIVERS.lock().unwrap(); receivers.remove(&(tenantid, timelineid)); } @@ -62,7 +62,7 @@ pub fn launch_wal_receiver( timelineid: ZTimelineId, wal_producer_connstr: &str, ) -> Result<()> { - let mut receivers = WAL_RECEIVERS.lock(); + let mut receivers = WAL_RECEIVERS.lock().unwrap(); match receivers.get_mut(&(tenantid, timelineid)) { Some(receiver) => { @@ -95,7 +95,7 @@ pub fn launch_wal_receiver( // Look up current WAL producer connection string in the hash table fn get_wal_producer_connstr(tenantid: ZTenantId, timelineid: ZTimelineId) -> String { - let receivers = WAL_RECEIVERS.lock(); + let receivers = WAL_RECEIVERS.lock().unwrap(); receivers .get(&(tenantid, timelineid)) diff --git a/postgres_ffi/Cargo.toml b/postgres_ffi/Cargo.toml index 96e2b94fbf..17f1ecd666 100644 --- a/postgres_ffi/Cargo.toml +++ b/postgres_ffi/Cargo.toml @@ -1,11 +1,8 @@ [package] name = "postgres_ffi" version = "0.1.0" -authors = ["Heikki Linnakangas "] edition = "2021" -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - [dependencies] chrono = "0.4.19" rand = "0.8.3" diff --git a/proxy/Cargo.toml b/proxy/Cargo.toml index e989cf1dec..110663b1e4 100644 --- a/proxy/Cargo.toml +++ b/proxy/Cargo.toml @@ -1,11 +1,8 @@ [package] name = "proxy" version = "0.1.0" -authors = ["Stas Kelvich "] edition = "2021" -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - [dependencies] anyhow = "1.0" bytes = { version = "1.0.1", features = ['serde'] } @@ -14,13 +11,14 @@ md5 = "0.7.0" rand = "0.8.3" hex = "0.4.3" hyper = "0.14" -routerify = "2" -parking_lot = "0.11.2" +# TODO kb reexport this from zenith_utils +routerify = "3" +parking_lot = "0.12" serde = "1" serde_json = "1" tokio = { version = "1.11", features = ["macros"] } tokio-postgres = { git = "https://github.com/zenithdb/rust-postgres.git", rev="2949d98df52587d562986aad155dd4e889e408b7" } -clap = "2.33.0" +clap = "3.0" rustls = "0.19.1" reqwest = { version = "0.11", default-features = false, features = ["blocking", "json", "rustls-tls"] } diff --git a/proxy/src/main.rs b/proxy/src/main.rs index 72246424ab..8870bb8fec 100644 --- a/proxy/src/main.rs +++ b/proxy/src/main.rs @@ -24,55 +24,55 @@ fn main() -> anyhow::Result<()> { let arg_matches = App::new("Zenith proxy/router") .version(GIT_VERSION) .arg( - Arg::with_name("proxy") - .short("p") + Arg::new("proxy") + .short('p') .long("proxy") .takes_value(true) .help("listen for incoming client connections on ip:port") .default_value("127.0.0.1:4432"), ) .arg( - Arg::with_name("mgmt") - .short("m") + Arg::new("mgmt") + .short('m') .long("mgmt") .takes_value(true) .help("listen for management callback connection on ip:port") .default_value("127.0.0.1:7000"), ) .arg( - Arg::with_name("http") - .short("h") + Arg::new("http") + .short('h') .long("http") .takes_value(true) .help("listen for incoming http connections (metrics, etc) on ip:port") .default_value("127.0.0.1:7001"), ) .arg( - Arg::with_name("uri") - .short("u") + Arg::new("uri") + .short('u') .long("uri") .takes_value(true) .help("redirect unauthenticated users to given uri") .default_value("http://localhost:3000/psql_session/"), ) .arg( - Arg::with_name("auth-endpoint") - .short("a") + Arg::new("auth-endpoint") + .short('a') .long("auth-endpoint") .takes_value(true) .help("API endpoint for authenticating users") .default_value("http://localhost:3000/authenticate_proxy_request/"), ) .arg( - Arg::with_name("ssl-key") - .short("k") + Arg::new("ssl-key") + .short('k') .long("ssl-key") .takes_value(true) .help("path to SSL key for client postgres connections"), ) .arg( - Arg::with_name("ssl-cert") - .short("c") + Arg::new("ssl-cert") + .short('c') .long("ssl-cert") .takes_value(true) .help("path to SSL cert for client postgres connections"), diff --git a/pyproject.toml b/pyproject.toml index 394c645104..e682879d80 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ name = "zenith" version = "0.1.0" description = "" -authors = ["Dmitry Rodionov "] +authors = [] [tool.poetry.dependencies] python = "^3.7" diff --git a/walkeeper/Cargo.toml b/walkeeper/Cargo.toml index 9d0dcfd542..f2a3c5aef3 100644 --- a/walkeeper/Cargo.toml +++ b/walkeeper/Cargo.toml @@ -1,22 +1,19 @@ [package] name = "walkeeper" version = "0.1.0" -authors = ["Stas Kelvich "] edition = "2021" -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - [dependencies] regex = "1.4.5" bytes = "1.0.1" byteorder = "1.4.3" hyper = "0.14" -routerify = "2" +routerify = "3" fs2 = "0.4.3" lazy_static = "1.4.0" serde_json = "1" tracing = "0.1.27" -clap = "2.33.0" +clap = "3.0" daemonize = "0.4.1" rust-s3 = { version = "0.28", default-features = false, features = ["no-verify-ssl", "tokio-rustls-tls"] } tokio = { version = "1.11", features = ["macros"] } diff --git a/walkeeper/src/bin/safekeeper.rs b/walkeeper/src/bin/safekeeper.rs index d85a70cd01..48f0e8a443 100644 --- a/walkeeper/src/bin/safekeeper.rs +++ b/walkeeper/src/bin/safekeeper.rs @@ -32,22 +32,22 @@ fn main() -> Result<()> { .about("Store WAL stream to local file system and push it to WAL receivers") .version(GIT_VERSION) .arg( - Arg::with_name("datadir") - .short("D") + Arg::new("datadir") + .short('D') .long("dir") .takes_value(true) .help("Path to the safekeeper data directory"), ) .arg( - Arg::with_name("listen-pg") - .short("l") + Arg::new("listen-pg") + .short('l') .long("listen-pg") .alias("listen") // for compatibility .takes_value(true) .help(formatcp!("listen for incoming WAL data connections on ip:port (default: {DEFAULT_PG_LISTEN_ADDR})")), ) .arg( - Arg::with_name("listen-http") + Arg::new("listen-http") .long("listen-http") .takes_value(true) .help(formatcp!("http endpoint address for metrics on ip:port (default: {DEFAULT_HTTP_LISTEN_ADDR})")), @@ -56,39 +56,39 @@ fn main() -> Result<()> { // However because this argument is in use by console's e2e tests lets keep it for now and remove separately. // So currently it is a noop. .arg( - Arg::with_name("pageserver") - .short("p") + Arg::new("pageserver") + .short('p') .long("pageserver") .takes_value(true), ) .arg( - Arg::with_name("ttl") + Arg::new("ttl") .long("ttl") .takes_value(true) .help("interval for keeping WAL at safekeeper node, after which them will be uploaded to S3 and removed locally"), ) .arg( - Arg::with_name("recall") + Arg::new("recall") .long("recall") .takes_value(true) .help("Period for requestion pageserver to call for replication"), ) .arg( - Arg::with_name("daemonize") - .short("d") + Arg::new("daemonize") + .short('d') .long("daemonize") .takes_value(false) .help("Run in the background"), ) .arg( - Arg::with_name("no-sync") - .short("n") + Arg::new("no-sync") + .short('n') .long("no-sync") .takes_value(false) .help("Do not wait for changes to be written safely to disk"), ) .arg( - Arg::with_name("dump-control-file") + Arg::new("dump-control-file") .long("dump-control-file") .takes_value(true) .help("Dump control file at path specifed by this argument and exit"), diff --git a/zenith/Cargo.toml b/zenith/Cargo.toml index b41f33cd74..8adbda0723 100644 --- a/zenith/Cargo.toml +++ b/zenith/Cargo.toml @@ -1,13 +1,10 @@ [package] name = "zenith" version = "0.1.0" -authors = ["Stas Kelvich "] edition = "2021" -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - [dependencies] -clap = "2.33.0" +clap = "3.0" anyhow = "1.0" serde_json = "1" postgres = { git = "https://github.com/zenithdb/rust-postgres.git", rev="2949d98df52587d562986aad155dd4e889e408b7" } diff --git a/zenith/src/main.rs b/zenith/src/main.rs index 976cbfac0c..6d8b6f218a 100644 --- a/zenith/src/main.rs +++ b/zenith/src/main.rs @@ -1,5 +1,5 @@ use anyhow::{bail, Context, Result}; -use clap::{App, AppSettings, Arg, ArgMatches, SubCommand}; +use clap::{App, AppSettings, Arg, ArgMatches}; use control_plane::compute::ComputeControlPlane; use control_plane::local_env; use control_plane::local_env::LocalEnv; @@ -67,45 +67,39 @@ struct BranchTreeEl { // * Providing CLI api to the pageserver // * TODO: export/import to/from usual postgres fn main() -> Result<()> { - let pg_node_arg = Arg::with_name("node") - .index(1) - .help("Node name") - .required(true); + let pg_node_arg = Arg::new("node").index(1).help("Node name").required(true); - let safekeeper_node_arg = Arg::with_name("node") - .index(1) - .help("Node name") - .required(false); + let safekeeper_node_arg = Arg::new("node").index(1).help("Node name").required(false); - let timeline_arg = Arg::with_name("timeline") + let timeline_arg = Arg::new("timeline") .index(2) .help("Branch name or a point-in time specification") .required(false); - let tenantid_arg = Arg::with_name("tenantid") + let tenantid_arg = Arg::new("tenantid") .long("tenantid") .help("Tenant id. Represented as a hexadecimal string 32 symbols length") .takes_value(true) .required(false); - let port_arg = Arg::with_name("port") + let port_arg = Arg::new("port") .long("port") .required(false) .value_name("port"); - let stop_mode_arg = Arg::with_name("stop-mode") - .short("m") + let stop_mode_arg = Arg::new("stop-mode") + .short('m') .takes_value(true) .possible_values(&["fast", "immediate"]) .help("If 'immediate', don't flush repository data at shutdown") .required(false) .value_name("stop-mode"); - let pageserver_config_args = Arg::with_name("pageserver-config-override") + let pageserver_config_args = Arg::new("pageserver-config-override") .long("pageserver-config-override") .takes_value(true) .number_of_values(1) - .multiple(true) + .multiple_occurrences(true) .help("Additional pageserver's configuration options or overrides, refer to pageserver's 'config-override' CLI parameter docs for more") .required(false); @@ -113,88 +107,88 @@ fn main() -> Result<()> { .setting(AppSettings::ArgRequiredElseHelp) .version(GIT_VERSION) .subcommand( - SubCommand::with_name("init") + App::new("init") .about("Initialize a new Zenith repository") .arg(pageserver_config_args.clone()) .arg( - Arg::with_name("config") + Arg::new("config") .long("config") .required(false) .value_name("config"), ) ) .subcommand( - SubCommand::with_name("branch") + App::new("branch") .about("Create a new branch") - .arg(Arg::with_name("branchname").required(false).index(1)) - .arg(Arg::with_name("start-point").required(false).index(2)) + .arg(Arg::new("branchname").required(false).index(1)) + .arg(Arg::new("start-point").required(false).index(2)) .arg(tenantid_arg.clone()), ).subcommand( - SubCommand::with_name("tenant") + App::new("tenant") .setting(AppSettings::ArgRequiredElseHelp) .about("Manage tenants") - .subcommand(SubCommand::with_name("list")) - .subcommand(SubCommand::with_name("create").arg(Arg::with_name("tenantid").required(false).index(1))) + .subcommand(App::new("list")) + .subcommand(App::new("create").arg(Arg::new("tenantid").required(false).index(1))) ) .subcommand( - SubCommand::with_name("pageserver") + App::new("pageserver") .setting(AppSettings::ArgRequiredElseHelp) .about("Manage pageserver") - .subcommand(SubCommand::with_name("status")) - .subcommand(SubCommand::with_name("start").about("Start local pageserver").arg(pageserver_config_args.clone())) - .subcommand(SubCommand::with_name("stop").about("Stop local pageserver") + .subcommand(App::new("status")) + .subcommand(App::new("start").about("Start local pageserver").arg(pageserver_config_args.clone())) + .subcommand(App::new("stop").about("Stop local pageserver") .arg(stop_mode_arg.clone())) - .subcommand(SubCommand::with_name("restart").about("Restart local pageserver").arg(pageserver_config_args)) + .subcommand(App::new("restart").about("Restart local pageserver").arg(pageserver_config_args)) ) .subcommand( - SubCommand::with_name("safekeeper") + App::new("safekeeper") .setting(AppSettings::ArgRequiredElseHelp) .about("Manage safekeepers") - .subcommand(SubCommand::with_name("start") + .subcommand(App::new("start") .about("Start local safekeeper") .arg(safekeeper_node_arg.clone()) ) - .subcommand(SubCommand::with_name("stop") + .subcommand(App::new("stop") .about("Stop local safekeeper") .arg(safekeeper_node_arg.clone()) .arg(stop_mode_arg.clone()) ) - .subcommand(SubCommand::with_name("restart") + .subcommand(App::new("restart") .about("Restart local safekeeper") .arg(safekeeper_node_arg.clone()) .arg(stop_mode_arg.clone()) ) ) .subcommand( - SubCommand::with_name("pg") + App::new("pg") .setting(AppSettings::ArgRequiredElseHelp) .about("Manage postgres instances") - .subcommand(SubCommand::with_name("list").arg(tenantid_arg.clone())) - .subcommand(SubCommand::with_name("create") + .subcommand(App::new("list").arg(tenantid_arg.clone())) + .subcommand(App::new("create") .about("Create a postgres compute node") .arg(pg_node_arg.clone()) .arg(timeline_arg.clone()) .arg(tenantid_arg.clone()) .arg(port_arg.clone()) .arg( - Arg::with_name("config-only") + Arg::new("config-only") .help("Don't do basebackup, create compute node with only config files") .long("config-only") .required(false) )) - .subcommand(SubCommand::with_name("start") + .subcommand(App::new("start") .about("Start a postgres compute node.\n This command actually creates new node from scratch, but preserves existing config files") .arg(pg_node_arg.clone()) .arg(timeline_arg.clone()) .arg(tenantid_arg.clone()) .arg(port_arg.clone())) .subcommand( - SubCommand::with_name("stop") + App::new("stop") .arg(pg_node_arg.clone()) .arg(timeline_arg.clone()) .arg(tenantid_arg.clone()) .arg( - Arg::with_name("destroy") + Arg::new("destroy") .help("Also delete data directory (now optional, should be default in future)") .long("destroy") .required(false) @@ -203,18 +197,20 @@ fn main() -> Result<()> { ) .subcommand( - SubCommand::with_name("start") + App::new("start") .about("Start page server and safekeepers") ) .subcommand( - SubCommand::with_name("stop") + App::new("stop") .about("Stop page server and safekeepers") .arg(stop_mode_arg.clone()) ) .get_matches(); - let (sub_name, sub_args) = matches.subcommand(); - let sub_args = sub_args.expect("no subcommand"); + let (sub_name, sub_args) = match matches.subcommand() { + Some(subcommand_data) => subcommand_data, + None => bail!("no subcommand provided"), + }; // Check for 'zenith init' command first. let subcmd_result = if sub_name == "init" { @@ -431,12 +427,12 @@ fn pageserver_config_overrides<'a>(init_match: &'a ArgMatches) -> Vec<&'a str> { fn handle_tenant(tenant_match: &ArgMatches, env: &local_env::LocalEnv) -> Result<()> { let pageserver = PageServerNode::from_env(env); match tenant_match.subcommand() { - ("list", Some(_)) => { + Some(("list", _)) => { for t in pageserver.tenant_list()? { println!("{} {}", t.id, t.state); } } - ("create", Some(create_match)) => { + Some(("create", create_match)) => { let tenantid = match create_match.value_of("tenantid") { Some(tenantid) => ZTenantId::from_str(tenantid)?, None => ZTenantId::generate(), @@ -445,10 +441,8 @@ fn handle_tenant(tenant_match: &ArgMatches, env: &local_env::LocalEnv) -> Result pageserver.tenant_create(tenantid)?; println!("tenant successfully created on the pageserver"); } - - (sub_name, _) => { - bail!("Unexpected tenant subcommand '{}'", sub_name) - } + Some((sub_name, _)) => bail!("Unexpected tenant subcommand '{}'", sub_name), + None => bail!("No tenant subcommand found"), } Ok(()) } @@ -477,8 +471,10 @@ fn handle_branch(branch_match: &ArgMatches, env: &local_env::LocalEnv) -> Result } fn handle_pg(pg_match: &ArgMatches, env: &local_env::LocalEnv) -> Result<()> { - let (sub_name, sub_args) = pg_match.subcommand(); - let sub_args = sub_args.expect("no pg subcommand"); + let (sub_name, sub_args) = match pg_match.subcommand() { + Some(pg_subcommand_data) => pg_subcommand_data, + None => bail!("no pg subcommand provided"), + }; let mut cplane = ComputeControlPlane::load(env.clone())?; @@ -589,14 +585,14 @@ fn handle_pageserver(sub_match: &ArgMatches, env: &local_env::LocalEnv) -> Resul let pageserver = PageServerNode::from_env(env); match sub_match.subcommand() { - ("start", Some(start_match)) => { + Some(("start", start_match)) => { if let Err(e) = pageserver.start(&pageserver_config_overrides(start_match)) { eprintln!("pageserver start failed: {}", e); exit(1); } } - ("stop", Some(stop_match)) => { + Some(("stop", stop_match)) => { let immediate = stop_match.value_of("stop-mode") == Some("immediate"); if let Err(e) = pageserver.stop(immediate) { @@ -605,7 +601,7 @@ fn handle_pageserver(sub_match: &ArgMatches, env: &local_env::LocalEnv) -> Resul } } - ("restart", Some(restart_match)) => { + Some(("restart", restart_match)) => { //TODO what shutdown strategy should we use here? if let Err(e) = pageserver.stop(false) { eprintln!("pageserver stop failed: {}", e); @@ -617,8 +613,8 @@ fn handle_pageserver(sub_match: &ArgMatches, env: &local_env::LocalEnv) -> Resul exit(1); } } - - (sub_name, _) => bail!("Unexpected pageserver subcommand '{}'", sub_name), + Some((sub_name, _)) => bail!("Unexpected pageserver subcommand '{}'", sub_name), + None => bail!("No pageserver subcommand given"), } Ok(()) } @@ -632,8 +628,10 @@ fn get_safekeeper(env: &local_env::LocalEnv, name: &str) -> Result Result<()> { - let (sub_name, sub_args) = sub_match.subcommand(); - let sub_args = sub_args.expect("no safekeeper subcommand"); + let (sub_name, sub_args) = match sub_match.subcommand() { + Some(safekeeper_command_data) => safekeeper_command_data, + None => bail!("no safekeeper subcommand provided"), + }; // All the commands take an optional safekeeper name argument let node_name = sub_args.value_of("node").unwrap_or(DEFAULT_SAFEKEEPER_NAME); diff --git a/zenith_metrics/Cargo.toml b/zenith_metrics/Cargo.toml index 28d8990308..0c921ede0b 100644 --- a/zenith_metrics/Cargo.toml +++ b/zenith_metrics/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" edition = "2021" [dependencies] -prometheus = {version = "0.12", default_features=false} # removes protobuf dependency +prometheus = {version = "0.13", default_features=false} # removes protobuf dependency libc = "0.2" lazy_static = "1.4" once_cell = "1.8.0" diff --git a/zenith_utils/Cargo.toml b/zenith_utils/Cargo.toml index 055787a2ec..13e3625417 100644 --- a/zenith_utils/Cargo.toml +++ b/zenith_utils/Cargo.toml @@ -1,7 +1,6 @@ [package] name = "zenith_utils" version = "0.1.0" -authors = ["Eric Seppanen "] edition = "2021" [dependencies] @@ -13,7 +12,7 @@ lazy_static = "1.4.0" pin-project-lite = "0.2.7" postgres = { git = "https://github.com/zenithdb/rust-postgres.git", rev="2949d98df52587d562986aad155dd4e889e408b7" } postgres-protocol = { git = "https://github.com/zenithdb/rust-postgres.git", rev="2949d98df52587d562986aad155dd4e889e408b7" } -routerify = "2" +routerify = "3" serde = { version = "1.0", features = ["derive"] } serde_json = "1" thiserror = "1.0" diff --git a/zenith_utils/src/http/endpoint.rs b/zenith_utils/src/http/endpoint.rs index 0be08f45e1..b549ae2b72 100644 --- a/zenith_utils/src/http/endpoint.rs +++ b/zenith_utils/src/http/endpoint.rs @@ -110,6 +110,7 @@ fn parse_token(header_value: &str) -> Result<&str, ApiError> { Ok(token) } +// TODO kb now test_auth fails, is it after jsonwebtoken update? pub fn auth_middleware( provide_auth: fn(&Request) -> Option<&JwtAuth>, ) -> Middleware { @@ -123,7 +124,7 @@ pub fn auth_middleware( let token = parse_token(header_value)?; let data = auth - .decode(token) + .decode(dbg!(token)) .map_err(|_| ApiError::Unauthorized("malformed jwt token".to_string()))?; req.set_context(data.claims); } diff --git a/zenith_utils/src/http/mod.rs b/zenith_utils/src/http/mod.rs index 16b7e87721..ed2f8c0dc1 100644 --- a/zenith_utils/src/http/mod.rs +++ b/zenith_utils/src/http/mod.rs @@ -2,3 +2,7 @@ pub mod endpoint; pub mod error; pub mod json; pub mod request; + +/// Current fast way to applly simple http routing in varuious Zenith binaries. +/// Reexported for sake of uniform approach, that could be later replaced with better alternatives, if needed. +pub use routerify::{ext::RequestExt, RouterBuilder};