Конфигурация
Wippy настраивается через файлы .wippy.yaml. Все параметры имеют разумные значения по умолчанию.
Log Manager
Управляет маршрутизацией логов. Вывод в консоль настраивается через флаги CLI (-v, -c, -s).
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
propagate_downstream |
bool | true | Передавать логи в консоль/файл |
stream_to_events |
bool | false | Публиковать логи в шину событий |
min_level |
int | -1 | Минимальный уровень: -1=debug, 0=info, 1=warn, 2=error |
logmanager:
propagate_downstream: true
stream_to_events: false
min_level: 0
См.: Модуль Logger
Profiler
HTTP-сервер Go pprof для профилирования CPU и памяти. Включается флагом -p или через конфиг.
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
enabled |
bool | false | Запустить сервер профилировщика |
address |
string | localhost:6060 | Адрес прослушивания |
read_timeout |
duration | 15s | Таймаут чтения HTTP |
write_timeout |
duration | 15s | Таймаут записи HTTP |
idle_timeout |
duration | 60s | Таймаут keep-alive |
profiler:
enabled: true
address: "localhost:6060"
Доступен по адресу http://localhost:6060/debug/pprof/
Security
Глобальное поведение безопасности. Отдельные политики определяются как записи security.policy.
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
strict_mode |
bool | false | Запрещать доступ при неполном контексте безопасности |
security:
strict_mode: true
См.: Система безопасности, Модуль Security
Registry
Хранилище записей и история версий. Реестр содержит все конфигурационные записи.
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
enable_history |
bool | true | Отслеживать версии записей |
history_type |
string | memory | Хранилище: memory, sqlite, nil |
history_path |
string | .wippy/registry.db | Путь к SQLite |
registry:
history_type: sqlite
history_path: /var/lib/wippy/registry.db
См.: Концепция реестра, Модуль Registry
Relay
Маршрутизация сообщений между процессами на разных нодах.
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
node_name |
string | local | Идентификатор ноды |
relay:
node_name: worker-1
См.: Модель процессов
Supervisor
Управление жизненным циклом сервисов. Контролирует запуск и остановку супервизируемых записей.
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
host.buffer_size |
int | 1024 | Размер очереди сообщений |
host.worker_count |
int | NumCPU | Число параллельных воркеров |
supervisor:
host:
buffer_size: 2048
worker_count: 32
См.: Супервизия
Functions
Хост выполнения функций. Запускает записи function.lua.
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
host.buffer_size |
int | 1024 | Размер очереди задач |
host.worker_count |
int | NumCPU | Число параллельных воркеров |
functions:
host:
buffer_size: 2048
worker_count: 32
См.: Концепция функций, Модуль Funcs
Lua Runtime
Кэширование Lua VM и вычисление выражений.
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
proto_cache_size |
int | 60000 | Кэш скомпилированных прототипов |
main_cache_size |
int | 10000 | Кэш main-чанков |
expr.cache_enabled |
bool | true | Кэшировать скомпилированные выражения |
expr.capacity |
int | 5000 | Размер кэша выражений |
json.cache_enabled |
bool | true | Кэшировать JSON-схемы |
json.capacity |
int | 1000 | Размер кэша JSON |
lua:
proto_cache_size: 60000
expr:
cache_enabled: true
capacity: 5000
См.: Обзор Lua
Finder
Кэширование поиска по реестру. Используется внутренне для поиска записей.
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
query_cache_size |
int | 1000 | Кэш результатов запросов |
regex_cache_size |
int | 100 | Кэш скомпилированных регулярок |
finder:
query_cache_size: 2000
OpenTelemetry
Распределённая трассировка и экспорт метрик через OTLP.
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
enabled |
bool | false | Включить OTEL |
endpoint |
string | localhost:4318 | Эндпоинт OTLP |
protocol |
string | http/protobuf | Протокол: grpc, http/protobuf |
service_name |
string | wippy | Идентификатор сервиса |
sample_rate |
float | 1.0 | Частота семплирования (0.0-1.0) |
traces_enabled |
bool | false | Экспортировать трейсы |
metrics_enabled |
bool | false | Экспортировать метрики |
http.enabled |
bool | true | Трассировать HTTP-запросы |
process.enabled |
bool | true | Трассировать жизненный цикл процессов |
interceptor.enabled |
bool | false | Трассировать вызовы функций |
otel:
enabled: true
endpoint: "http://jaeger:4318"
traces_enabled: true
process:
trace_lifecycle: true
См.: Наблюдаемость
Shutdown
Корректное завершение работы.
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
timeout |
duration | 30s | Максимальное ожидание остановки компонентов |
shutdown:
timeout: 60s
Metrics
Буфер сбора внутренних метрик.
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
buffer.size |
int | 10000 | Размер буфера метрик |
interceptor.enabled |
bool | false | Автоматически отслеживать вызовы функций |
metrics:
buffer:
size: 20000
interceptor:
enabled: true
См.: Модуль Metrics, Наблюдаемость
Prometheus
Эндпоинт метрик Prometheus.
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
enabled |
bool | false | Запустить сервер метрик |
address |
string | localhost:9090 | Адрес прослушивания |
prometheus:
enabled: true
address: "0.0.0.0:9090"
Открывает эндпоинт /metrics для Prometheus.
См.: Наблюдаемость
Cluster
Многонодовая кластеризация с gossip-обнаружением.
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
enabled |
bool | false | Включить кластеризацию |
name |
string | hostname | Идентификатор ноды |
internode.bind_addr |
string | 0.0.0.0 | Адрес межнодового соединения |
internode.bind_port |
int | 0 | Порт (0=авто 7950-7959) |
membership.bind_port |
int | 7946 | Порт gossip |
membership.join_addrs |
string | Seed-ноды (через запятую) | |
membership.secret_key |
string | Ключ шифрования (base64) | |
membership.secret_file |
string | Путь к файлу ключа | |
membership.advertise_addr |
string | Публичный адрес для NAT |
cluster:
enabled: true
name: node-1
membership:
bind_port: 7946
join_addrs: "10.0.0.1:7946,10.0.0.2:7946"
secret_file: /etc/wippy/cluster.key
См.: Кластеризация
Переменные окружения
| Переменная | Описание |
|---|---|
GOMEMLIMIT |
Лимит памяти (переопределяет флаг --memory-limit) |
См. также
- Справочник CLI — параметры командной строки
- Типы записей — все типы записей
- Кластеризация — многонодовая настройка
- Наблюдаемость — логирование, метрики, трассировка