Expand description
A crate for interacting with Bindles
Bindle is an aggregate object storage system used for storing aggregate applications. For more information and examples, see the README in the Bindle repo.
This crate is the reference implementation of the Bindle Spec and it contains both a client and a server implementation, along with various other utilities
Modules
A collection of various utilities for asyncifying things, publicly exposed for convenience of
those consuming Bindle as a Rust SDK
Types and traits for use in authentication. This module is only available if the
server
feature is enabledTypes and traits for use in authorization. This module is only available if the
server feature
is enabledCaching implementations for client and server-side usage. This module is under heavy development
and iteration
Client implementation for consuming a Bindle API. Although written in Rust, it is not specific
to the Rust implementation. It is meant to consume any spec-compliant bindle implementation.
A filtering library for extracting parcels from a bindle.
Contains the main invoice object definition, its implementation, and all related subobject (such
as
Parcels and Labels)The
Provider trait definition and various implementations.A proxy provider implementation that forwards all requests to another server using the Bindle
client. This requires the
client feature to be enabledCommon types and traits for use in implementing query functionality for a Bindle server. Note
that this functionality is quite likely to change
Server implementation of the Bindle Protocol
Spec, with associated
HTTP handlers and functions
Contains the Signature type along with associated types and Roles
Functions and types for reading and writing to standalone bindles
Some helpful utilities for testing. This module is only available if the
test-tools feature is
enabled. Its main feature is allowing the use of prebuilt scaffolds for testing.Structs
The specification for a bindle, that uniquely identifies the Bindle and provides additional
optional metadata
A string error message returned from the server
A group is a top-level organization object that may contain zero or more parcels. Every parcel
belongs to at least one group, but may belong to others.
A parsed representation of an ID string for a bindle. This is currently defined as an arbitrary
path with a version string at the end.
The main structure for a Bindle invoice.
A custom type for responding to invoice creation requests. Because invoices can be created
before parcels are uploaded, this allows the API to inform the user if there are missing parcels
in the bindle spec
Available query string options for the keyring API
Metadata of a stored parcel
Describes the matches that are returned from a query
A response to a missing parcels request. TOML doesn’t support top level arrays, so they
must be embedded in a table
A description of a stored parcel file
Available options for the query API
A signature describes a cryptographic signature of the parcel list.
An invoice that has been signed and can no longer be modified unless converted back into a
normal invoice with the
signed methodEnums
Wrap errors related to signing
The role of a signer in a signature block.
This enumerates the verifications strategies described in the signing spec.
Constants
The version string for the v1 Bindle Spec
Traits
A sealed trait used to mark that an invoice has been signed. This trait cannot be implemented by
consumers of the bindle crate
Functions
Sign the parcels in the invoice using the given list of roles and keys. This is a list of tuples
containing a
SignatureRole and SecretKeyEntry in that order. Returns a SignedInvoiceType Definitions
Alias for annotations map
Alias for feature map in an Invoice’s parcel