about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2023-10-06 r/6717 chore(ops): remove images.tvl.fyiVincent Ambo2-23/+0
I don't even know what this is/was. Change-Id: I743efa88258bbc13b7a3d4b8de8df222325b00ed Reviewed-on: https://cl.tvl.fyi/c/depot/+/9553 Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su>
2023-10-05 r/6716 fix(tvix/nar-bridge): properly check error during HTTP shutdownFlorian Klink1-1/+1
We didn't bind err := here. Change-Id: I779d7ba5660ba4b126a4a0db7fe044bf94425855 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9547 Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2023-10-05 r/6715 refactor(tvix/store/proto): use NamedNode traitFlorian Klink1-31/+28
This saves us writing the name parsing code three times. We can also delay parsing until we did other (cheaper) checks. Change-Id: I1abe3f20dba4215b38839cf7466297e028d64656 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9548 Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de>
2023-10-05 r/6714 docs(tvix/nar-bridge): fix commentFlorian Klink1-1/+1
We run narInfo.Check to ensure this parses to a StorePath, not nixpath.Check. Change-Id: Id91183128df74a60d98fa2a31174cd879194c34d Reviewed-on: https://cl.tvl.fyi/c/depot/+/9550 Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2023-10-05 r/6713 chore(tvix/nar-bridge): bump go-nix dependencyFlorian Klink6-9/+11
nixpath.FromString -> storepath.FromAbsolutePath. See https://github.com/nix-community/go-nix/pull/113 for details. Closes: https://b.tvl.fyi/issues/314 Change-Id: I25277fb6006cbbb2a323ffb5809a1be500822a97 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9551 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com>
2023-10-05 r/6712 feat(tvix/store/protos): add Validate() method to pathinfo.goFlorian Klink4-11/+107
This is very similar to the Rust counterpart. Change-Id: I40d51aaac3fcf7f52e5896587e561bc2377f6269 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9549 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Connor Brewster <cbrewster@hey.com> Tested-by: BuildkiteCI
2023-10-05 r/6711 chore(web/tvl): graph updatesVincent Ambo1-10/+3
* removed mdjnsn (not seen him for a long time, and not on IRC!) * added K900 Change-Id: I21e7db61d0a360244f95f51eebca6df94d703cff Reviewed-on: https://cl.tvl.fyi/c/depot/+/9503 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-10-05 r/6710 feat(tvix/website): add structured data for search enginesVincent Ambo1-0/+22
This closes b/303. Change-Id: Icaeccba23a2590c22106bed6e859ed3188c87a02 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9540 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2023-10-05 r/6709 refactor(tvix/nar-bridge): do root directory dgst check in uploaderFlorian Klink2-20/+19
This check makes more sense there, and gives stronger semantics - Done() only succeeds if the other side successfully received everything, *and* came up with the same hashes as we did. Change-Id: I20b706961053fd00d22cc70e1c8cc859705587e0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9542 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Connor Brewster <cbrewster@hey.com>
2023-10-05 r/6708 feat(tvix/nar-bridge): add nar-bridge-pathinfo commandFlorian Klink7-2/+426
This adds an additional nar-bridge-pathinfo command. It exposes a PathInfoService for a HTTP Binary Cache, ingesting data into a BlobService/DirectoryService as it goes through the NAR file. It does this whenever it receives a Get request for a specific output path, and waits returning with the PathInfo response until it ingested the data. It does not do any sort of caching - this means it re-downloads NAR files again whenever the PathInfo is requested again, so you most likely do not want to use this currently. It's one building component as soon as we have store composition (which we currently don't, so don't use this). It can be used as an alternative mechanism to ingest data (Blobs and Directories) of a given store path from a binary cache into tvix-store. ``` ❯ nix-build -A third_party.nixpkgs.hello /nix/store/mdi7lvrn2mx7rfzv3fdq3v5yw8swiks6-hello-2.12.1 ❯ nix hash to-sri --type sha1 mdi7lvrn2mx7rfzv3fdq3v5yw8swiks6 sha1-Rs/INeK+7IGbG/u7fHoVNm96Yqs= ❯ out=$(mg build //tvix/nar-bridge) $out/bin/nar-bridge-pathinfo --log-level debug & INFO[0000] Starting nar-bridge-pathinfosvc at [::]:8001 ❯ mg run //tvix:store -- daemon & [mg] building target //tvix:store [mg] running target //tvix:store 2023-10-03T16:21:57.433739Z INFO tvix_store: tvix-store listening on [::]:8000 at src/bin/tvix-store.rs:229 ❯ evans --host localhost --port 8001 -r repl […] tvix.store.v1.PathInfoService@localhost:8001> call Get ✔ by_output_hash by_output_hash (TYPE_BYTES) => Rs/INeK+7IGbG/u7fHoVNm96Yqs= { "narinfo": { "narSha256": "sXrPtjqhSoc2u0YfM1HVZThknkSYuRuHdtKCB6wkDFo=", "narSize": "226552", "referenceNames": [ "aw2fw9ag10wr9pf0qk4nk5sxi0q0bn56-glibc-2.37-8", "mdi7lvrn2mx7rfzv3fdq3v5yw8swiks6-hello-2.12.1" ], "signatures": [ { "data": "7guDbfaF2Q29HY0c5axhtuacfxN6uxuEqeUfncDiSvMSAWvfHVMppB89ILqV8FE58pEQ04tSbMnRhR3FGPV0AA==", "name": "cache.nixos.org-1" } ] }, "node": { "directory": { "digest": "xvo6BYbYaDw76IibLu5sr+VZoj9iM0ET2RUuYSYLwKE=", "name": "bWRpN2x2cm4ybXg3cmZ6djNmZHEzdjV5dzhzd2lrczYtaGVsbG8tMi4xMi4x", "size": 141 } }, "references": [ "ptgFMIhdl2nJxMDdlDkITyXuBFc=", "Rs/INeK+7IGbG/u7fHoVNm96Yqs=" ] } ``` Change-Id: I50167d0ac081c91adf5cf2733bbc4dc0993bd46e Reviewed-on: https://cl.tvl.fyi/c/depot/+/9539 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com> Reviewed-by: Brian Olsen <me@griff.name>
2023-10-05 r/6707 test(tvix/store/pathinfo): add more tests for referencesFlorian Klink2-42/+101
This should cover all error cases produced. Change-Id: If31816d9b087551d86d7913df55df8f9f44bb554 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9546 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: edef <edef@edef.eu> Tested-by: BuildkiteCI
2023-10-05 r/6706 feat(tvix/store): add validation for referencesFlorian Klink2-6/+60
This validates the size of reference digests in the PathInfo message, as well as inside the narinfo submessage. If narinfo is set, they need to parse to StorePath, and have the same digest there as in the PathInfo message. `proto::tests::pathinfo::validate_references` needed to be updated, because we actually did not populate the proper references before. Change-Id: I9545b2487aab9fe0d229c26aceba5ddc5e6daafd Reviewed-on: https://cl.tvl.fyi/c/depot/+/9545 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: edef <edef@edef.eu> Tested-by: BuildkiteCI
2023-10-05 r/6705 refactor(tvix/store): mv *Err*::Invalid{Node,}DigestLenFlorian Klink2-7/+7
There's other digests in the PathInfo structure, that also might have wrong digest lengths. Rename this to give some room for them, and update the error message a bit as we go. Change-Id: I06562664721156e658f2ed14ba1de907377d284b Reviewed-on: https://cl.tvl.fyi/c/depot/+/9543 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: edef <edef@edef.eu>
2023-10-05 r/6704 refactor(tvix/castore): move magic number to B3_LEN constFlorian Klink2-5/+7
… and export it. Change-Id: I47d2dc2f5a8174da65c614b43801d648506e2d73 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9544 Tested-by: BuildkiteCI Reviewed-by: edef <edef@edef.eu> Autosubmit: flokli <flokli@flokli.de>
2023-10-05 r/6703 refactor(tvix/nar-bridge): mv nar-bridge{,-http}Florian Klink3-4/+4
Rename the nar-bridge CLI to nar-bridge-http, because it's the one spinning up an http server. Change-Id: I0fb75c50e4299272a128dd5ecaa4be8f06fa3dbe Reviewed-on: https://cl.tvl.fyi/c/depot/+/9538 Reviewed-by: Connor Brewster <cbrewster@hey.com> Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de>
2023-10-05 r/6702 refactor(tvix/nar-bridge): deduplicate NAR HEAD and GETFlorian Klink1-49/+26
Use a genNarHandler() function accepting a boolean to construct the HTTP handler. Change-Id: I17c054826d91a9dbed8b1f53945a51f27fa60ace Reviewed-on: https://cl.tvl.fyi/c/depot/+/9537 Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de>
2023-10-05 r/6701 docs(tvix/nar-bridge): fix typo in commentFlorian Klink1-1/+1
Change-Id: I74f6892e089ed306ef93e78a39a25cf3738bb09f Reviewed-on: https://cl.tvl.fyi/c/depot/+/9536 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Connor Brewster <cbrewster@hey.com> Tested-by: BuildkiteCI
2023-10-05 r/6700 refactor(tvix/nar-bridge): move pkg/server to pkg/httpFlorian Klink7-8/+8
This is only dealing with the HTTP interface. Change-Id: I011b624fd9f11ea96231b92fea1166c118a219f2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9535 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Connor Brewster <cbrewster@hey.com>
2023-10-05 r/6699 refactor(tvix/nar-bridge): move DirectoriesUploader to pkg/importerFlorian Klink2-2/+2
This is useful outside a HTTP server scenario. Change-Id: I0042a6e773906a15a254d850520e6f841035bf20 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9533 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com>
2023-10-05 r/6698 refactor(tvix/nar-bridge): move blob cb function to pkg/importerFlorian Klink2-3/+3
This is useful outside a HTTP server scenario. Change-Id: If35f1ab245855378fd01f16ad7b5774d0cf590ba Reviewed-on: https://cl.tvl.fyi/c/depot/+/9532 Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de>
2023-10-05 r/6697 docs(tvix/nar-bridge): add more comments for DirectoriesUploader.Florian Klink1-1/+5
Change-Id: I6684186f3120ea42036239baa82e0ca37d3e0e6c Reviewed-on: https://cl.tvl.fyi/c/depot/+/9531 Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2023-10-05 r/6696 refactor(tvix/nar-bridge): rename writer package to exporterFlorian Klink4-11/+11
Change-Id: I7cf6a3ed0dca4c450fadd9228dc0154ad6254f51 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9530 Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de>
2023-10-05 r/6695 refactor(tvix/nar-bridge): combine writers/readersFlorian Klink3-80/+37
We can drop most of Hasher if we use a MultiWriter writing to the hash function and a minimal CountingWriter. This should make things a bit more understandable. Change-Id: I37ee72d9a5c73f253aecc1ad761cb723389b89fc Reviewed-on: https://cl.tvl.fyi/c/depot/+/9529 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Connor Brewster <cbrewster@hey.com> Tested-by: BuildkiteCI
2023-10-05 r/6694 refactor(tvix/nar-bridge): let callbaks return calculated digestsFlorian Klink6-100/+109
This aligns behaviour more with how it should be - it's the responsibility of the callback functions to return digests of the things they consume(d). It allows further cleaning up the hasher struct. Change-Id: I9cbfc87e6abd4ff17fadf39eb6563ec3cb7fcc6f Reviewed-on: https://cl.tvl.fyi/c/depot/+/9528 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com>
2023-10-05 r/6693 refactor(tvix/nar-bridge): drop reader packageFlorian Klink6-56/+41
Make the import function usable on any reader. Change-Id: I84d2004cb73cdd7a11fe8efb0f2efb6335d5e6b0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9527 Reviewed-by: Connor Brewster <cbrewster@hey.com> Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de>
2023-10-05 r/6692 refactor(tvix/nar-bridge): rename item to stackItemFlorian Klink1-3/+3
Change-Id: I76c8db3b04d9f97e51e91f7d36a4dd8c6500d1a2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9526 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com>
2023-10-05 r/6691 refactor(tvix/nar-bridge): inline assemblePathInfoFlorian Klink1-17/+14
This is only called once. Change-Id: I342443b8d04050929733fc84d5f36cd64060afe3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9525 Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2023-10-04 r/6690 fix(tvix/nix-compat): reject dotfilesedef1-5/+7
Nix has historically rejected these. The current behaviour was accidentally introduced in Nix 2.4, and is considered a bug. Link: https://github.com/NixOS/nix/pull/9095 Change-Id: I38ffa911f0a413086479bd972de09671dbe85121 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9507 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Autosubmit: edef <edef@edef.eu>
2023-10-04 r/6689 fix(tvix/castore): explicitly name lifetimes in process_entryedef1-3/+3
Otherwise this produces absolutely inscrutable errors: note: hidden type `[async fn body@castore/src/import.rs:63:1: 63:94]` captures lifetime '_#24r Change-Id: If5d9626c9edf400de5bcec038bcaa5a3117561f0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9506 Tested-by: BuildkiteCI Autosubmit: edef <edef@edef.eu> Reviewed-by: flokli <flokli@flokli.de>
2023-10-03 r/6688 fix(tvix/nix-compat): bits are not bytesedef1-2/+2
Change-Id: Ib5744ea240895fe84454ad271ee5640b29cab838 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9505 Autosubmit: edef <edef@edef.eu> Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2023-10-02 r/6687 fix(tvix/store): Fix FUSE support on MacOSBrian Olsen9-22/+42
This partially fixes b/312 and gets FUSE to work again on MacOS. It is mostly small type changes and an update to fuse-backend-rs because upstream currently doesn't work with MacFuse. It also sets the default FUSE thread count on MacOS to 1 because otherwise the mount command will hang when shutting down as only one thread gets ENODEV and all the others just keep blocking. Change-Id: Ifb3c4268caf296c487049c1dc4618acb32497f44 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9490 Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com> Reviewed-by: flokli <flokli@flokli.de>
2023-10-02 r/6686 fix(tvix/store): FuseDaemon unmount is blocking async runtimeBrian Olsen1-1/+1
The unmount method in FuseDaemon calls join on a bunch of threads and that is a blocking call but it is called from an async context in the tvix-store binary. This change wraps the call to unmount in a spawn_blocking. Change-Id: If89183b4a3f890874e75f5faf90cd24cb18da1e1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9489 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Reviewed-by: Connor Brewster <cbrewster@hey.com>
2023-10-02 r/6685 feat(web/tvl): add raitobezarius on the TVL graphRyan Lahfa1-0/+4
I think this may be representative of reality, but I forgot :D Change-Id: I6aaeb959a44b3a5cdbbaea1d99b3034a7db05ba6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9498 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su>
2023-10-01 r/6684 fix(tazjin/koptevo): let gonic access /etc/resolv.confVincent Ambo1-0/+6
Without this line, accessing external APIs from Gonic (e.g. scrobbling to Listenbrainz) does not work (unless a local resolver exists). This is because in the pure Go DNS implementation used in gonic, only /etc/resolv.conf can provide resolvers. Change-Id: I26dd9a845b0a70c4cfb983c68da2b76b7e57dfec Reviewed-on: https://cl.tvl.fyi/c/depot/+/9502 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-10-01 r/6683 fix(tazjin/koptevo): minor reliability fixes for music setupVincent Ambo2-0/+2
* zramSwap: during reindexing, geesefs can be pushed to the boundaries of what the new overaggressive OOM killer accepts, and I don't want to bother configuring that thing instead. * umount: geesefs dying unexpectedly leaves broken mounts around, clean these up before proceeding This bakes in the assumption that there's only ever one geesefs service, but that assumption is baked in anyways. Change-Id: Id85c2f5bc2312a7246ea20229eb36d2cc1bd82c0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9500 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-10-01 r/6682 feat(tazjin/koptevo): deploy airsonic at player.tazj.inVincent Ambo2-1/+34
Change-Id: I9f0dec6491906319550c97d4cc15b2cdda4a5ebe Reviewed-on: https://cl.tvl.fyi/c/depot/+/9499 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2023-10-01 r/6681 docs(nix-1p): update manual linksJan Hrček1-8/+8
I found some links to nix manual are not working (they redirect me to manual homepage and one github link led to 404 page), so I fixed all the links for which I was able to find appropriate target. Imported from https://github.com/tazjin/nix-1p/pull/15 Change-Id: Ie933951e9743649d7794a6bd2a82c3a0ed328336 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9501 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-09-30 r/6680 feat(tazjin/koptevo): run gonic on music.tazj.inVincent Ambo1-2/+28
Change-Id: Id281142e59647d9db02f64a352cba768d4d83237 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9497 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-30 r/6679 feat(tazjin/nixos): add geesefs mount unit for koptevo ...Vincent Ambo2-0/+38
... this will make sense soon! Change-Id: I1f8f32d655afdf868fff4bd09e1fea2943fd7558 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9496 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-09-30 r/6678 feat(tazjin/secrets): add geesefs key for my personal bucketVincent Ambo2-0/+19
Change-Id: I833b3cc3571d77729b83743f7e37c789337f55a2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9495 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-30 r/6677 chore(tazjin/secrets): reencrypt with new key setVincent Ambo3-11/+18
Change-Id: Ib2111bf10babf42ad7984c39a25acd84cecd0d76 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9494 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-09-30 r/6676 feat(tazjin/nixos): helper script for mounting GeeseFSVincent Ambo2-0/+14
Can't be bothered to make something more automated for now. Change-Id: Ie245af90c1a62a5988b97d16f86b6567e1ffafd0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9493 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2023-09-30 r/6675 feat(3p/geesefs): add derivation for GeeseFSVincent Ambo1-0/+25
Change-Id: I93d0ccd35eb16005779a2784d1fabc3fd9ef1b83 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9492 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2023-09-29 r/6674 feat(users/Profpatsch/MonadPostgres): trace db queriesProfpatsch4-94/+93
Experiment of how to instrument a lib I’m using to trace instead of log. Now that we added MonadTracer to Transaction, we can drop the unlifted `inSpanT`. Change-Id: Iea891a58cfb33a0837978611456c33aefcccf0d7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9491 Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2023-09-29 r/6673 feat(users/Profpatsch/whatcd-resolver): add basic otel tracingProfpatsch4-5/+55
For it to work, you need otel (e.g. jaeger) to run on port 4317. Change-Id: I36f0493b9be26af256769ae5af8916029036a76e Reviewed-on: https://cl.tvl.fyi/c/depot/+/9488 Tested-by: BuildkiteCI Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de>
2023-09-29 r/6672 feat(users/Profpatsch): dockerize a jaeger releaseProfpatsch1-0/+46
This is horrible, but I don’t think there’s a more pragmatic way to set this up right now. Change-Id: I166550292b4eb979864f7d69ea56a2827bbf21bd Reviewed-on: https://cl.tvl.fyi/c/depot/+/9487 Tested-by: BuildkiteCI Autosubmit: Profpatsch <mail@profpatsch.de> Reviewed-by: Profpatsch <mail@profpatsch.de>
2023-09-29 r/6671 refactor(users/Profpatsch/whatcd-resolver): more efficient insertsProfpatsch1-39/+101
Instead of inserting torrents and every tour group seperately, insert the tour groups and then the torrents in one go (unzipped). I finally found a good use for list comprehensions, flattening nested lists. Change-Id: I7dfc765ad058dff3afb3b03887141b334a4b1988 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9486 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de> Autosubmit: Profpatsch <mail@profpatsch.de>
2023-09-29 r/6670 refactor(users/Profpatsch/whatcd-resolver): naive combined insertProfpatsch1-41/+52
Still n+1, but now we got the IO where we want it to make the database inserts efficient. Change-Id: I2ee36ea41bf186cbeb5581b0df802bb3611769fe Reviewed-on: https://cl.tvl.fyi/c/depot/+/9485 Reviewed-by: Profpatsch <mail@profpatsch.de> Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2023-09-29 r/6669 refactor(users/Profpatsch/whatcd-resolver): move inserts outProfpatsch1-52/+54
Now we can move the I/O into a where block. Change-Id: Ib5334948f3d11ca120ce0b7a46c67f8500fdab3a Reviewed-on: https://cl.tvl.fyi/c/depot/+/9484 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI Autosubmit: Profpatsch <mail@profpatsch.de>
2023-09-29 r/6668 refactor(users/Profpatsch/whatcd-resolver): prepare to split IOProfpatsch1-53/+74
Returning an I/O action was a good first approximation, but leads to a n+1 query problem, making the whole shebang pretty slow after doing a search. Thus we need to split data & I/O, so we can be more clever in the next commit. Change-Id: Ieb2f8d5445f1258047da9b121b977c0b8d2dd7f8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9483 Reviewed-by: Profpatsch <mail@profpatsch.de> Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI