config.json 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. {
  2. "log_level": "info",
  3. "storage": {
  4. "bind_address": "localhost",
  5. "rpc_port": 9004,
  6. "node_id": "smartbotic-db",
  7. "data_directory": "/var/lib/smartbotic-database",
  8. "memory": {
  9. "max_memory_mb": 512,
  10. "eviction_threshold_percent": 80,
  11. "eviction_target_percent": 60,
  12. "eviction_check_interval_ms": 5000,
  13. "eviction_chunk_size": 1000,
  14. "eviction_chunk_pause_ms": 50,
  15. "max_eviction_passes_per_trigger": 20,
  16. "hot_write_floor_ms": 30000,
  17. "memory_soft_percent": 70,
  18. "memory_hard_percent": 85,
  19. "memory_emergency_percent": 95,
  20. "eviction_burst_threshold": 10000
  21. },
  22. "persistence": {
  23. "wal_sync_interval_ms": 100,
  24. "snapshot_interval_sec": 3600,
  25. "compression": "lz4",
  26. "snapshots": {
  27. "validate_after_write": true,
  28. "cleanup_only_if_verified": true
  29. },
  30. "recovery": {
  31. "mode": "normal",
  32. "auto_escalate": true,
  33. "allow_empty_on_fresh_install": true
  34. }
  35. },
  36. "grpc": {
  37. "max_receive_message_size_mb": 100,
  38. "max_send_message_size_mb": 100,
  39. "resource_quota_memory_mb": 256,
  40. "max_concurrent_subscribe_streams": 50,
  41. "max_concurrent_file_streams": 10
  42. },
  43. "encryption": {
  44. "enabled": true,
  45. "key_file": "/var/lib/smartbotic-database/storage.key",
  46. "auto_generate_key": true
  47. },
  48. "migrations": {
  49. "enabled": false,
  50. "directory": "/etc/smartbotic-database/migrations",
  51. "auto_apply": false
  52. },
  53. "files": {
  54. "max_file_size_mb": 500,
  55. "cleanup_orphans_interval_sec": 3600
  56. },
  57. "replication": {
  58. "enabled": false
  59. }
  60. }
  61. }