Commit graph

21156 commits

Author SHA1 Message Date
Vova Kryachko
654cc3e43a chore(tvix/nix-daemon): Implement framed protocol
When sending nars over the wire to the nix-daemon, nix protocol versions
>= 1.23 use this framing protocol.

This change implements an AsyncRead for this protocol, to be used in
AddToStoreNar and any other operations when necessary.

Change-Id: I5f7972fe1c9ea145780bf449321bd3efeb833d18
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12814
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-11-20 17:36:26 +00:00
Vova Kryachko
db13b6c092 chore(tvix/nix-daemon): Implement STDERR_READ protocol
When sending nars over the wire to the nix-daemon, nix protocol versions
1.21 to 1.23 use this framing protocol.

This change implements an AsyncRead for this protocol, to be used in
AddToStoreNar and any other operations when necessary.

Change-Id: I571f1adbb2343c14c98503d1a2c12eea4c783ec9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12813
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-11-20 17:36:26 +00:00
Thomas Koch
e5fbde94aa fix(corp/website): typo s/existence/assistance/
Change-Id: Ic35bf4706cb660a09fdc36e6ed1d291d429ec7ea
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12786
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-11-20 08:46:39 +00:00
Florian Klink
a01760fcee refactor(tvix/tracing): simplify flushing channel
The TracingHandle::flush function allowed a user to pass in their
own (optional) oneshot::Sender<()> to get notified once the flush is
completed, but that's making things unnecessary complicated.

By simply having the flush() function await the flush, we make its
interface more intuitive, and callsites (only inside tvix-tracing itself
so far) simpler.

We can also remove the Option around the oneshot::Sender entirely, as we
now always call it with that.

For some more clarity, we can remove the channel from the struct fields
entirely if otlp support isn't compiled in.

Change-Id: I0870b9e8e88c6be6494a9c201c1c70b87e0f0810
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12801
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: Marijan Petričević <marijan.petricevic94@gmail.com>
Tested-by: BuildkiteCI
2024-11-18 22:10:58 +00:00
sterni
9656686fb3 chore(fun/paroxysm): regenerate Cargo.nix with crate2nix 0.14.1
This should get rid of some deprecation warnings in 🦙.

Change-Id: I8588169553a312a4df01d9bf71de7d673f28c431
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12808
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
2024-11-18 14:36:59 +00:00
sterni
5daaaa2f0b chore(3p/sources): bump channels & overlays
* //3p/overlays/tvl: build nixos-option with latest Nix version (2.24)
  as is required now. It would be nice to avoid this somehow to prevent
  NixOS machines in depot having to carry around two versions of Nix.
  Maybe we can at least use a statically linked nixos-option?

* //3p/{gerrit,gerrit_plugins}: update deps hash

* //tvix/eval: adjust our nixVersion “user agent” so that it'll pass the
  new 2.3.17 minimum version nixpkgs prescribes (to check for zstd
  support when substituting from the binary cache).

Change-Id: I4eb715afdc3dbb857340839f08ce86612aa7f117
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12805
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2024-11-18 14:01:20 +00:00
sterni
a6f777206a chore(sterni/machines/edwin): remove
This machine hasn't existed for a while. Seems like I forgot to remove
the expression after its final month ran out.

Change-Id: I0e4abbd9af75eabfab0db106f851a1e43aa8c90f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12807
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2024-11-18 12:44:59 +00:00
sterni
0d4bcc38d8 fix(sterni/ingeborg/monitoring): declare missing dep on nginx module
Change-Id: I68777a6c57068afaa7adfd842778a6f991b9e86a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12806
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2024-11-18 12:43:58 +00:00
sterni
27828e8167 feat(sterni/ingeborg/monitoring): expose netdata via nginx
Change-Id: Iea81625180526a36f8646539e8da0ccdaed79d43
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12804
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2024-11-18 11:21:37 +00:00
sterni
0a6b387738 chore(sterni/code.sterni.lv): deny indexing
All repositories under code.sterni.lv are mirrors, so there's no value
in AI startups endlessly crawling the nixpkgs git history on
code.sterni.lv…

Change-Id: Iaac296315f325ced3cfd0852ae1d8d3f3815ea5b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12803
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2024-11-18 11:21:37 +00:00
sterni
bbfffa3fdd refactor(sterni/ingeborg/monitoring): simplify mkIrcMessager
I want to add a warpper script to the mdmonitor program anyways, so
there's not really a point in this.

Change-Id: I92166bd44b54507b782a8d19b9676d91d8fa0f99
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12802
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
2024-11-18 11:21:37 +00:00
sterni
a2848751bd chore(sterni/ingeborg/minecraft): 1.21.1 -> 1.21.3
Again, 1.21.3 only fixes uninteresting bugs compared to 1.21.2.

Change-Id: I406fe9692f21537480db734cf77eca183b6caaad
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12799
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2024-11-17 16:09:44 +00:00
sterni
ef7f281f37 chore(sterni/ingeborg/minecraft): 1.20.4 -> 1.21.1
1.21.1 fixes an exploit in 1.21 without any other changes, so we can
safely skip it.

Change-Id: I72503c9f3869d7bafdfc78842b61804627a1d452
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12798
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2024-11-17 15:57:41 +00:00
Florian Klink
3f1b326b3a feat(users/flokli/kb): enable mouse support
This switches to a ZMK branch with support for mouse movement, and sets
MIRYOKU_KLUDGE_MOUSEKEYSPR so miryoku makes use of the functionality.

Change-Id: I3d4f48f10d50c202f909bec15189106a1bbcc1b3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12796
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-11-15 15:26:39 +00:00
sterni
ed7aa322c6 feat(sterni/code.sterni.lv): hide emails in cgit
Change-Id: If48823b7992aa61fee9b1a6f458434a596bead90
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12795
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2024-11-15 14:53:59 +00:00
sterni
2b9a088845 refactor(sterni/code.sterni.lv): downgrade network-online to wants
`requires` is not recommended in this context. I think I tried it out of
desperation trying to combat the issue that these units would be started
before they were able to resolve names in switch-to-configuration.
Unfortunately, network access during switch-to-configuration can't be
detected using network-online.target, it seems.

Change-Id: Ia98a0a3b505ffa56eb37fb58a5375a1215d6cb1b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12794
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2024-11-15 14:53:59 +00:00
sterni
e6d0e95cc4 fix(sterni/code.sterni.lv): gc after mirroring repositories
Repositories (especially nixpkgs) WILL grow to ridiculous sizes
otherwise, killing cgit performance in the process.

Change-Id: I3bef3e5dc5a61152e89fd53e31f14e78193a4888
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12793
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2024-11-15 14:53:59 +00:00
sterni
b72262ca3d docs(sterni/machines/ingeborg): add example ssh config for unlock
Mostly it's important (which I did this time at least) to remember that
with how things work at the moment, the initrd sshd is only reachable
via IPv4.

Change-Id: Ie9a87b6a38b2e128a8a2141d2221bbe7cfe24cdb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12792
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2024-11-15 14:53:59 +00:00
sterni
ced47f74b9 chore(sterni/machines/ingeborg): add usbhid kernel module
nixos-generate-config claims I need this, so let's add it…

Change-Id: I3d852ffce5d0e7c65d9a1bbe887d3de15136698a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12791
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
2024-11-15 14:53:59 +00:00
sterni
58f795d7c3 fix(ops/modules/irccat): only start after network is online
I've discovered that it is possible for irccat to fail enough times to
run into the restart limit before network is online after booting.

Change-Id: Ia54a46d56bdc765a825fee50e7bdc8206718edc0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12790
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: sterni <sternenseemann@systemli.org>
2024-11-15 14:53:59 +00:00
Vincent Ambo
8ede491f5e chore(3p/sources): bump channels & overlays (2024-11-14)
* update wasm-bindgen in all wasm projects

* //users/wpcarro/website: declare missing dependency on
  string-conversions. Presumably this was propagated
  before from some other dependency which got updated now.

Change-Id: Ib93de576408974441d532196601e6e53d22cdafe
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12770
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: tazjin <tazjin@tvl.su>
2024-11-15 14:53:59 +00:00
Vincent Ambo
447f0a2e21 chore(web/tvl): restrict owners to myself
Change-Id: I4800c542b2af0bc2a5e389342f3574b4928b1704
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12789
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2024-11-15 08:21:04 +00:00
Florian Klink
bf74b800ad chore(users/flokli/kb/k6_pro): drop unused
I don't have this keyboard anymore, no need to build the firmware
anymore.

Change-Id: I1ab25dfaa71d03dc7006312ecab86453d6f90333
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12788
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-11-15 00:00:22 +00:00
Florian Klink
c445970869 feat(users/flokli/kb): add chocofi
`buildSplitKeyboard`, as well as all the patching of `miryoku_zmk` is
independent of the specific keyboard used, so it can be moved one layer
up.

`config-flat` is now provided through a helper function, accepting the
name of the keymap to use when rendering the config.

This all makes the amount of code added for the new keyboard itself
pleasantly small.

Change-Id: I2216aa246502eddaf9bc4f4d126b0639d574ad87
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12787
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-11-15 00:00:22 +00:00
Vova Kryachko
7a54360a39 chore(web): Add self to tvl graph
Change-Id: Ia57768d30db4a841f74c4305cfbae45c9e26522e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12767
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-11-14 17:33:18 +00:00
Vincent Ambo
7c25e2fab3 fix(tazjin/emacs): set telega video player command
Change-Id: If5296eb7aa7304801ade7a2c3a1aa6907b051e4f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12768
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2024-11-14 17:11:59 +00:00
Thomas Koch
81a341f6eb feat(ops/users): add user thk
Change-Id: Ib5e518359e152553d0a9ebf6c674f1acc846800a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12785
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
Reviewed-by: lukegb <lukegb@tvl.fyi>
2024-11-14 16:58:49 +00:00
Vova Kryachko
ccecede70b feat(nix-daemon): Implement stubs for QueryReferrers, QueryRealizations
These are required to support certain nix's local-overlay store
operations, it's safer to return empty results for these
operations than failing with "operation not implemented" errors.

Change-Id: Ic9b69d75dd52af5a826bfb6a8b283b082a0f6bcf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12766
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-11-14 13:39:48 +00:00
Vova Kryachko
fa9c067dc9 feat(nix-daemon): Implement more nix daemon operations.
In particular QueryPathFromHashPart, QueryValidPaths, QueryValidDerivers

Change-Id: Ie6ad83cec5ce9580044b85e201e4e23394f87075
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12762
Tested-by: BuildkiteCI
Reviewed-by: edef <edef@edef.eu>
Reviewed-by: flokli <flokli@flokli.de>
2024-11-13 21:21:57 +00:00
Vova Kryachko
6aada91062 feat(tvix-store): Improve tvix-store copy.
This change contains 2 improvements to the tvix-store copy command:

1. Allows reading the reference graph from stdin, using `-` argument
2. Supports json representation produced by `nix path-info --json`
   command.

In general it makes is easier and faster to import arbitrary closures
from an existing nix store with e.g the following command:

```
nix path-info ./result --json --closure-size --recursive | \
  jq -s '{closure: add}' | \
  tvix-store copy -
```

Change-Id: Id6eea2993da233ecfbdc186f1a8c37735b686264
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12765
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-11-12 16:43:21 +00:00
Florian Klink
b1764e1109 refactor(nix-compat/nix_daemon): drop Sync requirement for StorePath
By manually writing out the async function, and moving the owned String
we can avoid for S to be Sync in the NixSerialize for StorePath<S> impl.

Co-Authored-By: edef@edef.eu
Change-Id: I8427b38d2bd61de2818088728cbad79cda69d17d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12764
Reviewed-by: Vladimir Kryachko <v.kryachko@gmail.com>
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: edef <edef@edef.eu>
Tested-by: BuildkiteCI
2024-11-12 14:05:24 +00:00
Florian Klink
0b8ec03797 docs(tvix): document Store configuration
This describes the current composition system used for BlobService /
DirectoryService / PathInfoService, why it's hidden, how to expose it,
and adds some common examples to explain it.

Change-Id: I2ce7da40992cc988947c3e924499f8157c5e4937
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12749
Tested-by: BuildkiteCI
Reviewed-by: yuka <yuka@yuka.dev>
2024-11-12 14:05:16 +00:00
Florian Klink
1428ea4e19 refactor(nix-compat/store_path): use AsRef<str>
Implement PartialEq/Eq ourselves instead of deriving, by proxying to
name.as_ref() (and digest of course).

Also implement Hash on our own, clippy doesn't like this to be derived,
while Eq/PartialEq is not.

Change-Id: Idbe289a23ba3bc8dabf893d4d8752792ae2778c3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12744
Tested-by: BuildkiteCI
Reviewed-by: edef <edef@edef.eu>
Autosubmit: flokli <flokli@flokli.de>
2024-11-12 11:55:48 +00:00
Florian Klink
1474471327 docs(tvix/eval): update string context document
NixString doesn't contain a `HashSet<BuildReference>` anymore, there's a
more packed internal data structure. We don't need to be overly specific
in the docs, just say we expose an API.

Change-Id: I13380c49293f9a86d1916909fdfeefbe64d9024b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12755
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: edef <edef@edef.eu>
2024-11-12 11:55:36 +00:00
Florian Klink
2af30c8c7f refactor(tvix/eval): rm From<(T, Option<Box<NixContext>>)> for NixString
This conversion was a bit too magic, and we can just use
`NixString::new_context_from` without having to worry about the
distinction between an empty context or no context, as
NixString::new_context_from already deals with that internally.

Change-Id: I3e5d57ecfa0f7456aa6c526863e49f2523afaec3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12754
Tested-by: BuildkiteCI
Reviewed-by: edef <edef@edef.eu>
Autosubmit: flokli <flokli@flokli.de>
2024-11-12 11:16:08 +00:00
Florian Klink
1bc092b063 refactor(tvix/castore/digest): stop using bytes::Bytes internally
Change-Id: I07a13da0ae4aee4298025fca4345d738f40cfe5a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12757
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
Reviewed-by: edef <edef@edef.eu>
Tested-by: BuildkiteCI
2024-11-12 11:09:11 +00:00
Florian Klink
ef3a51b38d docs(tvix): document more components
Change-Id: I0e75445a34d3ee11e535e6948c6d762f4fb15105
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12760
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: Domen Kožar <domen@cachix.org>
Reviewed-by: flokli <flokli@flokli.de>
2024-11-12 09:42:50 +00:00
Vova Kryachko
9d114bf040 feat(nix-daemon): Implement QueryPathInfo and IsValidPath.
Change-Id: Ia601e2eae24a2bc13d8851b2e8ed9d6c1808bb35
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12745
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: Vladimir Kryachko <v.kryachko@gmail.com>
Tested-by: BuildkiteCI
2024-11-12 03:06:54 +00:00
Vova Kryachko
b564ed9d43 feat(nix-daemon): Implement client handler.
This change includes only the basic nix handshake protocol handling and
sets up a client session. The only supported operation at this point is
SetOptions.

Additional operations will be implemented in subsequent cls.

Change-Id: I3eccd9e0ceb270c3865929543c702f1491768852
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12743
Autosubmit: Vladimir Kryachko <v.kryachko@gmail.com>
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: edef <edef@edef.eu>
Reviewed-by: Brian Olsen <me@griff.name>
2024-11-12 02:15:04 +00:00
Florian Klink
72bc4e0270 fix(tvix): use tracing::field::Empty for all indicatif.pb_show
This prevents the field from getting printed to stderr, apparently.

Change-Id: Ia9860e4ff37224003154db88ee5f83103060e626
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12756
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
2024-11-12 00:28:32 +00:00
Florian Klink
0c5ad94914 feat(tvix/nar-bridge): make root_nodes_cache_capacity configurable
Allow this to be overridden via the CLI, also getting rid of the unsafe
because this doesn't need to be const anymore.

Change-Id: I5e51b52e42522a21f59ef69628b464477c0764d1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12753
Tested-by: BuildkiteCI
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
2024-11-12 00:27:31 +00:00
Florian Klink
85de9b8dab feat(tvix/nar-bridge): avoid unnecessary NAR uploads
When uploading a Store Path to a Nix HTTP Binary Cache, Nix first does a
HEAD request for $outhash.narinfo, and if that's not found, for
`{narhash}.nar[.compression_suffix]`.

If the NAR is already present, only the NARInfo is uploaded.

Even though we don't have a service allowing to globally look up from
NARHash to root node, `root_nodes` in `AppState` at least contains
recently uploaded NARHashes.

If we find it in there, we can prevent Nix unnecessarily uploading NARs
if the same contents have already been recently uploaded.
We also promote this key, chances are high Nix will subsequently upload
a NARInfo referring to this NARHash.

Change-Id: I34e3fd9b334b695abe945e64cd291e30f303c2a2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12752
Tested-by: BuildkiteCI
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
Autosubmit: flokli <flokli@flokli.de>
2024-11-12 00:26:30 +00:00
Florian Klink
8400e523ce refactor(tvix/castore/blob): use near/far for CombinedBlobService
Align this naming with CachePathInfoService.

Change-Id: Ib9a0d73b8ca57a93e9fc027ae907fc6ed370842a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12751
Tested-by: BuildkiteCI
Reviewed-by: yuka <yuka@yuka.dev>
2024-11-11 18:46:33 +00:00
Florian Klink
a218f421b2 refactor(tvix/store): move Cache to cache mod
This being in combinators makes it harder to find.

Change-Id: If7984bdbd43f164c670548639bb4846d859f6695
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12750
Reviewed-by: yuka <yuka@yuka.dev>
Tested-by: BuildkiteCI
2024-11-11 18:46:33 +00:00
Florian Klink
a9f453f6da docs(tvix/[ca]store): improve docstrings, remove wildcard imports
Extend the docstrings of `add_default_services`, and add one for
`addrs_to_configs` as well as the module-wide one at
`tvix_store::composition`.

Change-Id: Ie9b449988eb210cd65b19b174094bbe0c4af2fd6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12748
Tested-by: BuildkiteCI
Reviewed-by: yuka <yuka@yuka.dev>
2024-11-11 18:46:33 +00:00
Florian Klink
e71a857ec8 refactor(tvix/[ca]store): rename store composition feature flags
tvix-castore already supports composition without any additional feature
flags, the only thing that can be explicitly enabled is referring to
other stores via an anonymous url. Rename that feature flag to
"xp-composition-url-refs".

tvix-store effectively only controls the CLI surface, so rename this to
"xp-composition-cli".

The "store" in the feature name was dropped, as it's already apparent
from being in the tvix-[ca]store crate.

Change-Id: I1175dc6280cbba4cbcdfb7fd4b35fce713b45fc4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12747
Tested-by: BuildkiteCI
Reviewed-by: yuka <yuka@yuka.dev>
2024-11-11 18:46:33 +00:00
Florian Klink
d505f03e00 refactor(tvix/store/composition): rename 'default' to 'root'
This becomes the root of the composition. `default` implies we can
directly access anything else, which we cannot. `root` makes this more
understandable, and it's all internal only anyways.

Change-Id: I297511bc05a7c32c59510b9d192b40d1bd937b5f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12746
Reviewed-by: yuka <yuka@yuka.dev>
Tested-by: BuildkiteCI
2024-11-11 18:46:33 +00:00
Vova Kryachko
8df919dcf0 refactor(nix-compat): Move serialization machinery into wire.
This groups most `wire` feature gated logic into a single module.
The nix_daemon module will be gated by a feature that adds
nix-compat-derive as a dependency.

All of this is a way to break the crate2nix dependency cycle between
nix-compat and nix-compat-derive(which depends on nix-compat for its
doctests).

Change-Id: I95938a6f280c11967371ff21f8b5a19e6d3d3805
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12761
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-11-10 20:54:12 +00:00
Florian Klink
11ee751aff fix(users/flokli/2024-10-25-nixcon-tvix): fix date
Change-Id: Icd81415c208c26ae606673f3476bfdf0525eec89
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12759
Reviewed-by: flokli <flokli@flokli.de>
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-11-10 09:45:00 +00:00
Bob van der Linden
cfa4154131 feat(tvix): add instance_name to instrumentation of *Services
Currently it is not possible to distinguish between tracing of the same
*Service type whenever there are multiple of them. Now the instance_name
of ServiceBuilder is passed into the *Service and used in the existing
instrument as the `instance_name` field.

Places that did not already have a instance_name in its context use
`"default"`. In tests I used `"test"`.

Change-Id: Ia20bf2a7bb849a781e370d087ba7ddb3be79f654
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12739
Tested-by: BuildkiteCI
Autosubmit: Bob van der Linden <bobvanderlinden@gmail.com>
Reviewed-by: flokli <flokli@flokli.de>
2024-11-08 20:16:49 +00:00