Re-exportsΒ§
pub use crate::path_info::PathInfo;
ModulesΒ§
- bigtable π
cloud - cache π
- from_
addr π - fs π
fuseorvirtiofs - grpc π
- lru π
- nix_
http π - redb π
- signing_
wrapper π - This module provides a PathInfoService implementation that signs narinfos
StructsΒ§
- Bigtable
Parameters cloud - Represents configuration of BigtablePathInfoService. This currently conflates both connect parameters and data model/client behaviour parameters.
- Bigtable
Path Info Service cloud - Provides a PathInfoService implementation using Bigtable as an underlying K/V store.
- Cache
Path Info Service - Asks near first, if not found, asks far. If found in there, returns it, and inserts it into near. There is no negative cache. Inserts and listings are not implemented for now.
- Cache
Path Info Service Config - GRPC
Path Info Service - Connects to a (remote) snix-store PathInfoService over gRPC.
- GRPC
Path Info Service Config - KeyFile
Signing Path Info Service Config - ServiceBuilder implementation that builds a SigningPathInfoService that signs narinfos using
a keyfile. The keyfile is parsed using parse_keypair, the expected format is the nix one
(
nix-store --generate-binary-cache-keyfor more informations). - LruPath
Info Service - LruPath
Info Service Config - NixHTTP
Path Info Service - NixHTTPPathInfoService acts as a bridge in between the Nix HTTP Binary cache protocol provided by Nix binary caches such as cache.nixos.org, and the Snix Store Model. It implements the PathInfoService trait in an interesting way: Every PathInfoService::get fetches the .narinfo and referred NAR file, inserting components into a BlobService and DirectoryService, then returning a PathInfo struct with the root.
- NixHTTP
Path Info Service Config - Redb
Path Info Service - PathInfoService implementation using redb under the hood. redb stores all of its data in a single file with a K/V pointing from a pathβs output hash to its corresponding protobuf-encoded PathInfo.
- Redb
Path Info Service Config - Signing
Path Info Service - PathInfoService that wraps around an inner PathInfoService and when put is called it extracts the underlying narinfo and signs it using a SigningKey. For the moment only the ed25519::signature::Signered25519::Signature is available using a keyfile (see KeyFileSigningPathInfoServiceConfig for more informations). However the implementation is generic (see nix_compat::narinfo::SigningKey documentation).
TraitsΒ§
- Path
Info Service - The base trait all PathInfo services need to implement.
FunctionsΒ§
- from_
addr - Constructs a new instance of a PathInfoService from an URI.
- register_
pathinfo_ πservices - Registers the builtin PathInfoService implementations with the registry