futriix/Cargo.toml

82 lines
4.8 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# futriix config.toml
# Конфигурация Futriix DBMS с wait-free архитектурой
[server]
host = "127.0.0.1" # Хост для привязки сервера
http_port = 9090 # Порт HTTP сервера
https_port = 8443 # Порт HTTPS сервера
max_connections = 10000 # Максимальное количество одновременных подключений
connection_timeout = 30 # Таймаут соединения в секундах
http2_enabled = true # Включение поддержки HTTP/2
http = true # Новая директива: включение HTTP сервера
https = false # Новая директива: включение HTTPS сервера
[tls]
enabled = false # Включение TLS/SSL
cert_path = "/futriix/certs/server.crt" # Путь к сертификату сервера
key_path = "/futriix/certs/server.key" # Путь к приватному ключу
[replication]
enabled = true # Включение репликации
master_nodes = [
"node1.futriix:9090", # Основные узлы репликации
"node2.futriix:9090",
"node3.futriix:9090"
]
sync_interval = 1000 # Интервал синхронизации в миллисекундах
replication_factor = 3 # Фактор репликации (сколько копий данных)
[sharding]
enabled = true # Включение шардинга
shards = 3 # Количество шардов
replication_factor = 2 # Фактор репликации для шардинга
auto_balance = true # Автоматическая балансировка нагрузки
[cluster] # Новая секция для кластера
enabled = true # Включение кластерного режима
name = "futriix-main-cluster" # Имя кластера
[acl]
enabled = false # Включение контроля доступа (ACL)
allowed_ips = ["127.0.0.1", "192.168.1.0/24"] # Разрешенные IP-адреса
denied_ips = ["10.0.0.5"] # Запрещенные IP-адреса
[logging]
level = "info" # Уровень логирования (debug, info, warn, error)
file_path = "/futriix/logs/futriix.log" # Путь к файлу лога
max_file_size = 10485760 # Максимальный размер файла лога (10MB)
backup_count = 5 # Количество резервных копий логов
[backup]
enabled = true # Включение автоматического бэкапа
interval = 3600 # Интервал бэкапа в секундах (1 час)
retention = 7 # Время хранения бэкапов в днях
path = "/futriix/backups" # Директория для хранения бэкапов
[csv] # Новая секция для CSV
import_dir = "/futriix/csv/import" # Директория для импорта CSV файлов
export_dir = "/futriix/csv/export" # Директория для экспорта CSV файлов
max_file_size = 104857600 # Максимальный размер CSV файла (100MB)
[security]
require_authentication = false # Требовать аутентификацию
jwt_secret = "your-secret-key-here" # Секретный ключ для JWT токенов
password_hashing_rounds = 12 # Количество раундов хэширования паролей
[performance]
max_memory_mb = 1024 # Максимальное использование памяти в MB
cache_size_mb = 512 # Размер кэша в MB
worker_threads = 4 # Количество рабочих потоков
io_threads = 2 # Количество потоков ввода/вывода
[monitoring]
enabled = false # Включение мониторинга
prometheus_port = 9090 # Порт для метрик Prometheus
health_check_interval = 30 # Интервал проверки здоровья в секундах
[limits]
max_documents_per_collection = 1000000 # Максимальное количество документов в коллекции
max_collections = 1000 # Максимальное количество коллекций
max_indexes_per_collection = 16 # Максимальное количество индексов на коллекцию
request_timeout_ms = 5000 # Таймаут запроса в миллисекундах
max_request_size_mb = 10 # Максимальный размер запроса в MB