This section contains detailed FrostFS Storage node configuration file description
including default config values and some tips to set up configurable values.
There are some custom types used for brevity:
duration -- string consisting of a number and a suffix. Suffix examples include s (seconds), m (minutes), ms (milliseconds).
size -- string consisting of a number and a suffix. Suffix examples include b (bytes, default), k (kibibytes), m (mebibytes), g (gibibytes).
file mode -- octal number. Usually, it starts with 0 and contain 3 digits, corresponding to file access permissions for user, group and others.
public key -- hex-encoded public key
hash160 -- hex-encoded 20-byte hash of a deployed contract.
Contains override values for FrostFS side-chain contract hashes. Most of the time contract
hashes are fetched from the NNS contract, so this section can be omitted.
Sidechain cache TTL value (min interval between similar calls). Negative value disables caching. Cached entities: containers, container lists, eACL tables.
Time interval between the attempts to connect to the highest priority RPC node if the connection is not established yet.
rpc_endpoint subsection
Parameter
Type
Default value
Description
address
string
WebSocket N3 endpoint.
priority
int
1
Priority of an endpoint. Endpoint with a higher priority (lower configuration value) has more chance of being used. Endpoints with equal priority are iterated over randomly; a negative priority is interpreted as 1.
storage section
Local storage engine configuration.
Parameter
Type
Default value
Description
shard_pool_size
int
20
Pool size for shard workers. Limits the amount of concurrent PUT operations on each shard.
shard_ro_error_threshold
int
0
Maximum amount of storage errors to encounter before shard automatically moves to Degraded or ReadOnly mode.
low_mem
bool
false
Reduce memory consumption by reducing performance.
Contains configuration for each shard. Keys must be consecutive numbers starting from zero.
default subsection has the same format and specifies defaults for missing values.
The following table describes configuration for each shard.
Parameter
Type
Default value
Description
compress
bool
false
Flag to enable compression.
compression_exclude_content_types
[]string
List of content-types to disable compression for. Content-type is taken from Content-Type object attribute. Each element can contain a star * as a first (last) character, which matches any prefix (suffix).
mode
string
read-write
Shard Mode. Possible values: read-write, read-only, degraded, degraded-read-only, disabled
Timeout for dialing connections to other storage or inner ring nodes.
stream_timeout
duration
15s
Timeout for individual operations in a streaming RPC.
reconnect_timeout
duration
30s
Time to wait before reconnecting to a failed node.
policer section
Configuration for the Policer service. It ensures that object is stored according to the intended policy.
policer:head_timeout:15s
Parameter
Type
Default value
Description
head_timeout
duration
5s
Timeout for performing the HEAD operation.
replicator section
Configuration for the Replicator service.
replicator:put_timeout:15spool_size:10
Parameter
Type
Default value
Description
put_timeout
duration
5s
Timeout for performing the PUT operation.
pool_size
int
Equal to object.put.pool_size_remote
Maximum amount of concurrent replications.
object section
Contains object-service related parameters.
object:put:pool_size_remote:100
Parameter
Type
Default value
Description
delete.tombstone_lifetime
int
5
Tombstone lifetime for removed objects in epochs.
put.pool_size_remote
int
10
Max pool size for performing remote PUT operations. Used by Policer and Replicator services.
put.pool_size_local
int
10
Max pool size for performing local PUT operations. Used by Policer and Replicator services.
runtime section
Contains runtime parameters.
runtime:soft_memory_limit:1GB
Parameter
Type
Default value
Description
soft_memory_limit
size
0
Soft memory limit for the runtime. Zero or no value stands for no limit. If GOMEMLIMIT environment variable is set, the value from the configuration file will be ignored.