Links
Comment on page

Configuration

Settings

ReductStore uses environment variables for configuration. Here is a list of available settings:
Name
Default
Description
RS_LOG_LEVEL
INFO
Logging level, can be: TRACE, DEBUG, INFO, WARNING, ERROR
RS_HOST
0.0.0.0
Listening IP address
RS_PORT
8383
Listening port
RS_API_BASE_PATH
/
Prefix for all URLs of requests
RS_DATA_PATH
/data
Path to a folder where the storage stores the data
RS_API_TOKEN
If set, the storage uses token authorization
RS_CERT_PATH
Path to an SSL certificate. If unset, the storage uses HTTP instead of HTTPS
RS_CERT_KEY_PATH
Path to the private key of the desired SSL certificate. Should be set with RS_CERT_PATH

For Snap Users

If you use snap, you can configure the database by using the snap set command:
snap set reductstore log-level=DEBUG
This command changes the log level to DEBUG and restarts the database. You can check the current configuration with the snap get reductstoret command:
snap get reductstore
Key Value
api-base /
api-token
cert-key-path
cert-path
data-path /var/snap/reductstore/common
host 0.0.0.0
log-level DEBUG
port 8383

Provisioning

ReductStore provides an HTTP API to create and configure resources such as buckets or access tokens. However, if you are following an Infrastructure as Code (IaC) approach, you may want to provision resources at the deployment stage and ensure that they can't be modified or deleted using the HTTP API. You can use the following environment variables to do this:
Name
Default
Description
Bucket Provisioning
RS_BUCKET_<ID>_NAME
Provisioned bucket name (required)
RS_BUCKET_<ID>_QUOTA_TYPE
NONE
It can be NONE or FIFO. If it is FIFO, the bucket removes old data.
RS_BUCKET_<ID>_QUOTA_SIZE
""
Size of quota to start removing old data e.g. 1 KB, 10.4 MB etc.
RS_BUCKET_<ID>_MAX_BLOCK_SIZE
64Mb
Maximal block size for batched records
RS__BUCKET_<ID>_MAX_BLOCK_RECORDS
256
Maximal number of batched records in a block
Token Provisioning
RS_TOKEN_<ID>_NAME
Provisioned token name (required)
RS_TOKEN_<ID>_VALUE
Provisioned value of token (required)
RS_TOKEN_<ID>_FULL_ACCESS
false
Full access permission
RS_TOKEN_<ID>_READ
List of buckets for reading
RS_TOKEN_<ID>_WRITE
List of buckets for writing
You can use any string value for <ID>. It is only used to group resources of the same type.
There is an example where we provide two buckets and a token to access them:
RS_BUCKET_A_NAME=bucket-1
RS_BUCKET_A_QUOTA_TYPE=FIFO
RS_BUCKET_A_QUOTA_SIZE=1Tb
RS_BUCKET_B_NAME=bucket-2
RS_TOKEN_A_NAME=token
RS_TOKEN_A_VALUE=somesecret
RS_TOKEN_A_READ=bucket-1,bucket-2