Configurations

v0.4.0 greatly simplifes the session management environment variable since Redis is no longer needed.

Here is all the possible configurations for a Sybline Cluster. Any configurations that do not have a default value will require you to set a value, or the cluster will fail to launch.

Networking

NameDefault ValueDescription
SERVER_PORT2221This is the port that will be exposed on the Sybline instance for the GRPC endpoints.
TLS_ENABLEDFalseBoolean that determines whether the instance enables mTLS. The certification file and the private key file will have to be located within /cert directory under ./cert/ca-cert.pem, ./cert/cert.pem and ./cert/key.pem.
TLS_ENABLED_PROMFalseBoolean that determines whether the instance enables mTLS on the prometheus endpoint. The certification file and the private key file will have to be located within /cert directory under ./cert/ca-cert.pem, ./cert/cert.pem and ./cert/key.pem.
TLS_VERIFY_SKIPFalseBoolean to determine if to skip the verification stage for sybline clusters.
TLS_VERIFY_SKIP_PROMFalseBoolean that determines whether to skip the verification stage for the prometheus endpoint.

Raft Configurations

NameDefault ValueDescription
ELECTION_TIMEOUT2Number of seconds before an election’s state is determined.
HEARTBEAT_TIMEOUT2Number of seconds that each instance of the cluster is checked by the leader. Recommend increasing from the base as will improve performance, but test stability for blindly updating.
RAFT_NODE_IDRequired to be set. This is the id of the node for the raft algorithm
NODESThis is list of all the node id in a comma separated list of all the node ids of the other nodes from the configuration RAFT_NODE_ID e.g. 2,3 if current node is named 1 with two other nodes named 2 & 3
ADDRESSESA list of the other nodes within the cluster e.g. node_2:1111,node_3:1111
STREAM_BUILD_TIMEOUT2How long to wait to build a stream between nodes before timing out
STREAM_BUILD_ATTEMPTS3How many attempts to try build a stream betwen nodes before stopping
APPEND_TIMEOUT3How long to wait for the nodes to return a result on the append stream before timing out

Snapshots

NameDefault ValueDescription
SNAPSHOT_THRESHOLD10000The number of logs before a snapshot can occur, the instance will not instantly start a snapshot once this threshold has been hit. Once a snapshot occurs the count is reset and another SNAPSHOT_THRESHOLD amount of logs must be applied before it can send an additional snapshot.
BATCH_LIMIT1000Threshold for the number of logs kept in memory before they are flushed to disk; logs will be read into memory as required.

Session

NameDefault ValueDescription
TOKEN_DURATION1800The number of seconds that a session is active for
SALTUsed when creating password hashes, keep this secret. This helps migrate against attacks aimed at breaking password and gaining access to Sybline via the clients.

Node Management

NameDefault ValueDescription
NODE_TTL300Number of seconds before a node can be re-assigned to a new consumer.