config.json 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. },
  21. "persistence": {
  22. "wal_sync_interval_ms": 100,
  23. "snapshot_interval_sec": 3600,
  24. "compression": "lz4",
  25. "snapshots": {
  26. "validate_after_write": true,
  27. "cleanup_only_if_verified": true
  28. },
  29. "recovery": {
  30. "mode": "normal",
  31. "auto_escalate": true,
  32. "allow_empty_on_fresh_install": true
  33. }
  34. },
  35. "grpc": {
  36. "max_receive_message_size_mb": 100,
  37. "max_send_message_size_mb": 100,
  38. "resource_quota_memory_mb": 256,
  39. "max_concurrent_subscribe_streams": 50,
  40. "max_concurrent_file_streams": 10
  41. },
  42. "encryption": {
  43. "enabled": true,
  44. "key_file": "/var/lib/smartbotic-database/storage.key",
  45. "auto_generate_key": true
  46. },
  47. "migrations": {
  48. "enabled": false,
  49. "directory": "/etc/smartbotic-database/migrations",
  50. "auto_apply": false
  51. },
  52. "files": {
  53. "max_file_size_mb": 500,
  54. "cleanup_orphans_interval_sec": 3600
  55. },
  56. "replication": {
  57. "enabled": false
  58. }
  59. }
  60. }