chore: bump version to 1.1.4 — Workspaces feature

This commit is contained in:
markmorado
2026-03-15 02:38:15 +01:00
parent bef0bcc542
commit c4778d2972
4 changed files with 74 additions and 8 deletions

View File

@@ -4,6 +4,26 @@ All notable changes to PVEmanager will be documented in this file.
---
## [v1.1.4] - 2026-03-15
### 🗂️ Workspaces — Scoped Server Groups
- New **Workspace** entity: named group of Proxmox servers with scoped user access
- DB models: `Workspace`, `WorkspaceServer`, `WorkspaceUser` with automatic DB migration
- Full CRUD REST API (`/api/workspaces`, `/api/workspaces/{id}`) — admin-only create/update/delete, filtered list for regular users
- `X-Active-Workspace` request header propagated from frontend — filters server/VM/backup API responses to the active workspace
- Default workspace created on first run; all existing servers assigned to it
- Admin workspace management page (`/workspaces`) — create/edit/delete workspaces, assign servers and users
- **Sidebar workspace selector** — active workspace label shown in sidebar, switch without page reload
- `proxmox_server_detail.html` — dedicated server detail page (new template)
- i18n keys added for all workspace UI strings (EN + RU)
### 🔧 Fixes
- Fixed `PermissionChecker` import error in `dashboard.py`
---
## [v1.1.3] - 2026-03-10
### 🚨 Dashboard — Alerts Panel & Real-time Node Stats

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.1.3-blue?style=flat-square)](CHANGELOG.md)
[![Version](https://img.shields.io/badge/version-1.1.4-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.1.3
1.1.4

58
WIKI.md
View File

@@ -1,6 +1,6 @@
# 📖 PVEmanager - Documentation
> Complete guide for installation, configuration and usage of PVEmanager v1.1.3
> Complete guide for installation, configuration and usage of PVEmanager v1.1.4
---
@@ -24,10 +24,11 @@
16. [Settings](#-settings)
17. [pve CLI Tool](#-pve-cli-tool)
18. [API Reference](#-api-reference)
19. [Deployment Guide](#-installation-and-deployment)
20. [Private Repo Updates](#-settings)
21. [Troubleshooting](#-troubleshooting)
22. [FAQ](#-faq)
19. [Workspaces](#-workspaces)
20. [Deployment Guide](#-installation-and-deployment)
21. [Private Repo Updates](#-settings)
22. [Troubleshooting](#-troubleshooting)
23. [FAQ](#-faq)
---
@@ -1409,7 +1410,52 @@ Available at: `http://localhost:8000/docs`
---
## 🔧 Troubleshooting
## <EFBFBD>️ Workspaces
Workspaces are named groups of Proxmox servers with scoped user access. They allow administrators to partition the infrastructure and grant users access to only their servers.
### Key Concepts
| Concept | Description |
|---|---|
| **Workspace** | Named group with optional color and description |
| **Default Workspace** | Created automatically; all servers belong to it by default |
| **Server assignment** | One server can belong to multiple workspaces |
| **User assignment** | Users see only workspaces they are assigned to |
### Managing Workspaces (Admin)
1. Open **Settings → Workspaces** (sidebar menu item) or navigate to `/workspaces`
2. Click **New Workspace** to create a workspace
3. Assign servers from the **Servers** tab inside the workspace detail
4. Assign users from the **Users** tab
### Switching Workspaces (Sidebar)
- The active workspace is shown in the sidebar below the logo
- Click the workspace name to open the switcher
- Select a workspace — all VM/server lists are immediately filtered
- Select **All Workspaces** (admin only) to remove the filter
### API
| Method | Endpoint | Description |
|---|---|---|
| `GET` | `/api/workspaces` | List workspaces (filtered for non-admins) |
| `POST` | `/api/workspaces` | Create workspace (admin) |
| `GET` | `/api/workspaces/{id}` | Get workspace detail with servers/users |
| `PUT` | `/api/workspaces/{id}` | Update workspace (admin) |
| `DELETE` | `/api/workspaces/{id}` | Delete workspace (admin) |
| `POST` | `/api/workspaces/{id}/servers` | Add server to workspace |
| `DELETE` | `/api/workspaces/{id}/servers/{server_id}` | Remove server from workspace |
| `POST` | `/api/workspaces/{id}/users` | Add user to workspace |
| `DELETE` | `/api/workspaces/{id}/users/{user_id}` | Remove user from workspace |
Pass the `X-Active-Workspace: {id}` header in API requests to filter responses by workspace.
---
## <20>🔧 Troubleshooting
### Startup Issues