difftreelog
chore(deps) update to `age` version `0.11` (#9)
in: trunk
* chore(deps): update to `age` version `0.11` * chore(deps): update the remaining dependencies * chore: simplify `encrypt_secret_data` bounds * chore: simplify `encrypt_secret_data` bounds even more
9 files changed
Cargo.lockdiffbeforeafterboth636364[[package]]64[[package]]65name = "age"65name = "age"66version = "0.10.0"66version = "0.11.0"67source = "registry+https://github.com/rust-lang/crates.io-index"67source = "registry+https://github.com/rust-lang/crates.io-index"68checksum = "edeef7d7b199195a2d7d7a8155d2d04aee736e60c5c7bdd7097d115369a8817d"68checksum = "2020562e68d7a02c2743707b262c62484b340a296924a5e4146d5a0a96ca8103"69dependencies = [69dependencies = [70 "aes",70 "aes",71 "aes-gcm",71 "aes-gcm",989899[[package]]99[[package]]100name = "age-core"100name = "age-core"101version = "0.10.0"101version = "0.11.0"102source = "registry+https://github.com/rust-lang/crates.io-index"102source = "registry+https://github.com/rust-lang/crates.io-index"103checksum = "a5f11899bc2bbddd135edbc30c36b1924fa59d0746bb45beb5933fafe3fe509b"103checksum = "e2bf6a89c984ca9d850913ece2da39e1d200563b0a94b002b253beee4c5acf99"104dependencies = [104dependencies = [105 "base64 0.21.7",105 "base64 0.21.7",106 "chacha20poly1305",106 "chacha20poly1305",261261262[[package]]262[[package]]263name = "axum"263name = "axum"264version = "0.7.7"264version = "0.7.9"265source = "registry+https://github.com/rust-lang/crates.io-index"265source = "registry+https://github.com/rust-lang/crates.io-index"266checksum = "504e3947307ac8326a5437504c517c4b56716c9d98fac0028c2acc7ca47d70ae"266checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f"267dependencies = [267dependencies = [268 "async-trait",268 "async-trait",269 "axum-core",269 "axum-core",318 "miniz_oxide",318 "miniz_oxide",319 "object",319 "object",320 "rustc-demangle",320 "rustc-demangle",321 "windows-targets 0.52.6",321 "windows-targets",322]322]323323324[[package]]324[[package]]480480481[[package]]481[[package]]482name = "cc"482name = "cc"483version = "1.2.0"483version = "1.2.1"484source = "registry+https://github.com/rust-lang/crates.io-index"484source = "registry+https://github.com/rust-lang/crates.io-index"485checksum = "1aeb932158bd710538c73702db6945cb68a8fb08c519e6e12706b94263b36db8"485checksum = "fd9de9f2205d5ef3fd67e685b0df337994ddd4495e2a28d185500d0e1edfea47"486dependencies = [486dependencies = [487 "shlex",487 "shlex",488]488]544 "num-traits",544 "num-traits",545 "serde",545 "serde",546 "wasm-bindgen",546 "wasm-bindgen",547 "windows-targets 0.52.6",547 "windows-targets",548]548]549549550[[package]]550[[package]]571571572[[package]]572[[package]]573name = "clap"573name = "clap"574version = "4.5.20"574version = "4.5.21"575source = "registry+https://github.com/rust-lang/crates.io-index"575source = "registry+https://github.com/rust-lang/crates.io-index"576checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8"576checksum = "fb3b4b9e5a7c7514dfa52869339ee98b3156b0bfb4e8a77c4ff4babb64b1604f"577dependencies = [577dependencies = [578 "clap_builder",578 "clap_builder",579 "clap_derive",579 "clap_derive",580]580]581581582[[package]]582[[package]]583name = "clap_builder"583name = "clap_builder"584version = "4.5.20"584version = "4.5.21"585source = "registry+https://github.com/rust-lang/crates.io-index"585source = "registry+https://github.com/rust-lang/crates.io-index"586checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54"586checksum = "b17a95aa67cc7b5ebd32aa5370189aa0d79069ef1c64ce893bd30fb24bff20ec"587dependencies = [587dependencies = [588 "anstream",588 "anstream",589 "anstyle",589 "anstyle",590 "clap_lex",590 "clap_lex",591 "strsim 0.11.1",591 "strsim",592 "terminal_size",592 "terminal_size",593 "unicase",593 "unicase",594 "unicode-width 0.2.0",594 "unicode-width 0.2.0",595]595]596596597[[package]]597[[package]]598name = "clap_complete"598name = "clap_complete"599version = "4.5.37"599version = "4.5.38"600source = "registry+https://github.com/rust-lang/crates.io-index"600source = "registry+https://github.com/rust-lang/crates.io-index"601checksum = "11611dca53440593f38e6b25ec629de50b14cdfa63adc0fb856115a2c6d97595"601checksum = "d9647a559c112175f17cf724dc72d3645680a883c58481332779192b0d8e7a01"602dependencies = [602dependencies = [603 "clap",603 "clap",604]604]617617618[[package]]618[[package]]619name = "clap_lex"619name = "clap_lex"620version = "0.7.2"620version = "0.7.3"621source = "registry+https://github.com/rust-lang/crates.io-index"621source = "registry+https://github.com/rust-lang/crates.io-index"622checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"622checksum = "afb84c814227b90d6895e01398aee0d8033c00e7466aca416fb6a8e0eb19d8a7"623623624[[package]]624[[package]]625name = "colorchoice"625name = "colorchoice"636 "encode_unicode",636 "encode_unicode",637 "lazy_static",637 "lazy_static",638 "libc",638 "libc",639 "unicode-width 0.1.14",639 "unicode-width 0.1.11",640 "windows-sys 0.52.0",640 "windows-sys 0.52.0",641]641]642642676 "libc",676 "libc",677]677]678679[[package]]680name = "crossbeam-utils"681version = "0.8.20"682source = "registry+https://github.com/rust-lang/crates.io-index"683checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"678684679[[package]]685[[package]]680name = "crossterm"686name = "crossterm"681version = "0.27.0"687version = "0.28.1"682source = "registry+https://github.com/rust-lang/crates.io-index"688source = "registry+https://github.com/rust-lang/crates.io-index"683checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df"689checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6"684dependencies = [690dependencies = [685 "bitflags",691 "bitflags",686 "crossterm_winapi",692 "crossterm_winapi",687 "filedescriptor",693 "filedescriptor",688 "libc",694 "mio",689 "mio 0.8.11",690 "parking_lot",695 "parking_lot",696 "rustix",691 "signal-hook",697 "signal-hook",692 "signal-hook-mio",698 "signal-hook-mio",693 "winapi",699 "winapi",751757752[[package]]758[[package]]753name = "dashmap"759name = "dashmap"754version = "5.5.3"760version = "6.1.0"755source = "registry+https://github.com/rust-lang/crates.io-index"761source = "registry+https://github.com/rust-lang/crates.io-index"756checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856"762checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf"757dependencies = [763dependencies = [758 "cfg-if",764 "cfg-if",765 "crossbeam-utils",759 "hashbrown 0.14.5",766 "hashbrown 0.14.5",760 "lock_api",767 "lock_api",761 "once_cell",768 "once_cell",921 "nix-eval",928 "nix-eval",922 "nixlike",929 "nixlike",923 "nom",930 "nom",924 "openssh 0.10.5",931 "openssh",925 "owo-colors",932 "owo-colors",926 "peg",933 "peg",927 "regex",934 "regex",954 "nix-eval",961 "nix-eval",955 "nixlike",962 "nixlike",956 "nom",963 "nom",957 "openssh 0.11.3",964 "openssh",958 "serde",965 "serde",959 "serde_json",966 "serde_json",960 "tempfile",967 "tempfile",141814251419[[package]]1426[[package]]1420name = "i18n-embed"1427name = "i18n-embed"1421version = "0.14.1"1428version = "0.15.2"1422source = "registry+https://github.com/rust-lang/crates.io-index"1429source = "registry+https://github.com/rust-lang/crates.io-index"1423checksum = "94205d95764f5bb9db9ea98fa77f89653365ca748e27161f5bbea2ffd50e459c"1430checksum = "a7839d8c7bb8da7bd58c1112d3a1aeb7f178ff3df4ae87783e758ca3bfb750b7"1424dependencies = [1431dependencies = [1425 "arc-swap",1432 "arc-swap",1426 "fluent",1433 "fluent",143914461440[[package]]1447[[package]]1441name = "i18n-embed-fl"1448name = "i18n-embed-fl"1442version = "0.7.0"1449version = "0.9.2"1443source = "registry+https://github.com/rust-lang/crates.io-index"1450source = "registry+https://github.com/rust-lang/crates.io-index"1444checksum = "9fc1f8715195dffc4caddcf1cf3128da15fe5d8a137606ea8856c9300047d5a2"1451checksum = "f6e9571c3cba9eba538eaa5ee40031b26debe76f0c7e17bafc97ea57a76cd82e"1445dependencies = [1452dependencies = [1446 "dashmap",1453 "dashmap",1447 "find-crate",1454 "find-crate",1450 "i18n-config",1457 "i18n-config",1451 "i18n-embed",1458 "i18n-embed",1452 "lazy_static",1459 "lazy_static",1453 "proc-macro-error",1460 "proc-macro-error2",1454 "proc-macro2",1461 "proc-macro2",1455 "quote",1462 "quote",1456 "strsim 0.10.0",1463 "strsim",1457 "syn 2.0.87",1464 "syn 2.0.87",1458 "unic-langid",1465 "unic-langid",1459]1466]163616431637[[package]]1644[[package]]1638name = "libc"1645name = "libc"1639version = "0.2.162"1646version = "0.2.164"1640source = "registry+https://github.com/rust-lang/crates.io-index"1647source = "registry+https://github.com/rust-lang/crates.io-index"1641checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398"1648checksum = "433bfe06b8c75da9b2e3fbea6e5329ff87748f0b144ef75306e674c3f6f7c13f"164216491643[[package]]1650[[package]]1644name = "libloading"1651name = "libloading"1647checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"1654checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"1648dependencies = [1655dependencies = [1649 "cfg-if",1656 "cfg-if",1650 "windows-targets 0.52.6",1657 "windows-targets",1651]1658]165216591653[[package]]1660[[package]]1754 "adler2",1761 "adler2",1755]1762]17561757[[package]]1758name = "mio"1759version = "0.8.11"1760source = "registry+https://github.com/rust-lang/crates.io-index"1761checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"1762dependencies = [1763 "libc",1764 "log",1765 "wasi",1766 "windows-sys 0.48.0",1767]176817631769[[package]]1764[[package]]1770name = "mio"1765name = "mio"1774dependencies = [1769dependencies = [1775 "hermit-abi 0.3.9",1770 "hermit-abi 0.3.9",1776 "libc",1771 "libc",1772 "log",1777 "wasi",1773 "wasi",1778 "windows-sys 0.52.0",1774 "windows-sys 0.52.0",1779]1775]1957source = "registry+https://github.com/rust-lang/crates.io-index"1953source = "registry+https://github.com/rust-lang/crates.io-index"1958checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"1954checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"19591960[[package]]1961name = "openssh"1962version = "0.10.5"1963source = "registry+https://github.com/rust-lang/crates.io-index"1964checksum = "330f4b61092456dc0aaa0cf9a205d956cae07d8127a69ffeff6760a72549c77f"1965dependencies = [1966 "libc",1967 "once_cell",1968 "shell-escape",1969 "tempfile",1970 "thiserror 1.0.69",1971 "tokio",1972 "tokio-pipe",1973]197419551975[[package]]1956[[package]]1976name = "openssh"1957name = "openssh"200419852005[[package]]1986[[package]]2006name = "papergrid"1987name = "papergrid"2007version = "0.11.0"1988version = "0.12.0"2008source = "registry+https://github.com/rust-lang/crates.io-index"1989source = "registry+https://github.com/rust-lang/crates.io-index"2009checksum = "9ad43c07024ef767f9160710b3a6773976194758c7919b17e63b863db0bdf7fb"1990checksum = "c7419ad52a7de9b60d33e11085a0fe3df1fbd5926aa3f93d3dd53afbc9e86725"2010dependencies = [1991dependencies = [2011 "bytecount",1992 "bytecount",2012 "fnv",1993 "fnv",2013 "unicode-width 0.1.14",1994 "unicode-width 0.1.11",2014]1995]201519962016[[package]]1997[[package]]2033 "libc",2014 "libc",2034 "redox_syscall",2015 "redox_syscall",2035 "smallvec",2016 "smallvec",2036 "windows-targets 0.52.6",2017 "windows-targets",2037]2018]203820192039[[package]]2020[[package]]2242 "version_check",2223 "version_check",2243]2224]22252226[[package]]2227name = "proc-macro-error-attr2"2228version = "2.0.0"2229source = "registry+https://github.com/rust-lang/crates.io-index"2230checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5"2231dependencies = [2232 "proc-macro2",2233 "quote",2234]22352236[[package]]2237name = "proc-macro-error2"2238version = "2.0.1"2239source = "registry+https://github.com/rust-lang/crates.io-index"2240checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802"2241dependencies = [2242 "proc-macro-error-attr2",2243 "proc-macro2",2244 "quote",2245 "syn 2.0.87",2246]224422472245[[package]]2248[[package]]2246name = "proc-macro2"2249name = "proc-macro2"258325862584[[package]]2587[[package]]2585name = "rustls"2588name = "rustls"2586version = "0.23.16"2589version = "0.23.17"2587source = "registry+https://github.com/rust-lang/crates.io-index"2590source = "registry+https://github.com/rust-lang/crates.io-index"2588checksum = "eee87ff5d9b36712a58574e12e9f0ea80f915a5b0ac518d322b24a465617925e"2591checksum = "7f1a745511c54ba6d4465e8d5dfbd81b45791756de28d4981af70d6dca128f1e"2589dependencies = [2592dependencies = [2590 "log",2593 "log",2591 "once_cell",2594 "once_cell",268026832681[[package]]2684[[package]]2682name = "secrecy"2685name = "secrecy"2683version = "0.8.0"2686version = "0.10.3"2684source = "registry+https://github.com/rust-lang/crates.io-index"2687source = "registry+https://github.com/rust-lang/crates.io-index"2685checksum = "9bd1c54ea06cfd2f6b63219704de0b9b4f72dcc2b8fdef820be6cd799780e91e"2688checksum = "e891af845473308773346dc847b2c23ee78fe442e0472ac50e22a18a93d3ae5a"2686dependencies = [2689dependencies = [2687 "zeroize",2690 "zeroize",2688]2691]274827512749[[package]]2752[[package]]2750name = "serde_json"2753name = "serde_json"2751version = "1.0.132"2754version = "1.0.133"2752source = "registry+https://github.com/rust-lang/crates.io-index"2755source = "registry+https://github.com/rust-lang/crates.io-index"2753checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03"2756checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377"2754dependencies = [2757dependencies = [2755 "itoa",2758 "itoa",2756 "memchr",2759 "memchr",2807checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd"2810checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd"2808dependencies = [2811dependencies = [2809 "libc",2812 "libc",2810 "mio 0.8.11",2813 "mio",2811 "signal-hook",2814 "signal-hook",2812]2815]281328162880 "der",2883 "der",2881]2884]28822883[[package]]2884name = "strsim"2885version = "0.10.0"2886source = "registry+https://github.com/rust-lang/crates.io-index"2887checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"288828852889[[package]]2886[[package]]2890name = "strsim"2887name = "strsim"295329502954[[package]]2951[[package]]2955name = "tabled"2952name = "tabled"2956version = "0.15.0"2953version = "0.16.0"2957source = "registry+https://github.com/rust-lang/crates.io-index"2954source = "registry+https://github.com/rust-lang/crates.io-index"2958checksum = "4c998b0c8b921495196a48aabaf1901ff28be0760136e31604f7967b0792050e"2955checksum = "77c9303ee60b9bedf722012ea29ae3711ba13a67c9b9ae28993838b63057cb1b"2959dependencies = [2956dependencies = [2960 "papergrid",2957 "papergrid",2961 "tabled_derive",2958 "tabled_derive",2962 "unicode-width 0.1.14",2963]2959]296429602965[[package]]2961[[package]]2966name = "tabled_derive"2962name = "tabled_derive"2967version = "0.7.0"2963version = "0.8.0"2968source = "registry+https://github.com/rust-lang/crates.io-index"2964source = "registry+https://github.com/rust-lang/crates.io-index"2969checksum = "4c138f99377e5d653a371cdad263615634cfc8467685dfe8e73e2b8e98f44b17"2965checksum = "bf0fb8bfdc709786c154e24a66777493fb63ae97e3036d914c8666774c477069"2970dependencies = [2966dependencies = [2971 "heck 0.4.1",2967 "heck 0.4.1",2972 "proc-macro-error",2968 "proc-macro-error",3141 "backtrace",3137 "backtrace",3142 "bytes",3138 "bytes",3143 "libc",3139 "libc",3144 "mio 1.0.2",3140 "mio",3145 "pin-project-lite",3141 "pin-project-lite",3146 "signal-hook-registry",3142 "signal-hook-registry",3147 "socket2",3143 "socket2",3160 "syn 2.0.87",3156 "syn 2.0.87",3161]3157]31623163[[package]]3164name = "tokio-pipe"3165version = "0.2.12"3166source = "registry+https://github.com/rust-lang/crates.io-index"3167checksum = "f213a84bffbd61b8fa0ba8a044b4bbe35d471d0b518867181e82bd5c15542784"3168dependencies = [3169 "libc",3170 "tokio",3171]317231583173[[package]]3159[[package]]3174name = "tokio-rustls"3160name = "tokio-rustls"346434503465[[package]]3451[[package]]3466name = "unicode-width"3452name = "unicode-width"3467version = "0.1.14"3453version = "0.1.11"3468source = "registry+https://github.com/rust-lang/crates.io-index"3454source = "registry+https://github.com/rust-lang/crates.io-index"3469checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"3455checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"347034563471[[package]]3457[[package]]3472name = "unicode-width"3458name = "unicode-width"3528dependencies = [3514dependencies = [3529 "itoa",3515 "itoa",3530 "log",3516 "log",3531 "unicode-width 0.1.14",3517 "unicode-width 0.1.11",3532 "vte",3518 "vte",3533]3519]353435203693checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"3679checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"3694dependencies = [3680dependencies = [3695 "windows-core",3681 "windows-core",3696 "windows-targets 0.52.6",3682 "windows-targets",3697]3683]369836843699[[package]]3685[[package]]3702source = "registry+https://github.com/rust-lang/crates.io-index"3688source = "registry+https://github.com/rust-lang/crates.io-index"3703checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"3689checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"3704dependencies = [3690dependencies = [3705 "windows-targets 0.52.6",3691 "windows-targets",3706]3692]37073708[[package]]3709name = "windows-sys"3710version = "0.48.0"3711source = "registry+https://github.com/rust-lang/crates.io-index"3712checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"3713dependencies = [3714 "windows-targets 0.48.5",3715]371636933717[[package]]3694[[package]]3718name = "windows-sys"3695name = "windows-sys"3719version = "0.52.0"3696version = "0.52.0"3720source = "registry+https://github.com/rust-lang/crates.io-index"3697source = "registry+https://github.com/rust-lang/crates.io-index"3721checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"3698checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"3722dependencies = [3699dependencies = [3723 "windows-targets 0.52.6",3700 "windows-targets",3724]3701]372537023726[[package]]3703[[package]]3729source = "registry+https://github.com/rust-lang/crates.io-index"3706source = "registry+https://github.com/rust-lang/crates.io-index"3730checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"3707checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"3731dependencies = [3708dependencies = [3732 "windows-targets 0.52.6",3709 "windows-targets",3733]3710]37343735[[package]]3736name = "windows-targets"3737version = "0.48.5"3738source = "registry+https://github.com/rust-lang/crates.io-index"3739checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"3740dependencies = [3741 "windows_aarch64_gnullvm 0.48.5",3742 "windows_aarch64_msvc 0.48.5",3743 "windows_i686_gnu 0.48.5",3744 "windows_i686_msvc 0.48.5",3745 "windows_x86_64_gnu 0.48.5",3746 "windows_x86_64_gnullvm 0.48.5",3747 "windows_x86_64_msvc 0.48.5",3748]374937113750[[package]]3712[[package]]3751name = "windows-targets"3713name = "windows-targets"3752version = "0.52.6"3714version = "0.52.6"3753source = "registry+https://github.com/rust-lang/crates.io-index"3715source = "registry+https://github.com/rust-lang/crates.io-index"3754checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"3716checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"3755dependencies = [3717dependencies = [3756 "windows_aarch64_gnullvm 0.52.6",3718 "windows_aarch64_gnullvm",3757 "windows_aarch64_msvc 0.52.6",3719 "windows_aarch64_msvc",3758 "windows_i686_gnu 0.52.6",3720 "windows_i686_gnu",3759 "windows_i686_gnullvm",3721 "windows_i686_gnullvm",3760 "windows_i686_msvc 0.52.6",3722 "windows_i686_msvc",3761 "windows_x86_64_gnu 0.52.6",3723 "windows_x86_64_gnu",3762 "windows_x86_64_gnullvm 0.52.6",3724 "windows_x86_64_gnullvm",3763 "windows_x86_64_msvc 0.52.6",3725 "windows_x86_64_msvc",3764]3726]37653766[[package]]3767name = "windows_aarch64_gnullvm"3768version = "0.48.5"3769source = "registry+https://github.com/rust-lang/crates.io-index"3770checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"377137273772[[package]]3728[[package]]3773name = "windows_aarch64_gnullvm"3729name = "windows_aarch64_gnullvm"3774version = "0.52.6"3730version = "0.52.6"3775source = "registry+https://github.com/rust-lang/crates.io-index"3731source = "registry+https://github.com/rust-lang/crates.io-index"3776checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"3732checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"37773778[[package]]3779name = "windows_aarch64_msvc"3780version = "0.48.5"3781source = "registry+https://github.com/rust-lang/crates.io-index"3782checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"378337333784[[package]]3734[[package]]3785name = "windows_aarch64_msvc"3735name = "windows_aarch64_msvc"3786version = "0.52.6"3736version = "0.52.6"3787source = "registry+https://github.com/rust-lang/crates.io-index"3737source = "registry+https://github.com/rust-lang/crates.io-index"3788checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"3738checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"37893790[[package]]3791name = "windows_i686_gnu"3792version = "0.48.5"3793source = "registry+https://github.com/rust-lang/crates.io-index"3794checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"379537393796[[package]]3740[[package]]3797name = "windows_i686_gnu"3741name = "windows_i686_gnu"3805source = "registry+https://github.com/rust-lang/crates.io-index"3749source = "registry+https://github.com/rust-lang/crates.io-index"3806checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"3750checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"38073808[[package]]3809name = "windows_i686_msvc"3810version = "0.48.5"3811source = "registry+https://github.com/rust-lang/crates.io-index"3812checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"381337513814[[package]]3752[[package]]3815name = "windows_i686_msvc"3753name = "windows_i686_msvc"3816version = "0.52.6"3754version = "0.52.6"3817source = "registry+https://github.com/rust-lang/crates.io-index"3755source = "registry+https://github.com/rust-lang/crates.io-index"3818checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"3756checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"38193820[[package]]3821name = "windows_x86_64_gnu"3822version = "0.48.5"3823source = "registry+https://github.com/rust-lang/crates.io-index"3824checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"382537573826[[package]]3758[[package]]3827name = "windows_x86_64_gnu"3759name = "windows_x86_64_gnu"3828version = "0.52.6"3760version = "0.52.6"3829source = "registry+https://github.com/rust-lang/crates.io-index"3761source = "registry+https://github.com/rust-lang/crates.io-index"3830checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"3762checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"38313832[[package]]3833name = "windows_x86_64_gnullvm"3834version = "0.48.5"3835source = "registry+https://github.com/rust-lang/crates.io-index"3836checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"383737633838[[package]]3764[[package]]3839name = "windows_x86_64_gnullvm"3765name = "windows_x86_64_gnullvm"3840version = "0.52.6"3766version = "0.52.6"3841source = "registry+https://github.com/rust-lang/crates.io-index"3767source = "registry+https://github.com/rust-lang/crates.io-index"3842checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"3768checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"38433844[[package]]3845name = "windows_x86_64_msvc"3846version = "0.48.5"3847source = "registry+https://github.com/rust-lang/crates.io-index"3848checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"384937693850[[package]]3770[[package]]3851name = "windows_x86_64_msvc"3771name = "windows_x86_64_msvc"Cargo.tomldiffbeforeafterboth20tokio-util = { version = "0.7.11", features = ["codec"] }20tokio-util = { version = "0.7.11", features = ["codec"] }21clap = { version = "4.5", features = ["derive", "env", "wrap_help", "unicode"] }21clap = { version = "4.5", features = ["derive", "env", "wrap_help", "unicode"] }22clap_complete = "4.5"22clap_complete = "4.5"23age = { version = "0.10", features = ["ssh"] }23age = { version = "0.11", features = ["ssh"] }24anyhow = "1.0"24anyhow = "1.0"25tracing = "0.1"25tracing = "0.1"26tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }26tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }cmds/fleet/Cargo.tomldiffbeforeafterboth20tempfile.workspace = true20tempfile.workspace = true21time = { version = "0.3", features = ["serde"] }21time = { version = "0.3", features = ["serde"] }22hostname = "0.4.0"22hostname = "0.4.0"23age-core = "0.10"23age-core = "0.11"24peg = "0.8"24peg = "0.8"25base64 = "0.22.1"25base64 = "0.22.1"26chrono = { version = "0.4", features = ["serde"] }26chrono = { version = "0.4", features = ["serde"] }29futures = "0.3"29futures = "0.3"30itertools = "0.13"30itertools = "0.13"31shlex = "1.3"31shlex = "1.3"32tabled = { version = "0.15" }32tabled = { version = "0.16" }33owo-colors = { version = "4.0", features = [33owo-colors = { version = "4.0", features = [34 "supports-color",34 "supports-color",35 "supports-colors",35 "supports-colors",36] }36] }37abort-on-drop = "0.2"37abort-on-drop = "0.2"38regex = "1.10"38regex = "1.10"39openssh = "0.10"39openssh = "0.11"40crossterm = { version = "0.27.0", features = ["use-dev-tty"] }40crossterm = { version = "0.28.0", features = ["use-dev-tty"] }41fleet-shared.workspace = true41fleet-shared.workspace = true424243tracing-indicatif = { version = "0.3", optional = true }43tracing-indicatif = { version = "0.3", optional = true }cmds/fleet/src/cmds/secrets/mod.rsdiffbeforeafterboth4 path::PathBuf,4 path::PathBuf,5};5};667use age::Recipient;7use anyhow::{anyhow, bail, ensure, Context, Result};8use anyhow::{anyhow, bail, ensure, Context, Result};8use chrono::{DateTime, Utc};9use chrono::{DateTime, Utc};9use clap::Parser;10use clap::Parser;488490489 if !input.is_empty() {491 if !input.is_empty() {490 let encrypted = encrypt_secret_data(recipients, input)492 let encrypted =493 encrypt_secret_data(recipients.iter().map(|r| r as &dyn Recipient), input)491 .ok_or_else(|| anyhow!("no recipients provided"))?;494 .ok_or_else(|| anyhow!("no recipients provided"))?;492 parts.insert(part_name, FleetSecretPart { raw: encrypted });495 parts.insert(part_name, FleetSecretPart { raw: encrypted });493 }496 }536539537 if let Some(secret) = parse_secret().await? {540 if let Some(secret) = parse_secret().await? {538 let recipient = config.recipient(&machine).await?;541 let recipient = config.recipient(&machine).await?;539 let encrypted =542 let encrypted = encrypt_secret_data([&recipient as &dyn Recipient], secret)540 encrypt_secret_data(vec![recipient], secret).expect("recipient provided");543 .expect("recipient provided");541 if out544 if out542 .parts545 .parts543 .insert(part_name.clone(), FleetSecretPart { raw: encrypted })546 .insert(part_name.clone(), FleetSecretPart { raw: encrypted })cmds/generator-helper/src/main.rsdiffbeforeafterboth90}90}91fn make_encryptor(r: &Identities) -> Result<Encryptor> {91fn make_encryptor(r: &Identities) -> Result<Encryptor> {92 Ok(Encryptor::with_recipients(92 Ok(93 r.iter()93 Encryptor::with_recipients(r.iter().map(|v| v as &dyn Recipient))94 .map(|v| {95 let coerced: Box<dyn Recipient + Send> = Box::new(v.clone());96 coerced97 })98 .collect(),99 )100 .expect("list is not empty"))94 .expect("list is not empty"),95 )cmds/install-secrets/src/main.rsdiffbeforeafterboth68 ensure!(input.encrypted, "passed data is not encrypted!");68 ensure!(input.encrypted, "passed data is not encrypted!");69 let mut input = Cursor::new(&input.data);69 let mut input = Cursor::new(&input.data);70 let decryptor = Decryptor::new(&mut input).context("failed to init decryptor")?;70 let decryptor = Decryptor::new(&mut input).context("failed to init decryptor")?;71 let decryptor = match decryptor {72 Decryptor::Recipients(r) => r,71 if decryptor.is_scrypt() {73 Decryptor::Passphrase(_) => bail!("should be recipients"),72 bail!("should be recipients");74 };73 }75 let mut decryptor = decryptor74 let mut decryptor = decryptor76 .decrypt(iter::once(identity as &dyn age::Identity))75 .decrypt(iter::once(identity as &dyn age::Identity))77 .context("failed to decrypt, wrong key?")?;76 .context("failed to decrypt, wrong key?")?;89 SshRecipient::from_str(&t).map_err(|e| anyhow!("failed to parse recipient: {e:?}"))88 SshRecipient::from_str(&t).map_err(|e| anyhow!("failed to parse recipient: {e:?}"))90 })89 })91 .collect::<Result<Vec<SshRecipient>>>()?;90 .collect::<Result<Vec<SshRecipient>>>()?;92 let recipients = recipients91 let recipients = recipients.iter().map(|v| v as &dyn Recipient);93 .into_iter()94 .map(|v| Box::new(v) as Box<dyn Recipient + Send>)95 .collect::<Vec<_>>();96 let mut encrypted = vec![];92 let mut encrypted = vec![];97 let mut encryptor = Encryptor::with_recipients(recipients)93 let mut encryptor = Encryptor::with_recipients(recipients)98 .expect("recipients provided")94 .expect("recipients provided")crates/fleet-base/src/fleetdata.rsdiffbeforeafterboth6use age::Recipient;6use age::Recipient;7use chrono::{DateTime, Utc};7use chrono::{DateTime, Utc};8use fleet_shared::SecretData;8use fleet_shared::SecretData;9use itertools::Itertools;10use serde::{de::Error, Deserialize, Serialize};9use serde::{de::Error, Deserialize, Serialize};11use serde_json::Value;10use serde_json::Value;121173}72}747375/// Returns None if recipients.is_empty()74/// Returns None if recipients.is_empty()76pub fn encrypt_secret_data(75pub fn encrypt_secret_data<'a>(77 recipients: impl IntoIterator<Item = impl Recipient + Send + 'static>,76 recipients: impl IntoIterator<Item = &'a dyn Recipient>,78 data: Vec<u8>,77 data: Vec<u8>,79) -> Option<SecretData> {78) -> Option<SecretData> {80 let mut encrypted = vec![];79 let mut encrypted = vec![];81 let recipients = recipients82 .into_iter()83 .map(|v| Box::new(v) as Box<dyn Recipient + Send>)84 .collect_vec();85 let mut encryptor = age::Encryptor::with_recipients(recipients)?80 let mut encryptor = age::Encryptor::with_recipients(recipients.into_iter())81 .ok()?86 .wrap_output(&mut encrypted)82 .wrap_output(&mut encrypted)87 .expect("in memory write");83 .expect("in memory write");88 io::copy(&mut Cursor::new(data), &mut encryptor).expect("in memory copy");84 io::copy(&mut Cursor::new(data), &mut encryptor).expect("in memory copy");flake.lockdiffbeforeafterboth37 },37 },38 "nixpkgs": {38 "nixpkgs": {39 "locked": {39 "locked": {40 "lastModified": 1731514040,40 "lastModified": 1731873344,41 "narHash": "sha256-4VkY8gwyR83N6MPT7ipXTOSBXpVL2Hrwh898UAR3HZ8=",41 "narHash": "sha256-bKfFggwcvvh9gmOsaMCXKVAGBfXCZZ6QrxLq9Nb1/vw=",42 "owner": "nixos",42 "owner": "nixos",43 "repo": "nixpkgs",43 "repo": "nixpkgs",44 "rev": "155168226cb666d242306e13d7dbdaa8a76d20e1",44 "rev": "39e98fadd66c2564ac85b1f65bab89e044302c62",45 "type": "github"45 "type": "github"46 },46 },47 "original": {47 "original": {66 ]66 ]67 },67 },68 "locked": {68 "locked": {69 "lastModified": 1731464916,69 "lastModified": 1731820690,70 "narHash": "sha256-WZ5rpjr/wCt7yBOUsvDE2i22hYz9g8W921jlwVktRQ4=",70 "narHash": "sha256-/hHFMTD+FGURXZ4JtfXoIgpy87zL505pVi6AL76Wc+U=",71 "owner": "oxalica",71 "owner": "oxalica",72 "repo": "rust-overlay",72 "repo": "rust-overlay",73 "rev": "2c19bad6e881b5a154cafb7f9106879b5b356d1f",73 "rev": "bbab2ab9e1932133b1996baa1dc00fefe924ca81",74 "type": "github"74 "type": "github"75 },75 },76 "original": {76 "original": {modules/secrets.nixdiffbeforeafterbothno syntactic changes