861cc1f341
This adds an implementation of nar-bridge in Rust. Currently, only the GET parts are implemented. Contrary to the Go variant, this doesn't try to keep a mapping from nar hashes to root node in memory, it simply encodes the root node itself (stripped by its basename) into the URL. This pulls in a more recent version of axum than what we use in tonic, causing two versions of http and hyper, however dealing with `Body::from_stream` in axum 0.6 is much more annoying, and https://github.com/hyperium/tonic/pull/1740 suggests this will be fixed soon. Change-Id: Ia4c2dbda7cd3fdbe47a75f3e33544d19eac6e44e Reviewed-on: https://cl.tvl.fyi/c/depot/+/11898 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Brian Olsen <me@griff.name> Tested-by: BuildkiteCI
11 lines
366 B
Nix
11 lines
366 B
Nix
{ depot, lib, ... }:
|
|
|
|
(depot.tvix.crates.workspaceMembers.nar-bridge.build.override {
|
|
runTests = true;
|
|
}).overrideAttrs (old: rec {
|
|
meta.ci.targets = lib.filter (x: lib.hasPrefix "with-features" x || x == "no-features") (lib.attrNames passthru);
|
|
passthru = (depot.tvix.utils.mkFeaturePowerset {
|
|
inherit (old) crateName;
|
|
features = [ "otlp" ];
|
|
});
|
|
})
|