Infinit logo alpha

Creating a storage using Google Cloud Storage

This will guide you through setting up a Google Cloud Storage (GCS) bucket as a silo for Infinit.

Prerequisites

Create a GCS bucket

Navigate from the Google Cloud Platform console to Storage. Here you can click Create Bucket to create a new bucket. As GCS buckets must be named uniquely across the entire platform, it's good practice to use your domain name and optionally the region the bucket is hosted in the name. Make a note of the bucket name that you choose as you will need this later.

Google Cloud Platform console create bucket popup

IMPORTANT: Choose your bucket region to be closest to where you will be using it from. This will ensure that you have higher transfer speeds and lower latency when accessing your Infinit volume.

Add GCS credentials to Infinit

We can now add the GCS credentials to Infinit. This process uses OAuth and requires you to navigate to a link provided from the command line.

$> infinit-credentials add --as alice --gcs
Register your Google account with infinit by visiting https://beyond.infinit.sh/users/alice/gcs-oauth

Navigate to this link with your Web browser and allow Infinit to access your account.

Google Cloud Platform OAuth permissions

Infinit is now allowed access to your bucket. You however need to fetch the credentials from the Hub in order to proceed.

$> infinit credentials fetch --as alice
Fetched Google Cloud Storage credentials alice@example.com (Alice)

Make note of the email address associated with the account as this is used to reference the credentials in the next step.

Create the Infinit silo

Now that the bucket has been created and Infinit has the GCS credentials, you can create the silo.

Take care of referencing the bucket name you chose in the first step through the ‑‑bucket option along with the name of the credentials you just registered i.e. the email address associated with your GCS account, in this example alice@example.com. Finally, the ‑‑path option can be used to specify a folder within the bucket to hold the blocks of encrypted data that Infinit will store.

$> infinit silo create gcs --as alice --name gcs-storage --account "alice@example.com" --bucket infinit-gcs-storage-eu-example-com --path blocks-folder
Created storage "gcs-storage".