Deployment and lifecycle management for Nix
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

non-working but switched to jwt crate

+134 -268
+83 -226
Cargo.lock
··· 18 18 checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 19 19 20 20 [[package]] 21 - name = "aho-corasick" 22 - version = "1.1.3" 23 - source = "registry+https://github.com/rust-lang/crates.io-index" 24 - checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 25 - dependencies = [ 26 - "memchr", 27 - ] 28 - 29 - [[package]] 30 21 name = "anstream" 31 22 version = "0.6.14" 32 23 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 77 68 78 69 [[package]] 79 70 name = "anyhow" 80 - version = "1.0.83" 71 + version = "1.0.86" 81 72 source = "registry+https://github.com/rust-lang/crates.io-index" 82 - checksum = "25bdb32cbbdce2b519a9cd7df3a678443100e265d5e25ca763b7572a5104f5f3" 73 + checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" 83 74 84 75 [[package]] 85 76 name = "arc-swap" ··· 126 117 "object", 127 118 "rustc-demangle", 128 119 ] 120 + 121 + [[package]] 122 + name = "base64" 123 + version = "0.13.1" 124 + source = "registry+https://github.com/rust-lang/crates.io-index" 125 + checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" 129 126 130 127 [[package]] 131 128 name = "base64" ··· 283 280 ] 284 281 285 282 [[package]] 286 - name = "crc32fast" 287 - version = "1.4.0" 288 - source = "registry+https://github.com/rust-lang/crates.io-index" 289 - checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" 290 - dependencies = [ 291 - "cfg-if", 292 - ] 293 - 294 - [[package]] 295 283 name = "crypto-common" 296 284 version = "0.1.6" 297 285 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 308 296 checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" 309 297 310 298 [[package]] 311 - name = "deranged" 312 - version = "0.3.11" 313 - source = "registry+https://github.com/rust-lang/crates.io-index" 314 - checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" 315 - dependencies = [ 316 - "powerfmt", 317 - ] 318 - 319 - [[package]] 320 299 name = "digest" 321 300 version = "0.10.7" 322 301 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 324 303 dependencies = [ 325 304 "block-buffer", 326 305 "crypto-common", 306 + "subtle", 327 307 ] 328 308 329 309 [[package]] ··· 342 322 checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 343 323 344 324 [[package]] 345 - name = "flate2" 346 - version = "1.0.30" 347 - source = "registry+https://github.com/rust-lang/crates.io-index" 348 - checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" 349 - dependencies = [ 350 - "crc32fast", 351 - "miniz_oxide", 352 - ] 353 - 354 - [[package]] 355 325 name = "flexstr" 356 326 version = "0.9.2" 357 327 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 366 336 version = "1.0.7" 367 337 source = "registry+https://github.com/rust-lang/crates.io-index" 368 338 checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 369 - 370 - [[package]] 371 - name = "foreign-types" 372 - version = "0.3.2" 373 - source = "registry+https://github.com/rust-lang/crates.io-index" 374 - checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 375 - dependencies = [ 376 - "foreign-types-shared", 377 - ] 378 - 379 - [[package]] 380 - name = "foreign-types-shared" 381 - version = "0.1.1" 382 - source = "registry+https://github.com/rust-lang/crates.io-index" 383 - checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 384 339 385 340 [[package]] 386 341 name = "form_urlencoded" ··· 569 524 checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" 570 525 571 526 [[package]] 527 + name = "hmac" 528 + version = "0.12.1" 529 + source = "registry+https://github.com/rust-lang/crates.io-index" 530 + checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" 531 + dependencies = [ 532 + "digest", 533 + ] 534 + 535 + [[package]] 572 536 name = "http" 573 537 version = "0.2.12" 574 538 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 690 654 checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" 691 655 692 656 [[package]] 693 - name = "josekit" 694 - version = "0.8.6" 657 + name = "js-sys" 658 + version = "0.3.69" 695 659 source = "registry+https://github.com/rust-lang/crates.io-index" 696 - checksum = "0953340cf63354cec4a385f1fbcb3f409a5823778cae236078892f6030ed4565" 660 + checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" 697 661 dependencies = [ 698 - "anyhow", 699 - "base64 0.21.7", 700 - "flate2", 701 - "once_cell", 702 - "openssl", 703 - "regex", 704 - "serde", 705 - "serde_json", 706 - "thiserror", 707 - "time", 662 + "wasm-bindgen", 708 663 ] 709 664 710 665 [[package]] 711 - name = "js-sys" 712 - version = "0.3.69" 666 + name = "jwt" 667 + version = "0.16.0" 713 668 source = "registry+https://github.com/rust-lang/crates.io-index" 714 - checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" 669 + checksum = "6204285f77fe7d9784db3fdc449ecce1a0114927a51d5a41c4c7a292011c015f" 715 670 dependencies = [ 716 - "wasm-bindgen", 671 + "base64 0.13.1", 672 + "crypto-common", 673 + "digest", 674 + "hmac", 675 + "serde", 676 + "serde_json", 677 + "sha2", 717 678 ] 718 679 719 680 [[package]] ··· 724 685 725 686 [[package]] 726 687 name = "libc" 727 - version = "0.2.154" 688 + version = "0.2.155" 728 689 source = "registry+https://github.com/rust-lang/crates.io-index" 729 - checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" 690 + checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" 730 691 731 692 [[package]] 732 693 name = "lock_api" ··· 758 719 759 720 [[package]] 760 721 name = "miniz_oxide" 761 - version = "0.7.2" 722 + version = "0.7.3" 762 723 source = "registry+https://github.com/rust-lang/crates.io-index" 763 - checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" 724 + checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" 764 725 dependencies = [ 765 726 "adler", 766 727 ] ··· 797 758 "overload", 798 759 "winapi", 799 760 ] 800 - 801 - [[package]] 802 - name = "num-conv" 803 - version = "0.1.0" 804 - source = "registry+https://github.com/rust-lang/crates.io-index" 805 - checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" 806 761 807 762 [[package]] 808 763 name = "num_cpus" ··· 830 785 checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" 831 786 832 787 [[package]] 833 - name = "oneshot-uniffi" 834 - version = "0.1.6" 835 - source = "registry+https://github.com/rust-lang/crates.io-index" 836 - checksum = "6c548d5c78976f6955d72d0ced18c48ca07030f7a1d4024529fedd7c1c01b29c" 837 - 838 - [[package]] 839 - name = "openssl" 840 - version = "0.10.64" 841 - source = "registry+https://github.com/rust-lang/crates.io-index" 842 - checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" 843 - dependencies = [ 844 - "bitflags 2.5.0", 845 - "cfg-if", 846 - "foreign-types", 847 - "libc", 848 - "once_cell", 849 - "openssl-macros", 850 - "openssl-sys", 851 - ] 852 - 853 - [[package]] 854 - name = "openssl-macros" 855 - version = "0.1.1" 856 - source = "registry+https://github.com/rust-lang/crates.io-index" 857 - checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" 858 - dependencies = [ 859 - "proc-macro2", 860 - "quote", 861 - "syn", 862 - ] 863 - 864 - [[package]] 865 788 name = "openssl-probe" 866 789 version = "0.1.5" 867 790 source = "registry+https://github.com/rust-lang/crates.io-index" 868 791 checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" 869 792 870 793 [[package]] 871 - name = "openssl-sys" 872 - version = "0.9.102" 873 - source = "registry+https://github.com/rust-lang/crates.io-index" 874 - checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" 875 - dependencies = [ 876 - "cc", 877 - "libc", 878 - "pkg-config", 879 - "vcpkg", 880 - ] 881 - 882 - [[package]] 883 794 name = "overload" 884 795 version = "0.1.1" 885 796 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 956 867 checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 957 868 958 869 [[package]] 959 - name = "pkg-config" 960 - version = "0.3.30" 961 - source = "registry+https://github.com/rust-lang/crates.io-index" 962 - checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" 963 - 964 - [[package]] 965 - name = "powerfmt" 966 - version = "0.2.0" 967 - source = "registry+https://github.com/rust-lang/crates.io-index" 968 - checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" 969 - 970 - [[package]] 971 870 name = "ppv-lite86" 972 871 version = "0.2.17" 973 872 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1031 930 ] 1032 931 1033 932 [[package]] 1034 - name = "regex" 1035 - version = "1.10.4" 1036 - source = "registry+https://github.com/rust-lang/crates.io-index" 1037 - checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" 1038 - dependencies = [ 1039 - "aho-corasick", 1040 - "memchr", 1041 - "regex-automata", 1042 - "regex-syntax", 1043 - ] 1044 - 1045 - [[package]] 1046 - name = "regex-automata" 1047 - version = "0.4.6" 1048 - source = "registry+https://github.com/rust-lang/crates.io-index" 1049 - checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" 1050 - dependencies = [ 1051 - "aho-corasick", 1052 - "memchr", 1053 - "regex-syntax", 1054 - ] 1055 - 1056 - [[package]] 1057 - name = "regex-syntax" 1058 - version = "0.8.3" 1059 - source = "registry+https://github.com/rust-lang/crates.io-index" 1060 - checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" 1061 - 1062 - [[package]] 1063 933 name = "reqwest" 1064 934 version = "0.11.27" 1065 935 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1142 1012 "log", 1143 1013 "ring", 1144 1014 "rustls-pki-types", 1145 - "rustls-webpki 0.102.3", 1015 + "rustls-webpki 0.102.4", 1146 1016 "subtle", 1147 1017 "zeroize", 1148 1018 ] ··· 1197 1067 1198 1068 [[package]] 1199 1069 name = "rustls-webpki" 1200 - version = "0.102.3" 1070 + version = "0.102.4" 1201 1071 source = "registry+https://github.com/rust-lang/crates.io-index" 1202 - checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf" 1072 + checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" 1203 1073 dependencies = [ 1204 1074 "ring", 1205 1075 "rustls-pki-types", ··· 1268 1138 1269 1139 [[package]] 1270 1140 name = "serde" 1271 - version = "1.0.201" 1141 + version = "1.0.202" 1272 1142 source = "registry+https://github.com/rust-lang/crates.io-index" 1273 - checksum = "780f1cebed1629e4753a1a38a3c72d30b97ec044f0aef68cb26650a3c5cf363c" 1143 + checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395" 1274 1144 dependencies = [ 1275 1145 "serde_derive", 1276 1146 ] 1277 1147 1278 1148 [[package]] 1279 1149 name = "serde_derive" 1280 - version = "1.0.201" 1150 + version = "1.0.202" 1281 1151 source = "registry+https://github.com/rust-lang/crates.io-index" 1282 - checksum = "c5e405930b9796f1c00bee880d03fc7e0bb4b9a11afc776885ffe84320da2865" 1152 + checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838" 1283 1153 dependencies = [ 1284 1154 "proc-macro2", 1285 1155 "quote", ··· 1292 1162 source = "registry+https://github.com/rust-lang/crates.io-index" 1293 1163 checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" 1294 1164 dependencies = [ 1295 - "indexmap", 1296 1165 "itoa", 1297 1166 "ryu", 1298 1167 "serde", ··· 1300 1169 1301 1170 [[package]] 1302 1171 name = "serde_spanned" 1303 - version = "0.6.5" 1172 + version = "0.6.6" 1304 1173 source = "registry+https://github.com/rust-lang/crates.io-index" 1305 - checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" 1174 + checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" 1306 1175 dependencies = [ 1307 1176 "serde", 1308 1177 ] ··· 1324 1193 version = "0.10.6" 1325 1194 source = "registry+https://github.com/rust-lang/crates.io-index" 1326 1195 checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" 1196 + dependencies = [ 1197 + "cfg-if", 1198 + "cpufeatures", 1199 + "digest", 1200 + ] 1201 + 1202 + [[package]] 1203 + name = "sha2" 1204 + version = "0.10.8" 1205 + source = "registry+https://github.com/rust-lang/crates.io-index" 1206 + checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" 1327 1207 dependencies = [ 1328 1208 "cfg-if", 1329 1209 "cpufeatures", ··· 1384 1264 version = "0.2.0-dev" 1385 1265 dependencies = [ 1386 1266 "clap", 1387 - "josekit", 1267 + "hmac", 1268 + "jwt", 1388 1269 "nix", 1389 1270 "phoenix_channels_client", 1390 1271 "reqwest", 1391 1272 "serde", 1273 + "serde_derive", 1392 1274 "serde_json", 1275 + "sha2", 1393 1276 "strum", 1394 1277 "tokio", 1395 1278 "tokio-stream", 1396 1279 "tokio-tungstenite", 1397 - "toml 0.8.12", 1280 + "toml 0.8.13", 1398 1281 "tracing", 1399 1282 "tracing-subscriber", 1400 1283 "url", ··· 1449 1332 1450 1333 [[package]] 1451 1334 name = "syn" 1452 - version = "2.0.63" 1335 + version = "2.0.64" 1453 1336 source = "registry+https://github.com/rust-lang/crates.io-index" 1454 - checksum = "bf5be731623ca1a1fb7d8be6f261a3be6d3e2337b8a1f97be944d020c8fcb704" 1337 + checksum = "7ad3dee41f36859875573074334c200d1add8e4a87bb37113ebd31d926b7b11f" 1455 1338 dependencies = [ 1456 1339 "proc-macro2", 1457 1340 "quote", ··· 1487 1370 1488 1371 [[package]] 1489 1372 name = "thiserror" 1490 - version = "1.0.60" 1373 + version = "1.0.61" 1491 1374 source = "registry+https://github.com/rust-lang/crates.io-index" 1492 - checksum = "579e9083ca58dd9dcf91a9923bb9054071b9ebbd800b342194c9feb0ee89fc18" 1375 + checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" 1493 1376 dependencies = [ 1494 1377 "thiserror-impl", 1495 1378 ] 1496 1379 1497 1380 [[package]] 1498 1381 name = "thiserror-impl" 1499 - version = "1.0.60" 1382 + version = "1.0.61" 1500 1383 source = "registry+https://github.com/rust-lang/crates.io-index" 1501 - checksum = "e2470041c06ec3ac1ab38d0356a6119054dedaea53e12fbefc0de730a1c08524" 1384 + checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" 1502 1385 dependencies = [ 1503 1386 "proc-macro2", 1504 1387 "quote", ··· 1516 1399 ] 1517 1400 1518 1401 [[package]] 1519 - name = "time" 1520 - version = "0.3.36" 1521 - source = "registry+https://github.com/rust-lang/crates.io-index" 1522 - checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" 1523 - dependencies = [ 1524 - "deranged", 1525 - "num-conv", 1526 - "powerfmt", 1527 - "serde", 1528 - "time-core", 1529 - ] 1530 - 1531 - [[package]] 1532 - name = "time-core" 1533 - version = "0.1.2" 1534 - source = "registry+https://github.com/rust-lang/crates.io-index" 1535 - checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" 1536 - 1537 - [[package]] 1538 1402 name = "tinyvec" 1539 1403 version = "1.6.0" 1540 1404 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1652 1516 1653 1517 [[package]] 1654 1518 name = "toml" 1655 - version = "0.8.12" 1519 + version = "0.8.13" 1656 1520 source = "registry+https://github.com/rust-lang/crates.io-index" 1657 - checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" 1521 + checksum = "a4e43f8cc456c9704c851ae29c67e17ef65d2c30017c17a9765b89c382dc8bba" 1658 1522 dependencies = [ 1659 1523 "serde", 1660 1524 "serde_spanned", ··· 1664 1528 1665 1529 [[package]] 1666 1530 name = "toml_datetime" 1667 - version = "0.6.5" 1531 + version = "0.6.6" 1668 1532 source = "registry+https://github.com/rust-lang/crates.io-index" 1669 - checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" 1533 + checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" 1670 1534 dependencies = [ 1671 1535 "serde", 1672 1536 ] 1673 1537 1674 1538 [[package]] 1675 1539 name = "toml_edit" 1676 - version = "0.22.12" 1540 + version = "0.22.13" 1677 1541 source = "registry+https://github.com/rust-lang/crates.io-index" 1678 - checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef" 1542 + checksum = "c127785850e8c20836d49732ae6abfa47616e60bf9d9f57c43c250361a9db96c" 1679 1543 dependencies = [ 1680 1544 "indexmap", 1681 1545 "serde", ··· 1803 1667 1804 1668 [[package]] 1805 1669 name = "uniffi" 1806 - version = "0.27.1" 1670 + version = "0.27.2" 1807 1671 source = "registry+https://github.com/rust-lang/crates.io-index" 1808 - checksum = "a5566fae48a5cb017005bf9cd622af5236b2a203a13fb548afde3506d3c68277" 1672 + checksum = "ab38ff7ce5037772ca9bf7667e4e8535d110f11c6e2ec8cc9c1a7fc66938650c" 1809 1673 dependencies = [ 1810 1674 "anyhow", 1811 1675 "uniffi_core", ··· 1814 1678 1815 1679 [[package]] 1816 1680 name = "uniffi_checksum_derive" 1817 - version = "0.27.1" 1681 + version = "0.27.2" 1818 1682 source = "registry+https://github.com/rust-lang/crates.io-index" 1819 - checksum = "ae7e5a6c33b1dec3f255f57ec0b6af0f0b2bb3021868be1d5eec7a38e2905ebc" 1683 + checksum = "95e86ccd44c138ba12b9132decbabeed84bf686ebe4b6538a5e489a243a7c2c9" 1820 1684 dependencies = [ 1821 1685 "quote", 1822 1686 "syn", ··· 1824 1688 1825 1689 [[package]] 1826 1690 name = "uniffi_core" 1827 - version = "0.27.1" 1691 + version = "0.27.2" 1828 1692 source = "registry+https://github.com/rust-lang/crates.io-index" 1829 - checksum = "0ea3eb5474d50fc149b7e4d86b9c5bd4a61dcc167f0683902bf18ae7bbb3deef" 1693 + checksum = "52fcb15ab907c37fe50163f05f97d497bc4400d8bfbdb7ef56b3a9ef777188d4" 1830 1694 dependencies = [ 1831 1695 "anyhow", 1832 1696 "async-compat", ··· 1834 1698 "camino", 1835 1699 "log", 1836 1700 "once_cell", 1837 - "oneshot-uniffi", 1838 1701 "paste", 1839 1702 "static_assertions", 1840 1703 ] 1841 1704 1842 1705 [[package]] 1843 1706 name = "uniffi_macros" 1844 - version = "0.27.1" 1707 + version = "0.27.2" 1845 1708 source = "registry+https://github.com/rust-lang/crates.io-index" 1846 - checksum = "18331d35003f46f0d04047fbe4227291815b83a937a8c32bc057f990962182c4" 1709 + checksum = "865e2144b19552516c288e7c0425553c64724a8e4862bcb0c169355008e0ff0d" 1847 1710 dependencies = [ 1848 1711 "bincode", 1849 1712 "camino", ··· 1859 1722 1860 1723 [[package]] 1861 1724 name = "uniffi_meta" 1862 - version = "0.27.1" 1725 + version = "0.27.2" 1863 1726 source = "registry+https://github.com/rust-lang/crates.io-index" 1864 - checksum = "f7224422c4cfd181c7ca9fca2154abca4d21db962f926f270f996edd38b0c4b8" 1727 + checksum = "7968bda370d74b9bffb9af1e9cdc9a354ce027dc313963860f26dcf6c8efcecf" 1865 1728 dependencies = [ 1866 1729 "anyhow", 1867 1730 "bytes", ··· 1912 1775 version = "0.1.0" 1913 1776 source = "registry+https://github.com/rust-lang/crates.io-index" 1914 1777 checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" 1915 - 1916 - [[package]] 1917 - name = "vcpkg" 1918 - version = "0.2.15" 1919 - source = "registry+https://github.com/rust-lang/crates.io-index" 1920 - checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 1921 1778 1922 1779 [[package]] 1923 1780 name = "version_check"
+4 -1
client/Cargo.toml
··· 7 7 8 8 [dependencies] 9 9 clap = { version = "4.5.1", features = ["derive", "color"] } 10 - josekit = "0.8.6" 10 + hmac = "0.12.1" 11 + jwt = "0.16.0" 11 12 nix = { version = "0.28.0", features = ["hostname"] } 12 13 phoenix_channels_client = { git = "https://github.com/liveview-native/phoenix-channels-client.git", version = "0.9.0" } 13 14 reqwest = { version = "0.11", default-features = false, features = ["json", "rustls-tls"] } 14 15 serde = { version = "1.0", features = ["derive"] } 16 + serde_derive = "1.0.202" 15 17 serde_json = "1.0.116" 18 + sha2 = "0.10.8" 16 19 strum = { version = "0.26", features = ["derive"] } 17 20 tokio = { version = "1", features = ["full"] } 18 21 tokio-stream = { version = "0.1.15", features = ["full"] }
+20 -20
client/src/sower/daemon.rs
··· 3 3 use std::sync::Arc; 4 4 use std::time::Duration; 5 5 6 - use josekit::{ 7 - jws::{JwsHeader, HS256}, 8 - jwt::{self, JwtPayload}, 9 - JoseError, 10 - }; 6 + use hmac::{Hmac, Mac}; 7 + use jwt::SignWithKey; 11 8 use phoenix_channels_client::url::Url; 12 9 use phoenix_channels_client::{ 13 10 Channel, Event, EventPayload, EventsError, Payload, Socket, Topic, JSON, 14 11 }; 12 + use serde_derive::{Deserialize, Serialize}; 15 13 use serde_json::json; 14 + use sha2::Sha256; 16 15 use tokio::{signal, time}; 17 16 use tracing::{debug, error, info}; 18 17 ··· 21 20 socket: Arc<Socket>, 22 21 lobby_channel: Arc<Channel>, 23 22 lobby_topic: Arc<Topic>, 23 + } 24 + 25 + #[derive(Deserialize, Serialize)] 26 + struct BootstrapClaim { 27 + name: String, 28 + seed_type: String, 29 + sub: String, 24 30 } 25 31 26 32 impl Daemon { ··· 55 61 } 56 62 } 57 63 58 - fn sign_login_jwt(key: String, tree: &Tree) -> Result<String, JoseError> { 59 - let mut header = JwsHeader::new(); 60 - header.set_token_type("JWT"); 61 - header.set_algorithm("HS256"); 62 - 63 - let mut payload = JwtPayload::new(); 64 - payload.set_subject("client"); 65 - payload.set_claim("name", Some(json!(tree.name))).unwrap(); 66 - payload 67 - .set_claim("seed_type", Some(json!(tree.seed_type))) 68 - .unwrap(); 69 - 70 - let signer = HS256.signer_from_bytes(key)?; 71 - let jwt = jwt::encode_with_signer(&payload, &header, &signer)?; 64 + fn sign_login_jwt(key: String, tree: &Tree) -> Result<String, jwt::Error> { 65 + let key: Hmac<Sha256> = Hmac::new_from_slice(key.as_bytes())?; 66 + let claim = BootstrapClaim { 67 + name: tree.name.clone(), 68 + seed_type: tree.seed_type.to_string(), 69 + sub: "client bootstrap".to_string(), 70 + }; 71 + let jwt = claim.sign_with_key(&key)?; 72 72 73 73 Ok(jwt) 74 74 } 75 75 76 - pub async fn login(&mut self) { 76 + async fn login(&mut self) { 77 77 info!("Registering with sower"); 78 78 let Payload::JSONPayload { json } = self 79 79 .lobby_channel
+2
doc/ideas.org
··· 9 9 * Stories 10 10 - I want to switch nightly but boot/reboot once a week 11 11 - I want some systems to never downgrade manually applied changes 12 + -Janik (might pick up the 🥐 language) 13 + raitobezarius (FoosterOS on System76 laptops wen): now I want systemd-unit like logic for colmena where one can specify groups of targets with before/after some other group. 12 14 13 15 * Bootstrapping a host 14 16 - Requires a cache to realize
+21 -14
flake.nix
··· 59 59 devShells.default = pkgs.mkShell { 60 60 packages = 61 61 [ 62 + # elixir 62 63 elixir 63 64 beamPackages.elixir-ls 64 65 lexical 65 66 next-ls 66 67 68 + # rust 69 + pkgs.cargo 70 + pkgs.clippy 71 + pkgs.rust-analyzer 72 + pkgs.rustc 73 + pkgs.rustfmt 74 + 67 75 inputs'.attic.packages.attic 68 76 self'.packages.seed-ci 69 77 ··· 73 81 pkgs.nvfetcher 74 82 pkgs.process-compose 75 83 pkgs.postgresql 76 - 77 - pkgs.rustc 78 - pkgs.rustfmt 79 - 80 - pkgs.cargo 81 - pkgs.clippy 82 - pkgs.rust-analyzer 83 84 ] 84 85 ++ lib.optionals pkgs.stdenv.isLinux [ 86 + # elixir 87 + pkgs.inotify-tools 88 + 89 + # rust 85 90 pkgs.gdb 86 - pkgs.inotify-tools 87 91 ] 88 92 ++ lib.optionals pkgs.stdenv.isDarwin [ 89 93 pkgs.libiconv 90 94 pkgs.darwin.apple_sdk.frameworks.SystemConfiguration 91 95 ]; 92 96 93 - nativeBuildInputs = [ 94 - pkgs.fmt 95 - pkgs.libgit2 96 - pkgs.openssl 97 - pkgs.pkg-config 98 - ]; 97 + shellHook = '' 98 + export BINDGEN_EXTRA_CLANG_ARGS="$(< ${pkgs.stdenv.cc}/nix-support/libc-crt1-cflags) \ 99 + $(< ${pkgs.stdenv.cc}/nix-support/libc-cflags) \ 100 + $(< ${pkgs.stdenv.cc}/nix-support/cc-cflags) \ 101 + $(< ${pkgs.stdenv.cc}/nix-support/libcxx-cxxflags) \ 102 + ${lib.optionalString pkgs.stdenv.cc.isClang "-idirafter ${pkgs.stdenv.cc.cc}/lib/clang/${lib.getVersion pkgs.stdenv.cc.cc}/include"} \ 103 + ${lib.optionalString pkgs.stdenv.cc.isGNU "-isystem ${pkgs.stdenv.cc.cc}/include/c++/${lib.getVersion pkgs.stdenv.cc.cc} -isystem ${pkgs.stdenv.cc.cc}/include/c++/${lib.getVersion pkgs.stdenv.cc.cc}/${pkgs.stdenv.hostPlatform.config} -idirafter ${pkgs.stdenv.cc.cc}/lib/gcc/${pkgs.stdenv.hostPlatform.config}/${lib.getVersion pkgs.stdenv.cc.cc}/include"} \ 104 + " 105 + ''; 99 106 }; 100 107 101 108 checks = lib.optionalAttrs pkgs.stdenv.isLinux {
+4 -7
nix/client-package.nix
··· 4 4 craneLib, 5 5 darwin, 6 6 libiconv, 7 - openssl, 8 7 rustTarget, 9 8 stdenv, 10 9 }: ··· 27 26 CARGO_BUILD_TARGET = rustTarget; 28 27 CARGO_BUILD_RUSTFLAGS = "-C target-feature=+crt-static"; 29 28 30 - buildInputs = 31 - [ openssl ] 32 - ++ lib.optionals stdenv.isDarwin [ 33 - libiconv 34 - darwin.apple_sdk.frameworks.SystemConfiguration 35 - ]; 29 + buildInputs = lib.optionals stdenv.isDarwin [ 30 + libiconv 31 + darwin.apple_sdk.frameworks.SystemConfiguration 32 + ]; 36 33 37 34 meta.mainProgram = "sower"; 38 35 }