feat(tvix/composition): allow urls as anonymous stores
This allows specifying an url in place of a named reference to another composition entry, if the castore crate has been compiled with the xp-store-composition feature. Example: `--directory-service-addr cache://?near=memory://&far=memory://` This would be equivalent to the instantiation via toml file: ```toml [memory1] type = "memory" [memory2] type = "memory" [default] type = "cache" near = "memory1" far = "memory2" ``` Note that each anonymous url causes a distinct instance to be created. Change-Id: Iee5a07a94b063b5e767c704d9cad0114fa843164 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12146 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
This commit is contained in:
parent
ba4e02c3ac
commit
52bb3c6d02
9 changed files with 151 additions and 91 deletions
|
|
@ -37,7 +37,7 @@ pub async fn from_addr(
|
|||
})?
|
||||
.0;
|
||||
let directory_service = directory_service_config
|
||||
.build("anonymous", &CompositionContext::blank())
|
||||
.build("anonymous", &CompositionContext::blank(®))
|
||||
.await?;
|
||||
|
||||
Ok(directory_service)
|
||||
|
|
@ -88,6 +88,16 @@ mod tests {
|
|||
#[case::grpc_valid_https_host_without_port("grpc+https://localhost", true)]
|
||||
/// Correct scheme to connect to localhost over http, but with additional path, which is invalid.
|
||||
#[case::grpc_invalid_host_and_path("grpc+http://localhost/some-path", false)]
|
||||
/// A valid example for store composition using anonymous urls
|
||||
#[cfg_attr(
|
||||
feature = "xp-store-composition",
|
||||
case::anonymous_url_composition("cache://?near=memory://&far=memory://", true)
|
||||
)]
|
||||
/// Store composition with anonymous urls should fail if the feature is disabled
|
||||
#[cfg_attr(
|
||||
not(feature = "xp-store-composition"),
|
||||
case::anonymous_url_composition("cache://?near=memory://&far=memory://", false)
|
||||
)]
|
||||
/// A valid example for Bigtable
|
||||
#[cfg_attr(
|
||||
all(feature = "cloud", feature = "integration"),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue