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.
Interactive Mode
Section titled “Interactive Mode”When run without arguments from a terminal, configure.flexfs starts an interactive shell with tab completion and command history:
configure.flexfs> list volumesconfigure.flexfs> show volume my-volconfigure.flexfs> create volume --name test --metaStoreID 1 --blockStoreID 1configure.flexfs> exitSingle-Command Mode
Section titled “Single-Command Mode”Commands can also be run directly from the shell:
configure.flexfs list volumes --jsonconfigure.flexfs create volume --name test --metaStoreID 1 --blockStoreID 1| Verb | Description |
|---|---|
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 |
Resources
Section titled “Resources”| Resource | API Name | Description |
|---|---|---|
account | accounts | User account |
block-api | block-apis | Block store API type |
block-store | block-stores | Block store (bucket configuration) |
meta-store | meta-stores | Metadata store |
provider | providers | Cloud provider |
proxy-group | proxy-groups | Proxy group |
region | regions | Provider region |
volume | volumes | Volume |
volume-proxy-group | volume-proxy-groups | Volume-to-proxy-group association |
volume-token | volume-tokens | Volume access token |
Global Flags
Section titled “Global Flags”| Flag | Type | Default | Description | Visibility |
|---|---|---|---|---|
--adminAddr | string | Admin server address (overrides creds file) | Internal | |
--credsFile | string | ~/.flexfs/configure/creds | Credentials file path | Public |
--json | bool | false | Output results as JSON | Public |
--noAdminSSL | bool | false | Disable SSL for admin server connections | Internal |
--token | string | Account auth token (overrides creds file) | Internal |
Subcommands
Section titled “Subcommands”| Subcommand | Description |
|---|---|
deinit | Remove the credentials file |
init | Initialize the credentials file |
license | Print license information |
version | Print the build version |
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.
| Flag | Type | Default | Description |
|---|---|---|---|
--adminAddr | string | "" | Admin server address (required) |
--force | bool | false | Overwrite existing creds file |
--token | string | "" | Account auth token (will prompt if omitted) |
Deinit
Section titled “Deinit”configure.flexfs deinitRemoves the credentials file for configure.flexfs.
List Filters
Section titled “List Filters”The list verb for volume-proxy-group and volume-token accepts an additional filter:
| Flag | Type | Default | Description |
|---|---|---|---|
--volumeName | string | Filter by volume name |
Account Fields
Section titled “Account Fields”When updating accounts, the following fields are available:
| Flag | Type | Default | Description |
|---|---|---|---|
--email | string | Email address | |
--name | string | Account name | |
--token | string | Auth token (UUID) |
Block Store Fields
Section titled “Block Store Fields”When creating or updating block stores, the following fields are available:
| Flag | Type | Default | Description |
|---|---|---|---|
--address | string | Endpoint address | |
--apiCode | string | Block API code (s3, gcs, azure, oci) (required for create) | |
--bucket | string | Storage bucket name (required for create) | |
--password | string | Access password | |
--prefix | string | Key prefix within bucket | |
--providerCode | string | Provider code (required for create) | |
--regionCode | string | Region code (required for create) | |
--username | string | Access username |
Meta Store Fields
Section titled “Meta Store Fields”When creating or updating metadata stores, the following fields are available:
| Flag | Type | Default | Description |
|---|---|---|---|
--address | string | Server address (required for create) | |
--providerCode | string | Provider code (required for create) | |
--regionCode | string | Region code (required for create) | |
--token | string | Auth token (UUID, auto-generated if omitted) |
Provider Fields
Section titled “Provider Fields”When creating or updating providers, the following fields are available:
| Flag | Type | Default | Description |
|---|---|---|---|
--code | string | Provider code (required for create) | |
--name | string | Provider name (required for create) |
Proxy Group Fields
Section titled “Proxy Group Fields”When creating or updating proxy groups, the following fields are available:
| Flag | Type | Default | Description |
|---|---|---|---|
--addresses | string | Comma-separated proxy addresses (required for create) | |
--providerCode | string | Provider code (required for create) | |
--regionCode | string | Region code (required for create) |
Region Fields
Section titled “Region Fields”When creating or updating regions, the following fields are available:
| Flag | Type | Default | Description |
|---|---|---|---|
--code | string | Region code (required for create) | |
--name | string | Region name (required for create) | |
--providerCode | string | Provider code (required for create) |
Accepted Volume and Token Flags
Section titled “Accepted Volume and Token Flags”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).
Boolean flags
Section titled “Boolean flags”| Flag | Effect |
|---|---|
acl | Enable extended ACL support (implies xattr) |
longnames | Allow file names up to 1023 characters |
noatime | Disable access-time updates |
noexec | Prevent execution of files |
nogroupcache | Disable extended ACL group caching |
nonempty | Allow mounting over a non-empty directory |
noprefetch | Disable block prefetching |
noproxy | Bypass proxy servers for all block I/O |
noproxyreads | Bypass proxy servers for block reads |
noproxywrites | Bypass proxy servers for block writes |
nosuid | Disable SUID/SGID special permissions |
ro | Read-only (implies noatime) |
rootsquash | Map uid 0 / gid 0 to the squash uid/gid (implies acl) |
xattr | Enable extended attribute support |
Key-value flags
Section titled “Key-value flags”| Flag | Type | Effect |
|---|---|---|
attrvalid=N | uint64 | Attribute cache TTL in seconds |
attrvalidnsec=N | uint32 | Nanosecond offset for attrvalid |
entryvalid=N | uint64 | Directory entry cache TTL in seconds |
entryvalidnsec=N | uint32 | Nanosecond offset for entryvalid |
rootsquashgid=N | uint32 | GID to map root to when rootsquash is set |
rootsquashuid=N | uint32 | UID to map root to when rootsquash is set |
umask=NNNN | octal | File 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.
Volume Fields
Section titled “Volume Fields”When creating or updating volumes, the following fields are available:
| Flag | Type | Default | Description |
|---|---|---|---|
--blockSize | string | 4MiB | Block size (e.g. 4MiB, 256KiB, or raw bytes) |
--blockStoreID | int | Block store ID (required for create) | |
--compression | string | lz4 | Compression algorithm: lz4, snappy, zstd, or none |
--encryption | bool | false | Enable end-to-end encryption |
--flags | string | Comma-separated mount flags (see Accepted Volume and Token Flags) | |
--id | string | auto-generated | Volume ID (UUID) |
--maxBlocks | int | 0 | Max block count, 0 = unlimited |
--maxInodes | int | 0 | Max inode count, 0 = unlimited |
--maxProxied | int | 0 | Max proxied blocks per file, 0 = unlimited |
--metaStoreID | int | Metadata store ID (required for create) | |
--name | string | Volume name (required for create) | |
--notes | string | Free-form notes | |
--retention | string | 7d | Retention duration (e.g. 7d, 168h, 30m) or seconds; -1 = forever |
Volume Proxy Group Fields
Section titled “Volume Proxy Group Fields”When creating volume-to-proxy-group associations, the following fields are available:
| Flag | Type | Default | Description |
|---|---|---|---|
--proxyGroupID | int | Proxy group ID (required) | |
--volumeID | string | Volume ID or name (required) |
Volume Token Fields
Section titled “Volume Token Fields”| Flag | Type | Default | Description |
|---|---|---|---|
--flags | string | Comma-separated mount flags (see Accepted Volume and Token Flags) | |
--mountPath | string | Subdirectory path to mount as root (e.g. /data/project) | |
--notes | string | Free-form notes | |
--token | string | auto-generated | Access token (UUID) |
--volumeID | string | Volume ID or name (required for create) |