Skip to content

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.

| 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 |

Terminal window
proxy.flexfs start [flags]

| Flag | Type | Default | Description | |---|---|---|---| | --credsFile | string | ~/.flexfs/proxy/creds | Credentials file path |

| 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 |

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.

Terminal window
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 |

Terminal window
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 |

Terminal window
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) |

Terminal window
sudo proxy.flexfs deinit systemd

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