Crate bindle

Source
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§

async_util
A collection of various utilities for asyncifying things, publicly exposed for convenience of those consuming Bindle as a Rust SDK
authn
Types and traits for use in authentication. This module is only available if the server feature is enabled
authz
Types and traits for use in authorization. This module is only available if the server feature is enabled
cache
Caching implementations for client and server-side usage. This module is under heavy development and iteration
client
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.
filters
A filtering library for extracting parcels from a bindle.
invoice
Contains the main invoice object definition, its implementation, and all related subobject (such as Parcels and Labels)
provider
The Provider trait definition and various implementations.
proxy
A proxy provider implementation that forwards all requests to another server using the Bindle client. This requires the client feature to be enabled
search
Common types and traits for use in implementing query functionality for a Bindle server. Note that this functionality is quite likely to change
server
Server implementation of the Bindle Protocol Spec, with associated HTTP handlers and functions
signature
Contains the Signature type along with associated types and Roles
standalone
Functions and types for reading and writing to standalone bindles
testing
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.
verification

Structs§

BindleSpec
The specification for a bindle, that uniquely identifies the Bindle and provides additional optional metadata
Condition
Conditions associate parcels to Groups
ErrorResponse
A string error message returned from the server
Group
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.
HealthResponse
Id
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.
Invoice
The main structure for a Bindle invoice.
InvoiceCreateResponse
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
KeyOptions
Available query string options for the keyring API
Label
Metadata of a stored parcel
Matches
Describes the matches that are returned from a query
MissingParcelsResponse
A response to a missing parcels request. TOML doesn’t support top level arrays, so they must be embedded in a table
Parcel
A description of a stored parcel file
QueryOptions
Available options for the query API
SecretKeyEntry
Signature
A signature describes a cryptographic signature of the parcel list.
SignedInvoice
An invoice that has been signed and can no longer be modified unless converted back into a normal invoice with the signed method

Enums§

SignatureError
Wrap errors related to signing
SignatureRole
The role of a signer in a signature block.
VerificationStrategy
This enumerates the verifications strategies described in the signing spec.

Constants§

BINDLE_VERSION_1
The version string for the v1 Bindle Spec

Traits§

Signed
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
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 SignedInvoice

Type Aliases§

AnnotationMap
Alias for annotations map
FeatureMap
Alias for feature map in an Invoice’s parcel