feat(tvix/store): add xp-store-composition-cli feature flag

This can be used to transitively enable the `xp-composition-cli` feature
flag in the `tvix-store` crate, which is unnecessarily hard to do with
crate2nix.

Change-Id: I3f7c505a3fd505561c9a7b2f063b6540532cdfd4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12809
Tested-by: BuildkiteCI
Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
This commit is contained in:
Florian Klink 2024-11-19 16:25:18 +02:00 committed by flokli
parent 923ed3532d
commit dc21f5e543
4 changed files with 10 additions and 3 deletions

View file

@ -6982,8 +6982,9 @@ rec {
features = {
"default" = [ "otlp" ];
"otlp" = [ "tvix-tracing/otlp" ];
"xp-store-composition-cli" = [ "tvix-store/xp-composition-cli" ];
};
resolvedDefaultFeatures = [ "default" "otlp" ];
resolvedDefaultFeatures = [ "default" "otlp" "xp-store-composition-cli" ];
};
"nibble_vec" = rec {
crateName = "nibble_vec";
@ -15709,8 +15710,9 @@ rec {
];
features = {
"tracy" = [ "tvix-tracing/tracy" ];
"xp-store-composition-cli" = [ "tvix-store/xp-composition-cli" ];
};
resolvedDefaultFeatures = [ "default" "tracy" ];
resolvedDefaultFeatures = [ "default" "tracy" "xp-store-composition-cli" ];
};
"tvix-eval" = rec {
crateName = "tvix-eval";

View file

@ -34,3 +34,4 @@ expect-test = { workspace = true }
[features]
default = []
tracy = ["tvix-tracing/tracy"]
xp-store-composition-cli = ["tvix-store/xp-composition-cli"]

View file

@ -54,7 +54,7 @@ today, using the existing CLI entrypoints, you can enable the
With `cargo`, this can be enabled by passing
`--features tvix-store/xp-composition-cli` to a `cargo build` / `cargo run`
invocation.
invocation. [^1]
If enabled, CLI entrypoints get a `--experimental-store-composition` arg, which
accepts a TOML file describing a composition for all three stores (causing the
@ -171,3 +171,6 @@ public_keys = ["cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="]
blob_service = "root"
directory_service = "root"
```
[^1]: In some leaf binary crates, this can also be controlled via the `xp-store-composition-cli` feature in the leaf crate itself.

View file

@ -39,6 +39,7 @@ tonic-build = { workspace = true }
[features]
default = ["otlp"]
otlp = ["tvix-tracing/otlp"]
xp-store-composition-cli = ["tvix-store/xp-composition-cli"]
[dev-dependencies]
hex-literal = { workspace = true }