feat(tvix/store): initial dummy implementation

This replaces the hello world example from tvix-store with an actual
gRPC endpoint, implementing all of BlobService, DirectoryService and
PathInfoService.

All RPC methods currently respond with the unimplemented gRPC status.

Co-Authored-By: Márton Boros <martonboros@gmail.com>
Change-Id: Ieba333cca44dc1e3f2ffbe676ba7a99e672b9bfb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7664
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
This commit is contained in:
Florian Klink 2022-12-28 16:40:28 +01:00 committed by flokli
parent d22a9c8610
commit 58f5ff2c17
7 changed files with 175 additions and 22 deletions

View file

@ -932,12 +932,12 @@ rec {
};
resolvedDefaultFeatures = [ "std" ];
};
"clap 4.0.27" = rec {
"clap 4.0.32" = rec {
crateName = "clap";
version = "4.0.27";
version = "4.0.32";
edition = "2021";
crateBin = [ ];
sha256 = "0rjr4wacx5sz1sc4dikz4p8z4k53dfpm1s3sil8dfq0aib9dijqa";
sha256 = "0fcsz3zggk0g0y76vv7v7ivn72p1v980h2yhi0zf9y9mr45p1nx7";
dependencies = [
{
name = "bitflags";
@ -2580,9 +2580,9 @@ rec {
};
"is-terminal" = rec {
crateName = "is-terminal";
version = "0.4.0";
version = "0.4.2";
edition = "2018";
sha256 = "0b9mcxb46mzz1q1i4cdmp5j7g042ccqg3q5357prs75l5rpbrrda";
sha256 = "12c11c8iv2wwyadzajzffmy1fy9nphdpvdj54d367k0c234bdpr8";
authors = [
"softprops <d.tangren@gmail.com>"
"Dan Gohman <dev@sunfishcode.online>"
@ -2600,14 +2600,14 @@ rec {
{
name = "rustix";
packageId = "rustix";
target = { target, features }: (!((target."windows" or false) || ("hermit" == target."os")));
target = { target, features }: (!((target."windows" or false) || ("hermit" == target."os") || ("unknown" == target."os")));
features = [ "termios" ];
}
{
name = "windows-sys";
packageId = "windows-sys";
target = { target, features }: (target."windows" or false);
features = [ "Win32_Foundation" "Win32_System_Console" ];
features = [ "Win32_Foundation" "Win32_Storage_FileSystem" "Win32_System_Console" ];
}
];
@ -3003,7 +3003,7 @@ rec {
dependencies = [
{
name = "clap";
packageId = "clap 4.0.27";
packageId = "clap 4.0.32";
}
{
name = "tempfile";
@ -4370,9 +4370,9 @@ rec {
};
"rustix" = rec {
crateName = "rustix";
version = "0.36.3";
version = "0.36.6";
edition = "2018";
sha256 = "0gi2v2a66h5mgaacq7ih1fw4pa0rpdh7gx1dq28d7cafzi6vn7qb";
sha256 = "0ja5vcjlfc10d97dgdz57c7spv1nrm4jdqgdqhlw7il2nrywzsjg";
authors = [
"Dan Gohman <dev@sunfishcode.online>"
"Jakub Konka <kubkon@jakubkonka.com>"
@ -4472,6 +4472,7 @@ rec {
"libc_errno" = [ "dep:libc_errno" ];
"once_cell" = [ "dep:once_cell" ];
"os_pipe" = [ "io-lifetimes/os_pipe" ];
"param" = [ "fs" ];
"procfs" = [ "once_cell" "itoa" "fs" ];
"rustc-dep-of-std" = [ "core" "alloc" "compiler_builtins" "linux-raw-sys/rustc-dep-of-std" "bitflags/rustc-dep-of-std" ];
"std" = [ "io-lifetimes" ];
@ -5331,6 +5332,11 @@ rec {
packageId = "mio";
optional = true;
}
{
name = "num_cpus";
packageId = "num_cpus";
optional = true;
}
{
name = "pin-project-lite";
packageId = "pin-project-lite";
@ -5399,7 +5405,7 @@ rec {
"tracing" = [ "dep:tracing" ];
"windows-sys" = [ "dep:windows-sys" ];
};
resolvedDefaultFeatures = [ "bytes" "default" "io-std" "io-util" "libc" "macros" "memchr" "mio" "net" "rt" "socket2" "sync" "time" "tokio-macros" "windows-sys" ];
resolvedDefaultFeatures = [ "bytes" "default" "io-std" "io-util" "libc" "macros" "memchr" "mio" "net" "num_cpus" "rt" "rt-multi-thread" "socket2" "sync" "time" "tokio-macros" "windows-sys" ];
};
"tokio-io-timeout" = rec {
crateName = "tokio-io-timeout";
@ -6176,7 +6182,7 @@ rec {
dependencies = [
{
name = "clap";
packageId = "clap 4.0.27";
packageId = "clap 4.0.32";
features = [ "derive" "env" ];
}
{
@ -6389,6 +6395,11 @@ rec {
packageId = "blake3";
features = [ "rayon" "std" ];
}
{
name = "clap";
packageId = "clap 4.0.32";
features = [ "derive" "env" ];
}
{
name = "data-encoding";
packageId = "data-encoding";
@ -6405,6 +6416,15 @@ rec {
name = "thiserror";
packageId = "thiserror";
}
{
name = "tokio";
packageId = "tokio";
features = [ "rt-multi-thread" ];
}
{
name = "tokio-stream";
packageId = "tokio-stream";
}
{
name = "tonic";
packageId = "tonic";