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.
Subcommands
Section titled “Subcommands”| Subcommand | Description |
|---|---|
deinit creds | Remove the credentials file |
deinit systemd | Remove the systemd service unit |
init creds | Initialize the credentials file |
init systemd | Create and enable a systemd service unit |
license | Print license information |
start | Start the admin server |
version | Print the build version |
Starting the Server
Section titled “Starting the Server”admin.flexfs startThe start subcommand launches the admin server and begins listening for API requests. All configuration is provided through flags or the credentials file.
Start Flags
Section titled “Start Flags”See admin.flexfs start for the full list of start flags and their defaults.
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.
Credential Initialization
Section titled “Credential Initialization”Before starting the server for the first time, initialize the credentials file:
admin.flexfs init creds --token <admin-token>If --token is omitted, the command prompts interactively. The token must be a valid UUID.
init creds Flags
Section titled “init creds Flags”See admin.flexfs init creds for the full list of init creds flags and their defaults.
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.
Credential File Format
Section titled “Credential File Format”token = "<admin-token>"Systemd Integration
Section titled “Systemd Integration”Create and enable a systemd service unit for the admin server:
sudo admin.flexfs init systemd --nowinit systemd Flags
Section titled “init systemd Flags”See admin.flexfs init systemd for the full list of init systemd flags and their defaults.
This creates the unit file flexfs-admin.service and enables it. The --now flag additionally starts the service immediately. Requires root.
Teardown
Section titled “Teardown”Remove Credentials
Section titled “Remove Credentials”admin.flexfs deinit credsRemoves 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.
See admin.flexfs deinit creds for its flags and their defaults.
Remove Systemd Unit
Section titled “Remove Systemd Unit”sudo admin.flexfs deinit systemdStops 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.
Restricting API Access
Section titled “Restricting API Access”--accessFile names a TOML file of IP addresses and CIDR blocks allowed to reach each endpoint. There is no file by default, so every endpoint is unrestricted; the file is re-read every couple of seconds, so access can be tightened or widened without a restart.
Take care here: mount clients, the metadata server and the CSI driver all call this API directly, so a rule meant to fence off configure.flexfs can cut off the cluster. Whenever it loads a file with a global list, the server logs every endpoint that list gates. See API Access Control.
Deploy Folder
Section titled “Deploy Folder”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.
License Validation
Section titled “License Validation”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.
At startup, before the server binds, it checks that file and requests a fresh grant from the stat server when the grant is missing, expired, or about to expire. The request needs the credentials in the admin server’s credentials file; it is given up to 30 seconds, and a server whose grant could not be renewed still starts, with its volumes read-only. Grants are also renewed as volume statistics are reported, so a running server normally keeps its grant current without restarting.