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

| 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 |

| 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 |

| 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 |

| Subcommand | Description | |---|---| | deinit | Remove the credentials file | | init | Initialize the credentials file | | license | Print license information | | version | Print 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.

| 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) |

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:

| Flag | Type | Default | Description | |---|---|---|---| | --volumeName | string | | Filter by volume name |

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) |

The following fields are available on create. On update, only --address, --password, and --username are accepted.

| Flag | Type | Default | Description | |---|---|---|---| | --address | string | | Endpoint address | | --apiCode | string | | Block API code (s3, gcs, azure, oci) (required, create only) | | --bucket | string | | Storage bucket name (required, create only) | | --password | string | | Access password | | --prefix | string | | Key prefix within bucket (create only) | | --providerCode | string | | Provider code (required, create only) | | --regionCode | string | | Region code (required, create only) | | --username | string | | Access username |

The following fields are available on create. On update, only --address and --token are accepted.

| Flag | Type | Default | Description | |---|---|---|---| | --address | string | | Server address (required for create) | | --providerCode | string | | Provider code (required, create only) | | --regionCode | string | | Region code (required, create only) | | --token | string | | Auth token (UUID, auto-generated if omitted) |

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) |

The following fields are available on create. On update, only --addresses is accepted.

| Flag | Type | Default | Description | |---|---|---|---| | --addresses | string | | Comma-separated proxy addresses (required for create) | | --providerCode | string | | Provider code (required, create only) | | --regionCode | string | | Region code (required, create only) |

The following fields are available on create. On update, only --code and --name are accepted.

| Flag | Type | Default | Description | |---|---|---|---| | --code | string | | Region code (required for create) | | --name | string | | Region name (required for create) | | --providerCode | string | | Provider code (required, create only) |

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).

| 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 |

| 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.

The following fields are available on create. On update, --blockSize, --compression, --encryption, and --id are not accepted.

| Flag | Type | Default | Description | |---|---|---|---| | --blockSize | string | 4MiB | Block size, e.g. 4MiB, 256KiB, or raw bytes (create only) | | --blockStoreID | int | | Block store ID (required for create) | | --compression | string | lz4 | Compression algorithm: lz4, snappy, zstd, or none (create only) | | --encryption | bool | false | Enable end-to-end encryption (create only) | | --flags | string | | Comma-separated mount flags (see Accepted Volume and Token Flags) | | --id | string | auto-generated | Volume ID, UUID (create only) | | --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 |

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) |

The following fields are available on create. On update, only --flags, --mountPath, and --notes are accepted.

| 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 (create only) | | --volumeID | string | | Volume ID or name (required, create only) |