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 | 90% | 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.