Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
Encloud is a toolkit for making sensitive data useful for Web3. The Encloud CLI enables clients to easily on-board
sensitive data to the Filecoin network.

Encloud CLI is a lightweight utility that allows clients to
Encloud Encryption and Storage CLI is a lightweight utility that allows clients to

- Generate their RSA encryption keys
- Manage file and encryption metadata in a local or remote KV store
- Upload encrypted files to Filecoin
- Retrieve encrypted files from Filecoin and decrypt them
- Share encrypted files by transferring the DEK to a specified email

Encloud currently uses the [Estuary](https://estuary.tech/) API to upload and retrieve data from Filecoin. This allows clients to interact with the
Encloud currently uses the [**Estuary**](https://estuary.tech/) API to upload and retrieve data from Filecoin. This allows clients to interact with the
Filecoin network without needing to deal with crypto wallets, tokens or deal making with Filecoin storage providers as
Estuary manages this in the background.

Expand All @@ -23,6 +23,7 @@ Read [**here**](docs/DESIGN.md) for detailed **design and architecture**

## Prerequisites
- Golang 1.18 or higher
- Estuary API account and key. Read [more](docs/CONFIG.md)

## CLI Setup

Expand Down
41 changes: 41 additions & 0 deletions docs/CONFIG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Configuration

Encloud Encryption and Storage CLI provides an ability to configure the various aspects of the application to suit the clients needs.

The following can be configured:

* Filecoin on-boarding and deal making mechanism (Estuary support offered currently)
* Metadata Storage Mechanism (BadgerDB support offered currently)
* Email settings for sharing of DEKs for encrypted files on Filecoin

## Estuary

Encloud Encryption and Storage CLI uses Estuary as a means to onboard and retrieve data from the Filecoin network. Estuary requires the client
to generate an API Key which can be requested [here](https://docs.estuary.tech/tutorial-get-an-api-key).

The Estuary API key needs to be configured under [config.yml](../config.yml) as follows under the `estuary` section:

```yaml
estuary:
base_api_url: "https://api.estuary.tech"
download_api_url: "https://dweb.link/ipfs"
shuttle_api_url: "https://shuttle-4.estuary.tech"
token: "XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
```

## Email and sharing

We utilize emails to share DEKs from the client directly to the email of an entity they want to share the data with. It is
worth noting that once the DEK is shared with an entity they can download the data from Filecoin and decrypt it.

The following configs need to be made for emails under [config.yml](../config.yml), under the `email` section:

```yaml
email:
server: "smtp.acme.io"
port: 2525
username: "XXXXXXXXXXXXX"
password: "XXXXXXXXXXXXX"
from: "noreply@acme.com"
```