6.3 KiB
Контейнерная приёмка на тестовом CHR — 2026-10-14
Актуальный источник по указанию пользователя: mikrotik.ltd, который ссылается на MikroTikPatch release7.24.5. Пользователь отклонил применение официального пакета244 из-за источника. Он не будет установлен. Из запрошенного архива извлечён только container-7.24.5.npk, 1,163,409bytes, SHA25670f1c5281a3d37b347e9a83c81d9daaac511357fe26cfbac11321e2dc1407259; архив29,675,363bytes совпал с digest опубликованного GitHub asset. Новый протокол. Main/option/python/keygen/patch scripts не выбраны и не выполнялись. Установка и перезапуски пока не согласованы; новый комплект подготовлен, не применён.
Целевой CHR: 104.165.244.7, контрольный 194.226.121.150 остаётся доступным. На обоих RouterOS7.24.5/x86_64; container feature уже разрешён, /container возвращает400. Первоначальная подготовка244 сохраняется как история, её официальный пакет применять нельзя. Подпись/совместимость нового container-пакета проверяет текущая RouterOS при установке; ключи проверки заменять нельзя. Бинарные архивы только в ignored tmp, в Git не публикуются.
До применения нужно отдельное согласие на временную установку пакета и перезапуск выбранного CHR. Это меняет набор пакетов, но сохраняет текущую версию7.24.5. Нельзя заменять версию, сбрасывать устройство или менять пароли/device-mode.
Последовательность после согласия:
- Снять приватный native export и контрольные GET состояния исходных интерфейсов, bridge/ports, IP/routes/firewall, файлов и пакетов. Сверить отсутствие собственных имён. Экспорт разрешён для тестовых CHR; полное восстановление конфигурации не выполнять.
- Передать ровно проверенный NPK по SSH с зафиксированным host key. Обычный JSON
contentsне использовать для бинарного пакета. Проверить имя/размер загруженного файла. - Однократно запросить reboot. Разрыв транспорта считать неподтверждённым ответом, не причиной повторять reboot. Дождаться read-only доступности; подтвердить7.24.5 и installed container package,
/container200, контрольный CHR доступен. - Подготовить только собственный минимальный контейнер, veth/bridge и каталог. Образ закрепить по digest; не использовать чужие registry credentials. Порты/адреса/маршруты/правила добавлять только при необходимости и с отдельными собственными именами/comment. Не менять существующие объекты или публиковать новый внешний порт ради проверки UI.
- Через реальный Portal/API/UI проверить start → running → stop → stopped → restart → running → remove, отрицательные права и повторное действие. Сверять native state, не только toast/HTTP ack. Отдельно фиксировать неизвестные промежуточные статусы.
- Удалить только собственный контейнер, veth/bridge/IP/каталоги/image/import файлы и сравнить исходные конфигурации. Если согласовано полное возвращение пакетов — удалить только новый container package и выполнить второй контролируемый reboot; подтвердить исходный набор/версию. Сохранение пакета требует явного решения пользователя.
Текущий статус (248, 2026-10-14): после отдельного повторного согласия удаление через UI исправлено и принято. Работающий контейнер блокируется UI и API409; после UI stop и native stopped выполнено UI remove200, отсутствие подтверждено повторным чтением. Повторный запрос даёт409. Start/stop/restart из247 и remove248 приняты в записанных границах. Backend учитывает native running/stopped flags и envlists. 29 E2E, backend-профиль, build и ESLint прошли. Собственные объекты и пакет удалены второй разрешённой перезагрузкой; исходные установленные пакеты и нормализованный экспорт совпали. Native-протокол, UI-протокол. Ранние формулировки подготовки выше отражают состояние до полученного согласия; пакет уже удалён. Полная история и границы — журнал.