Skip to content

Cabri enables secured data storage and synchronization on various media.

License

Notifications You must be signed in to change notification settings

t-beigbeder/otvl_cabri

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cabri Data Storage System

Cabri enables fast and secure data synchronization between people, medias and places.

It is mainly available as a command-line tool, but also provides an API (Golang or REST) for simple data storage.

Cabri is currently in beta release. A GUI is under development.

Documentation links are available at the bottom of this page.

Simple presentation

To make it simple, Cabri can be compared to the synchronization command-line tool: rsync

  • using HTTP instead of SSH for remote access
  • enabling unidirectional or bidirectional synchronization
  • providing synchronization between local files and S3 compatible object storage
  • but also with a data store on local storage
  • providing in both cases data historization, deduplication or encryption, on a system neutral storage system
  • and enabling multi-user data sharing through remote server
  • taking care of data confidentiality in the Cloud or any unsafe environment, relying on public keys for data encryption and related sharing

all of that as a no-dependency single binary of less than 30 MB.

To get an idea, have a look at the quick start.

Tooling

  • a Golang or a REST API are available for access to data storage services
  • a basic configurable scheduler is provided, enabling automatic data synchronization among users, or between users and hosted applications for the support of DevOps practices

Implementation information

  • Most actions are performed in parallel, synchronization is fast if the infrastructure provides enough resources
  • Cloud storage is natively "eventually consistent" and Cabri takes care of not trusting successful updates
  • Cabri makes use of indexes for fast synchronization or data retrieval, indexes may be rebuilt if broken
  • Encrypted data is only decrypted on the user endpoint even when using a remote http server

This blog article provides detailed technical information.

Read the documentation

The tool is documented through the links below:

Other documentation is referenced from these pages, including:

External blog: