169 lines
5.9 KiB
TOML
169 lines
5.9 KiB
TOML
|
|
# Конфигурация flusql Database Server
|
|||
|
|
|
|||
|
|
[server]
|
|||
|
|
# Порт сервера
|
|||
|
|
port = 5432
|
|||
|
|
# Хост сервера
|
|||
|
|
host = "127.0.0.1"
|
|||
|
|
# Максимальное количество одновременных соединений
|
|||
|
|
max_connections = 100
|
|||
|
|
# Таймаут соединения в секундах
|
|||
|
|
timeout = 30
|
|||
|
|
# Размер пула потоков
|
|||
|
|
thread_pool_size = 4
|
|||
|
|
# Включить отладку
|
|||
|
|
debug = false
|
|||
|
|
# Путь к PID файлу (опционально)
|
|||
|
|
# pid_file = "/var/run/flusql.pid"
|
|||
|
|
|
|||
|
|
[database]
|
|||
|
|
# Директория для хранения данных
|
|||
|
|
data_dir = "./data"
|
|||
|
|
# Автоматически создавать базу данных при первом подключении
|
|||
|
|
auto_create = true
|
|||
|
|
# Режим транзакций
|
|||
|
|
transaction_mode = "write_ahead_log"
|
|||
|
|
# Размер кэша в МБ
|
|||
|
|
cache_size_mb = 100
|
|||
|
|
# Размер страницы в байтах (должен быть степенью двойки: 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536)
|
|||
|
|
page_size = 8192
|
|||
|
|
# Включить MVCC (Multi-Version Concurrency Control)
|
|||
|
|
mvcc_enabled = true
|
|||
|
|
# Включить WAL (Write-Ahead Logging)
|
|||
|
|
wal_enabled = true
|
|||
|
|
# Максимальный размер WAL в МБ
|
|||
|
|
max_wal_size_mb = 100
|
|||
|
|
# Автоматическая проверка целостности при запуске
|
|||
|
|
integrity_check = true
|
|||
|
|
# Частота автоматического сохранения в секундах
|
|||
|
|
auto_save_interval = 60
|
|||
|
|
# Максимальное количество открытых файлов БД
|
|||
|
|
max_open_files = 1000
|
|||
|
|
|
|||
|
|
[logging]
|
|||
|
|
# Уровень логирования (trace, debug, info, warn, error)
|
|||
|
|
level = "info"
|
|||
|
|
# Путь к файлу логов
|
|||
|
|
log_file = "flusql.log"
|
|||
|
|
# Максимальный размер файла логов в МБ
|
|||
|
|
max_size_mb = 10
|
|||
|
|
# Количество ротируемых файлов
|
|||
|
|
backup_count = 5
|
|||
|
|
# Формат логов (text, json)
|
|||
|
|
format = "json"
|
|||
|
|
# Включить логирование в stdout
|
|||
|
|
stdout_enabled = true
|
|||
|
|
# Включить логирование в stderr
|
|||
|
|
stderr_enabled = false
|
|||
|
|
# Включить логирование SQL запросов
|
|||
|
|
sql_logging = true
|
|||
|
|
# Порог для медленных запросов в секундах (опционально)
|
|||
|
|
# slow_query_threshold_sec = 5
|
|||
|
|
|
|||
|
|
[lua]
|
|||
|
|
# Включен ли Lua интерпретатор
|
|||
|
|
enabled = true
|
|||
|
|
# Путь к директории со скриптами
|
|||
|
|
scripts_dir = "./lua-scripts"
|
|||
|
|
# Максимальное время выполнения скрипта в секундах
|
|||
|
|
timeout_seconds = 30
|
|||
|
|
# Максимальная память для Lua VM в МБ
|
|||
|
|
memory_limit_mb = 100
|
|||
|
|
# Разрешить доступ к файловой системе
|
|||
|
|
filesystem_access = false
|
|||
|
|
# Разрешить сетевые операции
|
|||
|
|
network_access = false
|
|||
|
|
# Список разрешенных модулей
|
|||
|
|
allowed_modules = ["string", "table", "math", "os"]
|
|||
|
|
|
|||
|
|
[cluster]
|
|||
|
|
# Включен ли режим кластера
|
|||
|
|
enabled = false
|
|||
|
|
# Идентификатор узла
|
|||
|
|
node_id = "node_1"
|
|||
|
|
# Адрес узла
|
|||
|
|
node_address = "127.0.0.1:8080"
|
|||
|
|
# Режим кластера
|
|||
|
|
mode = "single"
|
|||
|
|
# Список узлов кластера
|
|||
|
|
# nodes = ["node_2@127.0.0.1:8081", "node_3@127.0.0.1:8082"]
|
|||
|
|
# Интервал heartbeat в секундах
|
|||
|
|
heartbeat_interval = 5
|
|||
|
|
# Таймаут heartbeat в секундах
|
|||
|
|
heartbeat_timeout = 30
|
|||
|
|
# Включить автоматическое восстановление
|
|||
|
|
auto_recovery = true
|
|||
|
|
# Максимальное количество реплик
|
|||
|
|
max_replicas = 3
|
|||
|
|
|
|||
|
|
[plugins]
|
|||
|
|
# Включена ли система плагинов
|
|||
|
|
enabled = true
|
|||
|
|
# Директория для плагинов
|
|||
|
|
plugins_dir = "./plugins"
|
|||
|
|
# Включить изоляцию плагинов (sandbox)
|
|||
|
|
sandbox_enabled = true
|
|||
|
|
# Максимальное количество плагинов
|
|||
|
|
max_plugins = 50
|
|||
|
|
# Автозагрузка плагинов при старте
|
|||
|
|
auto_load = true
|
|||
|
|
# Включить горячую перезагрузку плагинов
|
|||
|
|
hot_reload = false
|
|||
|
|
# Таймаут выполнения плагина в секундах
|
|||
|
|
plugin_timeout_sec = 30
|
|||
|
|
# Максимальный размер памяти плагина в МБ
|
|||
|
|
max_memory_mb = 100
|
|||
|
|
# Разрешенные API для плагинов
|
|||
|
|
allowed_apis = ["database", "table", "query", "event", "log"]
|
|||
|
|
# Запрещенные функции Lua
|
|||
|
|
blocked_functions = [
|
|||
|
|
"io.popen",
|
|||
|
|
"os.execute",
|
|||
|
|
"os.exit",
|
|||
|
|
"debug.debug",
|
|||
|
|
"debug.getregistry",
|
|||
|
|
"debug.setmetatable"
|
|||
|
|
]
|
|||
|
|
|
|||
|
|
[http]
|
|||
|
|
# Включен ли HTTP сервер
|
|||
|
|
enabled = false
|
|||
|
|
# Хост для HTTP сервера
|
|||
|
|
host = "127.0.0.1"
|
|||
|
|
# Порт HTTP сервера
|
|||
|
|
port = 8080
|
|||
|
|
# Порт HTTPS сервера
|
|||
|
|
https_port = 8443
|
|||
|
|
# Включена ли поддержка HTTP/2
|
|||
|
|
http2_enabled = false
|
|||
|
|
# Включена ли поддержка TLS
|
|||
|
|
tls_enabled = false
|
|||
|
|
# Путь к сертификату TLS (если tls_enabled = true)
|
|||
|
|
# tls_cert_path = "/path/to/cert.pem"
|
|||
|
|
# Путь к приватному ключу TLS (если tls_enabled = true)
|
|||
|
|
# tls_key_path = "/path/to/key.pem"
|
|||
|
|
|
|||
|
|
[replication]
|
|||
|
|
# Включена ли репликация
|
|||
|
|
enabled = false
|
|||
|
|
# Режим репликации
|
|||
|
|
mode = "async"
|
|||
|
|
# Мастер-сервер для репликации
|
|||
|
|
# master = "master@127.0.0.1:5432"
|
|||
|
|
# Список слейв-серверов
|
|||
|
|
# slaves = ["slave1@127.0.0.1:5433", "slave2@127.0.0.1:5434"]
|
|||
|
|
|
|||
|
|
[network]
|
|||
|
|
# IP-адрес для прослушивания
|
|||
|
|
host = "127.0.0.1"
|
|||
|
|
# Порт для прослушивания
|
|||
|
|
port = 8080
|
|||
|
|
# Разрешить удаленные подключения
|
|||
|
|
allow_remote = false
|
|||
|
|
# Таймаут соединения в секундах
|
|||
|
|
connection_timeout = 30
|
|||
|
|
# Максимальное количество соединений
|
|||
|
|
max_connections = 100
|
|||
|
|
# Размер буфера для сетевых операций в байтах
|
|||
|
|
buffer_size = 8192
|