difftreelog
refactor secret management
in: trunk
19 files changed
Cargo.lockdiffbeforeafterboth214 packageslockfile v3
Might be heavy and slow!
aead
0.4.3crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877depends onused byaes
0.8.1crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbfe0133578c0986e1fe3dfcd4af1cc5b2dd6c3dbf534d69916ce16a2701d40badepends onused byage
0.8.1crates.io↘ 29↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf066ce1514d24201eab31e0831e9333d2e9b06d698b25f705ef0697fee8256a2depends on- aes
0.8.1 - age-core
0.8.0 - base64
0.13.0 - bcrypt-pbkdf
0.8.1 - bech32
0.8.1 - cbc
0.1.2 - chacha20poly1305
0.9.0 - cipher
0.4.3 - cookie-factory
0.3.2 - ctr
0.9.1 - curve25519-dalek
3.2.0 - hkdf
0.12.3 - hmac
0.12.1 - i18n-embed
0.13.3 - i18n-embed-fl
0.6.4 - lazy_static
1.4.0 - nom
7.1.0 - num-traits
0.2.14 - pin-project
1.0.10 - rand
0.7.3 - rand
0.8.5 - rsa
0.5.0 - rust-embed
6.3.0 - scrypt
0.9.0 - sha2
0.10.3 - sha2
0.9.9 - subtle
2.4.1 - x25519-dalek
1.1.1 - zeroize
1.4.3
- aes
age-core
0.8.0crates.io↘ 9↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum00a5c8d8a33abc74ad393896a6305351dd159d0e184788f4729e3c80e397fa45depends onused byaho-corasick
0.7.18crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656fdepends onused byansi_term
0.12.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2depends onused byanyhow
1.0.53crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum94a45b455c14666b85fc40a019e8ab9eb75e3a124e05494f5397122bc9eb06e0async-trait
0.1.52crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3depends onused byatty
0.2.14crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8depends onused byautocfg
0.1.8crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78depends onused byautocfg
1.1.0crates.io↘ 0↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fabase64
0.13.0crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fdbase64ct
1.1.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume6b4d9b1225d28d360ec6a231d65af1fd99a2a095154c8040689617290569c5cused bybcrypt-pbkdf
0.8.1crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf4ef233ffa9cb9c7820b2b0e9efd0821ed180e866c9120ec9f45518659742074depends onused bybitflags
1.3.2crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718ablock-buffer
0.9.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4depends onused byblock-buffer
0.10.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324depends onused byblock-padding
0.3.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0a90ec2df9600c28a01c56c4784c9207a96d2451833aeceb8cc97e4c9548bb78depends onused byblowfish
0.9.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7depends onused bybumpalo
3.9.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899used bybyteorder
1.4.3crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610bytes
1.1.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8used bycbc
0.1.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6depends onused bycfg-if
1.0.0crates.io↘ 0↖ 13sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbaf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fdchacha20
0.8.1crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum01b72a433d0cf2aef113ba70f62634c56fddb0f244e6377185c56a7cadbd8f91used bychacha20poly1305
0.9.0crates.io↘ 5↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3b84ed6d1d5f7aa9bdde921a5090e0ca4d934d250ea3b402a5fab3a994e28a2aused bychrono
0.4.19crates.io↘ 6↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73used bycipher
0.3.0crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7depends oncipher
0.4.3crates.io↘ 2↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59edepends onclap
3.1.0crates.io↘ 11↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume5f1fea81f183005ced9e59cdb01737ef2423956dac5a6d731b06b2ecfaa3467depends onclap_derive
3.1.0crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5fd1122e63869df2cb309f449da1ad54a7c6dfeb7c7e6ccd8e0825d9eb93bb72used bycookie-factory
0.3.2crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum396de984970346b0d9e93d1415082923c679e5ae5c3ee3dcbd104f5610af126bused bycpufeatures
0.2.1crates.io↘ 1↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469depends oncrypto-bigint
0.2.11crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf83bd3bb4314701c568e340cd8cf78c975aa0ca79e03d3f6d1677d5b0c9c0c03used bycrypto-common
0.1.3crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8depends onused byctr
0.9.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0d14f329cfbaf5d0e06b5e87fff7e265d2673c5ea7d2c27691a2c107db1442a0depends onused bycurve25519-dalek
3.2.0crates.io↘ 5↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61used bydashmap
5.1.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc0834a35a3fce649144119e18da2a4d8ed12ef3862f47183fd46f625d072d96cused byder
0.4.5crates.io↘ 2↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum79b71cca7d95d7681a4b3b9cdf63c8dbc3730d0584c2c74e31416d64a90493f4depends ondigest
0.9.0crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066depends ondigest
0.10.3crates.io↘ 3↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506dprint-core
0.51.0crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum036819ad3d310aef6ec2d2bacb83a4815f24e2ce715b68afc73ef395f392ae9fused byenv_logger
0.9.0crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3used byfastrand
1.7.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdfdepends onused byfind-crate
0.6.3crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum59a98bbaacea1c0eb6a0876280051b892eb73594fd90cf3b20e9c817029c57d2depends onfleet-install-secrets
0.1.0workspace↘ 10↖ 0fluent
0.16.0crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum61f69378194459db76abd2ce3952b790db103ceb003008d3d50d97c41ff847a7depends onfluent-bundle
0.15.2crates.io↘ 8↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume242c601dec9711505f6d5bbff5bedd4b61b2469f2e8bb8e57ee7c9747a87ffddepends onused byfluent-langneg
0.13.0crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2c4ad0989667548f06ccd0e306ed56b61bd4d35458d54df5ec7587c0e8ed5e94depends onfluent-syntax
0.11.0crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc0abed97648395c902868fee9026de96483933faa54ea3b40d652f7dfe61ca78depends onfutures
0.3.21crates.io↘ 7↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9edepends onused byfutures-channel
0.3.21crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010depends onfutures-core
0.3.21crates.io↘ 0↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3futures-executor
0.3.21crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6used byfutures-io
0.3.21crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumfc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966bfutures-macro
0.3.21crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512depends onused byfutures-sink
0.3.21crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868futures-task
0.3.21crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776afutures-util
0.3.21crates.io↘ 10↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036adepends ongeneric-array
0.14.5crates.io↘ 2↖ 10sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumfd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803depends ongetrandom
0.1.16crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fceused bygetrandom
0.2.4crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum418d37c8b1d42553c93648be529cb70f920d3baf8ef469b74b9638df426e0b4cused byhashbrown
0.11.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726eused byheck
0.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9used byhermit-abi
0.1.19crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33depends onused byhkdf
0.12.3crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437depends onused byhmac
0.12.1crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5edepends onhostname
0.3.1crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867depends onused byhumantime
2.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4used byi18n-config
0.4.2crates.io↘ 6↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb62affcd43abfb51f3cbd8736f9407908dc5b44fc558a9be07460bbfd104d983i18n-embed
0.13.3crates.io↘ 12↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc1e64f2a432e58630bb5e01062c78e759efbf470805688ee3bb8fad78ffae6c4depends onused byi18n-embed-fl
0.6.4crates.io↘ 13↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9420a9718ef9d0ab727840a398e25408ea0daff9ba3c681707ba05485face98edepends onused byi18n-embed-impl
0.8.0crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0db2330e035808eb064afb67e6743ddce353763af3e0f2bdfc2476e00ce76136used byindexmap
1.8.0crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223depends onused byinout
0.1.3crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5depends onused byinstant
0.1.12crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2cdepends onused byintl_pluralrules
7.0.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb18f988384267d7066cc2be425e6faf352900652c046b6971d2e228d3b1c5ecfdepends onused byintl-memoizer
0.5.1crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66fdepends onio_tee
0.1.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4b3f7cef34251886990511df1c61443aa928499d598a9473929ab5a90a527304used byitoa
1.0.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35used bylazy_static
1.4.0crates.io↘ 1↖ 10sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646depends onlibc
0.2.132crates.io↘ 0↖ 21sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5libm
0.2.2crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum33a33a362ce288760ec6a508b94caaec573ae7d3bbbd91b87aa0bad4456839dblinked-hash-map
0.5.4crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3used bylock_api
0.4.6crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3bdepends onused bylog
0.4.14crates.io↘ 1↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710depends onmatch_cfg
0.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4used bymatchers
0.1.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558depends onused bymemchr
2.4.1crates.io↘ 0↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86amemoffset
0.6.5crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79cedepends onused byminimal-lexical
0.2.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79aused bymio
0.8.0crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumba272f85fa0b41fc91872be579b3bbe0f56b792aa361a380eb669469f68dafb2used bymiow
0.3.7crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21depends onused bynix
0.25.0crates.io↘ 6↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume322c04a9e3440c327fca7b6c8a63e6890a32fa2ad689db972425f07e0d22abbused bynixlike
0.1.0workspace↘ 5↖ 1nom
7.1.0crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1b1d11e1ef389c76fe5b81bcaf2ea32cf88b62bc494e19f493d0b30e7a930109used byntapi
0.3.7crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980fdepends onused bynum_cpus
1.13.1crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1depends onused bynum_threads
0.1.3crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum97ba99ba6393e2c3734791401b66902d981cb03bf190af674ca69949b6d5fb15depends onused bynum-bigint-dig
0.7.0crates.io↘ 10↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4547ee5541c18742396ae2c895d0717d0f886d8823b8399cdaf7b07d63ad0480depends onused bynum-integer
0.1.44crates.io↘ 2↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801dbdepends onnum-iter
0.1.42crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59used bynum-traits
0.2.14crates.io↘ 2↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290depends ononce_cell
1.9.0crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumda32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5opaque-debug
0.3.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5used byos_str_bytes
6.0.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64depends onused byparking_lot
0.12.0crates.io↘ 2↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58depends onparking_lot_core
0.9.1crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum28141e0cc4143da2443301914478dc976a61ffdb3f043058310c70df2fed8954used bypbkdf2
0.10.1crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum271779f35b581956db91a3e55737327a03aa051e90b1c47aeb189508533adfd7depends onused bypeg
0.8.0crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumaf728fe826811af3b38c37e93de6d104485953ea373d656eebae53d6987fcd2cdepends onused bypeg-macros
0.8.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4536be147b770b824895cbad934fccce8e49f14b4c4946eaa46a6e4a12fcdc16used bypeg-runtime
0.8.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf9b0efd3ba03c3a409d44d60425f279ec442bcf0b9e63ff4e410da31c8b0f69fused bypem-rfc7468
0.2.4crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum84e93a3b1cc0510b03020f33f21e62acdde3dcaef432edc95bea377fbd4c2cd4depends onused bypin-project
1.0.10crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum58ad3879ad3baf4e44784bc6a718a8698867bb991f8ce24d1bcbe2cfb4c3a75edepends onused bypin-project-internal
1.0.10crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bbdepends onused bypin-project-lite
0.2.8crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6cpin-utils
0.1.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184used bypkcs1
0.2.4crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum116bee8279d783c0cf370efa1a94632f2108e5ef0bb32df31f051647810a4e2cdepends onused bypkcs8
0.7.6crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumee3ef9b64d26bad0536099c816c6734379e45bbd5f14798def6809e5cc350447used bypoly1305
0.7.2crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246edeused byppv-lite86
0.2.16crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumeb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872proc-macro-error
1.0.4crates.io↘ 5↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumda25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38cproc-macro-error-attr
1.0.4crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869used byproc-macro2
1.0.36crates.io↘ 1↖ 18sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029depends onused by- async-trait
0.1.52 - clap_derive
3.1.0 - futures-macro
0.3.21 - i18n-embed-fl
0.6.4 - i18n-embed-impl
0.8.0 - peg-macros
0.8.0 - pin-project-internal
1.0.10 - proc-macro-error
1.0.4 - proc-macro-error-attr
1.0.4 - quote
1.0.15 - rust-embed-impl
6.2.0 - serde_derive
1.0.136 - syn
1.0.86 - synstructure
0.12.6 - thiserror-impl
1.0.30 - tokio-macros
1.7.0 - tracing-attributes
0.1.19 - zeroize_derive
1.3.1
- async-trait
quote
1.0.15crates.io↘ 1↖ 17sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145depends onused by- async-trait
0.1.52 - clap_derive
3.1.0 - futures-macro
0.3.21 - i18n-embed-fl
0.6.4 - i18n-embed-impl
0.8.0 - peg-macros
0.8.0 - pin-project-internal
1.0.10 - proc-macro-error
1.0.4 - proc-macro-error-attr
1.0.4 - rust-embed-impl
6.2.0 - serde_derive
1.0.136 - syn
1.0.86 - synstructure
0.12.6 - thiserror-impl
1.0.30 - tokio-macros
1.7.0 - tracing-attributes
0.1.19 - zeroize_derive
1.3.1
- async-trait
rand
0.7.3crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03used byrand
0.8.5crates.io↘ 3↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404rand_chacha
0.2.2crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402depends onused byrand_chacha
0.3.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88depends onused byrand_core
0.5.1crates.io↘ 1↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19depends onrand_core
0.6.3crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7depends onrand_hc
0.2.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613cdepends onused byredox_syscall
0.2.10crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ffdepends onregex
1.5.4crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461regex-automata
0.1.10crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132depends onused byregex-syntax
0.6.25crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89bremove_dir_all
0.5.3crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7depends onused byrsa
0.5.0crates.io↘ 12↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume05c2603e2823634ab331437001b411b9ed11660fbc4066f3908c84a9439260ddepends onused byrust-embed
6.3.0crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd40377bff8cceee81e28ddb73ac97f5c2856ce5522f0b260b763f434cdfae602used byrust-embed-impl
6.2.0crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum94e763e24ba2bf0c72bc6be883f967f794a019fafd1b86ba1daff9c91a7edd30used byrust-embed-utils
7.1.0crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumad22c7226e4829104deab21df575e995bfbc4adfad13a595e387477f238c1aecdepends onrustc-hash
1.1.0crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2ryu
1.0.9crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149fused bysalsa20
0.10.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213depends onused bysame-file
1.0.6crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502depends onused byscopeguard
1.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cdused byscrypt
0.9.0crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumba0aaf3911fff0d942c10a49779de7754699810fc7dbe3df515613b2ecc8195aused bysecrecy
0.8.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91edepends onused byself_cell
0.10.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1ef965a420fe14fdac7dd018862966a4c14094f900e1650bbc71ddd7d580c8afused byserde
1.0.136crates.io↘ 1↖ 11sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789depends onserde_derive
1.0.136crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9depends onused byserde_json
1.0.79crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95depends onsha2
0.9.9crates.io↘ 5↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800sha2
0.10.3crates.io↘ 3↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum899bf02746a2c92bf1053d9327dadb252b01af1f81f90cdb902411f518bc7215depends onsharded-slab
0.1.4crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31depends onused bysignal-hook-registry
1.4.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0depends onused byslab
0.4.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5used bysmallvec
1.8.0crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83socket2
0.4.4crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0depends onused byspin
0.5.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042dused byspki
0.4.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5c01a0c15da1b0b0e1494112e7af814a678fec9bd157881b49beac661e9b6f32depends onused bystrsim
0.10.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623used bysubtle
2.4.1crates.io↘ 0↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601syn
1.0.86crates.io↘ 3↖ 14sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6bsynstructure
0.12.6crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210fused bytempfile
3.3.0crates.io↘ 6↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4termcolor
1.1.2crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4depends onused byterminal_size
0.1.17crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506dfdepends onused bytextwrap
0.14.2crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80depends onused bythiserror
1.0.30crates.io↘ 1↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417depends onthiserror-impl
1.0.30crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumaa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714bdepends onused bythread_local
1.1.4crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180depends onused bytime
0.1.44crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255used bytime
0.3.7crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum004cbc98f30fa233c61a38bc77e96a9106e65c88f2d3bef182ae952027e5753ddepends onused bytinystr
0.3.4crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum29738eedb4388d9ea620eeab9384884fc3f06f586a2eddb56bedc5885126c7c1tokio
1.17.0crates.io↘ 12↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2af73ac49756f3f7c01172e34a23e5d0216f6c32333757c2c61feb2bbff5a5eedepends onused bytokio-macros
1.7.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7depends onused bytokio-util
0.7.0crates.io↘ 6↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum64910e1b9c1901aaf5375561e35b9c057d95ff41a44ede043a03e09279eabaf1used bytoml
0.5.8crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaadepends ontracing
0.1.30crates.io↘ 4↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2d8d93354fe2a8e50d5953f5ae2e47a3fc2ef03292e7ea46e3cc38f549525fb9tracing-attributes
0.1.19crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8276d9a4a3a558d7b7ad5303ad50b53d58264641b82914b7ada36bd762e7a716depends onused bytracing-core
0.1.22crates.io↘ 2↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum03cfcb51380632a72d3111cb8d3447a8d908e577d31beeac006f836383d29a23depends ontracing-log
0.1.2crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma6923477a48e41c1951f1999ef8bb5a3023eb723ceadafe78ffb65dc366761e3used bytracing-subscriber
0.3.8crates.io↘ 10↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum74786ce43333fcf51efe947aed9718fbe46d5c7328ec3f1029e818083966d9aadepends onused bytype-map
0.4.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb6d3364c5e96cb2ad1603037ab253ddd34d7fb72a58bdddf4b7350760fc69a46depends onused bytypenum
1.15.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987unic-langid
0.9.0crates.io↘ 1↖ 8sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum73328fcd730a030bdb19ddf23e192187a6b01cd98be6d3140622a89129459ce5depends onunic-langid-impl
0.9.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1a4a8eeaf0494862c1404c95ec2f4c33a2acff5076f64314b465e3ddae1b934ddepends onused byunicase
2.6.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6depends onused byunicode-width
0.1.9crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973used byunicode-xid
0.2.2crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3universal-hash
0.4.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05depends onused byvaluable
0.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6dused byversion_check
0.9.4crates.io↘ 0↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483fwalkdir
2.3.2crates.io↘ 3↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56wasi
0.9.0+wasi-snapshot-preview1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519used bywasi
0.10.0+wasi-snapshot-preview1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31fused bywinapi
0.3.9crates.io↘ 2↖ 15sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419winapi-i686-pc-windows-gnu
0.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6used bywinapi-util
0.1.5crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178depends onwinapi-x86_64-pc-windows-gnu
0.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183fused bywindows_aarch64_msvc
0.32.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5used bywindows_i686_gnu
0.32.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615used bywindows_i686_msvc
0.32.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172used bywindows_x86_64_gnu
0.32.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bcused bywindows_x86_64_msvc
0.32.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316used bywindows-sys
0.32.0crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3df6e476185f92a12c072be4a189a0210dcdcf512a1891d6dff9edb874deadc6depends onused byx25519-dalek
1.1.1crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4fused byz85
3.0.4crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumaf896e93db81340b74b65f74276a99b210c086f3d34ed0abf433182a462af856zeroize
1.4.3crates.io↘ 1↖ 10sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd68d9dcec5f9b43a30d38c49f91dfedfaac384cb8f085faca366c26207dd1619depends onzeroize_derive
1.3.1crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum81e8f13fef10b63c06356d65d416b070798ddabcadc10d3ece0c5be9b3c7eddbused by
253 packageslockfile v3
Might be heavy and slow!
aead
0.5.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5c192eb8f11fc081b0fe4259ba5af04217d4e0faddd02417310a927911abd7c8depends onused byaes
0.8.2crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241depends onused byage
0.9.0crates.io↘ 28↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1056efa39f3f960845e69985c292022187b47bc3f83ddfc96edfc586007735a1depends on- aes
0.8.2 - age-core
0.9.0 - base64
0.13.1 - bcrypt-pbkdf
0.9.0 - bech32
0.9.1 - cbc
0.1.2 - chacha20poly1305
0.10.1 - cipher
0.4.3 - cookie-factory
0.3.2 - ctr
0.9.2 - curve25519-dalek
3.2.0 - hkdf
0.12.3 - hmac
0.12.1 - i18n-embed
0.13.8 - i18n-embed-fl
0.6.5 - lazy_static
1.4.0 - nom
7.1.3 - num-traits
0.2.15 - pin-project
1.0.12 - rand
0.7.3 - rand
0.8.5 - rsa
0.7.2 - rust-embed
6.4.2 - scrypt
0.10.0 - sha2
0.10.6 - subtle
2.4.1 - x25519-dalek
1.1.1 - zeroize
1.5.7
- aes
age-core
0.9.0crates.io↘ 9↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume3d2e815ac879dc23c1139e720d21c6cd4d1276345c772587285d965a69b8f32depends onused byaho-corasick
0.7.20crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071acdepends onused byalejandra
1.5.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2523e3312f47f4b28c443249c1d25fe7a71e4719198a8889fcc41a155032cb7fdepends onused byandroid_system_properties
0.1.5crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311depends onused byanyhow
1.0.68crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61arc-swap
1.6.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6used byasync-trait
0.1.64crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2depends onused byautocfg
1.1.0crates.io↘ 0↖ 8sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fabase64
0.13.1crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8base64
0.21.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6aused bybcrypt-pbkdf
0.9.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3806a8db60cf56efee531616a34a6aaa9a114d6da2add861b0fa4a188881b2c7depends onused bybitflags
1.3.2crates.io↘ 0↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718ablock-buffer
0.10.3crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7edepends onused byblock-padding
0.3.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0a90ec2df9600c28a01c56c4784c9207a96d2451833aeceb8cc97e4c9548bb78depends onused byblowfish
0.9.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7depends onused bybumpalo
3.12.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535used bybyteorder
1.4.3crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610bytes
1.4.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70beused bycbc
0.1.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6depends onused bycbitset
0.2.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum29b6ad25ae296159fb0da12b970b2fe179b234584d7cd294c891e2bbb284466bdepends onused bycc
1.0.79crates.io↘ 0↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91fcfg-if
1.0.0crates.io↘ 0↖ 13sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbaf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fdchacha20
0.9.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc7fc89c7c5b9e7a02dfe45cd2367bae382f9ed31c61ca8debe5f827c420a2f08depends onused bychacha20poly1305
0.10.1crates.io↘ 5↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35used bychrono
0.4.23crates.io↘ 8↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411fdepends onused bycipher
0.4.3crates.io↘ 3↖ 8sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59edepends onclap
4.1.4crates.io↘ 10↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76depends onclap_derive
4.1.0crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8used byclap_lex
0.3.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum783fe232adfca04f90f56201b26d79682d4cd2625e0bc7290b95123afe558adedepends onused bycodespan-reporting
0.11.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6edepends onused byconst-oid
0.9.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3bused bycookie-factory
0.3.2crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum396de984970346b0d9e93d1415082923c679e5ae5c3ee3dcbd104f5610af126bused bycore-foundation-sys
0.8.3crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dcused bycountme
2.0.4crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum328b822bdcba4d4e402be8d9adb6eebf269f969f8eadef977a553ff3c4fbcb58used bycpufeatures
0.2.5crates.io↘ 1↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320depends oncrypto-common
0.1.6crates.io↘ 2↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3depends onctr
0.9.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835depends onused bycurve25519-dalek
3.2.0crates.io↘ 5↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61used bycxx
1.0.89crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbc831ee6a32dd495436e317595e639a587aa9907bef96fe6e6abc290ab6204e9used bycxx-build
1.0.89crates.io↘ 7↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum94331d54f1b1a8895cd81049f7eaaaef9d05a7dcb4d1fd08bf3ff0806246789ddepends onused bycxxbridge-flags
1.0.89crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum48dcd35ba14ca9b40d6e4b4b39961f23d835dbb8eed74565ded361d93e1feb8aused bycxxbridge-macro
1.0.89crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum81bbeb29798b407ccd82a3324ade1a7286e0d29851475990b612670f6f5124d2depends onused bydashmap
5.4.0crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum907076dfda823b0b36d2a1bb5f90c96660a5bbcd7729e10727f07858f22c4edcused byder
0.6.1crates.io↘ 2↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4dedepends ondigest
0.9.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066depends onused bydigest
0.10.6crates.io↘ 4↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76fdisplaydoc
0.2.3crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886depends onused byenv_logger
0.10.0crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0used byerrno
0.2.8crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1used byerrno-dragonfly
0.1.2crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumaa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bfdepends onused byfastrand
1.8.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499depends onused byfind-crate
0.6.3crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum59a98bbaacea1c0eb6a0876280051b892eb73594fd90cf3b20e9c817029c57d2depends onfleet
0.1.0workspace↘ 21↖ 0fleet-install-secrets
0.1.0workspace↘ 10↖ 0fluent
0.16.0crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum61f69378194459db76abd2ce3952b790db103ceb003008d3d50d97c41ff847a7depends onfluent-bundle
0.15.2crates.io↘ 8↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume242c601dec9711505f6d5bbff5bedd4b61b2469f2e8bb8e57ee7c9747a87ffddepends onused byfluent-langneg
0.13.0crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2c4ad0989667548f06ccd0e306ed56b61bd4d35458d54df5ec7587c0e8ed5e94depends onfluent-syntax
0.11.0crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc0abed97648395c902868fee9026de96483933faa54ea3b40d652f7dfe61ca78depends onfutures
0.3.26crates.io↘ 7↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84depends onused byfutures-channel
0.3.26crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5depends onfutures-core
0.3.26crates.io↘ 0↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608futures-executor
0.3.26crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50eused byfutures-io
0.3.26crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531futures-macro
0.3.26crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70depends onused byfutures-sink
0.3.26crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364futures-task
0.3.26crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366futures-util
0.3.26crates.io↘ 10↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1depends ongeneric-array
0.14.6crates.io↘ 2↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9depends ongetrandom
0.1.16crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fceused bygetrandom
0.2.8crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31used byhashbrown
0.9.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04used byhashbrown
0.12.3crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888used byheck
0.4.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8used byhermit-abi
0.2.6crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7depends onhkdf
0.12.3crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437depends onused byhmac
0.12.1crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5edepends onhostname
0.3.1crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867depends onused byhumantime
2.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4used byi18n-config
0.4.3crates.io↘ 6↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3d9f93ceee6543011739bc81699b5e0cf1f23f3a80364649b6d80de8636bc8dfi18n-embed
0.13.8crates.io↘ 13↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2653dd1a8be0726315603f1c180b29f90e5b2a58f8b943d949d5170d9ad81101depends onused byi18n-embed-fl
0.6.5crates.io↘ 13↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma425b9bbdc2e4cd797a2a79528662cb61894bd36db582e48da2c56c28eb727cddepends onused byi18n-embed-impl
0.8.0crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0db2330e035808eb064afb67e6743ddce353763af3e0f2bdfc2476e00ce76136used byiana-time-zone
0.1.53crates.io↘ 6↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765depends onused byiana-time-zone-haiku
0.1.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dcadepends onused byinout
0.1.3crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5depends onused byinstant
0.1.12crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2cdepends onused byintl_pluralrules
7.0.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum078ea7b7c29a2b4df841a7f6ac8775ff6074020c6776d48491ce2268e068f972depends onused byintl-memoizer
0.5.1crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66fdepends onio_tee
0.1.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4b3f7cef34251886990511df1c61443aa928499d598a9473929ab5a90a527304used byio-lifetimes
1.0.5crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3depends onused byis-terminal
0.4.2crates.io↘ 4↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189used byitoa
1.0.5crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumfad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440used byjs-sys
0.3.61crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730depends onlazy_static
1.4.0crates.io↘ 1↖ 6sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646depends onlibc
0.2.139crates.io↘ 0↖ 22sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79used by- android_system_properties
0.1.5 - cpufeatures
0.2.5 - errno
0.2.8 - errno-dragonfly
0.1.2 - getrandom
0.1.16 - getrandom
0.2.8 - hermit-abi
0.2.6 - hostname
0.3.1 - io-lifetimes
1.0.5 - libmimalloc-sys
0.1.30 - mio
0.8.5 - nix
0.26.2 - num_cpus
1.15.0 - parking_lot_core
0.9.7 - rand
0.7.3 - rand
0.8.5 - rustix
0.36.7 - signal-hook-registry
1.4.0 - socket2
0.4.7 - tempfile
3.3.0 - time
0.1.45 - tokio
1.25.0
- android_system_properties
libm
0.2.6crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffblibmimalloc-sys
0.1.30crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumdd8c7cbf8b89019683667e347572e6d55a7df7ea36b0c4ce69961b0cde67b174depends onused bylink-cplusplus
1.0.8crates.io↘ 1↖ 1linked-hash-map
0.5.6crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770fused bylinux-raw-sys
0.1.4crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4used bylock_api
0.4.9crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4dfdepends onlog
0.4.17crates.io↘ 1↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumabb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382edepends onmatch_cfg
0.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4used bymatchers
0.1.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558depends onused bymemchr
2.5.0crates.io↘ 0↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566dmemoffset
0.6.5crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79cedepends onused bymemoffset
0.7.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4depends onused bymimalloc
0.1.34crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9dcb174b18635f7561a0c6c9fc2ce57218ac7523cf72c50af80e2d79ab8f3ba1depends onused byminimal-lexical
0.2.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79aused bymio
0.8.5crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158deused bynix
0.26.2crates.io↘ 6↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1aused bynixlike
0.1.0workspace↘ 9↖ 1nom
7.1.3crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4adepends onused bynu-ansi-term
0.46.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84depends onused bynum_cpus
1.15.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593bdepends onused bynum-bigint-dig
0.8.2crates.io↘ 9↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2399c9463abc5f909349d8aa9ba080e0b88b3ce2885389b60b993f39b1a56905depends onused bynum-integer
0.1.45crates.io↘ 2↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9depends onnum-iter
0.1.43crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252used bynum-traits
0.2.15crates.io↘ 2↖ 7sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcddepends ononce_cell
1.17.0crates.io↘ 0↖ 8sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66opaque-debug
0.3.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5used byos_str_bytes
6.4.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723eeused byoverload
0.1.1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39used byparking_lot
0.12.1crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228fdepends onused byparking_lot_core
0.9.7crates.io↘ 5↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521pbkdf2
0.11.0crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917depends onpeg
0.8.1crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma07f2cafdc3babeebc087e499118343442b742cc7c31b4d054682cc598508554depends onused bypeg-macros
0.8.1crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4a90084dc05cf0428428e3d12399f39faad19b0909f64fb9170c9fdd6d9cd49bused bypeg-runtime
0.8.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9fa00462b37ead6d11a82c9d568b26682d78e0477dc02d1966c013af80969739used bypin-project
1.0.12crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6eccdepends onused bypin-project-internal
1.0.12crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55depends onused bypin-project-lite
0.2.9crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116pin-utils
0.1.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184used bypkcs1
0.4.1crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumeff33bdbdfc54cc98a2eca766ebdec3e1b8fb7387523d5c9c9a2891da856f719depends onused bypkcs8
0.9.0crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4baused bypoly1305
0.8.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abfused byppv-lite86
0.2.17crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6deproc-macro-error
1.0.4crates.io↘ 5↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumda25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38cproc-macro-error-attr
1.0.4crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869used byproc-macro2
1.0.50crates.io↘ 1↖ 23sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2depends onused by- async-trait
0.1.64 - clap_derive
4.1.0 - cxx-build
1.0.89 - cxxbridge-macro
1.0.89 - displaydoc
0.2.3 - futures-macro
0.3.26 - i18n-embed-fl
0.6.5 - i18n-embed-impl
0.8.0 - peg-macros
0.8.1 - pin-project-internal
1.0.12 - proc-macro-error
1.0.4 - proc-macro-error-attr
1.0.4 - quote
1.0.23 - rust-embed-impl
6.3.1 - serde_derive
1.0.152 - syn
1.0.107 - synstructure
0.12.6 - thiserror-impl
1.0.38 - tokio-macros
1.8.2 - tracing-attributes
0.1.23 - wasm-bindgen-backend
0.2.84 - wasm-bindgen-macro-support
0.2.84 - zeroize_derive
1.3.3
- async-trait
quote
1.0.23crates.io↘ 1↖ 23sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7bdepends onused by- async-trait
0.1.64 - clap_derive
4.1.0 - cxx-build
1.0.89 - cxxbridge-macro
1.0.89 - displaydoc
0.2.3 - futures-macro
0.3.26 - i18n-embed-fl
0.6.5 - i18n-embed-impl
0.8.0 - peg-macros
0.8.1 - pin-project-internal
1.0.12 - proc-macro-error
1.0.4 - proc-macro-error-attr
1.0.4 - rust-embed-impl
6.3.1 - serde_derive
1.0.152 - syn
1.0.107 - synstructure
0.12.6 - thiserror-impl
1.0.38 - tokio-macros
1.8.2 - tracing-attributes
0.1.23 - wasm-bindgen-backend
0.2.84 - wasm-bindgen-macro
0.2.84 - wasm-bindgen-macro-support
0.2.84 - zeroize_derive
1.3.3
- async-trait
rand
0.7.3crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03used byrand
0.8.5crates.io↘ 3↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404rand_chacha
0.2.2crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402depends onused byrand_chacha
0.3.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88depends onused byrand_core
0.5.1crates.io↘ 1↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19depends onrand_core
0.6.4crates.io↘ 1↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922cdepends onrand_hc
0.2.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613cdepends onused byredox_syscall
0.2.16crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumfb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519adepends onregex
1.7.1crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733regex-automata
0.1.10crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132depends onused byregex-syntax
0.6.28crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848remove_dir_all
0.5.3crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7depends onused byrnix
0.10.2crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8024a523e8836f1a5d051203dc00d833357fee94e351b51348dfaeca5364daa9depends onused byron
0.8.0crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum300a51053b1cb55c80b7a9fde4120726ddf25ca241a1cbb926626f62fb136bffdepends onused byrowan
0.12.6crates.io↘ 5↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma1b36e449f3702f3b0c821411db1cbdf30fb451726a9456dce5dabcd44420043used byrsa
0.7.2crates.io↘ 13↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum094052d5470cbcef561cb848a7209968c9f12dfa6d668f4bca048ac5de51099cdepends onused byrust-embed
6.4.2crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum283ffe2f866869428c92e0d61c2f35dfb4355293cdfdc48f49e895c15f1333d1used byrust-embed-impl
6.3.1crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum31ab23d42d71fb9be1b643fe6765d292c5e14d46912d13f3ae2815ca048ea04dused byrust-embed-utils
7.3.0crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc1669d81dfabd1b5f8e2856b8bbe146c6192b0ba22162edc738ac0a5de18f054depends onrustc-hash
1.1.0crates.io↘ 0↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2rustix
0.36.7crates.io↘ 6↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd4fdebc4b395b7fbb9ab11e462e20ed9051e7b16e42d24042c776eca0ac81b03ryu
1.0.12crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decdeused bysalsa20
0.10.2crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213depends onused bysame-file
1.0.6crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502depends onused byscopeguard
1.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cdused byscratch
1.0.3crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2used byscrypt
0.10.0crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9f9e24d2b632954ded8ab2ef9fea0a0c769ea56ea98bddbafbad22caeeadf45dused bysecrecy
0.8.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91edepends onused byself_cell
0.10.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1ef965a420fe14fdac7dd018862966a4c14094f900e1650bbc71ddd7d580c8afused byserde
1.0.152crates.io↘ 1↖ 12sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efbdepends onserde_derive
1.0.152crates.io↘ 3↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumaf487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541edepends onused byserde_json
1.0.91crates.io↘ 3↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883depends onserde-transcode
1.1.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum590c0e25c2a5bb6e85bf5c1bce768ceb86b316e7a01bdf07d2cb4ec2271990e2depends onused bysha2
0.10.6crates.io↘ 3↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0depends onsharded-slab
0.1.4crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31depends onused bysignal-hook-registry
1.4.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0depends onused bysignature
1.6.4crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7cdepends onused byslab
0.4.7crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcefdepends onused bysmallvec
1.10.0crates.io↘ 0↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0smol_str
0.1.23crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7475118a28b7e3a2e157ce0131ba8c5526ea96e90ee601d9f6bb2e286a35ab44depends onused bysocket2
0.4.7crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebddepends onused byspin
0.5.2crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042dused byspki
0.6.0crates.io↘ 2↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212bdepends onused bystatic_assertions
1.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543fused bystrsim
0.10.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623used bysubtle
2.4.1crates.io↘ 0↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601syn
1.0.107crates.io↘ 3↖ 19sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5used by- async-trait
0.1.64 - clap_derive
4.1.0 - cxx-build
1.0.89 - cxxbridge-macro
1.0.89 - displaydoc
0.2.3 - futures-macro
0.3.26 - i18n-embed-fl
0.6.5 - i18n-embed-impl
0.8.0 - pin-project-internal
1.0.12 - proc-macro-error
1.0.4 - rust-embed-impl
6.3.1 - serde_derive
1.0.152 - synstructure
0.12.6 - thiserror-impl
1.0.38 - tokio-macros
1.8.2 - tracing-attributes
0.1.23 - wasm-bindgen-backend
0.2.84 - wasm-bindgen-macro-support
0.2.84 - zeroize_derive
1.3.3
- async-trait
synstructure
0.12.6crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210fused bytempfile
3.3.0crates.io↘ 6↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4termcolor
1.2.0crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbe55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6depends onterminal_size
0.2.3crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcb20089a8ba2b69debd491f8d2d023761cbf196e999218c591fa1e7e15a21907depends onused bytext-size
1.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum288cb548dbe72b652243ea797201f3d481a0609a967980fcc5b2315ea811560aused bythiserror
1.0.38crates.io↘ 1↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0depends onthiserror-impl
1.0.38crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36fdepends onused bythread_local
1.1.4crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180depends onused bytime
0.1.45crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805aused bytime
0.3.17crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376used bytime-core
0.1.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fdused bytime-macros
0.2.6crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2depends onused bytinystr
0.7.1crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7ac3f5b6856e931e15e07b478e98c8045239829a65f9156d4fa7e7788197a5efdepends onused bytokio
1.25.0crates.io↘ 12↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3afdepends onused bytokio-macros
1.8.2crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumd266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8depends onused bytokio-util
0.7.4crates.io↘ 6↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740depends onused bytoml
0.5.11crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234depends ontracing
0.1.37crates.io↘ 4↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8tracing-attributes
0.1.23crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081adepends onused bytracing-core
0.1.30crates.io↘ 2↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213adepends ontracing-log
0.1.3crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922used bytracing-subscriber
0.3.16crates.io↘ 10↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksuma6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70depends onused bytype-map
0.4.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumb6d3364c5e96cb2ad1603037ab253ddd34d7fb72a58bdddf4b7350760fc69a46depends onused bytypenum
1.16.0crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bbaunic-langid
0.9.1crates.io↘ 1↖ 8sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum398f9ad7239db44fd0f80fe068d12ff22d78354080332a5077dc6f52f14dcf2fdepends onunic-langid-impl
0.9.1crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksume35bfd2f2b8796545b55d7d3fd3e89a0613f68a0d1c8bc28cb7ff96b411a35ffdepends onused byunicase
2.6.0crates.io↘ 1↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6depends onused byunicode-ident
1.0.6crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebcused byunicode-width
0.1.10crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8bunicode-xid
0.2.4crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumf962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8cused byuniversal-hash
0.5.0crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum7d3160b73c9a19f7e2939a2fdad446c57c1bbbbf4d919d3213ff1267a580d8b5depends onused byvaluable
0.1.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6dused byversion_check
0.9.4crates.io↘ 0↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483fwalkdir
2.3.2crates.io↘ 3↖ 4sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56wasi
0.9.0+wasi-snapshot-preview1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumcccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519used bywasi
0.10.0+wasi-snapshot-preview1crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31fused bywasi
0.11.0+wasi-snapshot-preview1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423used bywasm-bindgen
0.2.84crates.io↘ 2↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53bdepends onwasm-bindgen-backend
0.2.84crates.io↘ 7↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9depends onwasm-bindgen-macro
0.2.84crates.io↘ 2↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5used bywasm-bindgen-macro-support
0.2.84crates.io↘ 5↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6used bywinapi
0.3.9crates.io↘ 2↖ 11sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419winapi-i686-pc-windows-gnu
0.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6used bywinapi-util
0.1.5crates.io↘ 1↖ 3sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178depends onwinapi-x86_64-pc-windows-gnu
0.4.0crates.io↘ 0↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183fused bywindows_aarch64_gnullvm
0.42.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608windows_aarch64_msvc
0.42.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7windows_i686_gnu
0.42.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumde3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640windows_i686_msvc
0.42.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumbf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605windows_x86_64_gnu
0.42.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45windows_x86_64_gnullvm
0.42.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463windows_x86_64_msvc
0.42.1crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffdwindows-sys
0.42.0crates.io↘ 7↖ 5sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7depends onwindows-sys
0.45.0crates.io↘ 1↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0depends onwindows-targets
0.42.1crates.io↘ 7↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7depends onused byx25519-dalek
1.1.1crates.io↘ 3↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4fused byz85
3.0.5crates.io↘ 0↖ 2sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum2a599daf1b507819c1121f0bf87fa37eb19daac6aff3aefefd4e6e2e0f2020fczeroize
1.5.7crates.io↘ 1↖ 10sourceregistry+https://github.com/rust-lang/crates.io-indexchecksumc394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149fdepends onzeroize_derive
1.3.3crates.io↘ 4↖ 1sourceregistry+https://github.com/rust-lang/crates.io-indexchecksum44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36cused by
cmds/fleet/Cargo.tomldiffbeforeafterboth--- a/cmds/fleet/Cargo.toml
+++ b/cmds/fleet/Cargo.toml
@@ -13,14 +13,14 @@
tempfile = "3.2"
once_cell = "1.5"
hostname = "0.3.1"
-age-core = "0.8.0"
+age-core = "0.9.0"
peg = "0.8.0"
nixlike = { path = "../../crates/nixlike" }
-age = { version = "0.8.1", features = ["ssh", "armor"] }
-base64 = "0.13.0"
+age = { version = "0.9.0", features = ["ssh", "armor"] }
+base64 = "0.21.0"
chrono = { version = "0.4.19", features = ["serde"] }
z85 = "3.0.3"
-clap = { version = "3.1.0", features = [
+clap = { version = "4.0.29", features = [
"derive",
"env",
"wrap_help",
cmds/fleet/src/cmds/build_systems.rsdiffbeforeafterboth--- a/cmds/fleet/src/cmds/build_systems.rs
+++ b/cmds/fleet/src/cmds/build_systems.rs
@@ -8,9 +8,6 @@
#[derive(Parser, Clone)]
pub struct BuildSystems {
- /// Jobs to run locally
- #[clap(long)]
- jobs: Option<usize>,
/// Do not continue on error
#[clap(long)]
fail_fast: bool,
@@ -19,13 +16,6 @@
privileged_build: bool,
#[clap(subcommand)]
subcommand: Subcommand,
-
- /// --builders arg for nix
- #[clap(long)]
- builders: Option<String>,
- /// --show-trace arg for nix
- #[structopt(long)]
- show_trace: bool,
}
enum UploadAction {
@@ -126,7 +116,7 @@
Command::new("nix")
};
nix_build
- .args(&[
+ .args([
"build",
"--impure",
"--json",
@@ -140,22 +130,9 @@
"buildSystems.{}.{host}",
action.build_attr()
)),
- );
+ )
+ .args(&config.nix_args);
- if self.show_trace {
- nix_build.arg("--show-trace");
- }
- if let Some(builders) = &self.builders {
- nix_build.arg("--builders").arg(builders);
- }
- if let Some(jobs) = &self.jobs {
- nix_build.arg("--max-jobs");
- nix_build.arg(format!("{}", jobs));
- }
- if !self.fail_fast {
- nix_build.arg("--keep-going");
- }
-
nix_build.run_nix().await?;
let built = std::fs::canonicalize(built)?;
@@ -166,7 +143,7 @@
let mut tries = 0;
loop {
match Command::new("nix")
- .args(&["copy", "--to"])
+ .args(["copy", "--to"])
.arg(format!("ssh://root@{}", host))
.arg(&built)
.inherit_stdio()
@@ -188,7 +165,7 @@
info!("switching generation");
config
.command_on(&host, "nix-env", true)
- .args(&["-p", "/nix/var/nix/profiles/system", "--set"])
+ .args(["-p", "/nix/var/nix/profiles/system", "--set"])
.arg(&built)
.inherit_stdio()
.run()
@@ -219,18 +196,10 @@
Command::new("nix")
};
nix_build
- .args(&["build", "--impure", "--no-link", "--out-link"])
+ .args(["build", "--impure", "--no-link", "--out-link"])
.arg(&out)
- .arg(
- config.configuration_attr_name(&format!("buildSystems.sdImage.{}", host,)),
- );
- if let Some(builders) = &self.builders {
- nix_build.arg("--builders").arg(builders);
- }
- if let Some(jobs) = &self.jobs {
- nix_build.arg("--max-jobs");
- nix_build.arg(format!("{}", jobs));
- }
+ .arg(config.configuration_attr_name(&format!("buildSystems.sdImage.{}", host,)))
+ .args(&config.nix_args);
if !self.fail_fast {
nix_build.arg("--keep-going");
}
@@ -250,21 +219,15 @@
Command::new("nix")
};
nix_build
- .args(&["build", "--impure", "--no-link", "--out-link"])
+ .args(["build", "--impure", "--no-link", "--out-link"])
.arg(&out)
.arg(
config.configuration_attr_name(&format!(
"buildSystems.installationCd.{}",
host,
)),
- );
- if let Some(builders) = &self.builders {
- nix_build.arg("--builders").arg(builders);
- }
- if let Some(jobs) = &self.jobs {
- nix_build.arg("--max-jobs");
- nix_build.arg(format!("{}", jobs));
- }
+ )
+ .args(&config.nix_args);
if !self.fail_fast {
nix_build.arg("--keep-going");
}
cmds/fleet/src/cmds/info.rsdiffbeforeafterboth--- a/cmds/fleet/src/cmds/info.rs
+++ b/cmds/fleet/src/cmds/info.rs
@@ -1,8 +1,15 @@
-use std::collections::BTreeSet;
+use std::{collections::BTreeSet, time::Duration};
-use crate::host::Config;
-use anyhow::{ensure, Result};
+use crate::{command::CommandExt, host::Config};
+use anyhow::{bail, ensure, Result};
use clap::Parser;
+use nixlike::format_nix;
+use serde_json::{json, Value};
+use tokio::{
+ fs::{self, File},
+ io::AsyncWriteExt,
+ process::Command,
+};
#[derive(Parser)]
pub struct Info {
cmds/fleet/src/cmds/secrets/mod.rsdiffbeforeafterboth--- a/cmds/fleet/src/cmds/secrets/mod.rs
+++ b/cmds/fleet/src/cmds/secrets/mod.rs
@@ -2,13 +2,17 @@
fleetdata::{FleetSecret, FleetSharedSecret},
host::Config,
};
-use anyhow::{bail, Result};
+use age::{Decryptor, Encryptor};
+use anyhow::{bail, ensure, Context, Result};
use clap::Parser;
use futures::{StreamExt, TryStreamExt};
use std::{
- io::{self, Cursor, Read},
+ collections::HashSet,
+ io::{self, Cursor, Read, Write},
+ iter,
path::PathBuf,
};
+use tracing::{info, warn};
#[derive(Parser)]
pub enum Secrets {
@@ -42,6 +46,23 @@
#[clap(long)]
public_file: Option<PathBuf>,
},
+ /// Read secret from remote host, requires sudo on said host
+ Read {
+ name: String,
+ machine: String,
+ },
+ UpdateShared {
+ name: String,
+
+ machines: Option<Vec<String>>,
+
+ add_machines: Vec<String>,
+ remove_machines: Vec<String>,
+
+ /// Which host should we use to decrypt
+ prefer_identities: Vec<String>,
+ },
+ Regenerate,
}
impl Secrets {
@@ -78,9 +99,10 @@
let recipients = recipients
.iter()
.cloned()
- .map(|r| Box::new(r) as Box<dyn age::Recipient>)
+ .map(|r| Box::new(r) as Box<dyn age::Recipient + Send>)
.collect();
let mut encryptor = age::Encryptor::with_recipients(recipients)
+ .expect("recipients provided")
.wrap_output(&mut encrypted)?;
io::copy(&mut Cursor::new(input), &mut encryptor)?;
encryptor.finish()?;
@@ -101,7 +123,7 @@
secret,
public: match (public, public_file) {
(Some(v), None) => Some(v),
- (None, Some(v)) => Some(std::fs::read_to_string(&v)?),
+ (None, Some(v)) => Some(std::fs::read_to_string(v)?),
(Some(_), Some(_)) => {
bail!("only public or public_file should be set")
}
@@ -123,10 +145,14 @@
let secret = {
let mut input = vec![];
io::stdin().read_to_end(&mut input)?;
+ if input.is_empty() {
+ bail!("no data provided")
+ }
let mut encrypted = vec![];
- let recipient = Box::new(recipient) as Box<dyn age::Recipient>;
+ let recipient = Box::new(recipient) as Box<dyn age::Recipient + Send>;
let mut encryptor = age::Encryptor::with_recipients(vec![recipient])
+ .expect("recipients provided")
.wrap_output(&mut encrypted)?;
io::copy(&mut Cursor::new(input), &mut encryptor)?;
encryptor.finish()?;
@@ -145,13 +171,180 @@
secret,
public: match (public, public_file) {
(Some(v), None) => Some(v),
- (None, Some(v)) => Some(std::fs::read_to_string(&v)?),
+ (None, Some(v)) => Some(std::fs::read_to_string(v)?),
(Some(_), Some(_)) => bail!("only public or public_file should be set"),
(None, None) => None,
},
},
);
}
+ // TODO: Instead of using sudo, decode secret on remote machine
+ #[allow(clippy::await_holding_refcell_ref)]
+ Secrets::Read { name, machine } => {
+ let data = config.data();
+
+ let Some(host_secrets) = data.host_secrets.get(&machine) else {
+ bail!("no secrets for machine {machine}");
+ };
+ let Some(secret) = host_secrets.get(&name) else {
+ bail!("machine {machine} has no secret {name}");
+ };
+ if secret.secret.is_empty() {
+ bail!("no secret {name}");
+ }
+ let identity = config.identity(&machine).await?;
+ let decryptor = Decryptor::new(Cursor::new(&secret.secret))?;
+ let decryptor = match decryptor {
+ Decryptor::Recipients(r) => r,
+ Decryptor::Passphrase(_) => bail!("should be recipients"),
+ };
+ let mut decryptor = decryptor
+ .decrypt(iter::once(&identity as &dyn age::Identity))
+ .context("failed to decrypt, wrong key?")?;
+
+ let mut decrypted = Vec::new();
+ decryptor
+ .read_to_end(&mut decrypted)
+ .context("failed to decrypt")?;
+ // secret.secret
+ std::io::stdout().lock().write_all(&decrypted)?;
+ }
+ Secrets::UpdateShared {
+ name,
+ machines,
+ mut add_machines,
+ mut remove_machines,
+ prefer_identities,
+ } => {
+ let mut data = config.data_mut();
+ if machines.is_none() && add_machines.is_empty() && remove_machines.is_empty() {
+ bail!("no operation");
+ }
+
+ let Some(mut secret) = data.shared_secrets.get_mut(&name) else {
+ bail!("no shared secret {name}");
+ };
+ if secret.secret.secret.is_empty() {
+ bail!("no secret");
+ }
+
+ let initial_machines = secret.owners.clone();
+ let mut target_machines = secret.owners.clone();
+
+ // ensure!(machines.is_some() || !add_machines.is_empty() || )
+ if let Some(machines) = machines {
+ ensure!(
+ add_machines.is_empty() && remove_machines.is_empty(),
+ "can't combine --machines and --add-machines/--remove-machines"
+ );
+ let target = initial_machines.iter().collect::<HashSet<_>>();
+ let source = machines.iter().collect::<HashSet<_>>();
+ for removed in target.difference(&source) {
+ remove_machines.push((*removed).clone());
+ }
+ for added in source.difference(&target) {
+ add_machines.push((*added).clone());
+ }
+ }
+
+ for machine in &remove_machines {
+ let mut removed = false;
+ while let Some(pos) = target_machines.iter().position(|m| m == machine) {
+ target_machines.swap_remove(pos);
+ removed = true;
+ }
+ if !removed {
+ bail!("secret is not enabled for {machine}");
+ }
+ }
+ for machine in &add_machines {
+ if target_machines.iter().any(|m| m == machine) {
+ warn!("secret is already added to {machine}");
+ }
+ }
+ if remove_machines.is_empty() {
+ warn!("secret will not be regenerated for removed machines, and until host rebuild, they will still possess the ability to decode secret");
+ }
+ if target_machines.is_empty() {
+ info!("no machines left for secret, removing it");
+ data.shared_secrets.remove(&name);
+ return Ok(());
+ }
+
+ let identity_holder = if !prefer_identities.is_empty() {
+ prefer_identities
+ .iter()
+ .find(|i| initial_machines.iter().any(|s| s == *i))
+ } else {
+ secret.owners.first()
+ };
+ let Some(identity_holder) = identity_holder else {
+ bail!("no available holder found");
+ };
+ let target_recipients = futures::stream::iter(&target_machines)
+ .flat_map(|m| futures::stream::once(config.recipient(m)))
+ .collect::<Vec<_>>()
+ .await
+ .into_iter()
+ .map(|v| v.map(|v| Box::new(v) as Box<dyn age::Recipient + Send>))
+ .collect::<Result<Vec<_>>>()?;
+
+ let identity = config.identity(identity_holder).await?;
+ let decryptor = Decryptor::new(Cursor::new(&secret.secret.secret))?;
+ let decryptor = match decryptor {
+ Decryptor::Recipients(r) => r,
+ Decryptor::Passphrase(_) => bail!("should be recipients"),
+ };
+ let mut decryptor = decryptor
+ .decrypt(iter::once(&identity as &dyn age::Identity))
+ .context("failed to decrypt, wrong key?")?;
+
+ let mut decrypted = Vec::new();
+ decryptor
+ .read_to_end(&mut decrypted)
+ .context("failed to decrypt")?;
+
+ let mut encrypted = vec![];
+ let mut encryptor = Encryptor::with_recipients(target_recipients)
+ .expect("recipients provided")
+ .wrap_output(&mut encrypted)?;
+ io::copy(&mut Cursor::new(decrypted), &mut encryptor)?;
+ encryptor.finish()?;
+
+ secret.secret.secret = encrypted;
+ }
+ Secrets::Regenerate => {
+ // config.data_mut().shared_secrets
+ {
+ let expected_shared_set =
+ config.shared_config_attr_names("sharedSecrets").await?;
+ let expected_shared_set = expected_shared_set.iter().collect::<HashSet<_>>();
+ let shared_set = config.data();
+ let shared_set = shared_set.shared_secrets.keys().collect::<HashSet<_>>();
+ for removed in expected_shared_set.difference(&shared_set) {
+ warn!("secret needs to be generated: {removed}")
+ }
+ }
+ let mut to_remove = Vec::new();
+ for (name, data) in &config.data().shared_secrets {
+ let expected_owners: Vec<String> = config
+ .shared_config_attr(&format!("sharedSecrets.\"{name}\".expectedOwners"))
+ .await?;
+ if expected_owners.is_empty() {
+ warn!("secret was removed from fleet config: {name}, removing from data");
+ to_remove.push(name.to_string());
+ continue;
+ }
+ let set = data.owners.iter().collect::<HashSet<_>>();
+ let expected_set = expected_owners.iter().collect::<HashSet<_>>();
+ if set != expected_set {
+ warn!("reconfiguring owners for {name}");
+ }
+ }
+ for k in to_remove {
+ config.data_mut().shared_secrets.remove(&k);
+ }
+ }
}
Ok(())
}
cmds/fleet/src/command.rsdiffbeforeafterboth--- a/cmds/fleet/src/command.rs
+++ b/cmds/fleet/src/command.rs
@@ -128,8 +128,15 @@
};
match log {
NixLog::Msg { msg, raw_msg, .. } => {
- if !(msg.ends_with(" is dirty") && msg.contains("warning:") && msg.contains(" Git tree ")) {
- info!(target: "nix", "{}", raw_msg.unwrap_or(msg))
+ if !(msg.starts_with("\u{1b}[35;1mwarning:\u{1b}[0m Git tree '") && msg.ends_with("' is dirty"))
+ && !msg.starts_with("\u{1b}[35;1mwarning:\u{1b}[0m not writing modified lock file of flake")
+ && msg != "\u{1b}[35;1mwarning:\u{1b}[0m \u{1b}[31;1merror:\u{1b}[0m SQLite database '\u{1b}[35;1m/nix/var/nix/db/db.sqlite\u{1b}[0m' is busy" {
+ if let Some(raw_msg) = raw_msg {
+ info!(target: "nix", "{raw_msg}\n{msg}")
+ }else {
+ info!(target: "nix", "{msg}")
+
+ }
}
},
NixLog::Start { ref fields, typ, .. } if typ == 105 && !fields.is_empty() => {
@@ -163,6 +170,9 @@
NixLog::Start { text, level: 1, typ: 111, .. } if text.starts_with("waiting for a machine to build ") => {
// Useless repeating notification about build
}
+ NixLog::Start { text, level: 3, typ: 111, .. } if text.starts_with("resolved derivation: ") => {
+ // CA resolved
+ }
NixLog::Stop { .. } => {},
NixLog::Result { .. } => {},
_ => warn!("unknown log: {:?}", log)
cmds/fleet/src/fleetdata.rsdiffbeforeafterboth--- a/cmds/fleet/src/fleetdata.rs
+++ b/cmds/fleet/src/fleetdata.rs
@@ -1,6 +1,17 @@
+use anyhow::{bail, Result};
use chrono::{DateTime, Utc};
+use nixlike::format_nix;
use serde::{Deserialize, Deserializer, Serialize, Serializer};
+use serde_json::{json, Value};
use std::collections::BTreeMap;
+use tempfile::TempDir;
+use tokio::{
+ fs::{self, File},
+ io::AsyncWriteExt,
+ process::Command,
+};
+
+use crate::command::CommandExt;
#[derive(Serialize, Deserialize, Default)]
#[serde(rename_all = "camelCase")]
@@ -52,7 +63,7 @@
where
S: Serializer,
{
- serializer.serialize_str(&z85::encode(&key))
+ serializer.serialize_str(&z85::encode(key))
}
fn from_z85<'de, D>(deserializer: D) -> Result<Vec<u8>, D::Error>
@@ -61,5 +72,39 @@
{
use serde::de::Error;
String::deserialize(deserializer)
- .and_then(|string| z85::decode(&string).map_err(|err| Error::custom(err.to_string())))
+ .and_then(|string| z85::decode(string).map_err(|err| Error::custom(err.to_string())))
+}
+
+pub async fn dummy_flake() -> Result<TempDir> {
+ let data_str = fs::read_to_string("fleet.nix").await?;
+
+ let mut cmd = Command::new("nix");
+ cmd.arg("flake").arg("metadata").arg("--json");
+
+ let flake_dir = tempfile::tempdir()?;
+ let mut flake_nix = flake_dir.path().to_path_buf();
+ flake_nix.push("flake.nix");
+ // flake_dir
+
+ File::create(&flake_nix)
+ .await?
+ .write_all(
+ format_nix(&format!(
+ "
+ {{
+ outputs = {{self, ...}}: {{
+ data = {data_str};
+ }};
+ }}
+ "
+ ))
+ .as_bytes(),
+ )
+ .await?;
+
+ // std::thread::sleep(Duration::MAX);
+ // flake_dir.close()
+ // FIXME
+ dbg!(&flake_nix);
+ Ok(flake_dir)
}
cmds/fleet/src/host.rsdiffbeforeafterboth--- a/cmds/fleet/src/host.rs
+++ b/cmds/fleet/src/host.rs
@@ -2,6 +2,7 @@
cell::{Ref, RefCell, RefMut},
env::current_dir,
ffi::{OsStr, OsString},
+ io::Write,
ops::Deref,
path::PathBuf,
sync::Arc,
@@ -10,15 +11,20 @@
use anyhow::Result;
use clap::{ArgGroup, Parser};
use serde::de::DeserializeOwned;
+use tempfile::{NamedTempFile, TempDir};
use tokio::process::Command;
-use crate::{command::CommandExt, fleetdata::FleetData};
+use crate::{
+ command::CommandExt,
+ fleetdata::{dummy_flake, FleetData},
+};
pub struct FleetConfigInternals {
pub local_system: String,
pub directory: PathBuf,
pub opts: FleetOpts,
pub data: RefCell<FleetData>,
+ pub nix_args: Vec<OsString>,
}
#[derive(Clone)]
@@ -80,7 +86,27 @@
Command::new("nix")
.arg("eval")
.arg(self.configuration_attr_name("configuredHosts"))
- .args(&["--apply", "builtins.attrNames", "--json", "--show-trace"])
+ .args(["--apply", "builtins.attrNames", "--json", "--show-trace"])
+ .args(&self.nix_args)
+ .run_nix_json()
+ .await
+ }
+ pub async fn shared_config_attr<T: DeserializeOwned>(&self, attr: &str) -> Result<T> {
+ Command::new("nix")
+ .arg("eval")
+ .arg(self.configuration_attr_name(&format!("configUnchecked.{}", attr)))
+ .args(["--json", "--show-trace"])
+ .args(&self.nix_args)
+ .run_nix_json()
+ .await
+ }
+ pub async fn shared_config_attr_names(&self, attr: &str) -> Result<Vec<String>> {
+ Command::new("nix")
+ .arg("eval")
+ .arg(self.configuration_attr_name(&format!("configUnchecked.{}", attr)))
+ .args(["--apply", "builtins.attrNames"])
+ .args(["--json", "--show-trace"])
+ .args(&self.nix_args)
.run_nix_json()
.await
}
@@ -93,7 +119,8 @@
host, attr
)),
)
- .args(&["--json", "--show-trace"])
+ .args(["--json", "--show-trace"])
+ .args(&self.nix_args)
.run_nix_json()
.await
}
@@ -106,16 +133,18 @@
}
pub fn save(&self) -> Result<()> {
- let mut fleet_data_path = self.directory.clone();
- fleet_data_path.push("fleet.nix");
+ let mut tempfile = NamedTempFile::new_in(self.directory.clone())?;
let data = nixlike::serialize(&self.data() as &FleetData)?;
- std::fs::write(
- fleet_data_path,
+ tempfile.write_all(
format!(
"# This file contains fleet state and shouldn't be edited by hand\n\n{}\n",
data
- ),
+ )
+ .as_bytes(),
)?;
+ let mut fleet_data_path = self.directory.clone();
+ fleet_data_path.push("fleet.nix");
+ tempfile.persist(fleet_data_path)?;
Ok(())
}
}
@@ -143,7 +172,7 @@
}
impl FleetOpts {
- pub fn build(mut self) -> Result<Config> {
+ pub async fn build(mut self, nix_args: Vec<OsString>) -> Result<Config> {
let local_system = self.local_system.clone();
if self.localhost.is_none() {
self.localhost
@@ -161,6 +190,7 @@
directory,
data,
local_system,
+ nix_args,
})))
}
}
cmds/fleet/src/keys.rsdiffbeforeafterboth--- a/cmds/fleet/src/keys.rs
+++ b/cmds/fleet/src/keys.rs
@@ -35,6 +35,16 @@
Ok(key)
}
}
+ /// Insecure, requires root
+ pub async fn identity(&self, host: &str) -> anyhow::Result<age::ssh::Identity> {
+ warn!("Loading private key for {host}");
+ let key = self
+ .command_on(host, "cat", true)
+ .arg("/etc/ssh/ssh_host_ed25519_key")
+ .run_string()
+ .await?;
+ Ok(age::ssh::Identity::from_buffer(key.as_bytes(), None)?)
+ }
pub async fn recipient(&self, host: &str) -> anyhow::Result<age::ssh::Recipient> {
let key = self.key(host).await?;
age::ssh::Recipient::from_str(&key).map_err(|e| anyhow!("parse recipient error: {:?}", e))
cmds/fleet/src/main.rsdiffbeforeafterboth--- a/cmds/fleet/src/main.rs
+++ b/cmds/fleet/src/main.rs
@@ -59,8 +59,9 @@
.map_err(|e| anyhow!("Failed to initialize logger: {}", e))?;
info!("Starting");
- let opts = RootOpts::parse();
- let config = opts.fleet_opts.build()?;
+ let mut os_args = std::env::args_os();
+ let opts = RootOpts::parse_from((&mut os_args).take_while(|v| v != "--"));
+ let config = opts.fleet_opts.build(os_args.collect()).await?;
match run_command(&config, opts.command).await {
Ok(()) => {
cmds/install-secrets/Cargo.tomldiffbeforeafterboth--- a/cmds/install-secrets/Cargo.toml
+++ b/cmds/install-secrets/Cargo.toml
@@ -4,14 +4,14 @@
edition = "2021"
[dependencies]
-age = { version = "0.8.1", features = ["ssh"] }
+age = { version = "0.9.0", features = ["ssh"] }
anyhow = "1.0.44"
-env_logger = "0.9.0"
+env_logger = "0.10.0"
log = "0.4.14"
-nix = "0.25.0"
+nix = "0.26.1"
serde = "1.0.130"
-serde_json = "1.0.68"
-clap = { version = "3.1.0", features = [
+serde_json = "1.0.89"
+clap = { version = "4.0.29", features = [
"derive",
"env",
"wrap_help",
cmds/install-secrets/src/main.rsdiffbeforeafterboth--- a/cmds/install-secrets/src/main.rs
+++ b/cmds/install-secrets/src/main.rs
@@ -1,7 +1,7 @@
use age::Decryptor;
use anyhow::{anyhow, bail, Context, Result};
use clap::Parser;
-use log::error;
+use log::{error, info, warn};
use nix::sys::stat::Mode;
use nix::unistd::{chown, Group, User};
use serde::{Deserialize, Deserializer};
@@ -43,7 +43,7 @@
use serde::de::Error;
if let Some(v) = <Option<String>>::deserialize(deserializer)? {
Ok(Some(
- z85::decode(&v).map_err(|err| Error::custom(err.to_string()))?,
+ z85::decode(v).map_err(|err| Error::custom(err.to_string()))?,
))
} else {
Ok(None)
@@ -71,6 +71,7 @@
.context("failed to persist")?;
}
if value.secret.is_none() {
+ info!("no secret data found");
return Ok(());
}
let secret = value.secret.as_ref().unwrap();
@@ -109,6 +110,9 @@
.context("failed to decrypt")?;
decrypted
};
+ if decrypted.is_empty() {
+ warn!("secret is decoded as empty, something is broken?");
+ }
io::copy(&mut Cursor::new(&decrypted), &mut stable_temp)
.context("failed to write decrypted file")?;
@@ -155,6 +159,7 @@
let mut failed = false;
for (name, value) in data {
+ info!("initializing secret {name}");
if let Err(e) = init_secret(&identity, value) {
error!(
"{:?}",
crates/nixlike/Cargo.tomldiffbeforeafterboth--- a/crates/nixlike/Cargo.toml
+++ b/crates/nixlike/Cargo.toml
@@ -4,8 +4,12 @@
edition = "2021"
[dependencies]
-dprint-core = "0.51.0"
+alejandra = "1.5.0"
+rnix = "=0.10.2"
linked-hash-map = "0.5.4"
peg = "0.8.0"
serde = "1.0.130"
thiserror = "1.0.29"
+serde_json = "1.0.91"
+ron = "0.8.0"
+serde-transcode = "1.1.1"
crates/nixlike/src/lib.rsdiffbeforeafterboth--- a/crates/nixlike/src/lib.rs
+++ b/crates/nixlike/src/lib.rs
@@ -121,5 +121,9 @@
#[test]
fn test() {
- assert_eq!(serialize("Hello\nworld").unwrap(), "\"Hello\\nworld\"");
+ assert_eq!(serialize("Hello\nworld").unwrap(), "\"Hello\\nworld\"\n");
+}
+pub fn format_nix(value: &String) -> String {
+ let (_, out) = alejandra::format::in_memory("".to_owned(), value.to_owned());
+ out
}
crates/nixlike/src/to_string.rsdiffbeforeafterboth--- a/crates/nixlike/src/to_string.rs
+++ b/crates/nixlike/src/to_string.rs
@@ -1,10 +1,6 @@
use crate::Value;
-use dprint_core::formatting::{
- condition_resolvers, conditions, format, ConditionResolverContext, Info, PrintItems,
- PrintOptions, Signal,
-};
-fn write_nix_obj_key_buf(k: &str, v: &Value, out: &mut PrintItems) {
+fn write_nix_obj_key_buf(k: &str, v: &Value, out: &mut String) {
if k.contains('.') {
out.push_str("\"");
out.push_str(k);
@@ -27,99 +23,54 @@
}
}
-fn write_nix_buf(value: &Value, out: &mut PrintItems) {
+fn write_nix_str(str: &str, out: &mut String) {
+ out.push_str(&format!(
+ "\"{}\"",
+ str.replace('\\', "\\\\")
+ .replace('"', "\\\"")
+ .replace('\n', "\\n")
+ .replace('\t', "\\t")
+ .replace('\r', "\\r")
+ .replace('$', "\\$")
+ ))
+}
+
+fn write_nix_buf(value: &Value, out: &mut String) {
match value {
Value::Null => out.push_str("null"),
Value::Boolean(v) => out.push_str(if *v { "true" } else { "false" }),
Value::Number(n) => out.push_str(&format!("{}", n)),
- Value::String(s) => out.push_str(&format!(
- "\"{}\"",
- s.replace('\\', "\\\\")
- .replace('"', "\\\"")
- .replace('\n', "\\n")
- .replace('\t', "\\t")
- .replace('\r', "\\r")
- .replace('$', "\\$")
- )),
+ Value::String(s) => write_nix_str(s, out),
Value::Array(a) => {
if a.is_empty() {
out.push_str("[ ]");
} else {
- let start_info = Info::new("start");
- let end_info = Info::new("end");
- let is_multiple_lines = move |ctx: &mut ConditionResolverContext| {
- condition_resolvers::is_multiple_lines(ctx, &start_info, &end_info)
- };
- out.push_str("[");
- out.push_info(start_info);
- out.push_signal(Signal::StartIndent);
- out.push_condition(conditions::if_true_or(
- "array start",
- is_multiple_lines,
- Signal::NewLine.into(),
- Signal::SpaceOrNewLine.into(),
- ));
+ out.push('[');
for item in a {
write_nix_buf(item, out);
- out.push_condition(conditions::if_true_or(
- "element separator",
- is_multiple_lines,
- Signal::NewLine.into(),
- Signal::SpaceOrNewLine.into(),
- ));
+ out.push('\n');
}
- out.push_signal(Signal::FinishIndent);
- out.push_info(end_info);
- out.push_str("]");
+ out.push(']');
}
}
Value::Object(obj) => {
if obj.is_empty() {
out.push_str("{ }")
} else {
- let start_info = Info::new("start");
- let end_info = Info::new("end");
- let is_multiple_lines = move |ctx: &mut ConditionResolverContext| {
- condition_resolvers::is_multiple_lines(ctx, &start_info, &end_info)
- };
- out.push_str("{");
- out.push_info(start_info);
- out.push_signal(Signal::StartIndent);
- out.push_condition(conditions::if_true_or(
- "object start",
- is_multiple_lines,
- Signal::NewLine.into(),
- Signal::SpaceOrNewLine.into(),
- ));
+ out.push('{');
for (k, v) in obj {
write_nix_obj_key_buf(k, v, out);
- out.push_condition(conditions::if_true_or(
- "element separator",
- is_multiple_lines,
- Signal::NewLine.into(),
- Signal::SpaceOrNewLine.into(),
- ));
+ out.push('\n');
}
- out.push_signal(Signal::FinishIndent);
- out.push_info(end_info);
- out.push_str("}");
+ out.push('}');
}
}
};
}
pub fn write_nix(value: &Value) -> String {
- format(
- || {
- let mut items = PrintItems::new();
- write_nix_buf(value, &mut items);
- items
- },
- PrintOptions {
- max_width: 120,
- use_tabs: false,
- indent_width: 2,
- new_line_text: "\n",
- },
- )
+ let mut out = String::new();
+ write_nix_buf(value, &mut out);
+ let (_, out) = alejandra::format::in_memory("".to_owned(), out);
+ out
}
flake.lockdiffbeforeafterboth--- a/flake.lock
+++ b/flake.lock
@@ -2,11 +2,26 @@
"nodes": {
"flake-utils": {
"locked": {
- "lastModified": 1653893745,
- "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=",
+ "lastModified": 1667395993,
+ "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
- "rev": "1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1",
+ "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "flake-utils_2": {
+ "locked": {
+ "lastModified": 1659877975,
+ "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
@@ -17,16 +32,16 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1655726478,
- "narHash": "sha256-n0ArNOgTpxabE1wp7iGGYQMf8CBUN1/SjItuV+vyjvw=",
+ "lastModified": 1670700221,
+ "narHash": "sha256-+Fy/Wu8qeAppA14R4gLSlxmD0jGNVWYrgAJUaL23qkI=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "439dae554611b75c181e09ad55b8485ae50da0c6",
+ "rev": "ccf0f09e2e6744dcd721860a44c633e8708fde2b",
"type": "github"
},
"original": {
"owner": "nixos",
- "ref": "staging-next",
+ "ref": "master",
"repo": "nixpkgs",
"type": "github"
}
@@ -39,13 +54,18 @@
}
},
"rust-overlay": {
- "flake": false,
+ "inputs": {
+ "flake-utils": "flake-utils_2",
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
"locked": {
- "lastModified": 1655692957,
- "narHash": "sha256-PubmAIcfn/PQRA1G4FdEA9r+oo5JpgjPlx5EcTAgelM=",
+ "lastModified": 1670639101,
+ "narHash": "sha256-UvPSgbtaOk9WcgVqywnvQXOEEHx6OXdG+QXIwnbyvCw=",
"owner": "oxalica",
"repo": "rust-overlay",
- "rev": "72b262045a2afa8f6dca94572f6ed5409ef346ab",
+ "rev": "d00c488cb455c21fea731167bf8c1b8da605aac3",
"type": "github"
},
"original": {
flake.nixdiffbeforeafterboth--- a/flake.nix
+++ b/flake.nix
@@ -2,9 +2,9 @@
description = "NixOS configuration management";
inputs = {
- nixpkgs.url = "github:nixos/nixpkgs/staging-next";
- rust-overlay = { url = "github:oxalica/rust-overlay"; flake = false; };
- flake-utils.url = "github:numtide/flake-utils";
+ nixpkgs.url = "github:nixos/nixpkgs/master";
+ rust-overlay = { url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; };
+ flake-utils = { url = "github:numtide/flake-utils"; };
};
outputs = { self, rust-overlay, flake-utils, nixpkgs }: with nixpkgs.lib; rec {
lib = import ./lib { inherit flake-utils; };
@@ -15,7 +15,7 @@
inherit system; overlays = [ (import rust-overlay) ];
};
llvmPkgs = pkgs.buildPackages.llvmPackages_11;
- rust = (pkgs.rustChannelOf { date = "2022-02-02"; channel = "nightly"; }).default.override { extensions = [ "rust-src" ]; };
+ rust = (pkgs.rustChannelOf { date = "2022-12-02"; channel = "nightly"; }).default.override { extensions = [ "rust-src" ]; };
rustPlatform = pkgs.makeRustPlatform { cargo = rust; rustc = rust; };
in
{
lib/default.nixdiffbeforeafterboth--- a/lib/default.nix
+++ b/lib/default.nix
@@ -51,6 +51,7 @@
in
rec {
inherit configuredHosts configuredSecrets configuredSystems;
+ configUnchecked = root.config;
buildSystems = {
toplevel = builtins.mapAttrs (_name: value: value.config.system.build.toplevel) (configuredSystemsWithExtraModules [ ]);
sdImage = builtins.mapAttrs (_name: value: value.config.system.build.sdImage) (configuredSystemsWithExtraModules [
modules/fleet/secrets.nixdiffbeforeafterboth--- a/modules/fleet/secrets.nix
+++ b/modules/fleet/secrets.nix
@@ -9,6 +9,7 @@
if not matches expectedOwners - then this secret is considered outdated, and
should be regenerated/reencrypted
'';
+ default = [ ];
};
expectedOwners = mkOption {
type = listOf str;
@@ -80,7 +81,7 @@
assertions = mapAttrsToList
(name: secret: {
assertion = builtins.sort (a: b: a < b) secret.owners == builtins.sort (a: b: a < b) secret.expectedOwners;
- message = "Shared secret ${name} is expected to be encrypted for ${builtins.toJSON secret.expectedOwners}, but it is encrypted for ${builtins.toJSON secret.owners}";
+ message = "Shared secret ${name} is expected to be encrypted for ${builtins.toJSON secret.expectedOwners}, but it is encrypted for ${builtins.toJSON secret.owners}. Run fleet secrets regenerate to fix";
})
config.sharedSecrets;
hosts = hostsToAttrs (host: {