v1.6.1
Веб-интерфейс управления кластером, аудитные логи, провайдер DeepSeek, обновлённые дашборды, MCP Gateway и гранулярные права доступа через Role Binding.
Что добавлено
Веб-интерфейс управления кластером
В разделе Cluster появились страницы для наблюдения за кластером и управления им без обращения к API:
- Status — состояние узлов, Raft-реплик и gossip. Узлы можно добавлять, выводить из работы (drain), активировать и исключать, а лидерство групп — передавать другим узлам.
- Shards — шарды, их реплики, число заказчиков и миграции. Шарды можно добавлять и удалять.
- Journal — история версий топологии кластера.
- Events — хронология смен лидеров, потери и восстановления кворума, изменений доступности узлов.
Заказчика можно перенести на другой шард со страницы заказчика.
Подробнее — в разделе Кластеризация.
Журнал аудитных логов
Страница Governance → Audit Logs показывает решения системы прав доступа: какой пользователь запросил какое разрешение к какому ресурсу, было ли обращение разрешено и по какой причине. Журнал фильтруется по периоду, разрешению, уровню ресурса и решению.
Запись включается параметром authz.access_audit_mode в config.json. По умолчанию она выключена.
Подробнее — на странице Аудитные логи.
Провайдер DeepSeek
Добавлен провайдер DeepSeek:
- Chat Completions и Responses API со streaming, tool calling и reasoning;
- beta text completions;
- подсчёт токенов;
- режим Anthropic-совместимых эндпоинтов на уровне ключа или алиаса модели.
Подробнее — на странице DeepSeek.
Обновлённые дашборды и расширенная фильтрация
Страница Observability → Dashboard получила новый интерфейс:
- вкладки обзора, использования провайдеров, рейтингов моделей, рейтингов по измерениям и MCP;
- графики объёма запросов, токенов, стоимости, задержки, пропускной способности и попаданий в кэш;
- экспорт данных.
Данные фильтруются по периоду и по провайдерам, моделям, алиасам, виртуальным ключам, заказчикам, командам, пользователям, бизнес-подразделениям, правилам маршрутизации, метаданным запросов и признаку кэширования.
MCP Gateway и каталог MCP-серверов
Появился раздел MCP Gateway для подключения MCP-серверов и управления ими:
- MCP Catalog — каталог инструментов подключённых MCP-серверов;
- MCP Library — установка MCP-серверов из подобранной библиотеки;
- Auth Sessions и OAuth Grants — пользовательские OAuth-сессии и выданные разрешения для MCP-серверов;
- MCP Settings — настройки шлюза;
- MCP Logs — журнал вызовов MCP-инструментов.
Использование MCP-инструментов отображается на отдельной вкладке дашборда.
Гранулярные права доступа через Role Binding
Права доступа назначаются привязкой встроенной роли к пользователю в определённой области: на весь шлюз, на заказчика, команду или пользователя. Привязки управляются на странице Governance → Role Bindings.
| Роль | Область | Назначение |
|---|---|---|
g.admin | Весь шлюз | Глобальный администратор |
g.viewer | Весь шлюз | Просмотр без изменений |
g.user-manager | Весь шлюз | Управление пользователями и governance |
g.budget-manager | Весь шлюз | Управление бюджетами |
s.admin | Заказчик, команда, пользователь | Администратор области |
s.user-manager | Заказчик, команда | Управление пользователями области |
s.budget-manager | Заказчик, команда | Управление бюджетами области |
s.viewer | Заказчик, команда, пользователь | Просмотр области |
Привязку нельзя изменить: чтобы сменить роль или область, удалите привязку и создайте новую.
Подробнее — на странице Управление ролями (RBAC).
Обновление с 1.5.3
Локальное хранилище Raft WAL и снапшотов
Обязательный шаг для кластера и режимов с PostgreSQL. В 1.6.1 Raft-журнал (WAL) и снапшоты бюджетных шардов хранятся не в PostgreSQL, а в локальном каталоге каждого узла. Перед обновлением подготовьте на каждом узле постоянное хранилище. Без него состояние Raft теряется при перезапуске контейнера или пода.
Требования к хранилищу:
- Постоянное. Каталог должен переживать перезапуск процесса, контейнера и пода.
emptyDirв Kubernetes и файловая система контейнера без volume не подходят. - Своё у каждого узла. Общий NFS или один volume на все узлы недопустим.
- Производительное. В каталог пишутся журнал и снапшоты всех шардов узла. Его размер и IOPS входят в профиль нагрузки.
- Резервное копирование. Бэкап базы данных больше не содержит Raft-журнал. Сохраняйте и базу, и каталог данных каждого узла.
Путь к каталогу задаётся в порядке приоритета: переменная MERIDIAN_DATA_DIR, поле cluster_config.data_dir, значение по умолчанию /var/lib/meridian/data. Docker-образ Meridian задаёт MERIDIAN_DATA_DIR=/app/data.
| Развёртывание | Что сделать |
|---|---|
| Docker / Docker Compose | Смонтируйте отдельный volume в /app/data для каждого узла. |
| Kubernetes | Используйте StatefulSet с volumeClaimTemplates: отдельный PVC на под, смонтированный в /app/data. |
| Виртуальные машины | Разместите data_dir на постоянном локальном диске узла и дайте процессу права на запись. |
Раскладка каталога:
<data_dir>/
node.bolt журнал событий отказоустойчивости
raft/
_meta.bolt топология кластера
budget/<shard_id>/
identity.json привязка узла, кластера, шарда и реплики
state.bolt применённый индекс и маркер снапшота
wal/ сегменты журнала
snap/ снапшотыЧто происходит при первом запуске 1.6.1:
- Узел один раз копирует состояние Raft из таблиц PostgreSQL прежнего формата в локальный каталог и оставляет маркер. Старые строки не изменяются.
- Дальше новые записи существуют только в локальном каталоге.
Откат на предыдущую версию возвращает состояние только на момент первого запуска 1.6.1. Не удаляйте таблицы прежнего формата, пока в кластере остаются узлы предыдущей версии.
Если каталог данных узла стёрт или смонтирован не к тому узлу, запуск завершается фатальной ошибкой привязки identity. Это защита от небезопасного возврата в кворум. Шаблоны Docker Compose, StatefulSet и systemd с правильным хранилищем — в разделе Конфигурация кластера.
Прочие изменения
- Пользователи с прежними ролями
admin,auditorиuser_managerполучают соответствующие глобальные ролиg.admin,g.viewerиg.user-manager. - Поле
deploymentsв настройках ключей Azure, Vertex и Bedrock заменено наaliases. Значения, сохранённые в базе данных, переносятся автоматически. Вconfig.jsonперенесите их вручную — см. Алиасы моделей. - Запись аудитных логов по умолчанию выключена. Чтобы вести журнал, задайте
authz.access_audit_mode.
Установка
Основной реестр — GitHub (ghcr.io). Веб-интерфейс кластера, аудитные логи и привязки ролей доступны в Enterprise-образе.
docker pull ghcr.io/neria-cloud/meridian:1.6.1
# или
docker pull cr.yandex/crpkr81t74cospldeta1/meridian:1.6.1docker pull ghcr.io/neria-cloud/meridian-ent:1.6.1
# или
docker pull cr.yandex/crpkr81t74cospldeta1/meridian-ent:1.6.1Ссылки
v1.6.2
Страница управления плагинами, HTTP-плагины с CEL-фильтром, образы -dyn для in-process Go-плагинов, уточнённая оценка стоимости запросов для резервирования бюджета и примеры плагинов guardrail и маршрутизации.
v1.5.3
Накопительный релиз с настраиваемыми политиками резервирования бюджета, явным сбросом бюджетов и серией исправлений учёта расходов.