release: v1.5.1

- Bump VERSION and README badge to 1.5.1
- WIKI: add new 'Logs & Audit' section (page layout, levels, API,
  query params, response shape, RBAC, retention) and bump version
  in the top note; also extend ToC
- CHANGELOG / CHANGELOG.ru: add v1.5.1 entry covering the missing
  LogsPage component fix and the .gitignore collision fix
This commit is contained in:
2026-06-04 03:14:38 +05:00
parent 08a687c1f6
commit 8a879f36fa
5 changed files with 112 additions and 7 deletions

View File

@@ -4,6 +4,20 @@ All notable changes to PVEmanager will be documented in this file.
---
## [v1.5.1] - 2026-06-04
### 🐛 Bug Fixes
- **Frontend build: missing LogsPage component** — `src/router.tsx` referenced `./features/logs/LogsPage.tsx`, but the file was missing, so Vite 8.0.5 / rolldown failed to resolve the dynamic import. Added `frontend/src/features/logs/LogsPage.tsx` with stats cards (24h total, errors, failed logins, page count), level filter, search, pagination and i18n strings. Wires up to existing `useLogs` / `useLogStats` / `useLogLevels` hooks.
- **Frontend build: `.gitignore` collision** — `frontend/.gitignore` had a bare `logs` entry that matched both the root `logs/` directory and `src/features/logs/`, hiding the new page from VCS. Scoped the rule to `/logs` so the features tree is no longer ignored.
### 📚 Documentation
- WIKI: bumped to v1.5.1 and added a new **Logs & Audit** section with page layout, log-level colour mapping, API reference (`/logs/api/logs`, `/logs/api/stats`, `/logs/api/levels`, `/logs/api/categories`), query parameters, response shape and access-control notes
- README: updated version badge to 1.5.1
---
## [v1.5.0] - 2026-05-07
### 🐧 LXC — CT Template Deployment

View File

@@ -4,6 +4,20 @@
---
## [v1.5.1] - 2026-06-04
### 🐛 Исправления
- **Сборка фронта: отсутствует компонент LogsPage** — в `src/router.tsx` есть ссылка на `./features/logs/LogsPage.tsx`, но сам файл был пропущен, из-за чего Vite 8.0.5 / rolldown не мог разрешить dynamic import. Добавлен `frontend/src/features/logs/LogsPage.tsx` со stat-карточками (всего за 24ч, ошибки, неудачные логины, записей на странице), фильтром по уровню, поиском, пагинацией и строками i18n. Использует уже существующие хуки `useLogs` / `useLogStats` / `useLogLevels`.
- **Сборка фронта: коллизия в `.gitignore`** — в `frontend/.gitignore` правило `logs` без якоря матчило и корневой `logs/`, и `src/features/logs/`, скрывая новую страницу из VCS. Правило ограничено корнем — `/logs`.
### 📚 Документация
- WIKI: версия поднята до v1.5.1, добавлен раздел **Logs & Audit** с описанием страницы, цветами уровней логов, ссылками на API (`/logs/api/logs`, `/logs/api/stats`, `/logs/api/levels`, `/logs/api/categories`), параметрами запросов, форматом ответа и заметками по правам доступа
- README: обновлён бейдж версии на 1.5.1
---
## [v1.5.0] - 2026-05-07
### 🐧 LXC — развёртывание из CT-шаблонов

View File

@@ -4,7 +4,7 @@
**Modern web panel for managing Proxmox servers, virtual machines and LXC containers**
[![Version](https://img.shields.io/badge/version-1.5.0-blue?style=flat-square)](CHANGELOG.md)
[![Version](https://img.shields.io/badge/version-1.5.1-blue?style=flat-square)](CHANGELOG.md)
[![License](https://img.shields.io/badge/license-MIT-green?style=flat-square)](LICENSE)
[![Docker](https://img.shields.io/badge/docker-ready-2496ED?style=flat-square&logo=docker&logoColor=white)](compose.yml)
[![Python](https://img.shields.io/badge/python-3.12-3776AB?style=flat-square&logo=python&logoColor=white)](backend/)

View File

@@ -1 +1 @@
1.5.0
1.5.1

87
WIKI.md
View File

@@ -1,6 +1,6 @@
# 📖 PVEmanager - Documentation
> Complete guide for installation, configuration and usage of PVEmanager v1.5.0
> Complete guide for installation, configuration and usage of PVEmanager v1.5.1
---
@@ -30,9 +30,10 @@
22. [Workspaces](#-workspaces)
23. [User → Server Assignment](#-user--server-assignment)
24. [VM / LXC Ownership](#-vm--lxc-ownership)
25. [Deployment Guide](#-installation-and-deployment)
26. [Troubleshooting](#-troubleshooting)
27. [FAQ](#-faq)
25. [Logs & Audit](#-logs--audit)
26. [Deployment Guide](#-installation-and-deployment)
27. [Troubleshooting](#-troubleshooting)
28. [FAQ](#-faq)
---
@@ -1334,7 +1335,83 @@ Access via **Settings → Security**:
---
## 🔑 SSH Keys Management
## <EFBFBD> Logs & Audit
### Overview
The **Logs** page (`/logs` in the sidebar) gives admins a full searchable view of the panel's `audit_logs` table. It complements the Dashboard activity feed with deeper filtering, pagination, and aggregated 24-hour stats.
### Page Layout
1. **Stat cards (24h window)** — total events, errors count, failed logins, current page row count
2. **Filters** — free-text search (matches message and username) and a level dropdown populated from `GET /logs/api/levels`
3. **Logs table** — timestamp, level badge, category, username, message
4. **Pagination** — driven by the API (`page`, `limit`)
### Log Levels
| Level | Color | Description |
|-------|-------|-------------|
| `INFO` | 🔵 Blue | Informational events |
| `SUCCESS` | 🟢 Green | Successful operations |
| `WARNING` | 🟡 Yellow | Non-critical warnings |
| `ERROR` | 🔴 Red | Failures |
| `CRITICAL` | 🟣 Purple | Critical security / system events |
### API Reference
| Method | Endpoint | Description |
|--------|----------|-------------|
| `GET` | `/logs/api/logs` | List audit log entries (paginated) |
| `GET` | `/logs/api/stats` | Aggregated stats (24h by default) |
| `GET` | `/logs/api/levels` | Distinct levels for the filter dropdown |
| `GET` | `/logs/api/categories` | Distinct categories |
#### Query Parameters for `GET /logs/api/logs`
| Name | Type | Description |
|------|------|-------------|
| `search` | string | Free-text search over message/username |
| `level` | string | Filter by level (`INFO`, `ERROR`, …) |
| `category` | string | Filter by category |
| `username` | string | Filter by username |
| `page` | int | Page number (1-based) |
| `limit` | int | Page size (default 50) |
| `date_from` | ISO date | Inclusive lower bound |
| `date_to` | ISO date | Inclusive upper bound |
#### Response Shape
```json
{
"logs": [
{
"id": 1234,
"timestamp": "2026-06-04T10:21:33Z",
"level": "INFO",
"category": "vm",
"username": "admin",
"message": "VM 100 started on node pve1"
}
],
"total": 532,
"page": 1,
"limit": 50,
"pages": 11
}
```
### Access Control
The Logs page is gated by the `log:view` permission in RBAC v2. The default `admin` role has it; `moderator` has read-only access; `user` and `demo` roles do not see the page.
### Retention
There is no automatic pruning in v1.5.1 — log entries accumulate until manually deleted via the database. A retention policy is planned for a future release.
---
## <20>🔑 SSH Keys Management
### Overview