feat(node): configure system environment through the desktop workflow
This commit is contained in:
@@ -21,6 +21,8 @@ capabilities или готовностью к съёмке. Устройства
|
||||
## Node: согласованное размещение
|
||||
|
||||
- Верхний раздел «Система» вместо «Состояние системы».
|
||||
- Первый пункт слева — «Настройка окружения»: кнопка «Сконфигурировать»
|
||||
запускает общий версионный профиль системных действий с проверяемыми этапами.
|
||||
- «Обзор БК»: ОС, архитектура, CPU/RAM, имя, сводка фактических подключений.
|
||||
Название редактируется в блоке «Название БК». Самоподтверждающий зелёный
|
||||
статус «Node работает» удаляется. Сведения имеют время получения.
|
||||
@@ -32,8 +34,9 @@ capabilities или готовностью к съёмке. Устройства
|
||||
привязки к Core. Подключение Core отделено от настройки сетевого транспорта.
|
||||
- «Диагностика»: существующий очищенный отчёт и замечания инвентаризации.
|
||||
Это ограниченная диагностика, не полный support bundle всех будущих модулей.
|
||||
- Отдельная «Конфигурация системы» удаляется. Состояния SSH/Tailscale и
|
||||
оборудования входят в сводку; операции остаются в своих подразделах.
|
||||
- Прежняя пассивная «Конфигурация системы» заменена рабочей «Настройкой
|
||||
окружения» по последующему уточнению владельца. Состояния входят в обзор;
|
||||
полный сценарий подготовки доступен в первом пункте «Системы».
|
||||
- Верхние «Устройства» предназначены для драйверных K1, D455 и следующих
|
||||
сенсоров. Системный USB-список там не дублируется. В этом приращении
|
||||
вкладка недоступна до появления рабочего подключения через драйвер;
|
||||
@@ -142,7 +145,7 @@ adapter и K1 Bridge в общей с БК локальной сети. Близ
|
||||
## Порядок реализации и приёмка
|
||||
|
||||
1. Текущее приращение: перенос существующих страниц в «Систему», обзор БК,
|
||||
переименование полей, устранение отдельной конфигурации и self-status.
|
||||
переименование полей, устранение self-status и единая настройка окружения.
|
||||
Сборка .deb и GUI-проверка на физическом Mini.
|
||||
2. Закрыть оставшиеся системные проверки P1 по предыдущему отчёту:
|
||||
чистая установка, GUI upgrade/repair, reboot и SSH lifecycle без консоли.
|
||||
@@ -160,7 +163,7 @@ Select/TextField/TextAreaField, Window/ConfirmationModal, StatusBadge,
|
||||
ActivityIndicator, ToastStack. Новых визуальных примитивов и копий DG нет.
|
||||
|
||||
Для текущей приёмки: USB доступен из «Системы»; прежних remote/setup маршрутов
|
||||
нет; имя БК сохраняется; сводка не объявляет подключение камеры по USB готовым
|
||||
нет (новая настройка — environment); имя БК сохраняется; сводка не объявляет подключение камеры по USB готовым
|
||||
драйвером; Tailscale/SSH открываются из сводки; плюс SSH работает после переноса;
|
||||
темы/узкое окно и recovery сеанса не нарушены. Для будущего сопряжения:
|
||||
добавленный аппарат сохраняется после reload/restart и открывает именно
|
||||
@@ -192,3 +195,66 @@ Go race tests проверяют ошибку чтения отдельно от
|
||||
адресов без вымышленных данных. Через UI изолированной ноды подтверждены
|
||||
«Нет сведений» в сводке, сообщение об ошибке на странице сети и появление
|
||||
интерфейса после восстановления и нажатия «Обновить сведения».
|
||||
|
||||
|
||||
## Уточнение владельца: единая настройка окружения (0.4.0)
|
||||
|
||||
Эта поправка заменяет раннее решение об удалении страницы конфигурации.
|
||||
Оператор получает чистую поддерживаемую систему и .deb. Пакет устанавливает
|
||||
минимум для открытия приложения и непривилегированной службы. После запуска
|
||||
первым слева открывается «Настройка окружения». Кнопка «Сконфигурировать»
|
||||
выполняет весь текущий системный профиль; ручные действия инженера по SSH
|
||||
не считаются продуктовой реализацией или приёмкой.
|
||||
|
||||
Единый источник этапов — `internal/node/environment-profile.json`. Он входит
|
||||
и в API/UI, и в установленный пакет. Текущие автоматические этапы:
|
||||
|
||||
1. Проверка совместимости системы и архитектуры.
|
||||
2. Установка недостающих OpenSSH Server и системных зависимостей.
|
||||
3. Настройка службы БК и автозапуска, включая разрешение чтения netlink.
|
||||
4. Получение интерфейсов и адресов именно из непривилегированной службы БК.
|
||||
5. Получение USB-инвентаризации из той же службы.
|
||||
6. Подключение реестра доверенных ключей, проверка конфигурации и запуск SSH.
|
||||
7. Установка Tailscale и проверка его системной службы.
|
||||
|
||||
В этом же разделе доступны реестр доверенных SSH-устройств с формой добавления
|
||||
публичного ключа и блок фактического входа в Tailscale. Установленная служба
|
||||
не означает зарегистрированный ключ, удалённый SSH-вход или авторизованную
|
||||
частную сеть. Эти состояния показываются отдельно по наблюдаемому результату.
|
||||
Ключ и вход требуют действия оператора через UI; помощник не подставляет
|
||||
инженерные ключи и не использует общую учётную запись из пакета.
|
||||
|
||||
Каждая строка проходит ожидание → выполнение → готово/ошибка. Зависимые от
|
||||
неуспешного этапа строки блокируются, независимые проверки продолжаются.
|
||||
Повторный запуск заново проверяет результат, сохраняет существующие identity,
|
||||
ключи и сетевые предпочтения; завершённая ранее строка не даёт автоматическую
|
||||
галочку новому запуску. Закрытие окна не прерывает системное задание или dpkg.
|
||||
Последний результат сохраняется атомарно; повторное открытие показывает его,
|
||||
прерванное заданием/перезагрузкой выполнение не выдаётся за успех.
|
||||
|
||||
Фиксированный polkit-helper запускает отдельное root-owned systemd-задание.
|
||||
Из UI не принимаются команды, пути, имена пакетов или произвольные аргументы.
|
||||
Web API читает состояние, но не запускает привилегированные действия.
|
||||
После изменения службы native launcher обновляет локальный сеанс. Повторная
|
||||
установка/удаление пакета во время задания отклоняется с понятной причиной;
|
||||
блокировки APT не удаляются и активная транзакция не завершается принудительно.
|
||||
|
||||
Исправление netlink из 0.3.2 теперь принадлежит этому сценарию: managed drop-in
|
||||
устанавливается кнопкой настройки. Проверяется фактический доступ службы к
|
||||
сети без CAP_NET_ADMIN. На этом этапе пустые/недоступные сведения различаются.
|
||||
Чужие конфигурации в управляемых путях сохраняются и дают конфликт, который
|
||||
нельзя скрывать зелёной галочкой или ручным исправлением только на Mini.
|
||||
Любое следующее необходимое изменение ОС должно расширять версионный профиль,
|
||||
его скрипт, проверку результата и сценарий GUI-приёмки на чистой системе.
|
||||
|
||||
Во всех текстах операторского интерфейса используется «система». Название и
|
||||
версия ОС выводятся один раз в «Обзор БК» из фактической инвентаризации.
|
||||
Название дистрибутива не является частью навигации, форм SSH, системных
|
||||
подтверждений или ошибок. Это не расширяет совместимость: профиль пакета
|
||||
по-прежнему допускает только Ubuntu 24.04 LTS Desktop amd64.
|
||||
|
||||
Приёмка этого приращения требует запуска именно штатной кнопкой на Mini,
|
||||
наблюдения этапов, повторной настройки без потери доступа/identity, проверки
|
||||
SSH-формы и состояния Tailscale. Чистая установка, перезагрузка и полный
|
||||
GUI upgrade/remove остаются отдельными проверками P1; отладочный вызов
|
||||
helper по SSH не заменяет ни одну из них.
|
||||
|
||||
Reference in New Issue
Block a user