14
Providers
Scott E. Graves edited this page 2025-02-23 19:23:48 -06:00

Provider Type Details

repertory currently supports 3 different back-end providers: S3, Sia and Encryption.

S3 Provider

  • The S3 provider utilizes the de facto standard AWS S3 HTTP REST API via libcurl.
  • An access key and secret key are required for operation, configured via S3Config.AccessKey and S3Config.SecretKey in config.json
  • A bucket name is required, configured via S3Config.Bucket in config.json.
  • Both path-style and virtual hosted-style are supported, configured via the S3Config.UsePathStyle setting in config.json.
  • Optionally, file/directory names and file content can be transparently encrypted using XChaCha20-Poly1305.
    • Locally, files remain unencrypted. The encryption/decryption process takes place while transferring to/from the S3 provider.
    • This is enabled by specifying a secure password via the S3Config.EncryptionToken setting in config.json.

Sia Provider

  • The Sia provider utilizes the renterd native HTTP REST API via libcurl

Encryption Provider

[WIP-Use with caution]

  • The encryption provider takes a local path and transparently encrypts file/directory names and file content using XChaCha20-Poly1305.
  • This is a pass-through provider, meaning all encryption operations happen at the time of file access.
  • This is useful for securing data prior to being uploaded to online backup providers like IDrive.
  • IMPORTANT - There currently is no decryption provider to reverse this process. Future repertory versions will include this.