Environment Variables Reference
May 29, 2026 · View on GitHub
Canonical runtime environment variable table for NornicDB (non-test Go code references).
Columns: Variable, Description, Type, Default, Valid Values / Range, Notes, Source.
Precedence
For variables flagged in the Notes column as a per-database override key, the runtime resolver merges values across multiple sources. The ladder, lowest → highest, is:
- Built-in defaults baked into
pkg/config.LoadDefaults. - Global config from YAML (
memory.search_*and similar blocks) and env vars (NORNICDB_*). - Per-DB overrides from the YAML
databases:map (seeded on first boot only) and the admin API (PUT /admin/databases/{name}/config, authoritative across restarts after that). - CLI overrides for flags explicitly typed on
nornicdb serve(e.g.--search-bm25-enabled=false). Top of the ladder — these trump per-DB store entries by design, so an operator's boot-time kill switch always takes effect.
Env vars and YAML do NOT trump per-DB overrides; they're declarative config that a stale compose/manifest could silently revert. Only CLI flags that the operator actually typed at boot are escalated above per-DB. See configuration.md § Per-database search index control for the full rationale and example scenarios.
Total variables: 306
| Variable | Description | Type | Default | Valid Values / Range | Notes | Source |
|---|---|---|---|---|---|---|
NORNICDB_ACCESS_CONTROL_ENABLED | Access control enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_ADDRESS | Bind address (127.0.0.1 for localhost only, 0.0.0.0 for all interfaces) | string | 127.0.0.1 | See source | — | cmd/nornicdb/main.go |
NORNICDB_ALLOW_HTTP | AllowHTTP permits non-TLS connections (development only) | string | See source | See source | — | pkg/config/config.go |
NORNICDB_ALLOW_REMOTE_EVAL | Allow remote eval | string | (unset) | See source | — | cmd/eval/main.go |
NORNICDB_ANONYMIZATION_ENABLED | Anonymization enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_ANONYMIZATION_METHOD | Anonymization method | string | See source | See source | — | pkg/config/config.go |
NORNICDB_APOC_ | Apoc | string | See source | See source | — | apoc/config.go |
NORNICDB_APOC_ALGO_ENABLED | Apoc algo enabled | string | See source | See source | — | apoc/config.go |
NORNICDB_APOC_SECURITY_ALLOW_DYNAMIC_CREATION | Apoc security allow dynamic creation | string | (unset) | See source | — | apoc/config.go |
NORNICDB_APOC_SECURITY_ALLOW_FILE_ACCESS | Apoc security allow file access | string | (unset) | See source | — | apoc/config.go |
NORNICDB_APOC_SECURITY_MAX_COLLECTION_SIZE | Apoc security max collection size | string | (unset) | See source | — | apoc/config.go |
NORNICDB_ASYNC_FLUSH_INTERVAL | AsyncFlushInterval controls how often pending writes are flushed. Smaller = more consistent, larger = better throughput. | string | See source | >= 0 | — | pkg/config/config.go |
NORNICDB_ASYNC_MAX_EDGE_CACHE_SIZE | AsyncMaxEdgeCacheSize is the max edges to buffer before forcing a flush. Prevents unbounded memory growth during bulk inserts. Set to 0 for unlimited (not recommended for bulk operations). | number | -1 | See source | — | pkg/config/config.go |
NORNICDB_ASYNC_MAX_NODE_CACHE_SIZE | AsyncMaxNodeCacheSize is the max nodes to buffer before forcing a flush. Prevents unbounded memory growth during bulk inserts. Set to 0 for unlimited (not recommended for bulk operations). | number | -1 | See source | — | pkg/config/config.go |
NORNICDB_ASYNC_WRITES_ENABLED | AsyncWritesEnabled enables async writes for faster performance. Writes return immediately after caching; flushed to disk in background. | string | See source | See source | — | pkg/config/config.go |
NORNICDB_AUDIT_ENABLED | Audit enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_AUDIT_LOG_PATH | Audit log path | string | See source | See source | — | pkg/config/config.go |
NORNICDB_AUDIT_RETENTION_DAYS | Audit retention days | number | 0 | See source | — | pkg/config/config.go |
NORNICDB_AUTH | Auth | string | See source | See source | — | pkg/config/config.go |
NORNICDB_AUTH_JWT_SECRET | Auth jwt secret | string | See source | See source | Sensitive; inject via secrets manager/runtime env | pkg/config/config.go |
NORNICDB_AUTH_PROVIDER | Auth provider | string | (unset) | Provider-specific; see feature docs | — | pkg/auth/oauth.go (+1) |
NORNICDB_AUTH_TOKEN_EXPIRY | Auth token expiry | string | See source | See source | Sensitive; inject via secrets manager/runtime env | pkg/config/config.go |
NORNICDB_AUTO_LINKS_ENABLED | Auto links enabled | boolean | See source | true | false | Per-database override key (Auto-links) | pkg/config/config.go (+2) |
NORNICDB_AUTO_LINKS_THRESHOLD | Auto links threshold | number | See source | See source | Per-database override key (Auto-links) | pkg/config/config.go (+2) |
NORNICDB_AUTO_RECOVER_ON_CORRUPTION | Auto recover on corruption | string | (unset) | See source | — | pkg/nornicdb/db.go (+1) |
NORNICDB_AUTO_TLP_ENABLED | Auto tlp enabled | boolean | See source | true | false | Per-database override key (Auto-TLP) | pkg/config/config.go (+3) |
NORNICDB_AUTO_TLP_LLM_AUGMENT_ENABLED | Auto tlp llm augment enabled | boolean | See source | true | false | Per-database override key (Auto-TLP) | pkg/config/dbconfig/keys.go (+1) |
NORNICDB_AUTO_TLP_LLM_QC_ENABLED | Auto tlp llm qc enabled | boolean | See source | true | false | Per-database override key (Auto-TLP) | pkg/config/dbconfig/keys.go (+1) |
NORNICDB_BADGER_EDGE_TYPE_CACHE_MAX_TYPES | BadgerEdgeTypeCacheMaxTypes is the max distinct edge types to cache for GetEdgesByType. When exceeded, the cache is cleared (simple eviction). | number | -1 | See source | — | pkg/config/config.go |
NORNICDB_BADGER_NODE_CACHE_MAX_ENTRIES | BadgerNodeCacheMaxEntries is the max nodes to keep in the hot node cache. When exceeded, the cache is cleared (simple eviction). | number | -1 | See source | — | pkg/config/config.go |
NORNICDB_BASE_PATH | Base URL path for reverse proxy deployment (e.g., /nornicdb) | string | See source | See source | — | cmd/nornicdb/main.go |
NORNICDB_BM25_PREFIX_MAX_EXPANSIONS | Bm25 prefix max expansions | number | 32 | See source | — | pkg/search/fulltext_index_v2.go |
NORNICDB_BM25_PREFIX_MIN_LEN | Bm25 prefix min len | number | 3 | See source | — | pkg/search/fulltext_index_v2.go |
NORNICDB_BOLT_ADDRESS | Bolt address | string | See source | See source | — | pkg/config/config.go |
NORNICDB_BOLT_ENABLED | Bolt enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_BOLT_PORT | Bolt protocol port (Neo4j compatible) | number | 7687 | 1..65535 | — | cmd/nornicdb/main.go (+1) |
NORNICDB_BOLT_SERVER_ANNOUNCEMENT | Override the Bolt HELLO SUCCESS server metadata for strict client compatibility checks such as cypher-shell | string | (unset) | Any non-empty string | Leave unset for native NornicDB announcement; use only as a compatibility workaround | pkg/config/config.go |
NORNICDB_BOLT_TLS_ENABLED | Bolt tls enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_BOLT_TLS_CERT | Path to Bolt TLS certificate PEM (cert rotation re-reads every 5s) | string | (unset) | filesystem path | Required when NORNICDB_BOLT_TLS_ENABLED=true | pkg/config/config.go |
NORNICDB_BOLT_TLS_KEY | Path to Bolt TLS private key PEM | string | (unset) | filesystem path | Required when NORNICDB_BOLT_TLS_ENABLED=true | pkg/config/config.go |
NORNICDB_BOLT_TLS_REQUIRE | Reject any plaintext connection on the Bolt port (raw OR ws) | bool | false | true / false | Returns the canonical Neo4j error to plaintext drivers | pkg/config/config.go |
NORNICDB_BOLT_TLS_CLIENT_CA | Path to client-CA bundle for mTLS | string | (unset) | filesystem path | Pairs with NORNICDB_BOLT_TLS_CLIENT_AUTH_MODE | pkg/config/config.go |
NORNICDB_BOLT_TLS_CLIENT_AUTH_MODE | Client-cert handling: none, request, request_verify, require_verify | string | none | enum | Maps to tls.Config.ClientAuth | pkg/config/config.go |
NORNICDB_BOLT_SNIFF_TIMEOUT | Bound on the transport-sniff peek | duration | 5s | > 0 | Timeout closes the conn and increments bolt_connections_rejected_total{reason=sniff_timeout} | pkg/config/config.go |
NORNICDB_BOLT_AUTH_TIMEOUT | Pre-HELLO handshake/auth budget after transport selection | duration | 30s | > 0 | Matches Neo4j default | pkg/config/config.go |
NORNICDB_BOLT_STATEMENT_TIMEOUT | Fallback cap for a Bolt RUN when the client did not send tx_timeout | duration | disabled | > 0 | Server-side safety net for long-running reads/writes over Bolt | pkg/config/config.go |
NORNICDB_BOLT_WEBSOCKET_ENABLED | Accept WebSocket transport on the Bolt port | bool | true | true / false | When false, real WS upgrades return 426; plain GET / still serves discovery | pkg/config/config.go |
NORNICDB_BOLT_WEBSOCKET_ALLOWED_ORIGINS | Comma-separated allowlist of WS Origin headers | string | * | comma-separated origins, or * | Browser drivers cross-origin to a remote DB by default | pkg/config/config.go |
NORNICDB_BOLT_WEBSOCKET_MAX_MESSAGE_SIZE | Inbound WS BinaryMessage size limit | number | 65536 | bytes; matches Neo4j MAX_WEBSOCKET_FRAME_SIZE | Exceeding triggers WS close 1009 + websocket_oversized_total++ | pkg/config/config.go |
NORNICDB_BOLT_WEBSOCKET_WRITE_BUFFER_SIZE | bufio writer size for WS sessions | number | 262144 | > 0 | Sized so a typical RECORD batch lands in one frame | pkg/config/config.go |
NORNICDB_BOLT_WEBSOCKET_PING_INTERVAL | Server WS ping cadence | duration | 30s | > 0 | WriteControl is gorilla-internal; safe alongside data writes | pkg/config/config.go |
NORNICDB_BOLT_WEBSOCKET_PONG_TIMEOUT | Pong arrival deadline | duration | 60s | > 0 | Closes idle WS sessions silently dropped by load balancers | pkg/config/config.go |
NORNICDB_BREACH_DETECTION_ENABLED | Breach detection enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_BREACH_NOTIFY_EMAIL | Breach notify email | string | See source | See source | — | pkg/config/config.go |
NORNICDB_BREACH_NOTIFY_WEBHOOK | Breach notify webhook | string | See source | See source | — | pkg/config/config.go |
NORNICDB_CLUSTER_ADVERTISE_ADDR | Cluster advertise address (defaults to bind addr) | string | See source | See source | — | cmd/nornicdb/main.go (+1) |
NORNICDB_CLUSTER_BIND_ADDR | Cluster bind address for replication protocol (e.g., 127.0.0.1:7000) | string | See source | See source | — | cmd/nornicdb/main.go (+1) |
NORNICDB_CLUSTER_CONFLICT_STRATEGY | Cluster conflict strategy | string | last_write_wins | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_CROSS_REGION_BATCH_SIZE | Cluster cross region batch size | number | 100 | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_CROSS_REGION_BATCH_TIMEOUT | Cluster cross region batch timeout | duration | 100*time.Millisecond | >= 0 | — | pkg/replication/config.go |
NORNICDB_CLUSTER_CROSS_REGION_MODE | Cluster cross region mode | string | See source | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_DATA_DIR | Cluster state directory (defaults to | string | See source | See source | — | cmd/nornicdb/main.go (+2) |
NORNICDB_CLUSTER_HA_AUTO_FAILOVER | Cluster ha auto failover | boolean | true | true | false | — | pkg/replication/config.go |
NORNICDB_CLUSTER_HA_FAILOVER_TIMEOUT | Cluster ha failover timeout | duration | 30*time.Second | >= 0 | — | pkg/replication/config.go |
NORNICDB_CLUSTER_HA_HEARTBEAT_MS | Cluster ha heartbeat ms | string | See source | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_HA_MAX_RECONNECT_BACKOFF | Cluster ha max reconnect backoff | duration | 30*time.Second | >= 0 | — | pkg/replication/config.go |
NORNICDB_CLUSTER_HA_PEER_ADDR | HA standby peer cluster address (host:port) | string | See source | See source | — | cmd/nornicdb/main.go (+1) |
NORNICDB_CLUSTER_HA_RECONNECT_INTERVAL | Cluster ha reconnect interval | duration | 5*time.Second | >= 0 | — | pkg/replication/config.go |
NORNICDB_CLUSTER_HA_ROLE | HA standby role: primary|standby | string | See source | See source | — | cmd/nornicdb/main.go (+1) |
NORNICDB_CLUSTER_HA_SYNC_MODE | Cluster ha sync mode | string | See source | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_HA_WAL_BATCH_SIZE | Cluster ha wal batch size | number | 1000 | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_HA_WAL_BATCH_TIMEOUT | Cluster ha wal batch timeout | duration | 10*time.Millisecond | >= 0 | — | pkg/replication/config.go |
NORNICDB_CLUSTER_MODE | Cluster mode: standalone|ha_standby|raft|multi_region (empty disables clustering) | string | See source | See source | — | cmd/nornicdb/main.go (+2) |
NORNICDB_CLUSTER_NODE_ID | Cluster node ID (empty auto-generates) | string | See source | See source | — | cmd/nornicdb/main.go (+1) |
NORNICDB_CLUSTER_RAFT_BOOTSTRAP | Raft bootstrap (true for first node in a new cluster) | boolean | false | true | false | — | cmd/nornicdb/main.go (+1) |
NORNICDB_CLUSTER_RAFT_CLUSTER_ID | Cluster raft cluster id | string | nornicdb | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_RAFT_COMMIT_TIMEOUT | Cluster raft commit timeout | duration | 50*time.Millisecond | >= 0 | — | pkg/replication/config.go |
NORNICDB_CLUSTER_RAFT_ELECTION_TIMEOUT | Cluster raft election timeout | duration | 1*time.Second | >= 0 | — | pkg/replication/config.go |
NORNICDB_CLUSTER_RAFT_HEARTBEAT_TIMEOUT | Cluster raft heartbeat timeout | duration | 100*time.Millisecond | >= 0 | — | pkg/replication/config.go |
NORNICDB_CLUSTER_RAFT_LEADER_LEASE_TIMEOUT | Cluster raft leader lease timeout | duration | 500*time.Millisecond | >= 0 | — | pkg/replication/config.go |
NORNICDB_CLUSTER_RAFT_MAX_APPEND_ENTRIES | Cluster raft max append entries | number | 64 | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_RAFT_MAX_INFLIGHT_LOGS | Cluster raft max inflight logs | number | 512 | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_RAFT_PEERS | Raft peers (format: node2:host2:7000,node3:host3:7000) | string | See source | See source | — | cmd/nornicdb/main.go (+1) |
NORNICDB_CLUSTER_RAFT_SNAPSHOT_INTERVAL | Cluster raft snapshot interval | number | 300 | >= 0 | — | pkg/replication/config.go |
NORNICDB_CLUSTER_RAFT_SNAPSHOT_RETAIN | Cluster raft snapshot retain | number | 3 | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_RAFT_SNAPSHOT_THRESHOLD | Cluster raft snapshot threshold | number | 10000 | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_RAFT_TRAILING_LOGS | Cluster raft trailing logs | number | 10000 | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_READ_CONSISTENCY | Cluster read consistency | string | See source | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_REGION_ID | Cluster region id | string | See source | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_REMOTE_REGIONS | Cluster remote regions | string | See source | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_REPLICATION_SECRET | Cluster replication secret | string | See source | See source | Sensitive; inject via secrets manager/runtime env | pkg/replication/config.go |
NORNICDB_CLUSTER_TLS_CA_FILE | Cluster tls ca file | string | See source | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_TLS_CERT_FILE | Cluster tls cert file | string | See source | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_TLS_CIPHER_SUITES | Cluster tls cipher suites | string | See source | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_TLS_ENABLED | Cluster tls enabled | boolean | false | true | false | — | pkg/replication/config.go |
NORNICDB_CLUSTER_TLS_INSECURE_SKIP_VERIFY | Cluster tls insecure skip verify | boolean | false | true | false | — | pkg/replication/config.go |
NORNICDB_CLUSTER_TLS_KEY_FILE | Cluster tls key file | string | See source | See source | Sensitive; inject via secrets manager/runtime env | pkg/replication/config.go |
NORNICDB_CLUSTER_TLS_MIN_VERSION | Cluster tls min version | string | 1.2 | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_TLS_SERVER_NAME | Cluster tls server name | string | See source | See source | — | pkg/replication/config.go |
NORNICDB_CLUSTER_TLS_VERIFY_CLIENT | Cluster tls verify client | boolean | true | true | false | — | pkg/replication/config.go |
NORNICDB_CLUSTER_TRACE_WRITES | Cluster trace writes | string | (unset) | See source | — | pkg/replication/ha_standby.go |
NORNICDB_CLUSTER_WRITE_CONSISTENCY | Cluster write consistency | string | See source | See source | — | pkg/replication/config.go |
NORNICDB_CONFIG | Path to YAML config file (overrides auto-discovery) | string | See source | See source | — | cmd/nornicdb/main.go (+1) |
NORNICDB_CONSENT_AUDIT_TRAIL | Consent audit trail | string | See source | See source | — | pkg/config/config.go |
NORNICDB_CONSENT_REQUIRED | Consent required | string | See source | See source | — | pkg/config/config.go |
NORNICDB_CONSENT_VERSIONING | Consent versioning | string | See source | See source | — | pkg/config/config.go |
NORNICDB_COOLDOWN_AUTO_INTEGRATION_ENABLED | Cooldown auto integration enabled | string | See source | See source | — | pkg/config/feature_flags.go |
NORNICDB_COOLDOWN_ENABLED | Cooldown enabled | string | See source | See source | — | pkg/config/feature_flags.go |
NORNICDB_CORS_ENABLED | EnableCORS enables CORS headers for cross-origin requests | string | See source | See source | — | pkg/config/config.go |
NORNICDB_CORS_ORIGINS | CORSOrigins is a comma-separated list of allowed origins Use "*" to allow all origins (not recommended for production with credentials) | string | See source | See source | — | pkg/config/config.go |
NORNICDB_DATA_ACCESS_ENABLED | Data access enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_DATA_DIR | Data directory | string | ./data | See source | — | cmd/nornicdb/main.go (+1) |
NORNICDB_DATA_ERASURE_ENABLED | Data erasure enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_DATA_EXPORT_ENABLED | Data export enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_DEBUG | Debug | string | (unset) | See source | — | pkg/server/server_middleware.go |
NORNICDB_DEFAULT_DATABASE | Default database | string | See source | See source | — | pkg/config/config.go |
NORNICDB_EDGE_DECAY_ENABLED | Edge decay enabled | string | See source | See source | — | pkg/config/feature_flags.go |
NORNICDB_EDGE_PROVENANCE_AUTO_INTEGRATION_ENABLED | Edge provenance auto integration enabled | string | See source | See source | — | pkg/config/feature_flags.go |
NORNICDB_EDGE_PROVENANCE_ENABLED | Edge provenance enabled | string | See source | See source | — | pkg/config/feature_flags.go |
NORNICDB_EMBEDDING_API_KEY | Embeddings API Key (openai) | string | See source | See source | Per-database override key (Embeddings); Sensitive; inject via secrets manager/runtime env | cmd/nornicdb/main.go (+4) |
NORNICDB_EMBEDDING_API_URL | Embedding API URL (ollama/openai) | string | http://localhost:11434 | See source | Per-database override key (Embeddings) | cmd/nornicdb/main.go (+4) |
NORNICDB_EMBEDDING_CACHE_SIZE | Embedding cache size (0=disabled, default 10000) | number | 10000 | See source | Per-database override key (Embeddings) | cmd/nornicdb/main.go (+3) |
NORNICDB_EMBEDDING_DIMENSIONS | Embedding dimensions | number | 1024 | See source | Per-database override key (Embeddings) | cmd/nornicdb/main.go (+4) |
NORNICDB_EMBEDDING_ENABLED | Enable embedding generation (semantic search). Default is off unless enabled via config/env. | boolean | false | true | false | Per-database override key (Embeddings) | cmd/nornicdb/main.go (+3) |
NORNICDB_EMBEDDING_GPU_LAYERS | GPU layers for local provider: -1=auto, 0=CPU only | number | -1 | See source | Per-database override key (Embeddings) | cmd/nornicdb/main.go (+4) |
NORNICDB_EMBEDDING_INCLUDE_LABELS | Embedding include labels | boolean | See source | true | false | Per-database override key (Embeddings) | pkg/config/config.go (+2) |
NORNICDB_EMBEDDING_MODEL | Embedding model name | string | bge-m3 | See source | Per-database override key (Embeddings) | cmd/nornicdb/main.go (+4) |
NORNICDB_EMBEDDING_PROPERTIES_EXCLUDE | Embedding properties exclude | string | See source | See source | Per-database override key (Embeddings) | pkg/config/config.go (+2) |
NORNICDB_EMBEDDING_PROPERTIES_INCLUDE | Embedding properties include | string | See source | See source | Per-database override key (Embeddings) | pkg/config/config.go (+2) |
NORNICDB_EMBEDDING_PROVIDER | Embedding provider: local, ollama, openai | string | local | Provider-specific; see feature docs | Per-database override key (Embeddings) | cmd/nornicdb/main.go (+4) |
NORNICDB_EMBEDDING_WARMUP_INTERVAL | EmbeddingWarmupInterval for periodic model warmup | duration | See source | >= 0 | Per-database override key (Embeddings) | pkg/config/config.go (+2) |
NORNICDB_EMBEDDING_CTX_TYPE | llama.cpp context type for embedding model (0=default, 1=MTP). Only set to 1 if the model has MTP layers. | number | 0 | 0 | 1 | — | pkg/config/config.go |
NORNICDB_EMBEDDING_POOLING_TYPE | Embedding pooling strategy (1=mean, 2=cls, 3=last, 4=rank). Default: 1 (mean pooling). | number | 1 | 1 | 2 | 3 | 4 | — | pkg/config/config.go |
NORNICDB_EMBEDDING_ATTENTION_TYPE | Attention masking for embedding model (0=causal, 1=non-causal/BERT-style). Default: 1 (non-causal). | number | 1 | 0 | 1 | — | pkg/config/config.go |
NORNICDB_EMBEDDING_FLASH_ATTN | Flash attention for embedding model (-1=auto, 0=disabled, 1=enabled). Default: -1 (auto-detect). | number | -1 | -1 | 0 | 1 | — | pkg/config/config.go |
NORNICDB_EMBED_BATCH_DELAY | Embed batch delay | duration | See source | >= 0 | Per-database override key (Embed worker) | pkg/config/config.go (+2) |
NORNICDB_EMBED_CHUNK_OVERLAP | Embed chunk overlap | number | 0 | See source | Per-database override key (Embed worker) | pkg/config/config.go (+2) |
NORNICDB_EMBED_CHUNK_SIZE | Embed chunk size | number | 0 | See source | Per-database override key (Embed worker) | pkg/config/config.go (+2) |
NORNICDB_EMBED_MAX_RETRIES | Embed max retries | number | 0 | See source | Per-database override key (Embed worker) | pkg/config/config.go (+2) |
NORNICDB_EMBED_SCAN_INTERVAL | Embed scan interval | duration | See source | >= 0 | Per-database override key (Embed worker) | pkg/config/config.go (+2) |
NORNICDB_EMBED_WORKER_NUM_WORKERS | Embed worker num workers | number | 0 | See source | Per-database override key (Embed worker) | pkg/config/config.go (+2) |
NORNICDB_ENABLE_PPROF | Enable /debug/pprof endpoints for performance profiling (WARNING: development/testing only) | boolean | false | true | false | — | cmd/nornicdb/main.go (+1) |
NORNICDB_ENCRYPTION_AT_REST | Encryption at rest | string | See source | See source | — | pkg/config/config.go |
NORNICDB_ENCRYPTION_ENABLED | EncryptionEnabled controls whether database encryption is active | boolean | false | true | false | — | pkg/config/config.go |
NORNICDB_ENCRYPTION_PROVIDER | Selects the at-rest encryption key-management mode for the database DEK | string | password | password, local, aws-kms, azure-keyvault, gcp-cloudkms | Provider-backed modes wrap and persist the Badger DEK instead of deriving it from a password | pkg/config/config.go |
NORNICDB_ENCRYPTION_KEY_URI | Logical or provider-native key URI recorded with persisted wrapped-DEK metadata | string | (unset) | Provider-specific URI or identifier | Used for audit metadata and provider routing | pkg/config/config.go |
NORNICDB_ENCRYPTION_MASTER_KEY | Local provider KEK material for dev/test CMEK mode | string | (unset) | 32-byte raw string, base64, or hex | Sensitive; required for local provider mode | pkg/config/config.go |
NORNICDB_ENCRYPTION_AWS_REGION | AWS region for AWS KMS-backed wrapping | string | (unset) | AWS region | Required with aws-kms | pkg/config/config.go |
NORNICDB_ENCRYPTION_AWS_KMS_KEY_ID | AWS KMS key ID or ARN used to wrap the database DEK | string | (unset) | AWS KMS key ID or ARN | Required with aws-kms | pkg/config/config.go |
NORNICDB_ENCRYPTION_AZURE_VAULT_NAME | Azure Key Vault name used for Key Vault-backed wrapping | string | (unset) | Azure Key Vault name | Required with azure-keyvault | pkg/config/config.go |
NORNICDB_ENCRYPTION_AZURE_KEY_NAME | Azure Key Vault key name used to wrap the database DEK | string | (unset) | Azure Key Vault key name | Required with azure-keyvault | pkg/config/config.go |
NORNICDB_ENCRYPTION_GCP_PROJECT | GCP project containing the Cloud KMS key | string | (unset) | GCP project ID | Required with gcp-cloudkms | pkg/config/config.go |
NORNICDB_ENCRYPTION_GCP_LOCATION | GCP location for the Cloud KMS key | string | (unset) | GCP location | Required with gcp-cloudkms | pkg/config/config.go |
NORNICDB_ENCRYPTION_GCP_KEY_RING | GCP Cloud KMS key ring used for wrapped-DEK operations | string | (unset) | GCP key ring | Required with gcp-cloudkms | pkg/config/config.go |
NORNICDB_ENCRYPTION_GCP_KEY_NAME | GCP Cloud KMS key name used to wrap the database DEK | string | (unset) | GCP key name | Required with gcp-cloudkms | pkg/config/config.go |
NORNICDB_ENCRYPTION_AUDIT_LOG_PATH | Local JSONL path for provider-backed audit events | string | <data_dir>/encryption-audit.jsonl | Writable filesystem path | Defaults to the data directory when unset | pkg/config/config.go |
NORNICDB_ENCRYPTION_AUDIT_SIGN_EVENTS | Enable HMAC signing for local encryption audit events | boolean | false | true | false | Requires NORNICDB_ENCRYPTION_AUDIT_SIGN_KEY | pkg/config/config.go |
NORNICDB_ENCRYPTION_AUDIT_SIGN_KEY | HMAC signing key for local encryption audit events | string | (unset) | Non-empty string | Sensitive; required when audit signing is enabled | pkg/config/config.go |
NORNICDB_ENCRYPTION_ROTATION_ENABLED | Enable automatic wrapped-DEK rotation checks for provider-backed modes | boolean | true | true | false | Rewraps persisted DEK metadata; does not hot-swap the live Badger key | pkg/config/config.go |
NORNICDB_ENCRYPTION_ROTATION_INTERVAL | Interval used to decide when the persisted wrapped DEK should be rewrapped | duration | 2160h | >= 0 | Default is 90 days | pkg/config/config.go |
NORNICDB_ENCRYPTION_IN_TRANSIT | Encryption in transit | string | See source | See source | — | pkg/config/config.go |
NORNICDB_ENCRYPTION_KEY_PATH | Encryption key path | string | See source | See source | Sensitive; inject via secrets manager/runtime env | pkg/config/config.go |
NORNICDB_ENCRYPTION_PASSWORD | EncryptionPassword for database encryption at rest Required when EncryptionEnabled is true. Use a strong password in production. | string | See source | See source | Sensitive; inject via secrets manager/runtime env | pkg/config/config.go |
NORNICDB_ENV | Environment is the runtime environment (development, production) | string | See source | See source | — | pkg/config/config.go |
NORNICDB_EVIDENCE_AUTO_INTEGRATION_ENABLED | Evidence auto integration enabled | string | See source | See source | — | pkg/config/feature_flags.go |
NORNICDB_EVIDENCE_BUFFERING_ENABLED | Evidence buffering enabled | string | See source | See source | — | pkg/config/feature_flags.go |
NORNICDB_FORCE_CPU | Force cpu | string | (unset) | See source | — | pkg/localllm/yzma_bindings.go |
NORNICDB_GC_PERCENT | Gc percent | number | 0 | See source | — | pkg/config/config.go |
NORNICDB_GPU_BACKEND | GPU backend: vulkan, cuda, metal, opencl (empty=auto-detect) | string | See source | See source | — | cmd/nornicdb/main.go |
NORNICDB_GPU_CLUSTERING_AUTO_INTEGRATION_ENABLED | Gpu clustering auto integration enabled | string | See source | See source | — | pkg/config/feature_flags.go |
NORNICDB_HEADLESS | Disable web UI and browser-related endpoints | boolean | false | true | false | — | cmd/nornicdb/main.go |
NORNICDB_HEIMDALL_ANOMALY_DETECTION | Heimdall anomaly detection | string | See source | See source | — | pkg/config/config.go |
NORNICDB_HEIMDALL_API_KEY | Heimdall api key | string | See source | See source | Sensitive; inject via secrets manager/runtime env | pkg/config/config.go |
NORNICDB_HEIMDALL_API_URL | Heimdall api url | string | See source | See source | — | pkg/config/config.go |
NORNICDB_HEIMDALL_BATCH_SIZE | Heimdall batch size | number | 0 | See source | — | pkg/config/config.go |
NORNICDB_HEIMDALL_CTX_TYPE | llama.cpp context type for Heimdall model (0=default, 1=MTP). Only set to 1 if the model has MTP layers. | number | 0 | 0 | 1 | — | pkg/config/config.go |
NORNICDB_HEIMDALL_POOLING_TYPE | Pooling strategy for Heimdall model (0=none, 1=mean, 2=cls, 3=last). Default: -1 (unspecified/none for generation). | number | -1 | -1 | 0 | 1 | 2 | 3 | — | pkg/config/config.go |
NORNICDB_HEIMDALL_ATTENTION_TYPE | Attention masking for Heimdall model (0=causal, 1=non-causal). Default: 0 (causal for generation). | number | 0 | 0 | 1 | — | pkg/config/config.go |
NORNICDB_HEIMDALL_FLASH_ATTN | Flash attention for Heimdall model (-1=auto, 0=disabled, 1=enabled). Default: -1 (auto-detect). | number | -1 | -1 | 0 | 1 | — | pkg/config/config.go |
NORNICDB_HEIMDALL_CONTEXT_SIZE | Heimdall context size | number | 0 | See source | — | pkg/config/config.go |
NORNICDB_HEIMDALL_ENABLED | Heimdall enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_HEIMDALL_GPU_LAYERS | Heimdall gpu layers | number | 0 | See source | — | pkg/config/config.go |
NORNICDB_HEIMDALL_MAX_CONTEXT_TOKENS | Heimdall max context tokens | number | 0 | See source | Sensitive; inject via secrets manager/runtime env | pkg/config/config.go |
NORNICDB_HEIMDALL_MAX_SYSTEM_TOKENS | Heimdall max system tokens | number | 0 | See source | Sensitive; inject via secrets manager/runtime env | pkg/config/config.go |
NORNICDB_HEIMDALL_MAX_TOKENS | Heimdall max tokens | number | 0 | See source | Sensitive; inject via secrets manager/runtime env | pkg/config/config.go |
NORNICDB_HEIMDALL_MAX_USER_TOKENS | Heimdall max user tokens | number | 0 | See source | Sensitive; inject via secrets manager/runtime env | pkg/config/config.go |
NORNICDB_HEIMDALL_MCP_ENABLE | Heimdall mcp enable | string | (unset) | See source | — | pkg/config/config.go |
NORNICDB_HEIMDALL_MCP_TOOLS | Heimdall mcp tools | string | See source | See source | — | pkg/config/config.go |
NORNICDB_HEIMDALL_MEMORY_CURATION | Heimdall memory curation | string | See source | See source | — | pkg/config/config.go |
NORNICDB_HEIMDALL_MODEL | Heimdall model | string | See source | See source | — | pkg/config/config.go |
NORNICDB_HEIMDALL_PLUGINS_DIR | HeimdallPluginsDir is the directory for Heimdall plugins | string | See source | See source | — | pkg/config/config.go |
NORNICDB_HEIMDALL_PROVIDER | Heimdall provider | string | See source | Provider-specific; see feature docs | — | pkg/config/config.go |
NORNICDB_HEIMDALL_RUNTIME_DIAGNOSIS | Heimdall runtime diagnosis | string | See source | See source | — | pkg/config/config.go |
NORNICDB_HEIMDALL_TEMPERATURE | Heimdall temperature | string | See source | See source | — | pkg/config/config.go |
NORNICDB_HNSW_DEFERRED_REBUILD_THRESHOLD | Hnsw deferred rebuild threshold | number | 10000 | See source | — | pkg/search/search.go |
NORNICDB_HNSW_LEXICAL_SEED_MAX_TERMS | Hnsw lexical seed max terms | number | 256 | See source | — | pkg/search/search.go |
NORNICDB_HNSW_LEXICAL_SEED_PER_TERM | Hnsw lexical seed per term | number | 8 | See source | — | pkg/search/search.go |
NORNICDB_HNSW_LIVE_UPDATE_MAX_N | Hnsw live update max n | number | 50000 | See source | — | pkg/search/search.go |
NORNICDB_HNSW_MAINT_INTERVAL_MS | Hnsw maint interval ms | string | See source | See source | — | pkg/search/search.go |
NORNICDB_HNSW_MAX_TOMBSTONE_OVERHEAD_FACTOR | Hnsw max tombstone overhead factor | string | See source | See source | — | pkg/search/search.go |
NORNICDB_HNSW_MIN_REBUILD_INTERVAL_SEC | Hnsw min rebuild interval sec | string | See source | See source | — | pkg/search/search.go |
NORNICDB_HNSW_REBUILD_ENABLED | Hnsw rebuild enabled | boolean | true | true | false | — | pkg/search/search.go |
NORNICDB_HNSW_TOMBSTONE_REBUILD_RATIO | Hnsw tombstone rebuild ratio | string | See source | See source | — | pkg/search/search.go |
NORNICDB_HTTPS_ENABLED | Https enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_HTTPS_PORT | Https port | number | 0 | 1..65535 | — | pkg/config/config.go |
NORNICDB_HTTP_ADDRESS | Http address | string | See source | See source | — | pkg/config/config.go |
NORNICDB_HTTP_ENABLED | Http enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_HTTP_PORT | HTTP API port | number | 7474 | 1..65535 | — | cmd/nornicdb/main.go (+1) |
NORNICDB_HTTP_TX_TIMEOUT | Http tx timeout | string | (unset) | >= 0 | — | pkg/server/server_middleware.go |
NORNICDB_KALMAN_ENABLED | Kalman enabled | string | See source | See source | — | pkg/config/config.go (+1) |
NORNICDB_KEY | Key | string | See source | See source | Sensitive; inject via secrets manager/runtime env | pkg/encryption/encryption.go |
NORNICDB_KMEANS_CLUSTERING_ENABLED | Kmeans clustering enabled | boolean | See source | true | false | Per-database override key (K-means) | pkg/config/config.go (+2) |
NORNICDB_KMEANS_CLUSTER_INTERVAL | KmeansClusterInterval is how often to run k-means clustering (0 = disabled) | duration | See source | >= 0 | Per-database override key (K-means) | pkg/config/config.go (+2) |
NORNICDB_KMEANS_MAX_ITERATIONS | Kmeans max iterations | number | 5 | See source | Per-database override key (K-means) | pkg/config/dbconfig/keys.go (+3) |
NORNICDB_KMEANS_MIN_EMBEDDINGS | KmeansMinEmbeddings is minimum embeddings required for k-means clustering | number | 0 | See source | Per-database override key (K-means) | pkg/config/config.go (+2) |
NORNICDB_KMEANS_NUM_CLUSTERS | KmeansNumClusters is the number of k-means clusters (0 = auto from dataset size). | number | 0 | See source | Per-database override key (K-means) | pkg/config/config.go (+4) |
NORNICDB_KMEANS_SEED_DOCS_PER_TERM | Kmeans seed docs per term | number | 1 | See source | — | pkg/search/ann_profile.go (+1) |
NORNICDB_KMEANS_SEED_MAX_TERMS | Kmeans seed max terms | number | 256 | See source | — | pkg/search/ann_profile.go (+1) |
NORNICDB_LIB | Lib | string | (unset) | See source | — | pkg/localllm/yzma_bindings.go |
NORNICDB_LOCKOUT_DURATION | Lockout duration | string | See source | See source | — | pkg/config/config.go |
NORNICDB_LOG_FORMAT | Log format | string | See source | See source | — | pkg/config/config.go |
NORNICDB_LOG_LEVEL | Log level | string | See source | See source | — | pkg/config/config.go |
NORNICDB_LOG_OUTPUT | Log output | string | See source | See source | — | pkg/config/config.go |
NORNICDB_LOG_QUERIES | Log all Bolt queries to stdout (for debugging) | boolean | false | true | false | — | cmd/nornicdb/main.go |
NORNICDB_LOW_MEMORY | Use minimal RAM (for resource constrained environments) | boolean | false | true | false | — | cmd/nornicdb/main.go |
NORNICDB_MASTER_PASSWORD | Master password | string | (unset) | See source | Sensitive; inject via secrets manager/runtime env | pkg/encryption/encryption.go |
NORNICDB_MAX_FAILED_LOGINS | Max failed logins | number | 0 | See source | — | pkg/config/config.go |
NORNICDB_MAX_TRANSACTIONS | Max transactions | number | 0 | See source | — | pkg/config/config.go |
NORNICDB_MCP_ENABLED | Enable MCP (Model Context Protocol) server for LLM tools | boolean | true | true | false | — | cmd/nornicdb/main.go |
NORNICDB_MEMORY_ARCHIVE_THRESHOLD | Memory archive threshold | string | See source | See source | — | pkg/config/config.go |
NORNICDB_MEMORY_DECAY_ENABLED | Memory decay enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_MEMORY_DECAY_INTERVAL | Memory decay interval | string | See source | >= 0 | — | pkg/config/config.go |
NORNICDB_MEMORY_LIMIT | Memory limit | string | See source | See source | — | pkg/config/config.go |
NORNICDB_MVCC_RETENTION_MAX_VERSIONS | MVCCRetentionMaxVersions keeps at most this many closed historical MVCC versions per key by default. The current head is preserved separately. | number | 1 | >= 0 | Applies as the default prune policy; does not start pruning by itself | pkg/config/config.go |
NORNICDB_MVCC_RETENTION_TTL | MVCCRetentionTTL protects MVCC versions newer than now-TTL from pruning. | duration | 0 | >= 0 | 0 disables age-based protection | pkg/config/config.go |
NORNICDB_MIN_PASSWORD_LENGTH | Min password length | number | 0 | See source | Sensitive; inject via secrets manager/runtime env | pkg/config/config.go |
NORNICDB_MODELS_DIR | ModelsDir is the directory containing local GGUF models | string | See source | See source | — | pkg/config/config.go |
NORNICDB_OAUTH_CALLBACK_URL | Oauth callback url | string | (unset) | See source | — | pkg/auth/oauth.go |
NORNICDB_OAUTH_CLIENT_ID | Oauth client id | string | (unset) | See source | — | pkg/auth/oauth.go |
NORNICDB_OAUTH_CLIENT_SECRET | Oauth client secret | string | (unset) | See source | Sensitive; inject via secrets manager/runtime env | pkg/auth/oauth.go |
NORNICDB_OAUTH_ISSUER | Oauth issuer | string | (unset) | See source | — | pkg/auth/oauth.go (+1) |
NORNICDB_PARSER | Parser | string | See source | See source | — | pkg/config/feature_flags.go |
NORNICDB_PERSIST_SEARCH_INDEXES | PersistSearchIndexes (EXPERIMENTAL) when true saves BM25, vector, and HNSW indexes under DataDir and loads them on startup so BuildIndexes can skip the full storage iteration. Default: false. Note: if indexes are incompatible/missing and must be rebuilt, startup can be long for large datasets. For example, rebuilding IVF-HNSW for ~1M embeddings can take ~30 minutes on startup (hardware dependent). | string | See source | See source | — | pkg/config/config.go |
NORNICDB_PER_NODE_CONFIG_AUTO_INTEGRATION_ENABLED | Per node config auto integration enabled | string | See source | See source | — | pkg/config/feature_flags.go |
NORNICDB_PER_NODE_CONFIG_ENABLED | Per node config enabled | string | See source | See source | — | pkg/config/feature_flags.go |
NORNICDB_PLUGINS_DIR | PluginsDir is the directory for APOC plugins | string | (unset) | See source | — | apoc/config.go (+1) |
NORNICDB_POOL_ENABLED | Pool enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_POOL_MAX_SIZE | Pool max size | number | 0 | See source | — | pkg/config/config.go |
NORNICDB_QDRANT_GRPC_ENABLED | Qdrant grpc enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_QDRANT_GRPC_LISTEN_ADDR | Qdrant grpc listen addr | string | See source | See source | — | pkg/config/config.go |
NORNICDB_QDRANT_GRPC_MAX_BATCH_POINTS | Qdrant grpc max batch points | number | 0 | See source | — | pkg/config/config.go |
NORNICDB_QDRANT_GRPC_MAX_TOP_K | Qdrant grpc max top k | number | 0 | See source | — | pkg/config/config.go |
NORNICDB_QDRANT_GRPC_MAX_VECTOR_DIM | Qdrant grpc max vector dim | number | 0 | See source | — | pkg/config/config.go |
NORNICDB_QUERY_CACHE_ENABLED | Query cache enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_QUERY_CACHE_SIZE | Query cache size | number | 0 | See source | — | pkg/config/config.go |
NORNICDB_QUERY_CACHE_TTL | Query cache ttl | string | See source | See source | — | pkg/config/config.go |
NORNICDB_QUERY_LOG_ENABLED | Query log enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_READ_ONLY | Read only | boolean | false | true | false | — | pkg/config/config.go |
NORNICDB_REMOTE_CREDENTIALS_KEY | Remote credentials key | string | (unset) | See source | Sensitive; inject via secrets manager/runtime env | pkg/server/server.go |
NORNICDB_RERANK_CTX_TYPE | llama.cpp context type for rerank model (0=default, 1=MTP). Only set to 1 if the model has MTP layers. | number | 0 | 0 | 1 | — | pkg/config/config.go |
NORNICDB_RERANK_POOLING_TYPE | Pooling strategy for rerank model (1=mean, 2=cls, 3=last, 4=rank). Default: 1 (mean pooling). | number | 1 | 1 | 2 | 3 | 4 | — | pkg/config/config.go |
NORNICDB_RERANK_ATTENTION_TYPE | Attention masking for rerank model (0=causal, 1=non-causal). Default: 1 (non-causal for reranking). | number | 1 | 0 | 1 | — | pkg/config/config.go |
NORNICDB_RERANK_FLASH_ATTN | Flash attention for rerank model (-1=auto, 0=disabled, 1=enabled). Default: -1 (auto-detect). | number | -1 | -1 | 0 | 1 | — | pkg/config/config.go |
NORNICDB_RERANK_DEBUG | Rerank debug | string | (unset) | See source | — | pkg/localllm/llama.go |
NORNICDB_RETENTION_AUTO_DELETE | Retention auto delete | boolean | false | true | false | Only used when retention is explicitly enabled | pkg/config/config.go |
NORNICDB_RETENTION_ENABLED | Retention enabled | boolean | false | true | false | Opt-in. When false, no retention manager or sweep worker starts. | pkg/config/config.go |
NORNICDB_RETENTION_EXEMPT_ROLES | Retention exempt roles | string | admin | comma-separated roles | Only used when retention is explicitly enabled | pkg/config/config.go |
NORNICDB_RETENTION_POLICY_DAYS | Retention policy days | number | 0 | See source | — | pkg/config/config.go |
NORNICDB_SALT | Salt | string | See source | See source | — | pkg/encryption/encryption.go |
NORNICDB_SEARCH_BM25_ENABLED | Master switch for BM25 fulltext search on this database. When false, no BM25 build runs and search returns no fulltext results. See § Precedence — CLI flags trump per-DB overrides; per-DB overrides trump this env var. Per-DB store edits via PUT /admin/databases/{name}/config are authoritative across restarts. | boolean | true | true | false | Per-database override key (Search) | pkg/config/config.go (+1) |
NORNICDB_SEARCH_BM25_ENGINE | Search bm25 engine | string | (unset) | See source | Per-database override key (Search) | pkg/config/dbconfig/keys.go (+2) |
NORNICDB_SEARCH_BM25_WARMING | When BM25 is enabled, choose startup (build at boot) or lazy (defer build until first inbound search query, blocks the request synchronously while warming). Health checks must NOT target /nornicdb/search for lazy databases. | enum | startup | startup | lazy | Per-database override key (Search) | pkg/config/config.go (+1) |
NORNICDB_SEARCH_BUILD_PROGRESS_LOG_SEC | Search build progress log sec | number | 15 | See source | — | pkg/search/search.go |
NORNICDB_SEARCH_DIAG_TIMINGS | Search diag timings | string | (unset) | See source | — | pkg/server/server_nornicdb.go |
NORNICDB_SEARCH_INDEX_PERSIST_DELAY_SEC | Search index persist delay sec | number | See source | See source | Per-database override key (Search) | pkg/config/dbconfig/keys.go (+1) |
NORNICDB_SEARCH_LOG_TIMINGS | Search log timings | string | See source | See source | — | pkg/search/search.go |
NORNICDB_SEARCH_MIN_SIMILARITY | SearchMinSimilarity is the minimum cosine similarity threshold for vector search results. Apple Intelligence embeddings produce scores in 0.2-0.8 range, bge-m3/mxbai produce 0.7-0.99. Default: 0.0 (let RRF ranking handle relevance filtering) | number | See source | See source | Per-database override key (Search) | pkg/config/config.go (+2) |
NORNICDB_SEARCH_RERANK_API_KEY | Search rerank api key | string | See source | See source | Per-database override key (Search); Sensitive; inject via secrets manager/runtime env | pkg/config/config.go (+2) |
NORNICDB_SEARCH_RERANK_API_URL | Search rerank api url | string | See source | See source | Per-database override key (Search) | pkg/config/config.go (+2) |
NORNICDB_SEARCH_RERANK_ENABLED | Search rerank enabled | boolean | See source | true | false | Per-database override key (Search) | pkg/config/config.go (+2) |
NORNICDB_SEARCH_RERANK_MODEL | Search rerank model | string | See source | See source | Per-database override key (Search) | pkg/config/config.go (+2) |
NORNICDB_SEARCH_RERANK_PROVIDER | Search rerank provider | string | See source | Provider-specific; see feature docs | Per-database override key (Search) | pkg/config/config.go (+2) |
NORNICDB_SEARCH_VECTOR_ENABLED | Master switch for vector search across every ANN strategy (HNSW, IVF-HNSW, brute-force, GPU, Metal, Qdrant pass-through). When false, node embeddings are NOT iterated into the in-memory ANN substrate — the strongest available memory-pressure lever. NORNICDB_EMBEDDING_ENABLED=false only stops the embed worker; user-set embedding properties are still iterated today. | boolean | true | true | false | Per-database override key (Search) | pkg/config/config.go (+1) |
NORNICDB_SEARCH_VECTOR_WARMING | When vector search is enabled, choose startup or lazy. Lazy defers the build until the first inbound search query and blocks the request synchronously while warming. Health checks must NOT target /nornicdb/search for lazy databases — use /nornicdb/health instead. | enum | startup | startup | lazy | Per-database override key (Search) | pkg/config/config.go (+1) |
NORNICDB_SESSION_TIMEOUT | Session timeout | string | See source | >= 0 | — | pkg/config/config.go |
NORNICDB_SLOW_QUERY_THRESHOLD | Slow query threshold | string | See source | See source | — | pkg/config/config.go |
NORNICDB_STDIO_LOG_COMPACT_SECONDS | Interval in seconds for automatic stdout/stderr log size checks | number | 3600 | >= 0 | — | cmd/nornicdb/main.go |
NORNICDB_STDIO_LOG_MAX_KB | Max size of stdout/stderr log files in KB before automatic truncation (0 disables) | number | 20480 | See source | — | cmd/nornicdb/main.go |
NORNICDB_STORAGE_SERIALIZER | StorageSerializer selects the primary storage serialization format ("gob", "msgpack"). MVCC version records and MVCC head metadata use Msgpack on the hot path. | string | See source | See source | Prefer msgpack for new deployments | pkg/config/config.go |
NORNICDB_STRICT_DURABILITY | Strict durability | string | See source | See source | — | pkg/config/config.go |
NORNICDB_TLS_DIR | Tls dir | string | See source | See source | — | pkg/config/config.go |
NORNICDB_TOPOLOGY_AB_TEST_ENABLED | Topology ab test enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_TOPOLOGY_AB_TEST_PERCENTAGE | Topology ab test percentage | number | 0 | See source | — | pkg/config/config.go |
NORNICDB_TOPOLOGY_ALGORITHM | Topology algorithm | string | See source | See source | — | pkg/config/config.go |
NORNICDB_TOPOLOGY_AUTO_INTEGRATION_ENABLED | Topology auto integration enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_TOPOLOGY_GRAPH_REFRESH_INTERVAL | Topology graph refresh interval | number | 0 | >= 0 | — | pkg/config/config.go |
NORNICDB_TOPOLOGY_MIN_SCORE | Topology min score | string | See source | See source | — | pkg/config/config.go |
NORNICDB_TOPOLOGY_TOPK | Topology topk | number | 0 | See source | — | pkg/config/config.go |
NORNICDB_TOPOLOGY_WEIGHT | Topology weight | string | See source | See source | — | pkg/config/config.go |
NORNICDB_TRACE_AUTH | Trace auth | string | (unset) | See source | — | pkg/server/server_middleware.go |
NORNICDB_TRACE_GRAPHQL | Trace graphql | string | (unset) | See source | — | pkg/server/server_router.go |
NORNICDB_TRANSACTION_TIMEOUT | Transaction timeout | string | See source | >= 0 | — | pkg/config/config.go |
NORNICDB_VECTOR_ANN_QUALITY | Vector ann quality | string | See source | See source | Per-database override key (HNSW) | pkg/config/dbconfig/keys.go (+3) |
NORNICDB_VECTOR_GPU_BRUTE_MAX_N | Vector gpu brute max n | number | 15000 | See source | Per-database override key (Vector) | pkg/config/dbconfig/keys.go (+1) |
NORNICDB_VECTOR_GPU_BRUTE_MIN_N | Vector gpu brute min n | number | 5000 | See source | Per-database override key (Vector) | pkg/config/dbconfig/keys.go (+1) |
NORNICDB_VECTOR_HNSW_EF_CONSTRUCTION | Vector hnsw ef construction | number | 0 | See source | Per-database override key (HNSW) | pkg/config/dbconfig/keys.go (+1) |
NORNICDB_VECTOR_HNSW_EF_SEARCH | Vector hnsw ef search | number | 0 | See source | Per-database override key (HNSW) | pkg/config/dbconfig/keys.go (+1) |
NORNICDB_VECTOR_HNSW_M | Vector hnsw m | number | 0 | See source | Per-database override key (HNSW) | pkg/config/dbconfig/keys.go (+1) |
NORNICDB_VECTOR_HNSW_METAL_MIN_CANDIDATES | Vector hnsw metal min candidates | number | 0 | See source | Per-database override key (HNSW) | pkg/config/dbconfig/keys.go (+1) |
NORNICDB_VECTOR_HYBRID_ROUTING_LEX_TOP_TERMS | Vector hybrid routing lex top terms | number | 64 | See source | — | pkg/search/hybrid_cluster_routing.go |
NORNICDB_VECTOR_HYBRID_ROUTING_W_LEX | Vector hybrid routing w lex | string | See source | See source | — | pkg/search/build_settings.go (+1) |
NORNICDB_VECTOR_HYBRID_ROUTING_W_SEM | Vector hybrid routing w sem | string | See source | See source | — | pkg/search/build_settings.go (+1) |
NORNICDB_VECTOR_IVFPQ_NPROBE | Vector ivfpq nprobe | number | 16 | See source | — | pkg/search/ann_profile.go |
NORNICDB_VECTOR_IVFPQ_RERANK_TOPK | Vector ivfpq rerank topk | number | 200 | See source | — | pkg/search/ann_profile.go |
NORNICDB_VECTOR_IVFPQ_TRAINING_SAMPLE_MAX | Vector ivfpq training sample max | number | 200000 | See source | — | pkg/search/ann_profile.go |
NORNICDB_VECTOR_IVF_HNSW_ENABLED | Vector ivf hnsw enabled | boolean | false | true | false | Per-database override key (IVF-HNSW) | pkg/config/dbconfig/keys.go (+1) |
NORNICDB_VECTOR_IVF_HNSW_MAX_CLUSTERS | Vector ivf hnsw max clusters | number | 1024 | See source | Per-database override key (IVF-HNSW) | pkg/config/dbconfig/keys.go (+1) |
NORNICDB_VECTOR_IVF_HNSW_MIN_CLUSTER_SIZE | Vector ivf hnsw min cluster size | number | 200 | See source | Per-database override key (IVF-HNSW) | pkg/config/dbconfig/keys.go (+1) |
NORNICDB_VECTOR_IVF_LISTS | Vector ivf lists | number | 0 | See source | — | pkg/search/ann_profile.go |
NORNICDB_VECTOR_PQ_BITS | Vector pq bits | number | 8 | See source | — | pkg/search/ann_profile.go |
NORNICDB_VECTOR_PQ_SEGMENTS | Vector pq segments | string | See source | See source | — | pkg/search/ann_profile.go |
NORNICDB_VECTOR_ROUTING_MODE | Vector routing mode | string | hybrid | See source | — | pkg/search/ann_profile.go (+1) |
NORNICDB_VECTOR_VFS_COMPACT_DEAD_RATIO | Vector vfs compact dead ratio | string | See source | See source | — | pkg/search/vector_file_store.go |
NORNICDB_VECTOR_VFS_COMPACT_MIN_OBSOLETE | Vector vfs compact min obsolete | number | 50000 | See source | — | pkg/search/vector_file_store.go |
NORNICDB_VECTOR_VFS_COMPACT_MIN_SIZE_MB | Vector vfs compact min size mb | number | 256 | See source | — | pkg/search/vector_file_store.go |
NORNICDB_WAL_AUTO_COMPACTION_ENABLED | Wal auto compaction enabled | string | See source | See source | — | pkg/config/config.go |
NORNICDB_WAL_ENABLED | Wal enabled | string | See source | See source | — | pkg/config/feature_flags.go |
NORNICDB_WAL_LEDGER_RETENTION_DEFAULTS | Wal ledger retention defaults | string | See source | See source | — | pkg/config/config.go |
NORNICDB_WAL_RETENTION_MAX_AGE | Wal retention max age | string | See source | See source | — | pkg/config/config.go |
NORNICDB_WAL_RETENTION_MAX_SEGMENTS | Wal retention max segments | number | 0 | See source | — | pkg/config/config.go |
NORNICDB_WAL_SNAPSHOT_RETENTION_MAX_AGE | Wal snapshot retention max age | string | See source | See source | — | pkg/config/config.go |
NORNICDB_WAL_SNAPSHOT_RETENTION_MAX_COUNT | Wal snapshot retention max count | number | 0 | See source | — | pkg/config/config.go |
NORNICDB_WAL_SYNC_INTERVAL | Wal sync interval | string | See source | >= 0 | — | pkg/config/config.go |
NORNICDB_WAL_SYNC_MODE | Wal sync mode | string | See source | See source | — | pkg/config/config.go |