Configuration And Environment

Set environment overrides in the server process environment before startup. Use Configuration for file precedence and complete YAML examples.

Startup Files

Full config search order:

./shrikedb.toml
./shrikedb.yaml
./shrikedb.yml
./config/shrikedb.toml
./config/shrikedb.yaml
./config/shrikedb.yml
~/.shrikedb/config.yaml
~/.shrikedb/config.yml
~/.shrikedb/config.toml
/etc/shrikedb/shrikedb.toml
/etc/shrikedb/shrikedb.yaml
/etc/shrikedb/shrikedb.yml

HA-only overlay search order:

./ha.yaml
./ha.yml
./ha.toml
./config/ha.yaml
./config/ha.yml
./config/ha.toml
~/.shrikedb/ha.yaml
~/.shrikedb/ha.yml
~/.shrikedb/ha.toml
/etc/shrikedb/ha.yaml
/etc/shrikedb/ha.yml
/etc/shrikedb/ha.toml

Core Environment Variables

Variable Purpose

SHRIKEDB_CONFIG

Explicit full config.

SHRIKEDB_HA_CONFIG

Explicit HA overlay.

SHRIKEDB_CONFIG_HOME

Alternate config home.

SHRIKEDB_NO_STARTUP_UI

Disable interactive startup UI.

SHRIKEDB_GRAPH_COMPACT_PROPERTY_GRAPH_INDEX

Compact property-graph index mode for large graph workloads.

SHRIKEDB_OWL_WORKERS

Worker-count override for optional parallel ontology processing; evaluate memory and runtime before changing it.

Semantic Query Environment Variables

Variable Purpose

SHRIKEDB_SEMANTIC_QUERY_ENABLED

Enable or disable the semantic query compiler runtime.

SHRIKEDB_SEMANTIC_QUERY_REST_ENABLED

Enable or disable /api/v1/semantic/* REST endpoints.

SHRIKEDB_SEMANTIC_QUERY_MCP_ENABLED

Enable or disable /api/v1/mcp.

SHRIKEDB_SEMANTIC_QUERY_MAX_LIMIT

Maximum semantic result limit accepted by the compiler.

SHRIKEDB_SEMANTIC_QUERY_MAX_PLAN_OPS

Maximum estimated semantic plan operations before cost-guard rejection.

SHRIKEDB_SEMANTIC_QUERY_MAX_ONTOLOGY_DEPTH

Maximum ontology expansion depth accepted by semantic intent clauses.

SHRIKEDB_SEMANTIC_QUERY_TIMEOUT_MS

Default semantic compile/execute timeout budget in milliseconds.

HA Environment Variables

Variable Purpose

SHRIKEDB_CLUSTER_ENABLED

Enable HA mode.

SHRIKEDB_CLUSTER_NAME

Cluster name.

SHRIKEDB_CLUSTER_NODE_ID

This node’s ID.

SHRIKEDB_CLUSTER_NODE_TOKEN

Shared node token.

SHRIKEDB_CLUSTER_ADVERTISE_GRPC

Advertised gRPC address.

SHRIKEDB_CLUSTER_ADVERTISE_HTTP

Advertised HTTP address.

SHRIKEDB_CLUSTER_ADVERTISE_ADMIN

Advertised admin address.

SHRIKEDB_CLUSTER_PEERS

Peer list.

SHRIKEDB_CLUSTER_REPLICATION_FACTOR

Replication factor.

SHRIKEDB_CLUSTER_SHARD_COUNT

Shard count.

SHRIKEDB_CLUSTER_WRITE_CONSISTENCY

Write consistency mode.

SHRIKEDB_CLUSTER_READ_CONSISTENCY

Read consistency mode.

SHRIKEDB_CLUSTER_REPLICATION_MODE

Replication mode, such as sync_quorum.

SHRIKEDB_CLUSTER_FORWARD_NON_PRIMARY_WRITES

Forward writes to primary when contacted node is not primary.

SHRIKEDB_CLUSTER_PROXY_NON_REPLICA_READS

Proxy covered reads to replica nodes.

SHRIKEDB_CLUSTER_DISTRIBUTED_QUERY_EXECUTION

Enable distributed query execution for covered shapes.

SHRIKEDB_CLUSTER_DYNAMIC_MEMBERSHIP

Enable dynamic membership control.

SHRIKEDB_CLUSTER_HEARTBEAT_MS

Consensus heartbeat interval.

SHRIKEDB_CLUSTER_ELECTION_TIMEOUT_MS

Election timeout.

SHRIKEDB_CLUSTER_REPAIR_INTERVAL_MS

Repair tick interval.

SHRIKEDB_CLUSTER_REPAIR_BATCH_LIMIT

Repair batch size.

SHRIKEDB_CLUSTER_REPAIR_PAYLOAD_TOMBSTONE_TTL_MS

Completed repair payload tombstone retention.

SHRIKEDB_CLUSTER_PEER_CONNECT_TIMEOUT_MS

Peer connection timeout.

SHRIKEDB_CLUSTER_PEER_REQUEST_TIMEOUT_MS

Peer request timeout.

SHRIKEDB_CLUSTER_PEER_REPLICATION_FANOUT_LIMIT

Concurrent peer replication fanout per write.

SHRIKEDB_CLUSTER_REPAIR_QUEUE_DIR

Durable repair queue directory.

SHRIKEDB_CLUSTER_REPAIR_PAYLOAD_DIR

Durable repair payload directory.

SHRIKEDB_CLUSTER_OPERATION_LEDGER_DIR

Operation ledger directory.

SHRIKEDB_CLUSTER_OPERATION_REPLAY_DIR

Operation replay payload directory.

SHRIKEDB_CLUSTER_CONSENSUS_DIR

Consensus journal directory.

SHRIKEDB_CLUSTER_TRANSACTION_COMMIT_LEDGER_DIR

Transaction commit ledger directory.

Peer List Format

node2=host:grpc|host:http|host:admin;node3=host:grpc|host:http|host:admin

Cypher Execution Controls

Configure these on the server process before issuing queries. A higher resource cap permits more work; it does not enable unsupported syntax or relax semantic checks.

Variable Default Purpose

SHRIKEDB_CYPHER_WRITE_MODE

off

canary or full admits supported governed writes with write authorization and graph-write context. Legacy default-database write fast paths do not consult this setting; it is not a global write-disable switch.

SHRIKEDB_CYPHER_SCHEMA_MODE

off

canary or full admits mutations of the durable database-wide declaration catalog. This is separate from the graph-write gate.

SHRIKEDB_CYPHER_PATH_MATERIALIZATION_MAX_PATHS

10,000

Path result bound, capped at 100,000 by the planner.

SHRIKEDB_CYPHER_PATH_MATERIALIZATION_MAX_CANDIDATES

100,000

Candidate-state bound, capped at 1,000,000 by the planner.

SHRIKEDB_CYPHER_UNWIND_MAX_ROWS

100,000

Unwind expansion bound, capped at 1,000,000 by the planner.

SHRIKEDB_CYPHER_SUBQUERY_MAX_ROWS_PER_INPUT

10,000

Read-only subquery rows per input, capped at 100,000.

SHRIKEDB_CYPHER_NESTED_EXPRESSION_MAX_ROWS

10,000

Nested branch-expression output bound, capped at 100,000.

See Cypher Writes And Schema for write/catalog limits and Cypher And openCypher Compatibility for bounded read behavior. Experimental optimizer and forced-candidate controls belong to benchmark/shadow workflows; they are not required to use the supported language features.