Skip to content

Enterprise: Configuration

After the Enterprise installer completes, the core infrastructure (one provider, one region, one block store, one meta store, one volume, and one volume token) is already in place. The configure.flexfs CLI lets you manage these resources and create additional ones.

FlexFS Enterprise organizes infrastructure into a hierarchy of resources. The installer creates the initial set during setup; configure.flexfs lets you add, modify, and remove them afterward.

FlexFS Enterprise resource model hierarchy: Account owns Volumes, Provider contains Regions, Regions contain Block Stores, Meta Stores, and Proxy Groups, Block Store and Meta Store link to Volume, Volume owns Volume Tokens and Volume-Proxy-Group associations, Proxy Group links to Volume-Proxy-Group FlexFS Enterprise resource model hierarchy: Account owns Volumes, Provider contains Regions, Regions contain Block Stores, Meta Stores, and Proxy Groups, Block Store and Meta Store link to Volume, Volume owns Volume Tokens and Volume-Proxy-Group associations, Proxy Group links to Volume-Proxy-Group
ResourceCLI nameDescription
AccountaccountUser account with an authentication token. Created automatically during install.
ProviderproviderCloud provider (e.g. aws, gcp, azure, oci, or a custom name).
RegionregionGeographic region within a provider (e.g. us-east-1). Scoped to a provider.
Block Storeblock-storeObject storage bucket configuration: provider, region, API, bucket, prefix, endpoint, and credentials.
Meta Storemeta-storeMetadata server registration: address and authentication token.
VolumevolumeA filesystem volume. Linked to one block store and one meta store. Defines block size, compression, encryption, retention, and quotas.
Volume Tokenvolume-tokenAccess token that mount clients use to authenticate. Scoped to a volume with optional mount-path restriction and per-token flags.
Proxy Groupproxy-groupA set of proxy server addresses in a provider/region. Mount clients select the lowest-latency group.
Volume-Proxy-Groupvolume-proxy-groupLinks a volume to a proxy group, enabling proxy caching for that volume.
Block APIblock-apiRead-only reference table of supported storage APIs (s3, gcs, azure, oci).

configure.flexfs supports five operations on each resource type: list, show, create, update, and delete (where applicable).

Terminal window
configure.flexfs list volumes
configure.flexfs list block-stores
configure.flexfs list volume-tokens
configure.flexfs list proxy-groups

Pass the resource primary key as a positional argument:

Terminal window
configure.flexfs show volume vol-01
configure.flexfs show block-store 1
configure.flexfs show meta-store 1

Volumes can be referenced by name or UUID.

Use --flag value syntax for each field. Required fields are enforced:

Terminal window
# Create a new provider
configure.flexfs create provider --code custom --name "My Provider"
# Create a region
configure.flexfs create region --providerCode aws --code eu-west-1 --name eu-west-1
# Create a block store
configure.flexfs create block-store \
--providerCode aws \
--regionCode eu-west-1 \
--apiCode s3 \
--bucket my-eu-bucket \
--prefix flexfs
# Create a meta store (token is auto-generated if omitted)
configure.flexfs create meta-store \
--providerCode aws \
--regionCode eu-west-1 \
--address 10.0.2.50:8443
# Create a volume
configure.flexfs create volume \
--name vol-02 \
--metaStoreID 2 \
--blockStoreID 2 \
--blockSize 4MiB \
--compression lz4
# Create a volume token
configure.flexfs create volume-token --volumeID vol-02
# Create a volume token with mount-path scoping
configure.flexfs create volume-token \
--volumeID vol-02 \
--mountPath /data/project-a \
--flags ro \
--notes "read-only access to project-a"

Only mutable fields can be updated. Fields like block size, compression, and encryption are immutable after volume creation.

Terminal window
# Update volume quotas
configure.flexfs update volume vol-01 \
--maxBlocks 5000000 \
--maxInodes 10000000
# Update volume retention
configure.flexfs update volume vol-01 --retention 30d
# Update block store credentials
configure.flexfs update block-store 1 \
--username $USERNAME \
--password $PASSWORD
# Update proxy group addresses
configure.flexfs update proxy-group 1 \
--addresses 10.0.1.50:9443,10.0.1.51:9443
Terminal window
# Delete a volume token
configure.flexfs delete volume-token $TOKEN
# Retire a volume (marks it as retired; data is preserved per retention policy)
configure.flexfs delete volume vol-02
# Delete a proxy group
configure.flexfs delete proxy-group 2
# Unlink a volume from a proxy group
configure.flexfs delete volume-proxy-group vol-01 1

Add --json to any command for machine-readable output:

Terminal window
configure.flexfs list volumes --json
configure.flexfs show volume vol-01 --json
configure.flexfs create volume-token --volumeID vol-01 --json
FieldFlagDescription
Block size--blockSizeSize of each data block. Default: 4MiB. Valid range: 256KiB — 8MiB (must be a power of 2).
Compression--compressionAlgorithm: lz4, snappy, zstd, or none. Default: lz4.
Encryption--encryptionEnable AES-256 end-to-end encryption. Default: false.
FieldFlagDescription
Name--nameHuman-readable volume name.
Meta store--metaStoreIDID of the metadata store.
Block store--blockStoreIDID of the block store.
Max blocks--maxBlocksBlock quota. 0 = unlimited.
Max inodes--maxInodesInode quota. 0 = unlimited.
Max proxied--maxProxiedMax proxied blocks per file. 0 = unlimited.
Flags--flagsComma-separated mount flags (e.g. ro,noatime,acl,xattr).
Retention--retentionHow long deleted metadata and block data are preserved. Accepts durations like 7d, 168h, 30d, or -1 for forever. Default: 7d.
Notes--notesFree-form text notes.
FieldFlagDescription
Volume--volumeIDVolume name or UUID (required).
Token--tokenUUID access token (auto-generated if omitted).
Mount path--mountPathSubdirectory path to expose as the filesystem root (e.g. /data/project).
Flags--flagsPer-token mount flags that override volume-level defaults.
Notes--notesFree-form text notes.

To enable proxy caching for a volume, link it to one or more proxy groups:

Terminal window
# Link volume to a proxy group
configure.flexfs create volume-proxy-group \
--volumeID vol-01 \
--proxyGroupID 1
# List all volume-proxy-group associations
configure.flexfs list volume-proxy-groups
# Remove the association
configure.flexfs delete volume-proxy-group vol-01 1

A volume can be associated with multiple proxy groups. When a mount client starts, it probes all proxy groups configured for its volume, measures RTT to each, and selects the lowest-latency group. If no proxy group is reachable, the client falls back to direct object storage access.

configure.flexfs stores its connection settings in ~root/.flexfs/configure/creds. The installer initializes this file automatically. If you need to re-initialize:

Terminal window
configure.flexfs init creds --force \
--adminAddr 10.0.1.50:443 \
--token $TOKEN