feat(tvix/castore/directory): add bigtable backend
This adds a Directory service using https://cloud.google.com/bigtable/docs/ as a K/V store. Directory (closures) are put in individual keys. We don't do any bucketed upload of directory closures (yet), as castore/ fs does query individually, does not request recursively (and buffers). This will be addressed by store composition at some point. Change-Id: I7fada45bf386a78b7ec93be38c5f03879a2a6e22 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11212 Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de>
This commit is contained in:
parent
84ad8a0bbd
commit
17849c5c00
12 changed files with 2767 additions and 22 deletions
|
@ -29,6 +29,15 @@ tracing = "0.1.37"
|
|||
url = "2.4.0"
|
||||
walkdir = "2.4.0"
|
||||
zstd = "0.13.0"
|
||||
serde = { version = "1.0.197", features = [ "derive" ] }
|
||||
serde_with = "3.7.0"
|
||||
serde_qs = "0.12.0"
|
||||
|
||||
[dependencies.bigtable_rs]
|
||||
optional = true
|
||||
# https://github.com/liufuyang/bigtable_rs/pull/72
|
||||
git = "https://github.com/flokli/bigtable_rs"
|
||||
rev = "0af404741dfc40eb9fa99cf4d4140a09c5c20df7"
|
||||
|
||||
[dependencies.fuse-backend-rs]
|
||||
optional = true
|
||||
|
@ -71,6 +80,7 @@ prost-build = "0.12.1"
|
|||
tonic-build = "0.11.0"
|
||||
|
||||
[dev-dependencies]
|
||||
async-process = "2.1.0"
|
||||
rstest = "0.18.2"
|
||||
tempfile = "3.3.0"
|
||||
tokio-retry = "0.3.0"
|
||||
|
@ -80,6 +90,7 @@ rstest_reuse = "0.6.0"
|
|||
[features]
|
||||
default = []
|
||||
cloud = [
|
||||
"dep:bigtable_rs",
|
||||
"object_store/aws",
|
||||
"object_store/azure",
|
||||
"object_store/gcp",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue