Opfield 2.12.3

Диски под контролем на каждом узле, алерты о заполнении, защита консоли от ошибок ИИ-агентов, порядок правил в списках доступа, порядок переключения баз, реестр в S3 и улучшения Git-сборок.

Автор: команда Opfield3 мин чтения

Вышел Opfield 2.12.3. Основная работа в этом релизе ушла на то, чтобы диски не переполнялись, чтобы доступ агентов стал безопаснее, и на исправление шероховатостей в Git-сборках, Pages и управляемых базах данных. Ниже то, что заметит большинство пользователей. Полный список изменений — в журнале изменений.

Диски не растут без предела

Панель управления, которая гоняет сборки, образы и логи на десятках серверов, может незаметно заполнить диск. В 2.12.3 у всего, что растёт, есть предел.

  • Внутренний реестр хранит две сборки на контейнер, удаляет сборки удалённых источников и перестаёт принимать новые сборки, когда его диск заполнен на 90%.
  • Docker-узлы удаляют образы, которые никто не использовал 12 часов. У каждого контейнера остаётся образ, на котором он работает, и один для отката.
  • Логи контейнеров на Docker-узлах ограничены по размеру, в том числе у контейнеров, созданных до Opfield или в обход него. Nginx-узлы держат логи маршрутов в пределах лимита и удаляют логи удалённых маршрутов.
  • WAL и слоты репликации Postgres больше не заполняют диск базы.
  • Housekeeping держит собственные данные Opfield в пределах, даже когда он выключен, и запускается сразу, как только диск Opfield заполнен на 90%. Он же показывает, чем занят каждый диск: самые большие таблицы, Redis, логи контейнеров и старые образы на каждом узле.

Новые встроенные алерты предупреждают заранее: заполнение диска на 85% (для каждого диска данных узла), переполненный диск Opfield, переполненный диск базы данных и остановившийся Housekeeping.

Защита консоли для агентов

Ассистент и MCP-клиенты могут выполнять команды в консоли узла. Команды выполняются от root, так что агент действительно может починить узел. Но Docker, containerd и Podman в этой консоли скрыты: команда с Docker отклоняется, а в ответе указан инструмент Opfield, которым нужно воспользоваться.

Это защита от случайностей, а не граница безопасности. Она не даёт агенту по ошибке изменить управляемый контейнер в обход Opfield. Кроме того, агенты больше не могут выполнять команды по SSH на хостах, которые являются узлами Opfield.

Если управляемый контейнер всё же остановят, изменят или удалят вручную, сработает новый встроенный алерт «Container changed outside Opfield» с пояснением, что это значит.

Порядок правил в списках доступа

Правила списка доступа проверяются сверху вниз, срабатывает первое совпадение. Раньше порядок нельзя было поменять, и разрешающее правило, добавленное после широкого запрета, не срабатывало никогда. Теперь правила можно переставлять в интерфейсе, через API и MCP, а правила, которые никогда не сработают, помечаются.

Порядок переключения баз данных и хранилищ

Для управляемых Postgres, key-value хранилищ, ClickHouse и S3-хранилищ с доступностью теперь можно задать порядок переключения: какой сервер первым берёт работу на себя, если основной упал.

Реестр в S3

Внутренний реестр может хранить данные в S3, а не на диске хоста Opfield. При смене хранилища проверяется каждый образ, который реестр держит для рабочих нагрузок.

Pages и страницы ошибок

Проекты Pages отдают собственный 404.html для несуществующих путей, со статусом 404.

Все страницы, которые nginx генерирует сам (ошибки, отказ в доступе, недоступный upstream, сервер по умолчанию), теперь оформлены как страницы Opfield. Собственные страницы ошибок ваших приложений проходят без изменений.

Git-источники

  • Контейнер с Git-источником можно откатить на предыдущую сборку: на вкладке Source, через API или MCP.
  • Упавшая сборка показывает шаг Dockerfile, на котором она упала, и код выхода, а источник объясняет, почему сборка не удалась или ничего не развернула.
  • Переменные окружения, секреты и тома можно задать до первой сборки, а первая сборка запускается сразу.
  • Политика безопасности сборок может блокировать только уязвимости, для которых есть исправление, — для пакетов приложения или для всех пакетов.

Ещё в этом релизе

Маршруты за Cloudflare видят настоящий IP клиента в списках доступа, лимитах запросов и логах. Управляемый Postgres работает на собственных образах Opfield, а PostGIS и pgRouting ставятся по запросу на вкладке Extensions.

Что важно знать перед обновлением: архивы контейнеров теперь в формате Opfield (.ofca). Архивы, выгруженные предыдущими версиями, импортировать нельзя.

Self-hosted-инсталляции обновляются как обычно. Управляемые облачные инсталляции обновятся в своё окно обслуживания.