Дорожная карта¶
Что намечено сделать — в порядке приоритета, с честными оговорками о состоянии каждого пункта. Обновляется по мере движения; сделанное переезжает на страницу «Состояние проекта».
Ближайшее¶
Подпись манифестов обновлений¶
Сейчас поезд обновлений отдаётся по HTTPS, пакеты сверяются контрольными суммами из манифеста — но сам манифест держится на одном TLS. Ключ подписи релизов у проекта уже есть (ed25519, им подписаны ISO); осталось перевести на него и манифесты, заменив унаследованную схему, которая опиралась на удостоверяющий центр iX и была вырезана.
Веб-интерфейс контейнеров¶
Контейнеры работают с командной строки — теперь нужен интерфейс. Не клон Portainer, а тот минимум, ради которого человек ставит NAS:
- список контейнеров и образов, состояние, потребление;
- скачать образ, создать контейнер: имя, порты, датасет внутрь, переменные окружения, автозапуск;
- запустить, остановить, удалить, посмотреть журнал;
- ссылка на веб-морду приложения, если контейнер её отдаёт.
По дороге интерфейс должен сам решать два известных подводных камня:
хранилище podman обязано жить на датасете (иначе уедет в tmpfs), а для
Linux-образов — показывать состояние эмуляции, а не молча падать с
Exec format error.
Среднесрочное¶
Файрвол в веб-интерфейсе¶
В TrueNAS его не было никогда — сознательное решение iX «NAS — не файрвол». Мы считаем иначе: система с данными стоит в сети, и правила фильтрации должны настраиваться из интерфейса. Исследование проведено: за основу берётся модель правил OPNsense (BSD-лицензия), бэкенд — pf, пользовательские правила изолируются в собственном anchor и не трогают NAT контейнеров, применение атомарное с защитой от самоотстрела (неудаляемое правило доступа к интерфейсу + подтверждение с таймером отката). Реализация не начата.
Новый механизм обновлений: pkgbase + bectl¶
Унаследованный апдейтер написан в 2014 году, когда штатных инструментов не было, и возит систему гигабайтным архивом. FreeBSD 15 официально поддерживает pkgbase — базовую систему как обычные pkg-пакеты. План: новая загрузочная среда клоном (copy-on-write), обновление пакетов внутри неё штатным pkg, активация, перезагрузка; откат — активация прежней среды. Типовое обновление станет стоить мегабайты вместо гигабайта, а старая версия физически не затрагивается.
Автопубликация сборок¶
Сборка проходит от исходников до ISO автоматически, но публикация в поезд обновлений пока выполняется руками. Довести конвейер до конца: собралось — прошло приёмку — опубликовалось.
Дальше¶
- Шире тестовое покрытие: разные дисковые контроллеры, raidz-пулы, отдельные устройства кэша и журнала, поведение под реальной нагрузкой.
- Готовые аппаратные хранилища на BSDnas — идея на стадии оценки.
Чего в этой карте нет¶
Сроков: обещание даты стоило бы дороже самой фичи. Порядок пунктов — это и есть обещание: что выше, то раньше.