Граф коммитов
511 Коммитов
Автор SHA1 Сообщение Дата
Claude 4098c270a4 Интерфейс панели был полностью перерисован
Новый дизайн в стиле коммерческих продуктов, рассчитанный на обычного
пользователя:
- светлая и тёмная темы (следует системной), шрифт Inter и иконки
  Lucide вшиты в панель — работает без интернета;
- общий каркас base.html и компоненты _ui.html вместо 14 независимых
  страниц; адаптивная вёрстка для телефона;
- простой язык: «Работает / Выключена», «Автозапуск», «Доступ из
  интернета» вместо running, autostart, DNAT; технические данные
  убраны во вкладку «Для специалистов»;
- главная: загрузка процессора, памяти и хранилища, карточки машин с
  главным действием и меню остальных, приветственный сценарий для
  первой машины;
- мастер создания машины из трёх шагов с готовыми конфигурациями;
- страница машины с вкладками, переключателем автозапуска и порядком
  загрузки кнопками;
- «Сеть и доступ»: открытие SSH, сайта, RDP и т. д. из списка,
  ручные IP машин, понятная диагностика;
- загрузка образов перетаскиванием с прогрессом и оставшимся временем;
- подтверждения опасных действий в диалоге и уведомления;
- раздел «Помощь»;
- web/presenters.py переводит вывод virsh и /proc в данные для
  страниц; tests/dev_server.py запускает панель с имитацией virsh.

Также: исправлено определение модели CPU на x86 («207» вместо
названия процессора), история версии 0.10.0 и документация обновлены
под Ubuntu 26.04 LTS, в README добавлены скриншоты.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LEUXMcdZo7b87mjkUsPgg
2026-09-25 07:01:41 +00:00
Claude c4cebd916b Центр обновлений больше не предлагает откат на старую версию
Раньше обновление считалось доступным при любом расхождении локального
коммита и origin/main. Нода со сборкой новее main (например, из
ISO-образа ветки) получала предложение «обновиться» на старую версию,
а ночное автообновление откатывало её само. Теперь обновление
предлагается и ставится, только если локальный коммит — предок
удалённого.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LEUXMcdZo7b87mjkUsPgg
2026-09-25 07:01:30 +00:00
Claude 967f4c1a7e ISO был переведён на Ubuntu 26.04 LTS, установщик ноды стал переносимым
- build-iso.sh по умолчанию собирает образ на Ubuntu Server 26.04 LTS
  (Python 3.14), 24.04 остаётся через --ubuntu 24.04;
- install_virtuality_node.sh больше не падает на Ubuntu 26.04 и Debian 13:
  qemu-kvm стал виртуальным пакетом, поэтому QEMU выбирается по
  архитектуре, dnsutils заменён на bind9-dnsutils, а недоступные пакеты
  пропускаются с предупреждением;
- CI проверяет панель и на Python 3.14.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LEUXMcdZo7b87mjkUsPgg
2026-09-25 06:41:43 +00:00
Claude cadc17a6df Требования к reverse proxy были описаны в README
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LEUXMcdZo7b87mjkUsPgg
2026-09-25 06:37:58 +00:00
Claude 110a37f435 Версия проекта была обновлена до 0.10.0: тесты, CI и документация образа
- tests/: 55 тестов web-панели, авторизации, сети и обновлений,
  все страницы рендерятся на замоканных virsh/systemctl;
- GitHub Actions: pyflakes + pytest на Python 3.11–3.13, shellcheck,
  сборка ISO amd64/arm64 по тегу v* или вручную;
- Makefile: make check / make test / make iso;
- docs/IMAGE.md и README: установка с ISO, продакшен-настройки,
  разработка;
- updates/versions.json: описание версии 0.10.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LEUXMcdZo7b87mjkUsPgg
2026-09-25 06:36:26 +00:00
Claude 85648739dc Все пункты загрузочного меню ISO были переименованы в установку Virtuality
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LEUXMcdZo7b87mjkUsPgg
2026-09-25 06:33:17 +00:00
Claude d92b1b9bda Сборка установочного ISO-образа Virtuality была добавлена
image/build-iso.sh пересобирает официальный Ubuntu Server 24.04
live-server ISO (amd64/arm64) в установщик Virtuality:
- /autoinstall.yaml: установщик спрашивает только сеть, диск и
  пользователя, остальное автоматически; есть полностью
  автоматический режим --unattended;
- исходники Virtuality (git-репозиторий, чтобы работал центр
  обновлений) и Python-колёса для офлайн-установки панели;
- virtuality-firstboot.service при первой загрузке ставит KVM,
  libvirt, Cockpit, web-панель, vhealth и консольный dashboard,
  повторяя попытку до успеха.

Также: зависимости панели закреплены полностью, установщики работают
неинтерактивно и учитывают VIRTUALITY_USER, bootstrap.sh стал обёрткой
над install.sh.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LEUXMcdZo7b87mjkUsPgg
2026-09-25 06:31:55 +00:00
Claude 975ab4d1a0 Web-панель была подготовлена к продакшену
- исправлен NameError при создании VM: не был импортирован platform;
- на странице VM автозапуск всегда показывался выключенным;
- сообщения в redirect-URL теперь кодируются (кириллица, пробелы, &);
- проверка пароля вынесена в web/auth.py и работает на Python 3.13+,
  где модули crypt и spwd удалены (fallback на libcrypt и /etc/shadow);
- добавлены ограничение попыток входа, срок жизни сессии, флаг Secure
  для cookie, защита от cross-origin POST и заголовки безопасности;
- добавлен публичный /healthz с версией панели;
- правила проброса портов восстанавливаются после перезагрузки
  (virtuality-network.service);
- обновление из панели запускается через systemd-run и больше не
  убивается перезапуском virtuality-web;
- install_web_panel.sh сохраняет порт, пользователя и режим
  автообновления в /var/lib/virtuality/config/web.env, поэтому
  обновление больше не сбрасывает порт на 8088 и пользователя на viktor;
- поддержка офлайн-установки Python-зависимостей из wheels/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LEUXMcdZo7b87mjkUsPgg
2026-09-25 06:26:51 +00:00
Claude 10a780d381 Патчи установки были встроены в исходники web-панели
Раньше web/app.py, web/network_core.py и web/static/app.css собирались
на каждой ноде цепочкой из ~25 patch-скриптов во время установки.
Теперь результат этой цепочки хранится прямо в репозитории, а
install_web_panel.sh просто копирует web/ без модификаций. Поведение
установленной панели не меняется. Неиспользуемые patch-скрипты удалены.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LEUXMcdZo7b87mjkUsPgg
2026-09-25 06:22:28 +00:00
viktor 5f2bdd921d docs: подробный README (разбор проекта при переносе в Gitea)
Старый README сохранён как README.upstream.md.
2026-08-20 04:18:36 +09:00
Виктор 423c00b96a Версия проекта была обновлена до 0.9.6 2026-05-07 21:23:13 +09:00
Виктор 86d4f1c234 Визуальные блоки VM были подключены к техническому выводу 2026-05-07 21:22:53 +09:00
Виктор 9cbb7c909b Версия проекта была обновлена до 0.9.5 2026-05-07 21:19:30 +09:00
Виктор c8c3385142 Блоки информации VM были заменены на графические карточки 2026-05-07 21:19:06 +09:00
Виктор 135fa971df Версия проекта была обновлена до 0.9.4 2026-05-07 21:14:40 +09:00
Виктор be79d9ca33 Четыре основных блока VM были выстроены в один ряд 2026-05-07 21:14:18 +09:00
Виктор 82aa4697e0 Версия проекта была обновлена до 0.9.3 2026-05-07 21:07:09 +09:00
Виктор 2e30c6584f Блок управления VM был перенесён рядом с ресурсами 2026-05-07 21:06:39 +09:00
Виктор 367b0a69ff Версия проекта была обновлена до 0.9.2 2026-05-07 21:03:26 +09:00
Виктор a536f16d6c Страница входа была подключена к темам панели 2026-05-07 21:03:03 +09:00
Виктор 8c8628b982 Неиспользуемый шаблон базы знаний был удалён 2026-05-07 21:02:34 +09:00
Виктор bd40d5e4c3 Форма создания VM была очищена от несовместимых состояний 2026-05-07 20:59:13 +09:00
Виктор eb2e016116 Версия проекта была обновлена до 0.9.1 2026-05-07 20:55:07 +09:00
Виктор 4b7bb41fd7 Переключатель тем был добавлен 2026-05-07 20:54:51 +09:00
Виктор c61fdc4ed6 Тема MacOS Flat была добавлена 2026-05-07 20:54:08 +09:00
Виктор 778427b0d5 Версия проекта была обновлена 2026-05-07 20:49:07 +09:00
Виктор 5034ae8e83 Меню панели было пересобрано заново 2026-05-07 20:48:26 +09:00
Виктор e08b15c94c Интерфейс панели был пересобран заново 2026-05-07 20:47:57 +09:00
Виктор 36dd4dd9ea История версии 0.8.61 была добавлена 2026-05-07 20:43:24 +09:00
Виктор 36bbb99605 Версия была обновлена до 0.8.61 2026-05-07 20:42:37 +09:00
Виктор 2d52aea170 Защита загрузки образов дисков от случайного перехода была добавлена 2026-05-07 20:42:08 +09:00
Виктор cb775209e0 Защита загрузки ISO от случайного перехода была добавлена 2026-05-07 20:41:28 +09:00
Виктор 464760ee3f История версии 0.8.60 была добавлена 2026-05-07 20:36:51 +09:00
Виктор 5dcd34983f Версия была обновлена до 0.8.60 2026-05-07 20:36:06 +09:00
Виктор 724011c73c AJAX-навигация панели была отключена 2026-05-07 20:35:42 +09:00
Виктор 8a8a3e0361 История версии 0.8.59 была добавлена 2026-05-07 20:32:07 +09:00
Виктор 1722da95e3 Версия была обновлена до 0.8.59 2026-05-07 20:31:32 +09:00
Виктор ca5d5598d1 Раскрытие блока образов в базе знаний было восстановлено 2026-05-07 20:31:11 +09:00
Виктор e59e6cb14e История версии 0.8.58 была добавлена 2026-05-07 20:27:52 +09:00
Виктор 0b5a23bd86 Версия была обновлена до 0.8.58 2026-05-07 20:27:15 +09:00
Виктор 5c4be0f8ba Меню базы знаний было приведено к нормальному виду 2026-05-07 20:26:50 +09:00
Виктор 21dec34a9b История версии 0.8.57 была добавлена 2026-05-07 20:14:54 +09:00
Виктор 2b1e157c18 Версия была обновлена до 0.8.57 2026-05-07 20:14:00 +09:00
Виктор 9761193870 Меню карточки VM было подключено к общему шаблону 2026-05-07 20:13:15 +09:00
Виктор 1cce303132 Меню создания VM было подключено к общему шаблону 2026-05-07 20:12:22 +09:00
Виктор e534171cd7 Главное меню дашборда было подключено к общему шаблону 2026-05-07 20:11:16 +09:00
Виктор 3b68704adf История версии 0.8.56 была добавлена 2026-05-07 20:06:09 +09:00
Виктор 7aca9fb4b9 Версия была обновлена до 0.8.56 2026-05-07 20:04:49 +09:00
Виктор 17fdc2aeea Стили базы знаний были добавлены 2026-05-07 20:04:30 +09:00
Виктор ee81502f6d Ссылка базы знаний была направлена на статическую страницу 2026-05-07 20:03:27 +09:00