Skip to content

mount.flexfs

mount.flexfs is the FUSE-based mount client that presents a flexFS volume as a local POSIX filesystem. It connects to a metadata server for inode/dentry operations and to object storage (directly or through a proxy group) for block data.

SubcommandDescription
deinit credsRemove the credentials file
deinit fstabRemove the fstab entry
init credsInitialize the credentials file
init fstabCreate an fstab entry and mount point
licensePrint license information
startStart the mount client
versionPrint the build version
Terminal window
mount.flexfs start [flags] <name> <mount-point>

The start subcommand connects to the admin server, retrieves volume settings, and mounts the filesystem at the specified mount point. In the default daemon mode, the process forks into the background and writes logs to a file. Use --foreground to run in the foreground.

FlagTypeDefaultDescription
--aclboolfalseEnable extended ACL support (implies --xAttr)
--atTimestringMount filesystem at a specific point in time (RFC3339 format, implies --ro)
--noATimeboolfalseMount with noatime option
--noExecboolfalseMount with noexec option
--noGroupCacheboolfalseDisable extended ACL group caching
--nonEmptyboolfalseAllow mounting over a non-empty directory
--noSUIDboolfalseMount with nosuid option
--roboolfalseMount read-only (implies --noATime)
--rootSquashboolfalseMap uid=0/gid=0 to the squash uid/gid (implies --acl)
--rootSquashGIDuint3265534GID to map root to when --rootSquash is set
--rootSquashUIDuint3265534UID to map root to when --rootSquash is set
--umaskstringExplicit umask override in octal notation (e.g. 0002)
--xAttrboolfalseEnable extended attribute support
FlagTypeDefaultDescription
--diskFolderstring~/.flexfs/mount/cache/<pid>On-disk block cache folder path
--diskMaxBlockSizeuint64262144Max processed block size to cache on disk (bytes, 0 = no limit)
--diskQuotastringMax disk usage for cache (e.g. 5%, 64M)
--diskWritebackboolfalseEnable disk cache writeback mode
FlagTypeDefaultDescription
--foreground, -fboolfalseRun in foreground mode (implies --noRemount)
--logFilestring~/.flexfs/mount/logs/<name>-<pid>.logLog file path (daemon mode only)
--verbose, -vboolfalseEnable verbose logging
FlagTypeDefaultDescription
--noRemountboolfalseDisable remount after auto-update
--noUpdateboolfalseDisable auto-update mechanism (implies --noRemount)
--stagingboolfalseAuto-update from staged builds
FlagTypeDefaultDescription
--credsFilestring~/.flexfs/mount/creds/<name>Credentials file path
FlagTypeDefaultDescription
--adminAddrstringAdmin server address (overrides creds file)
--asyncReadboolfalseRun FUSE with async read support
--attrValiduint6428800Seconds to cache file attributes
--attrValidNsecuint320Nanosecond offset for --attrValid
--blockRTTboolfalseLog block storage round-trip times
--dirPageSizeuint325000Directory stream page size
--dirTTLuint3210Seconds to cache directory stream pages
--dirtyActiveuint320Maximum number of active dirty block syncs
--dirtyCapacityuint320In-memory dirty block cache capacity (blocks)
--entryValiduint641Seconds to cache directory entries
--entryValidNsecuint320Nanosecond offset for --entryValid
--fuseRTTboolfalseLog FUSE round-trip times
--longNamesboolfalseAllow names up to 1023 characters
--maxBopsuint320Maximum number of parallel block operations
--memCapacitystring(empty)In-memory block cache capacity (e.g. 2%, 4G, 2000)
--memStatsboolfalseLog buffer pool and LRU cache stats
--metaRTTboolfalseLog metadata store round-trip times
--noMaxPagesboolfalseLimit FUSE max_pages to 32
--noMetaSSLboolfalseDisable SSL for metadata server connections
--noPrefetchboolfalseDisable block prefetching
--noProxyboolfalseDisable block proxying
--noProxyReadsboolfalseDisable proxy reads
--noProxySSLboolfalseDisable SSL for proxy server connections
--noProxyWritesboolfalseDisable proxy writes
--numReadersuint320Number of FUSE reader goroutines
--poolCapacityuint320Block buffer pool capacity (blocks)
--pprofboolfalseEnable pprof profiler
--pprofPortint6063Pprof server port
--prefetchActiveuint320Maximum number of active prefetches
--prefetchDepthuint320Maximum number of queued prefetches
--secretstringVolume encryption secret (overrides creds file)
--sseboolfalseEnable S3 server-side encryption (AES256)
--storeRTTboolfalseLog store subsystem round-trip times
--testVersionstringOverride build version for testing auto-update handoff
--tokenstringVolume auth token (overrides creds file)
--updateIntervaluint32360Auto-update check interval in seconds
Terminal window
mount.flexfs init creds --adminAddr <addr> [--token <uuid>]

Initializes a credentials file for a volume. If --token is omitted, the command prompts for a volume token interactively.

FlagTypeDefaultDescription
--adminAddrstringAdmin server address (required)
--credsFilestring~/.flexfs/mount/creds/<name>Credentials file path
--forceboolfalseOverwrite existing credentials file
--printNameboolfalsePrint the volume name to stdout after initialization
--secretstringVolume encryption secret (will prompt if omitted and needed)
--tokenstringVolume auth token (will prompt if omitted)
Terminal window
mount.flexfs init fstab <name> <mount-point> [flags]

Creates an /etc/fstab entry and the mount point directory for the volume.

FlagTypeDefaultDescription
--credsFilestring~/.flexfs/mount/creds/<name>Credentials file path
--forceboolfalseOverwrite an existing fstab entry for this volume
--mountOptionsstring""Additional mount options to include in the fstab entry
--nowboolfalseMount the volume immediately after creating the fstab entry
Terminal window
mount.flexfs deinit creds <name>

Removes the credentials file for a volume. If the credentials file is referenced by an fstab entry or systemd unit, the command refuses unless --force is passed, in which case it removes the references too.

FlagTypeDefaultDescription
--credsFilestring~/.flexfs/mount/creds/<name>Credentials file path
--forceboolfalseRemove creds even if referenced by fstab/systemd (removes references too)
Terminal window
sudo mount.flexfs deinit fstab <mount-point>

Removes flexFS fstab entries for the given mount point from /etc/fstab. Requires root.

The credentials file is a TOML file stored at the path specified by --credsFile. It contains the admin server address, volume token, and optionally an encryption secret:

adminAddr = "admin.example.com:443"
token = "$TOKEN"
secret = "$SECRET"