about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2023-06-14 r/6293 fix(tazjin/nixos): fix 32-bit support for gamesVincent Ambo2-0/+5
Change-Id: I04cb7c448228771536f9f87155183bdaa8faf4e8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8768 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-14 r/6292 fix(ops/yandex-cloud-rs): fix dev-dependencies for examplesVincent Ambo2-0/+4
Change-Id: Ib99755d2b49464a6a30442b696ecfeda03038066 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8767 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-14 r/6291 docs(ops/yandex-cloud-rs): link to folder with usage examplesVincent Ambo1-0/+3
Change-Id: If2596b5a3dc542dca9a06a51a5a0f509034665c8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8766 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-14 r/6290 chore(ops/yandex-cloud-rs): bump API definitions to 2023-06-13Vincent Ambo3-92/+65
Change-Id: Iad2d85eaffe96de0cf9ecb490fe5ba87209e1005 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8765 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-14 r/6289 refactor(ops/yandex-cloud-rs): allow TokenProvider impls to failVincent Ambo1-6/+6
It's actually quite common that a token provider might fail, for example when fetching a token from instance metadata. Change-Id: Ie0126fb92c6c613ad36b5583fd68505fdd97f2c1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8764 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-14 r/6288 chore(ops/yandex-cloud-rs): re-export some tonic typesVincent Ambo1-0/+9
These are useful for downstream users of the library, who might not need all the rest of the tonic stuff. Change-Id: Iab4d941696ae3c7a33b25815b72f92598aa82b80 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8763 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-14 r/6287 fix(ops/yandex-cloud-rs): add `Bearer` prefix to auth tokenVincent Ambo1-2/+3
Change-Id: I27d23de0598e3ca926a85cba3022f2dfff25f6be Reviewed-on: https://cl.tvl.fyi/c/depot/+/8762 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-14 r/6286 feat(tazjin/yddns): hack together a quick dyndns update scriptVincent Ambo5-0/+1640
Change-Id: I4114a1b83e5f1edbb04d0ab920f107245ec998bd Reviewed-on: https://cl.tvl.fyi/c/depot/+/8761 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-13 r/6285 fix(views/tvix): add fuse dependencies to external shell viewVincent Ambo1-9/+11
Change-Id: Ie7b8c5b983e5b41bffe0748d0047ffcfd82072e8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8759 Reviewed-by: flokli <flokli@flokli.de> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-13 r/6284 chore(tazjin/emacs): disable winner-modeVincent Ambo1-3/+0
I don't actually use this, and it might be responsible for some EXWM bugs in the latest version. Change-Id: I8817e0cdd9d1b68ed6a9bdd072616f63f9f20d21 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8758 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-13 r/6283 fix(tazjin/blog): link to reddit via internet archiveVincent Ambo1-1/+1
reddit is dying now, but the response there was actually quite interesting, so I'm keeping an archive link to it around. Change-Id: I419276428ce141fc526124d9746e3ab13df4bbc8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8756 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-12 r/6282 chore(tvix/store/pathinfosvc): remove GRPCPathInfoService::newFlorian Klink1-12/+0
There's very little reason to instantiate a GRPCPathInfoService in a context where we are not already in a tokio context. Change-Id: Ib81d649387717cb98de8a8039f92472f727b10c1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8755 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-12 r/6281 chore(tvix/store/directorysvc): remove GRPCDirectoryService::newFlorian Klink1-14/+1
The only place where we did use new was also already where we've been in a tokio context, so just using from_client is easier. Change-Id: I39dbc18f6aaa3abc342409be623395647f968530 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8754 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-12 r/6280 chore(tvix/store/blobsvc): remove GRPCBlobService::newFlorian Klink1-12/+1
There's very little reason to instantiate a GRPCBlobService in a context where we are not already in a tokio context. Change-Id: Ic6e18809a9f2a76f1c098ed330118d8dcfba5137 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8753 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2023-06-12 r/6279 refactor(tvix/store/pathinfosvc): use Arc<dyn …>Florian Klink8-28/+34
This removes the use of generics, like previously done with Blob and Directory services. Change-Id: I7cc8bd1439b026c88e80c11e38aafc63c74e5e84 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8751 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-12 r/6278 refactor(tvix/store/blobsvc): drop Result<_,_> around open_writeFlorian Klink7-19/+15
We never returned Err here anyways, and we can still return an error during the first (or subsequent) write(s). Change-Id: I4b4cd3d35f6ea008e9ffe2f7b71bfc9187309e2f Reviewed-on: https://cl.tvl.fyi/c/depot/+/8750 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-12 r/6277 docs(tvix/store/blobservice): fix docstringsFlorian Klink1-2/+3
These are outdated. Change-Id: I1a1ae130a55847f57a48d5e244e7e029c1ecae7b Reviewed-on: https://cl.tvl.fyi/c/depot/+/8749 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-12 r/6276 feat(tvix/store): increase blob chunk sizeRyan Lahfa1-2/+69
From 64 bytes to 100 KBytes. We need to provide a custom wrapper with a different Default instance. Change-Id: Id7c6c437b8183b355a9e388f98cef1622b363f64 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8748 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2023-06-12 r/6275 refactor(tvix/store/fuse): use Arc<dyn …> instead of genericsFlorian Klink2-11/+17
Change-Id: I5685379bd6f89d17da6843d31bef4c1fc4dc0a18 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8745 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-12 r/6274 refactor(tvix/store/blobsvc/sled): cargo clippyFlorian Klink1-1/+1
Change-Id: I00b8b567509d5e0847270f36dadb5dcb534b9b73 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8739 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2023-06-12 r/6273 refactor(tvix/store): use Arc instead of BoxFlorian Klink13-108/+132
This allows us to blob services without closing them before putting them in a box. We currently need to use Arc<_>, not Rc<_>, because the GRPC wrappers require Sync. Change-Id: I679c5f06b62304f5b0456cfefe25a0a881de7c84 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8738 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de>
2023-06-12 r/6272 refactor(tvix/store): use Box<dyn DirectoryService>Florian Klink18-126/+144
Once we support configuring services at runtime, we don't know what DirectoryService we're using at compile time. This also means, we can't explicitly use the is_closed method from GRPCPutter, without making it part of the DirectoryPutter itself. Change-Id: Icd2a1ec4fc5649a6cd15c9cc7db4c2b473630431 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8727 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-12 r/6271 feat(tvix/store/pathinfosvc): add calculate_nar methodFlorian Klink12-67/+147
Putting this in the PathInfoService trait makes much more sense, we can have direct control over where/how to cache the results in the implementation. This now requires each PathInfoService to hold pointers to BlobService and DirectoryService. Change-Id: I4faae780d43eae4beeb57bd5e190e6d1a5d3314e Reviewed-on: https://cl.tvl.fyi/c/depot/+/8724 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-12 r/6270 refactor(tvix/src/nar): drop NARCalculationServiceFlorian Klink11-346/+258
There's only one way to calculate NAR files, by walking through them. Things like caching such replies should be done closer to where we use these, composing NARCalculationService doesn't actually give us much. Instead, expose two functions, `nar::calculate_size_and_sha256` and `nar::writer_nar`, the latter writing NAR to a writer, the former using write_nar to only keeping the NAR size and digest. Change-Id: Ie5d2cfea35470fdbb5cbf9da1136b0cdf0250266 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8723 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de>
2023-06-12 r/6269 feat(tvix/store): eliminate generics in BlobStoreFlorian Klink15-143/+230
To construct various stores at runtime, we need to eliminate associated types from the BlobService trait, and return Box<dyn …> instead of specific types. This also means we can't consume self in the close() method, so everything we write to is put in an Option<>, and during the first close we take from there. Change-Id: Ia523b6ab2f2a5276f51cb5d17e81a5925bce69b6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8647 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-12 r/6268 test(tvix/eval): builtins.substring's behavior with negative argssterni3-0/+9
Change-Id: Ie8b97d174e9d58e33bf08c9b9e0afeeddd089ba8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8700 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2023-06-12 r/6267 fix(tvix/eval): allow negative substring lengthsLinus Heckemann2-21/+5
Nix uses string::substr without checking the sign of the length[1]. The NixOS testing infrastructure relies on this[2], and on the implicit conversion of that to the maximum possible value for a size_t. [1]: https://github.com/NixOS/nix/blob/ecae62020b64914d9859a71ce197d03688c6133c/src/libexpr/primops.cc#L3597 [2]: https://github.com/NixOS/nixpkgs/blob/c7c298471676ac1c7789ab3c424fbcebecaa6791/nixos/lib/testing/driver.nix#L29 Change-Id: I6d0caf6830b6bda3fdf44c40c81de6a1befeca7b Reviewed-on: https://cl.tvl.fyi/c/depot/+/8746 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2023-06-11 r/6266 fix(tvix/eval): emit only warnings on shadowed outputsLinus Heckemann4-6/+11
Unfortunately, nixpkgs has at least one case[1] where the out environment variable is shadowed -- though it doesn't cause a problem, since it's shadowed with the correct value, odd as this may be! [1]: https://github.com/NixOS/nixpkgs/blob/c7c298471676ac1c7789ab3c424fbcebecaa6791/pkgs/development/python-modules/pybind11/default.nix#L19 Change-Id: Ibf6790d2484dc9cce8e424feeb5886664d498dc3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8696 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-11 r/6265 fix(views/kit): provide `lib` argument to lazy-depsVincent Ambo1-1/+4
Change-Id: I6687bda77a3160b922156de9045d5f8565be0a61 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8744 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: flokli <flokli@flokli.de>
2023-06-11 r/6264 feat(corp/rih): implement backend captcha validationVincent Ambo4-1/+43
Change-Id: Ia80a6aeb8c20bdacbf93356be31592ca4ba7fcdc Reviewed-on: https://cl.tvl.fyi/c/depot/+/8741 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-10 r/6263 feat(tvix/store): add mount command to entrypoint and fuse modFlorian Klink3-0/+55
`tvix-store mount PATH` will mount the tvix-store to the given path. Change-Id: Icb82a6b3cb8a22eec856c375a28ae5580403833f Reviewed-on: https://cl.tvl.fyi/c/depot/+/8665 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de>
2023-06-10 r/6262 feat(tvix/nix-compat): derive HashFlorian Klink1-1/+1
This allows using a StorePath as a key in a hashmap. Change-Id: Id3eed623da4e1fc44a970a3982c7caa21d2495c8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8666 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-10 r/6261 chore(tvix/store): add fuse featureFlorian Klink5-11/+295
This brings in fuse (via the `fuser` crate), and adds pkg-config and libfuse to the dev shell, so `cargo build` can link against it. Change-Id: I0d11607490e27d946bdf92b0b9e45f9ab644ba74 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8664 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-10 r/6260 docs(REVIEWS.md): improve gerrit workflow explanationDavHau1-3/+6
Change-Id: I03c156c72831931f5a1984b6ff80bdc239f75e8e Reviewed-on: https://cl.tvl.fyi/c/depot/+/8726 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-10 r/6259 feat(corp/ops): provide captcha verification key to backendVincent Ambo1-0/+12
Change-Id: I960aa604488a27945ae6e69e6f3212a8dfd356cb Reviewed-on: https://cl.tvl.fyi/c/depot/+/8740 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-10 r/6258 fix(corp/ops): let service account use encryption keyVincent Ambo1-1/+10
Change-Id: Idd68e849457ecf600b1d9a318846557adfce8575 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8737 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-10 r/6257 feat(corp/rih/backend): sprinkle some logging all over the placeVincent Ambo4-10/+100
Change-Id: Ifd55a0bf75070b1d47c2d65c32960f05ad7040a0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8736 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-10 r/6256 fix(corp/ops): add CORS configuration for backendVincent Ambo1-0/+5
Change-Id: Ia953523eff463bb98189735bf4cfad6390b8eb71 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8735 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-10 r/6255 fix(corp/rih): correct structure of frontend requestVincent Ambo1-4/+11
Gotta use a shared crate for this .. Change-Id: I57669bdcace9676ff1311f3171c015702c934f56 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8734 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-10 r/6254 feat(corp/rih): add UUIDs to records from frontendVincent Ambo4-2/+22
This UUID stays the same even if a user submits the form multiple times (unless they edit it manually in local storage, of course). Change-Id: I4190fbfeb1027ce8a8d87bc283099539e8722b39 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8733 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-09 r/6253 docs(src/tests/nar_renderer): fix commentFlorian Klink1-2/+1
This testcase tests a missing blob fails the rendering, the comment has been copied from elsewhere. Change-Id: I48fa3fa454e12506590fa14a3591d156bafa8b5e Reviewed-on: https://cl.tvl.fyi/c/depot/+/8722 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2023-06-09 r/6252 docs(tvix/store): drop nar-bridge referencesFlorian Klink1-1/+1
The CLs did bitrot a bit, they're based on an older version of the protocol, and it's unclear if they'll be a separate Go Binary, or just another HTTP handler inside tvix-store itself, considering we now have way more NAR juggling code than before. Change-Id: I3632035cda8d75a8ff23b3132312f0f086d9e02f Reviewed-on: https://cl.tvl.fyi/c/depot/+/8732 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-09 r/6251 docs(tvix/store): update invocation in READMEFlorian Klink1-1/+1
This has moved to a `daemon` subcommand. Change-Id: Iae9778d8a59e6bf84555119fabfd62db3917bb62 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8731 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-09 r/6250 feat(corp/rih): persist data in storage bucketVincent Ambo3-6/+533
Change-Id: Ide7a21b97e845681584378d348cc36aba951d69f Reviewed-on: https://cl.tvl.fyi/c/depot/+/8730 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-09 r/6249 chore(corp/ops): pipe secrets through to backend containerVincent Ambo1-0/+14
Change-Id: Idcaa4a7213b53fe1e818c6a81754d29b6249e957 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8729 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-09 r/6248 feat(corp/ops): configure data storage bucketVincent Ambo1-7/+77
Note that there doesn't seem to be a TF resource type for the IAM binding between the bucket and the service account itself (other than applying to all buckets in the folder, which I don't want). For this reason I've added the `storage.uploader` IAM binding to the `rih-backend` service account *on the bucket* manually. Change-Id: I9fb06c7857e61dc642d9ea0d89159a0e343dc984 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8728 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-09 r/6247 feat(corp/ops): configure hosting setup for backend domainVincent Ambo1-0/+64
Change-Id: Ia0298e3be2e16ac5dbc2b8aec1e840aa3af947e9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8719 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-06-09 r/6246 feat(corp/ops): initial resources for running rih containerVincent Ambo1-0/+36
Change-Id: Ie7276396bbfcff64d91ca8cc655cad6927fd6599 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8718 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-06-09 r/6245 docs(tvix/store/docs): fix grammarFlorian Klink1-1/+1
Change-Id: I1d7d306e5d997a7ba47a83d613edc19a4fba1ed4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8721 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: flokli <flokli@flokli.de>
2023-06-07 r/6244 fix(tvix/eval): use normal thunking behavior for default in formalssterni2-9/+7
When comparing to C++ Nix, we notice that the thunking of default expressions in function formals corresponds to their normal thunking, e.g. literals are not thunked. This means that we can just invoke compile() without much of a care and trust that it will sort it out correctly. If function formals blow up as a result of this, it likely indicates that the expression is treated incorrectly by compile(), not compile_param_pattern(). Change-Id: I64acbff2f251423eb72ce43e56a0603379305e1d Reviewed-on: https://cl.tvl.fyi/c/depot/+/8704 Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>