Skip to content

admin.flexfs

admin.flexfs is the central management server for flexFS Enterprise. It stores accounts, volumes, block stores, metadata stores, proxy groups, and volume tokens. Mount clients connect to it for volume settings and binary updates, and configure.flexfs uses its REST API to manage resources.

These flags apply to every subcommand.

FlagTypeDefaultDescriptionVisibility
--reportErrorsboolfalseReport errors and panics to Paradigm4. Governs what this server reports about itself only — to require reporting on mount clients, see --reportMountErrors belowPublic
SubcommandDescriptionVisibility
deinit credsRemove the credentials filePublic
deinit systemdRemove the systemd service unitPublic
init credsInitialize the credentials filePublic
init systemdCreate and enable a systemd service unitPublic
licensePrint license informationPublic
startStart the admin serverPublic
versionPrint the build versionPublic
Terminal window
admin.flexfs deinit creds [flags]

Removes the credentials file for the admin server. If the credentials file is referenced by a systemd unit, the command refuses unless --force is passed, in which case it removes the references too.

FlagTypeDefaultDescriptionVisibility
--credsFilestring~/.flexfs/admin/credsCredentials file pathPublic
--forceboolfalseRemove creds even if referenced by systemd (removes references too)Public
Terminal window
sudo admin.flexfs deinit systemd

Removes the systemd service unit (flexfs-admin.service) for the admin server. Requires root.

Terminal window
admin.flexfs init creds [flags]

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

FlagTypeDefaultDescriptionVisibility
--credsFilestring~/.flexfs/admin/credsCredentials file pathPublic
--forceboolfalseOverwrite existing credentials filePublic
--statAddrstringstat.flexfs.ioStat server addressPublic
--tokenstring""Admin server auth token (will prompt if omitted)Public
Terminal window
sudo admin.flexfs init systemd [flags]

Creates and enables a systemd service unit (flexfs-admin.service) for the admin server. Requires root.

FlagTypeDefaultDescriptionVisibility
--forceboolfalseOverwrite existing systemd unit filePublic
--nowboolfalseStart the service immediately after enablingPublic
--startFlagsstring""Additional flags to pass to the start commandPublic
Terminal window
admin.flexfs start [flags]

Starts the admin server, binding the HTTPS management endpoint.

FlagTypeDefaultDescriptionVisibility
--accessFilestring~/.flexfs/admin/accessAPI access file path — whitelists the source addresses allowed to reach each endpoint. Absent = all endpoints unrestrictedPublic
--basicStatsboolfalseRelay only basic stats to the stat serverPublic
--bindAddrstring0.0.0.0:443Address and port to bindPublic
--credsFilestring~/.flexfs/admin/credsCredentials file pathPublic
--dbFolderstring~/.flexfs/adminDatabase folder pathPublic
--deployFolderstring~/.flexfs/admin/deployFolder for mount client deploy binariesPublic
--noSSLboolfalseDisable SSL for the REST APIPublic
--noStatSSLboolfalseDisable SSL for stat server connectionsInternal
--pprofboolfalseEnable pprof profilerInternal
--pprofPortint6060Pprof server portInternal
--reportMountErrorsboolfalseRequire error reporting on the mount clients of every volume this server serves. The reporterrors flag is added to the volume settings the server hands out (see Accepted Volume and Token Flags). Independent of --reportErrors, which covers only this server’s own panicsPublic
--sqliteOptsstring_journal=WAL&_cache_size=10240&_fk=true&_timeout=5000SQLite database connection optionsInternal
--sslCertstring~/.flexfs/ssl/certSSL certificate file pathPublic
--sslKeystring~/.flexfs/ssl/keySSL private key file pathPublic
--statAddrstring""Stat server address (overrides credentials file)Internal
--tokenstring""Admin server auth token (overrides credentials file)Internal
--verbose, -vboolfalseEnable verbose loggingPublic

--accessFile names a TOML file listing the IP addresses and CIDR blocks allowed to reach each endpoint. There is no file by default and nothing creates one, so every endpoint is unrestricted until you write it. It is re-read every two seconds, so a change takes effect within seconds without a restart; deleting it lifts all restrictions.

Most callers of this API are machines rather than people — mount clients fetch volume settings and rotate secret ids, the metadata server posts stats and reads rate bins, and the CSI driver provisions volumes. A rule written to fence off configure.flexfs gates those endpoints too unless they are opened back up, so read the global rule gates: line the server logs whenever it loads a file with a global list. The /deploy/ tree is the exception: its URLs are baked into published install commands, so it is reached only by a rule naming it explicitly — and one [endpoint."/deploy/"] rule covers the whole tree, the installer script included.

A file that cannot be parsed, or that names an endpoint this server does not serve, is refused: the server will not start on one, and a running server keeps the rules already in force. Blocked requests are answered 403 with the usual {"code":403,"text":"forbidden"} body.

See API Access Control for the file format and the rule precedence.

The admin server serves mount client binaries and an installer script for auto-update and client deployment:

EndpointDescription
/deploy/install-mount.shShell script that downloads and configures the mount client
/deploy/production/Production channel mount client binaries
/deploy/staging/Staging channel mount client binaries