Skip to content

configure.flexfs

configure.flexfs is the management CLI for flexFS Enterprise. It provides both an interactive REPL and single-command mode for CRUD operations on all admin server resource types. It communicates with the admin server over its REST API.

When run without arguments from a terminal, configure.flexfs starts an interactive shell with tab completion and command history:

configure.flexfs> list volumes
configure.flexfs> show volume my-vol
configure.flexfs> create volume --name test --metaStoreID 1 --blockStoreID 1
configure.flexfs> exit

Commands can also be run directly from the shell:

Terminal window
configure.flexfs list volumes --json
configure.flexfs create volume --name test --metaStoreID 1 --blockStoreID 1
VerbDescription
create <resource> --field=value ...Create a new resource
delete <resource> <id>Delete a resource
list <resource>List all instances of a resource
show <resource> <id>Show details for a single resource
update <resource> <id> --field=value ...Update an existing resource
ResourceAPI NameDescription
accountaccountsUser account
block-apiblock-apisBlock store API type
block-storeblock-storesBlock store (bucket configuration)
meta-storemeta-storesMetadata store
providerprovidersCloud provider
proxy-groupproxy-groupsProxy group
regionregionsProvider region
volumevolumesVolume
volume-proxy-groupvolume-proxy-groupsVolume-to-proxy-group association
volume-tokenvolume-tokensVolume access token
FlagTypeDefaultDescriptionVisibility
--adminAddrstringAdmin server address (overrides creds file)Internal
--credsFilestring~/.flexfs/configure/credsCredentials file pathPublic
--jsonboolfalseOutput results as JSONPublic
--noAdminSSLboolfalseDisable SSL for admin server connectionsInternal
--tokenstringAccount auth token (overrides creds file)Internal
SubcommandDescription
deinitRemove the credentials file
initInitialize the credentials file
licensePrint license information
versionPrint the build version
Terminal window
configure.flexfs init [flags]

Initializes a credentials file for configure.flexfs with the admin server address and an account token. If --token is omitted, the command prompts for it interactively.

FlagTypeDefaultDescription
--adminAddrstring""Admin server address (required)
--forceboolfalseOverwrite existing creds file
--tokenstring""Account auth token (will prompt if omitted)
Terminal window
configure.flexfs deinit

Removes the credentials file for configure.flexfs.

The list verb for volume-proxy-group and volume-token accepts an additional filter:

FlagTypeDefaultDescription
--volumeNamestringFilter by volume name

When updating accounts, the following fields are available:

FlagTypeDefaultDescription
--emailstringEmail address
--namestringAccount name
--tokenstringAuth token (UUID)

When creating or updating block stores, the following fields are available:

FlagTypeDefaultDescription
--addressstringEndpoint address
--apiCodestringBlock API code (s3, gcs, azure, oci) (required for create)
--bucketstringStorage bucket name (required for create)
--passwordstringAccess password
--prefixstringKey prefix within bucket
--providerCodestringProvider code (required for create)
--regionCodestringRegion code (required for create)
--usernamestringAccess username

When creating or updating metadata stores, the following fields are available:

FlagTypeDefaultDescription
--addressstringServer address (required for create)
--providerCodestringProvider code (required for create)
--regionCodestringRegion code (required for create)
--tokenstringAuth token (UUID, auto-generated if omitted)

When creating or updating providers, the following fields are available:

FlagTypeDefaultDescription
--codestringProvider code (required for create)
--namestringProvider name (required for create)

When creating or updating proxy groups, the following fields are available:

FlagTypeDefaultDescription
--addressesstringComma-separated proxy addresses (required for create)
--providerCodestringProvider code (required for create)
--regionCodestringRegion code (required for create)

When creating or updating regions, the following fields are available:

FlagTypeDefaultDescription
--codestringRegion code (required for create)
--namestringRegion name (required for create)
--providerCodestringProvider code (required for create)

The --flags field on volumes and volume tokens accepts a comma-separated list of mount options. When set on a volume, they apply to all mounts of that volume. When set on a volume token, they are merged with the volume-level flags (token flags take precedence).

Boolean flags are enabled by name. Key-value flags use name=value syntax (e.g., umask=0027,attrvalid=3600).

FlagEffect
aclEnable extended ACL support (implies xattr)
longnamesAllow file names up to 1023 characters
noatimeDisable access-time updates
noexecPrevent execution of files
nogroupcacheDisable extended ACL group caching
nonemptyAllow mounting over a non-empty directory
noprefetchDisable block prefetching
noproxyBypass proxy servers for all block I/O
noproxyreadsBypass proxy servers for block reads
noproxywritesBypass proxy servers for block writes
nosuidDisable SUID/SGID special permissions
roRead-only (implies noatime)
rootsquashMap uid 0 / gid 0 to the squash uid/gid (implies acl)
xattrEnable extended attribute support
FlagTypeEffect
attrvalid=Nuint64Attribute cache TTL in seconds
attrvalidnsec=Nuint32Nanosecond offset for attrvalid
entryvalid=Nuint64Directory entry cache TTL in seconds
entryvalidnsec=Nuint32Nanosecond offset for entryvalid
rootsquashgid=Nuint32GID to map root to when rootsquash is set
rootsquashuid=Nuint32UID to map root to when rootsquash is set
umask=NNNNoctalFile creation mask (e.g., 0027)

For boolean flags, either the local mount option or the server-side flag can enable the behavior — neither side can disable what the other enables. For key-value flags, the server-side value takes precedence over the local mount option when set.

When creating or updating volumes, the following fields are available:

FlagTypeDefaultDescription
--blockSizestring4MiBBlock size (e.g. 4MiB, 256KiB, or raw bytes)
--blockStoreIDintBlock store ID (required for create)
--compressionstringlz4Compression algorithm: lz4, snappy, zstd, or none
--encryptionboolfalseEnable end-to-end encryption
--flagsstringComma-separated mount flags (see Accepted Volume and Token Flags)
--idstringauto-generatedVolume ID (UUID)
--maxBlocksint0Max block count, 0 = unlimited
--maxInodesint0Max inode count, 0 = unlimited
--maxProxiedint0Max proxied blocks per file, 0 = unlimited
--metaStoreIDintMetadata store ID (required for create)
--namestringVolume name (required for create)
--notesstringFree-form notes
--retentionstring7dRetention duration (e.g. 7d, 168h, 30m) or seconds; -1 = forever

When creating volume-to-proxy-group associations, the following fields are available:

FlagTypeDefaultDescription
--proxyGroupIDintProxy group ID (required)
--volumeIDstringVolume ID or name (required)
FlagTypeDefaultDescription
--flagsstringComma-separated mount flags (see Accepted Volume and Token Flags)
--mountPathstringSubdirectory path to mount as root (e.g. /data/project)
--notesstringFree-form notes
--tokenstringauto-generatedAccess token (UUID)
--volumeIDstringVolume ID or name (required for create)