diff options
Diffstat (limited to 'tvix/castore')
-rw-r--r-- | tvix/castore/Cargo.toml | 8 | ||||
-rw-r--r-- | tvix/castore/default.nix | 2 | ||||
-rw-r--r-- | tvix/castore/src/composition.rs | 6 | ||||
-rw-r--r-- | tvix/castore/src/directoryservice/from_addr.rs | 4 |
4 files changed, 9 insertions, 11 deletions
diff --git a/tvix/castore/Cargo.toml b/tvix/castore/Cargo.toml index aa44e2e8ee4b..3c32e5f05229 100644 --- a/tvix/castore/Cargo.toml +++ b/tvix/castore/Cargo.toml @@ -91,11 +91,9 @@ virtiofs = [ ] fuse = ["fs"] tonic-reflection = ["dep:tonic-reflection"] -# It's already possible for other crates to build a -# fully fledged store composition system based on castore composition. -# However, this feature enables anonymous url syntax which might -# inherently expose arbitrary composition possibilities to the user. -xp-store-composition = [] +# This feature enables anonymous url syntax which might inherently expose +# arbitrary composition possibilities to the user. +xp-composition-url-refs = [] # Whether to run the integration tests. # Requires the following packages in $PATH: # cbtemulator, google-cloud-bigtable-tool diff --git a/tvix/castore/default.nix b/tvix/castore/default.nix index 5314da9e0333..47c9a99980b8 100644 --- a/tvix/castore/default.nix +++ b/tvix/castore/default.nix @@ -9,7 +9,7 @@ meta.ci.targets = [ "integration-tests" ] ++ lib.filter (x: lib.hasPrefix "with-features" x || x == "no-features") (lib.attrNames passthru); passthru = (depot.tvix.utils.mkFeaturePowerset { inherit (old) crateName; - features = ([ "cloud" "fuse" "tonic-reflection" "xp-store-composition" ] + features = ([ "cloud" "fuse" "tonic-reflection" "xp-composition-url-refs" ] # virtiofs feature currently fails to build on Darwin ++ lib.optional pkgs.stdenv.isLinux "virtiofs"); override.testPreRun = '' diff --git a/tvix/castore/src/composition.rs b/tvix/castore/src/composition.rs index c6fa1ce64ac4..c3b6222d5d86 100644 --- a/tvix/castore/src/composition.rs +++ b/tvix/castore/src/composition.rs @@ -89,7 +89,7 @@ //! //! Continue with Example 2, with my_registry instead of REG //! -//! EXPERIMENTAL: If the xp-store-composition feature is enabled, +//! EXPERIMENTAL: If the xp-composition-url-refs feature is enabled, //! entrypoints can also be URL strings, which are created as //! anonymous stores. Instantiations of the same URL will //! result in a new, distinct anonymous store each time, so creating @@ -315,7 +315,7 @@ impl<'a> CompositionContext<'a> { Ok(self.build_internal(entrypoint).await?) } - #[cfg(feature = "xp-store-composition")] + #[cfg(feature = "xp-composition-url-refs")] async fn build_anonymous<T: ?Sized + Send + Sync + 'static>( &self, entrypoint: String, @@ -330,7 +330,7 @@ impl<'a> CompositionContext<'a> { &self, entrypoint: String, ) -> BoxFuture<'_, Result<Arc<T>, CompositionError>> { - #[cfg(feature = "xp-store-composition")] + #[cfg(feature = "xp-composition-url-refs")] if entrypoint.contains("://") { // There is a chance this is a url. we are building an anonymous store return Box::pin(async move { diff --git a/tvix/castore/src/directoryservice/from_addr.rs b/tvix/castore/src/directoryservice/from_addr.rs index 2f7fc6d7de5a..d50b5a35dd03 100644 --- a/tvix/castore/src/directoryservice/from_addr.rs +++ b/tvix/castore/src/directoryservice/from_addr.rs @@ -89,12 +89,12 @@ mod tests { #[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", + feature = "xp-composition-url-refs", 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"), + not(feature = "xp-composition-url-refs"), case::anonymous_url_composition("cache://?near=memory://&far=memory://", false) )] /// A valid example for Bigtable |