proxy.flexfs
proxy.flexfs is a CDN-like block caching server that sits between mount clients and object storage. Multiple proxy servers form a proxy group. Mount clients distribute blocks across group members using rendezvous hashing and select groups based on RTT-based latency measurements.
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 proxy server |
version | Print the build version |
proxy.flexfs start [flags]Persistent Flags
Section titled “Persistent Flags”| Flag | Type | Default | Description |
|---|---|---|---|
--credsFile | string | ~/.flexfs/proxy/creds | Credentials file path |
Start Flags
Section titled “Start Flags”| Flag | Type | Default | Description | Visibility |
|---|---|---|---|---|
--bindAddr | string | 0.0.0.0:443 | Address and port to bind | Public |
--blockPass | string | Block storage password (overrides creds file) | Internal | |
--blockUser | string | Block storage username (overrides creds file) | Internal | |
--bufferSize | uint32 | 1048576 | I/O buffer size | Internal |
--dbFolder | string | ~/.flexfs/proxy/data | Database folder path | Public |
--dbMemCapacity | string | 10% | Database memory cache capacity (e.g. 5%, 64M) | Internal |
--diskFolder | string | /cache | On-disk block cache folder path | Public |
--diskQuota | string | 95% | On-disk block cache capacity (e.g. 5%, 64M) | Public |
--maxBops | uint32 | 0 (auto) | Maximum number of active parallel block operations | Internal |
--noSSL | bool | false | Disable SSL for the REST API | Public |
--noWriteback | bool | false | Disable writeback to persistent storage | Internal |
--pprof | bool | false | Enable pprof profiler | Internal |
--pprofPort | int | 6064 | Pprof server port | Internal |
--sse | bool | false | Enable S3 server-side encryption (AES256) | Internal |
--sslCert | string | ~/.flexfs/ssl/cert | SSL certificate file path | Public |
--sslKey | string | ~/.flexfs/ssl/key | SSL private key file path | Public |
--sync | bool | false | Fsync dirty block writes for full crash durability | Public |
--verbose, -v | bool | false | Enable verbose logging | Public |
--writebackActive | uint32 | 0 (auto) | Maximum number of active parallel writeback operations | Internal |
--writebackDelay | uint32 | 0 | Milliseconds each writeback should sleep | Internal |
Auto-computed Defaults
Section titled “Auto-computed Defaults”When --maxBops is left at 0, the proxy computes a default based on the host’s CPU count. --writebackActive defaults to the computed --maxBops value.
Init Creds
Section titled “Init Creds”proxy.flexfs init creds [flags]Initializes a credentials file for the proxy server with block storage credentials.
| Flag | Type | Default | Description |
|---|---|---|---|
--blockPass | string | "" | Block storage password |
--blockUser | string | "" | Block storage username |
--force | bool | false | Overwrite existing creds file |
Init Systemd
Section titled “Init Systemd”sudo proxy.flexfs init systemd [flags]Creates and enables a systemd service unit (flexfs-proxy.service) for the proxy server. Requires root.
| Flag | Type | Default | Description |
|---|---|---|---|
--force | bool | false | Overwrite existing systemd unit file |
--now | bool | false | Start the service immediately after enabling |
--startFlags | string | "" | Additional flags to pass to the start command |
Deinit Creds
Section titled “Deinit Creds”proxy.flexfs deinit creds [flags]Removes the credentials file for the proxy 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.
| Flag | Type | Default | Description |
|---|---|---|---|
--force | bool | false | Remove creds even if referenced by systemd (removes references too) |
Deinit Systemd
Section titled “Deinit Systemd”sudo proxy.flexfs deinit systemdRemoves the systemd service unit (flexfs-proxy.service) for the proxy server. Requires root.