Skip to content

Admin Server (Enterprise)

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

SubcommandDescription
startStart the admin server
init credsInitialize the credentials file
init systemdCreate and enable a systemd service unit
deinit credsRemove the credentials file
deinit systemdRemove the systemd service unit
versionPrint the build version
licensePrint license information
Terminal window
admin.flexfs start

The start subcommand launches the admin server and begins listening for API requests. All configuration is provided through flags or the credentials file.

FlagDefaultDescription
--bindAddr0.0.0.0:443Address and port to bind
--dbFolder~/.flexfs/adminDatabase folder path
--deployFolder~/.flexfs/admin/deployFolder for mount client deploy binaries
--noSSLfalseDisable TLS for the REST API
--sslCert~/.flexfs/ssl/certTLS certificate file path
--sslKey~/.flexfs/ssl/keyTLS private key file path
--verbose, -vfalseEnable verbose logging
--credsFile~/.flexfs/admin/credsCredentials file path (persistent flag)

On startup, the server reads the credentials file (TOML format), opens its database, generates a self-signed TLS certificate if none exists at the configured path, and binds to the specified address.

Before starting the server for the first time, initialize the credentials file:

Terminal window
admin.flexfs init creds --token $TOKEN

If --token is omitted, the command prompts interactively. The token must be a valid UUID.

FlagDefaultDescription
--token(prompt)Admin server auth token (UUID)
--statAddrstat.flexfs.ioStatistics server address
--forcefalseOverwrite an existing credentials file

The credentials file is written with 0600 permissions to the path specified by --credsFile. It is a TOML file containing the token and, if non-default, the stat server address.

token = "$TOKEN"

Create and enable a systemd service unit for the admin server:

Terminal window
sudo admin.flexfs init systemd --now
FlagDefaultDescription
--nowfalseStart the service immediately after enabling
--startFlags(empty)Additional flags to pass to the start command
--forcefalseOverwrite an existing systemd unit file

This creates the unit file flexfs-admin.service and enables it. The --now flag additionally starts the service immediately. Requires root.

Terminal window
admin.flexfs deinit creds

Removes the credentials file. If the file is referenced by a systemd unit, the command refuses unless --force is passed, in which case the referencing units are also removed.

FlagDefaultDescription
--forcefalseRemove credentials even if referenced by systemd units
Terminal window
sudo admin.flexfs deinit systemd

Stops and removes the flexfs-admin.service unit. Requires root.

By default the admin server listens over TLS. If no certificate exists at the configured paths, a self-signed certificate is generated automatically. To use custom certificates, provide --sslCert and --sslKey pointing to your certificate and private key files.

Use --noSSL only for testing behind a TLS-terminating load balancer.

The admin server serves mount client binaries from its deploy folder. Mount clients poll the admin server for updates and download new versions from the /deploy/ endpoints. Use manage.flexfs deploy to populate the deploy folder with the latest binaries for staging and production channels.

The admin server continuously validates the Enterprise license grant file located in the database folder (grant.json). If the grant is missing or expired, all volumes are flagged read-only until a valid grant is restored.