Block Stores
A block store defines where flexFS stores file data blocks. Each block store maps to a bucket (or container) in a cloud object storage service. Volumes reference a block store by ID — all data blocks for that volume are stored in the configured bucket and prefix.
Block Store Fields
Section titled “Block Store Fields”| Field | Flag | Type | Required | Description |
|---|---|---|---|---|
id | — | integer | auto | Unique identifier (auto-assigned) |
provider_code | --providerCode | string | create | Provider code (e.g., aws, gcp) |
region_code | --regionCode | string | create | Region code (e.g., us-east-1) |
block_api_code | --apiCode | string | create | Storage API protocol: s3, gcs, azure, oci |
bucket | --bucket | string | create | Storage bucket or container name |
prefix | --prefix | string | — | Key prefix within the bucket |
username | --username | string | — | Access key or username |
password | --password | string | — | Secret key or password |
address | --address | string | — | Custom endpoint address |
The provider_code, region_code, block_api_code, bucket, and prefix are immutable after creation. Credentials (username, password) and the endpoint address can be updated.
Creating a Block Store
Section titled “Creating a Block Store”Amazon S3
Section titled “Amazon S3”configure.flexfs create block-store \ --providerCode aws \ --regionCode us-east-1 \ --apiCode s3 \ --bucket my-flexfs-bucket \ --prefix flexfs \ --username $USERNAME \ --password $PASSWORDGoogle Cloud Storage
Section titled “Google Cloud Storage”GCS is accessed via S3-compatible HMAC keys:
configure.flexfs create block-store \ --providerCode gcp \ --regionCode us-central1 \ --apiCode gcs \ --bucket my-flexfs-bucket \ --prefix flexfs \ --username $USERNAME \ --password $PASSWORD \ --address storage.googleapis.comAzure Blob Storage
Section titled “Azure Blob Storage”configure.flexfs create block-store \ --providerCode azure \ --regionCode eastus \ --apiCode azure \ --bucket my-flexfs-container \ --prefix flexfs \ --username $USERNAME \ --password $PASSWORDOracle Cloud Infrastructure
Section titled “Oracle Cloud Infrastructure”configure.flexfs create block-store \ --providerCode oci \ --regionCode us-ashburn-1 \ --apiCode oci \ --bucket my-flexfs-bucket \ --prefix flexfs \ --username $USERNAME \ --password $PASSWORD \ --address namespace.compat.objectstorage.us-ashburn-1.oraclecloud.comS3-Compatible Storage
Section titled “S3-Compatible Storage”For S3-compatible stores like MinIO, Wasabi, or Ceph RGW, use the s3 API code with a custom --address:
configure.flexfs create block-store \ --providerCode minio \ --regionCode local \ --apiCode s3 \ --bucket flexfs \ --prefix data \ --username $USERNAME \ --password $PASSWORD \ --address minio.example.com:9000Updating a Block Store
Section titled “Updating a Block Store”Credentials and the endpoint address can be updated on an existing block store:
configure.flexfs update block-store <id> \ --username $USERNAME \ --password $PASSWORDconfigure.flexfs update block-store <id> --address new-endpoint.example.comListing Block Stores
Section titled “Listing Block Stores”configure.flexfs list block-storesThe list view shows id, provider_code, region_code, block_api_code, address, bucket, and prefix. Credentials are not shown in list output.
Viewing Block Store Details
Section titled “Viewing Block Store Details”configure.flexfs show block-store <id>The full detail view includes all fields. The password field is included in the output — treat it as sensitive.
Deleting a Block Store
Section titled “Deleting a Block Store”configure.flexfs delete block-store <id>Prefix and Bucket Design
Section titled “Prefix and Bucket Design”The prefix field determines the key prefix for all blocks stored by volumes using this block store. Using different prefixes within the same bucket allows multiple block stores to share a single bucket:
# Production block storeconfigure.flexfs create block-store \ --providerCode aws --regionCode us-east-1 --apiCode s3 \ --bucket shared-bucket --prefix prod
# Staging block store (same bucket, different prefix)configure.flexfs create block-store \ --providerCode aws --regionCode us-east-1 --apiCode s3 \ --bucket shared-bucket --prefix stagingCredential Handling
Section titled “Credential Handling”For storage backends that require explicit credentials:
| Backend | Username | Password |
|---|---|---|
| Amazon S3 | AWS access key ID | AWS secret access key |
| Google Cloud Storage | HMAC access key | HMAC secret key |
| Azure Blob Storage | Storage account name | Storage account access key |
| Oracle Cloud | Customer secret key ID | Customer secret key |
| S3-compatible | Access key | Secret key |