54 Commits

Author SHA1 Message Date
Сергей Антропов
039c6e05c7 fix: update all API links in frontend to match new route structure 2025-08-20 16:53:46 +03:00
Сергей Антропов
40f614304b refactor: extract all routes to app/api/v1/endpoints/ with proper structure 2025-08-20 16:48:06 +03:00
Сергей Антропов
1e6149107d refactor: move app.py and excluded_containers.json to app/ directory 2025-08-20 15:49:17 +03:00
Сергей Антропов
c925e4920a fix: update paths and add static files support for Docker 2025-08-20 15:45:12 +03:00
Сергей Антропов
910e83be50 refactor: move templates to app/ and extract CSS/JS to static files 2025-08-20 15:27:59 +03:00
Сергей Антропов
e80f665470 feat: major improvements and fixes
- Fixed Docker permissions issue by running as root user
- Added DEBUG_MODE support with conditional Swagger docs and auto-reload
- Created start.sh script for conditional Uvicorn execution
- Removed verbose debug logs from WebSocket status endpoint
- Added comprehensive screenshots to documentation
- Enhanced help tooltip with full-screen modal design
- Added theme switcher to error page
- Updated documentation with local development and Docker benefits
- Fixed WebSocket status display issues
- Improved hotkey functionality and documentation
- Added detailed project descriptions for local dev and Docker users

Technical improvements:
- Dockerfile: removed appuser switch, simplified permissions
- docker-compose.yml: kept user: 0:0 for Docker socket access
- app.py: removed debug prints, added DEBUG_MODE support
- templates: enhanced UI/UX with better tooltips and themes
- docs: comprehensive updates with new screenshots and descriptions
2025-08-19 13:01:32 +03:00
Сергей Антропов
5c8efe2644 Добавлена полная документация проекта LogBoard+
- Создан основной README.md с описанием проекта
- Добавлена подробная документация в папке docs/
- Создан файл LICENSE (MIT)
- Обновлен .gitignore
- Добавлена документация по безопасности с генерацией ключей
- Включены примеры конфигураций и устранение неполадок

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-19 01:06:23 +03:00
86a2c44333 docs: Полная переработка документации проекта
- Удалена старая документация с эмодзи
- Создана новая техническая документация на русском языке
- Добавлены подробные руководства:
  * README.md - обзор проекта
  * docs/installation.md - установка и настройка
  * docs/configuration.md - конфигурация
  * docs/api.md - API документация
  * docs/management.md - управление проектом
  * docs/security.md - безопасность
  * docs/troubleshooting.md - устранение неполадок
- Обновлены конфигурационные файлы
- Улучшена структура проекта

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-18 22:03:27 +03:00
749b40a494 feat: улучшения UI/UX LogBoard+
- Добавлена кнопка Update для управления AJAX auto-update
- AJAX auto-update включен по умолчанию
- Улучшено управление видимостью кнопки Refresh
- Переупорядочены кнопки в header (Update, Refresh)
- Унифицированы стили кнопок (высота, шрифт, границы)
- Добавлен hover эффект для кнопки options с цветом warning
- Позиционирование help-btn в свернутом sidebar
- Уменьшена ширина свернутого sidebar на 30%
- Добавлена логика разворачивания sidebar при клике на options
- Отображение внешнего порта в статусе контейнера
- Показ 'standalone' для контейнеров без проекта
- Обновлена документация

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-18 20:32:46 +03:00
6e51f00791 feat: Добавлено AJAX обновление логов и улучшения интерфейса
Основные изменения:
- Добавлено AJAX обновление логов с чекбоксом 'Auto-update logs'
- Добавлена опция 'All logs' в выпадающий список tail lines
- Исправлено отображение длинных названий контейнеров в multi-view режиме
- Восстановлена загрузка истории логов при включенном AJAX обновлении

Новые функции:
- Чекбокс 'Auto-update logs' в секции Options (включен по умолчанию)
- Настройка интервала обновления через LOGBOARD_AJAX_UPDATE_INTERVAL
- API эндпоинт /api/settings для получения настроек приложения
- Поддержка параметра tail=all для загрузки всех логов
- Автоматический запуск AJAX обновления при включении чекбокса

Исправления UI:
- Кнопки LogLevels не уезжают вправо при длинных названиях контейнеров
- Добавлено обрезание длинных названий с многоточием
- Фиксированная высота заголовков в multi-view режиме
- Защита от сжатия кнопок LogLevels

Тестирование:
- Добавлены тесты для AJAX обновления (test_ajax_update.py)
- Тест multi-view AJAX обновления (test_multi_view_ajax.py)
- Тест опции 'all logs' (test_all_logs.py)
- Тест отображения длинных названий (test_multi_view_layout.py)
- Команды make test-ajax, make test-multi-view-ajax, make test-all-logs, make test-multi-view-layout

Документация:
- Создана подробная документация AJAX обновления (app/docs/ajax-update.md)
- Обновлен CHANGELOG.md с версиями 1.3.0, 1.5.0, 1.6.0
- Обновлен README.md с описанием новых функций

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-18 19:35:47 +03:00
2d565d52a6 Обновление интерфейса: улучшения в templates/index.html 2025-08-18 18:19:09 +03:00
7cd7ba0653 Исправление скролла в Multi View режиме и проблемы с wrap text
- Универсальное исправление скролла для всех контейнеров в Multi View режиме
- Более специфичные CSS селекторы для предотвращения влияния на другие элементы
- Исправление проблемы с wrap text в options
- Добавление вызовов applyWrapSettings() в ключевых местах
- Обновление документации с описанием всех исправлений
- Добавление CHANGELOG.md и SCROLL_FIX_SUMMARY.md
- Добавление документации в app/docs/
2025-08-18 17:03:46 +03:00
36569c79f0 feat: Добавлено сохранение состояния кнопок loglevels в localStorage
- Добавлены функции saveLogLevelsState() и getLogLevelsStateFromStorage()
- Сохранение состояния при кликах по кнопкам loglevels
- Восстановление состояния при инициализации кнопок
- Сохранение настроек для Single View и Multi View режимов
- Индивидуальные настройки фильтрации для каждого контейнера
- Автоматическое восстановление настроек после обновления страницы

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-18 16:27:09 +03:00
e5b0c3f553 feat: Добавлены кнопки уровней логирования в заголовки single-view и multi-view
- Добавлены кнопки LogLevels в заголовки контейнеров
- Реализована индивидуальная фильтрация логов для каждого контейнера в multi-view режиме
- Исправлена проблема с потерей цветов при фильтрации логов
- Добавлена статистика по уровням логирования для каждого контейнера
- Кнопки показывают количество логов каждого уровня
- Каждый контейнер может иметь свои настройки фильтрации уровней
- Сохранена цветовая схема при переключении уровней логирования
2025-08-18 14:32:50 +03:00
7007d4be74 feat: улучшен интерфейс Single View с контейнером и заголовком
- Добавлен красивый контейнер для Single View аналогично Multi View
- Добавлен заголовок с названием контейнера в Single View
- Скрыт multi-view-panel в Single View режиме
- Добавлена равная высота панелей в Multi View при 3+ окнах
- Обновлены стили и JavaScript функции для корректной работы
2025-08-18 12:52:02 +03:00
Сергей Антропов
90077e33a9 Добавлен раздел с горячими клавишами в README.md
- Навигация по контейнерам: [ ] и Ctrl + стрелки
- Переключение темы: Ctrl + T
- Управление формами: Enter для отправки
- Описаны условия работы горячих клавиш
2025-08-17 19:04:18 +03:00
Сергей Антропов
c196c4e65f Полностью переписан README.md с подробным описанием всего функционала
- Добавлено полное описание всех возможностей LogBoard+
- Подробная документация по установке и настройке
- Описание API endpoints и WebSocket соединений
- Инструкции по развертыванию в продакшне
- Примеры конфигурации для Docker Swarm и Kubernetes
- Документация по безопасности и мониторингу
- Описание режимов Single View и Multi View
- Руководство по разработке и отладке
2025-08-17 19:02:20 +03:00
Сергей Антропов
a490c41b76 Исправлены проблемы с Multi View режимом: кнопка Download logs создает отдельные файлы, кнопка Refresh работает в обоих режимах
- Исправлена функция sendSnapshot для создания отдельных файлов в Multi View режиме
- Исправлена функция fetchServices для корректной работы кнопки Refresh в Multi View режиме
- Улучшена функция refreshLogsAndCounters для лучшей работы с Multi View
- Добавлена поддержка Multi View режима в обработчики кнопок
2025-08-17 19:00:38 +03:00
Сергей Антропов
d0a4b57233 feat: добавлены страницы ошибок и кнопка OTHER в LogLevels
- Добавлена кнопка OTHER в LogLevels для неклассифицированных логов
- Созданы красивые страницы ошибок с поддержкой темной/светлой темы
- Добавлены обработчики для ошибок 401, 403, 404, 500
- Реализована безопасность: убраны детали ошибок из пользовательского интерфейса
- Кнопка 'Войти в систему' показывается только на странице ошибки 403
- На странице 403 убран error-message, оставлен только auth-notice
- Обновлены счетчики логов для поддержки уровня OTHER
- Добавлены тестовые маршруты для проверки страниц ошибок
- Улучшен UX: адаптивный дизайн, интерактивность, навигация

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-17 18:49:54 +03:00
Сергей Антропов
a979dd2838 feat: Добавлена новая система авторизации с JWT токенами
- Удален Basic Auth, заменен на современную JWT авторизацию
- Добавлена страница входа с красивым интерфейсом
- Обновлен фронтенд для работы с JWT токенами
- Добавлены новые зависимости: PyJWT, passlib[bcrypt], jinja2
- Создан тестовый скрипт для проверки авторизации
- Добавлено руководство по миграции
- Обновлена документация и README
- Улучшен дизайн поля ввода пароля на странице входа

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-17 18:29:06 +03:00
Сергей Антропов
3126ff4eb6 Убраны горячие клавиши r, к, m и добавлена блокировка горячих клавиш при вводе в поля 2025-08-17 18:08:22 +03:00
Сергей Антропов
59e0810750 Исправлена проблема с лишними пустыми строками в Single View и Multi View
- Радикально переработаны функции очистки пустых строк
- Удалены переносы строк из HTML-шаблонов логов
- Добавлены CSS стили для правильного отображения элементов .line
- Увеличена частота периодической очистки до 2 секунд
- Добавлена агрессивная очистка во всех ключевых точках приложения
- Улучшена логика определения типа элемента для правильной очистки

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-17 18:02:43 +03:00
Сергей Антропов
012c31522c Исправления для LogBoard+: убраны фразы 'Connected to container' и исправлен пересчет счетчиков LogLevels
- Убраны фразы 'Connected to container: frontend-iaas' из single view
- Исправлен пересчет счетчиков LogLevels с учетом параметра Tail Lines
- Добавлена функция recalculateMultiViewCounters() для корректной работы счетчиков в MultiView
- Счетчики теперь считают только отображаемые логи с учетом фильтров и Tail Lines
- Обновлены все обработчики событий для корректного пересчета счетчиков в обоих режимах
2025-08-17 17:52:12 +03:00
Сергей Антропов
ea94b8e3e0 Обновлен шаблон index.html 2025-08-17 16:02:18 +03:00
Сергей Антропов
ee7eb3d163 Исправлена проблема с переключением из multi view в single view
- Добавлено сохранение выбранного контейнера в localStorage при переключении из multi view в single view
- Реализовано полное обновление страницы для корректного отображения логов
- Добавлено восстановление состояния выбранного контейнера при загрузке страницы
- Исправлена проблема, когда логи не отображались при переключении режимов просмотра

Теперь при снятии галочек с контейнеров в multi view до одного контейнера,
приложение автоматически переключается в single view с корректным отображением логов.
2025-08-17 06:21:48 +03:00
Сергей Антропов
cf7d7c8f5a Обновление docker-compose.yml и templates/index.html, удаление test_ws.py 2025-08-17 06:09:18 +03:00
Сергей Антропов
1745d4b5d4 Исправлена проблема с парсером в режиме multiview
- Добавлена инициализация счетчиков в openMultiViewWs
- Исправлена обработка входящих сообщений WebSocket
- Добавлена отладочная информация для диагностики
- Парсер теперь работает сразу при переключении в multiview
- Улучшена обработка ошибок и проверки объектов

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-17 05:06:47 +03:00
Сергей Антропов
293e9c8cba Move excluded containers to separate sidebar section and improve UI 2025-08-16 16:31:15 +03:00
Сергей Антропов
f3e1966f3e Fix project filtering: removed sidebar projectSelect references, updated fetchServices to use projectSelectHeader 2025-08-16 16:02:20 +03:00
Сергей Антропов
3fcaa8ad5d UI improvements: removed pause from Options, updated Tail Lines gradation, renamed Snapshot to Download logs and made it full-width 2025-08-16 15:59:00 +03:00
Сергей Антропов
351b2ac041 feat: улучшения интерфейса и исправления
- Исправлена фильтрация логов по уровням (INFO, DEBUG, WARN, ERROR)
- Добавлено отображение log levels в две строки по два элемента
- Добавлено отображение Options в две строки по два элемента
- Добавлено отображение Actions в две строки по две кнопки
- Исправлена кнопка Refresh - теперь перезапускает WebSocket соединение
- Изменен индикатор WebSocket состояния на кнопку с подсветкой фона
- Убрана надпись 'Modern Log Viewer' из заголовка и интерфейса
- Улучшена логика фильтрации в реальном времени
- Автор: Сергей Антропов (https://devops.org.ru)
2025-08-16 14:23:23 +03:00
Сергей Антропов
36eef6a08d feat: добавить кнопку выхода и улучшить интерфейс
- Добавлена кнопка выхода (sign-out-alt) в заголовок сайдбара
- Цветовая индикация состояния WebSocket: зеленый (on), красный (off), желтый (err)
- Удалена кнопка минимизации, оставлена только кнопка Options
- Кнопка Options по умолчанию свернута (настройки скрыты)
- Добавлено подтверждение при выходе
- Очистка localStorage при выходе
- Улучшенный дизайн кнопок с hover эффектами
- Максимальное пространство для списка контейнеров по умолчанию

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 13:05:32 +03:00
Сергей Антропов
0af84ce0c3 feat: добавить кнопку Options для скрытия всех настроек
- Добавлена кнопка Options (шестеренка) в заголовок сайдбара
- Кнопка полностью скрывает/показывает все секции настроек
- Сохранение состояния скрытия в localStorage
- Визуальная индикация активного состояния кнопки
- Максимальное освобождение места для списка контейнеров
- Улучшенный дизайн заголовка с группировкой кнопок
- Интуитивные подсказки для кнопок

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 13:01:04 +03:00
Сергей Антропов
277e88faac feat: реализовать полную минимизацию секций до полоски
- Кнопка 'свернуть все' теперь минимизирует секции до минимальной высоты
- Добавлено состояние 'minimized' для полного сворачивания
- Секции становятся тонкими полосками с заголовками
- Максимальное освобождение места для списка контейнеров
- Сохранение состояния минимизации в localStorage
- Улучшенная логика переключения между состояниями
- Оптимизированный CSS для минималистичного отображения

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 12:58:34 +03:00
Сергей Антропов
5a5d98784a feat: добавить сворачивание по умолчанию и кнопку минимизации всех секций
- Все секции теперь свернуты по умолчанию при первом запуске
- Добавлена кнопка минимизации всех секций в заголовке сайдбара
- Кнопка переключается между 'свернуть все' и 'развернуть все'
- Сохранение состояния всех секций в localStorage
- Улучшен дизайн заголовка сайдбара с flexbox
- Добавлены hover эффекты для кнопки минимизации
- Оптимизирован интерфейс для максимального пространства для списка контейнеров

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 12:56:19 +03:00
Сергей Антропов
6dfc2d0104 feat: добавить сворачиваемые секции и исправить фильтрацию логов
- Добавлены сворачиваемые секции для всех групп контролов
- Добавлены кнопки сворачивания с иконками
- Сохранение состояния секций в localStorage
- Исправлена проблема с LogLevels - добавлена буферизация всех логов
- Логи теперь восстанавливаются при включении уровней обратно
- Улучшен CSS для сворачиваемых секций с анимациями
- Добавлены hover эффекты для заголовков секций
- Оптимизирована производительность фильтрации

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 12:52:58 +03:00
Сергей Антропов
7c7c92f798 fix: исправить все проблемы с функциональностью интерфейса
- Исправлено обновление логов в реальном времени при изменении уровней логирования
- Добавлена функция refreshAllLogs для фильтрации логов
- Исправлены кнопки Options (autoscroll, wrap, pause)
- Исправлены фильтры с обновлением в реальном времени
- Исправлены кнопки Refresh и Clear
- Исправлен Snapshot - теперь сохраняет актуальные логи
- Добавлены обработчики для всех элементов управления
- Улучшена синхронизация между legacy и современным интерфейсом
- Добавлено логирование для отладки

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 12:48:27 +03:00
Сергей Антропов
c647c2eb71 fix: исправить ошибки JavaScript в современном интерфейсе
- Добавлены проверки на null для отсутствующих элементов
- Исправлена ошибка 'Cannot set properties of null'
- Добавлено логирование для отладки загрузки проектов и сервисов
- Улучшена обработка ошибок в fetchProjects и fetchServices
- Исправлена работа с layoutBadge, aggregate и groupBtn
- Добавлены проверки существования элементов перед их использованием

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 12:39:31 +03:00
Сергей Антропов
43f19d32e1 feat: создать современный интерфейс с боковым меню
- Полностью переработан дизайн интерфейса
- Добавлено боковое меню слева с контролами
- Область логов перемещена вправо
- Добавлены иконки Font Awesome
- Современный CSS с переменными и анимациями
- Адаптивный дизайн для мобильных устройств
- Улучшенная навигация по контейнерам
- Современные кнопки и элементы управления
- Поддержка темной и светлой темы
- Индикаторы статуса контейнеров

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 12:34:44 +03:00
Сергей Антропов
a1572d470c docs: обновить README.md с информацией о множественных проектах
- Добавлено описание работы с множественными проектами
- Добавлена информация о селекторе проектов в веб-интерфейсе
- Добавлены примеры использования переменной LOGBOARD_PROJECTS
- Добавлено описание API эндпоинтов для работы с проектами
- Обновлена таблица переменных окружения

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 12:29:45 +03:00
Сергей Антропов
04d1ae9a96 feat: добавить поддержку множественных проектов Docker Compose
- Добавлен API эндпоинт /api/projects для получения списка проектов
- Обновлен API /api/services для поддержки фильтрации по множественным проектам
- Добавлен селектор проектов в веб-интерфейс
- Добавлена переменная окружения LOGBOARD_PROJECTS
- Обновлен HTML шаблон с JavaScript функциональностью
- Добавлена функция fetchProjects() для загрузки списка проектов
- Обновлена функция fetchServices() для работы с выбранными проектами

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 12:29:19 +03:00
Сергей Антропов
05a7a45b45 fix: упростить WebSocket логику для стабильной работы
- Упрощена WebSocket функция для получения логов
- Убрана сложная логика переподключения и поиска контейнеров
- Добавлена простая обработка ошибок
- WebSocket теперь работает стабильно без зависаний

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 12:24:27 +03:00
Сергей Антропов
d6e606ac1f refactor: упростить логику получения контейнеров и WebSocket
- Упрощена функция list_containers для предотвращения зависания
- Убрана сложная логика health check проверок
- Упрощена WebSocket логика получения логов
- Убраны таймауты и сложная обработка ошибок
- Добавлена базовая обработка ошибок для стабильности

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 12:19:17 +03:00
Сергей Антропов
e2563629e1 docs: обновить README.md с информацией о фильтрации контейнеров
- Добавлено описание настроек фильтрации контейнеров
- Добавлена информация о таймаутах
- Добавлены примеры логирования проблемных контейнеров
- Обновлена таблица переменных окружения

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 12:16:01 +03:00
Сергей Антропов
9239925206 feat: добавить обработку таймаутов и пропуск нездоровых контейнеров
- Добавлена функция пропуска контейнеров с проблемными health check
- Добавлены таймауты для предотвращения зависания приложения
- Добавлены переменные окружения для настройки таймаутов
- Улучшена обработка ошибок при получении информации о контейнерах
- Добавлено подробное логирование проблемных контейнеров

Автор: Сергей Антропов
Сайт: https://devops.org.ru
2025-08-16 12:15:32 +03:00
Сергей Антропов
e2d532c1f5 fix: исправлены ошибки JavaScript с регулярными выражениями
- Исправлено экранирование в регулярных выражениях
- Исправлены шаблонные строки с неправильным экранированием
- Исправлена ошибка 'Invalid regular expression: missing'
- Исправлены проблемы с ANSI escape sequences
- Теперь переключение темы и отображение логов работают корректно
- Автор: Сергей Антропов (https://devops.org.ru)
2025-08-16 11:44:37 +03:00
Сергей Антропов
3654d6699e feat: добавлена поддержка внешних Docker сетей через переменные окружения
- Добавлена переменная DOCKER_NETWORKS в env.example
- Создан скрипт scripts/generate-compose.py для генерации docker-compose.yml
- Добавлена команда make generate для обновления конфигурации
- Обновлен docker-compose.yml с поддержкой внешних сетей
- Добавлена документация по настройке сетей в README.md
- Поддержка гибкой настройки сетей для разных проектов
- Пример: DOCKER_NETWORKS=iaas,infrastructure_iaas
- Автор: Сергей Антропов (https://devops.org.ru)
2025-08-16 11:39:01 +03:00
Сергей Антропов
5a44c3446f feat: вынесены зависимости в requirements.txt с конкретными версиями
- Создан файл requirements.txt с фиксированными версиями пакетов
- Обновлен Dockerfile для использования requirements.txt
- Добавлена команда make deps для обновления зависимостей
- Добавлена документация по зависимостям в README.md
- Указаны конкретные версии: FastAPI 0.104.1, Uvicorn 0.24.0, Docker SDK 6.1.3
- Добавлены все необходимые зависимости и их версии
- Автор: Сергей Антропов (https://devops.org.ru)
2025-08-16 11:32:45 +03:00
Сергей Антропов
662f83cde5 refactor: упрощена конфигурация - запуск с правами root по умолчанию
- Убраны альтернативные команды up-root и down-root
- Удален файл docker-compose.root.yml
- Команды make up, make down, make restart теперь используют права root по умолчанию
- Обновлены сообщения в Makefile для указания использования прав root
- Упрощена документация в README.md
- Убрана группа docker из docker-compose.yml (оставлен только user: 0:0)
- Автор: Сергей Антропов (https://devops.org.ru)
2025-08-16 11:31:00 +03:00
Сергей Антропов
fa42bfa83e fix: решена проблема с правами доступа к Docker socket
- Обновлен docker-compose.yml с настройками пользователя и группы docker
- Обновлен Dockerfile для добавления пользователя в группу docker
- Создан docker-compose.root.yml для запуска с правами root
- Добавлены команды make up-root и make down-root
- Обновлен env.example с дополнительными переменными Docker
- Добавлена документация по решению проблем с правами доступа
- Теперь приложение корректно подключается к Docker daemon
- Автор: Сергей Антропов (https://devops.org.ru)
2025-08-16 11:29:13 +03:00