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:
14
CHANGELOG.md
14
CHANGELOG.md
@@ -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
|
||||
|
||||
@@ -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-шаблонов
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
**Modern web panel for managing Proxmox servers, virtual machines and LXC containers**
|
||||
|
||||
[](CHANGELOG.md)
|
||||
[](CHANGELOG.md)
|
||||
[](LICENSE)
|
||||
[](compose.yml)
|
||||
[](backend/)
|
||||
|
||||
87
WIKI.md
87
WIKI.md
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user