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

  • 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 enabled
  • Types and traits for use in authorization. This module is only available if the server feature is enabled
  • Caching 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 enabled
  • Common 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
  • Conditions associate parcels to Groups
  • 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 method

Enums

Constants

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

Type Definitions