Первая загрузка образа переписана: панель ставится первой, прогресс виден в мастере

- virtuality_firstboot.sh: шаги panel → network → virtualization → tools → finish,
  прогресс в config/setup.json (в т.ч. имена пакетов apt), идемпотентный повтор
  после ошибки, /etc/issue с адресом панели
- install_web_panel.sh: поэтапная замена web/ с сохранением web.prev, офлайн
  virtualenv с pip из wheel, юниты/TLS/firewall через virtuality-ctl reconfigure,
  мастер настройки и для ручной установки
- virtuality-ctl url; путь к исходникам хранится в web.env
- build-iso.sh: wheel pip в образе, часовой пояс по GeoIP
- Cockpit, консольный dashboard, тестовая VM, clean_install, setup_bridge_br0,
  bootstrap.sh и setup_github_sync.sh были убраны (заменены мастером и virtuality-ctl)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019LEUXMcdZo7b87mjkUsPgg
Этот коммит содержится в:
Claude
2026-09-25 14:50:16 +00:00
родитель 9cf8c3e4b7
Коммит 55f7d971f6
18 изменённых файлов: 351 добавлений и 1351 удалений
+4 -1
Просмотреть файл
@@ -11,7 +11,6 @@ DATA_DIR="/var/lib/virtuality"
LOG_DIR="/var/log/virtuality"
APP_DIR="/opt/virtuality/web"
VENV_DIR="/opt/virtuality/venv"
SOURCE_DIR="${VIRTUALITY_SOURCE_DIR:-/opt/virtuality/source}"
UNIT_DIR="/etc/systemd/system"
NETPLAN_DIR="/etc/netplan"
NETPLAN_BACKUP="${CONFIG_DIR}/netplan-backup"
@@ -23,6 +22,7 @@ usage() {
Usage: virtuality-ctl <command> [options]
status Что установлено, порты, адреса панели
url Адрес панели управления
reconfigure Пересоздать systemd-юниты из ${NODE_ENV} и перезапустить панель
set KEY=VALUE ... Изменить настройку в web.env (например set VIRTUALITY_TLS=1) и применить
passwd [USER] Сменить пароль пользователя панели (пароль читается со стандартного ввода)
@@ -69,6 +69,8 @@ env_set() {
}
primary_ip() { hostname -I 2>/dev/null | awk '{print $1}'; }
# Source checkout used by updates; the installer records it in web.env.
SOURCE_DIR="${VIRTUALITY_SOURCE_DIR:-$(env_get VIRTUALITY_SOURCE_DIR /opt/virtuality/source)}"
panel_url() {
local tls port
@@ -682,6 +684,7 @@ cmd_uninstall() {
case "${1:-}" in
status) cmd_status ;;
url) panel_url; echo ;;
reconfigure) cmd_reconfigure ;;
set) shift; cmd_set "$@" ;;
passwd) shift; cmd_passwd "$@" ;;