Update documentation for v0.3.0 (admin features)

- CHANGELOG.md: Add v0.3.0 with admin dashboard, email verification,
  user states, and all new features
- install/README.md: Add SMTP configuration variables
- README.md: Update version to 0.3.0

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
XPS\Micro 2026-01-31 07:06:13 +01:00
parent 99d7ed1e82
commit 1b44bb3d10
3 changed files with 75 additions and 1 deletions

View File

@ -40,5 +40,5 @@ Willkommen zur Dokumentation des Container Spawner Projekts.
---
**Aktuelle Version**: 0.1.0
**Aktuelle Version**: 0.3.0
**Letzte Aktualisierung**: Januar 2026

View File

@ -169,6 +169,20 @@ docker-compose up -d
| `JWT_ACCESS_TOKEN_EXPIRES` | `3600` | JWT Token Gueltigkeitsdauer (Sekunden) |
| `CONTAINER_IDLE_TIMEOUT` | `3600` | Timeout in Sekunden (noch nicht implementiert) |
### Email/SMTP-Variablen (fuer Verifizierung)
| Variable | Standard | Beschreibung |
|----------|----------|--------------|
| `SMTP_HOST` | `localhost` | SMTP-Server Hostname |
| `SMTP_PORT` | `587` | SMTP-Server Port |
| `SMTP_USER` | `` | SMTP-Benutzername |
| `SMTP_PASSWORD` | `` | SMTP-Passwort |
| `SMTP_FROM` | `noreply@localhost` | Absender-Email-Adresse |
| `SMTP_USE_TLS` | `true` | TLS verwenden (true/false) |
| `FRONTEND_URL` | `http://localhost:3000` | Frontend-URL fuer Email-Links |
**Hinweis**: Die Email-Konfiguration wird fuer die Email-Verifizierung bei der Registrierung und fuer Passwort-Reset-Emails benoetigt.
### User-Templates
Es stehen zwei Templates fuer User-Container zur Verfuegung:

View File

@ -19,6 +19,66 @@ Das Format basiert auf [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
---
## [0.3.0] - 2026-01-31
### Hinzugefuegt
- **Admin-Dashboard**: Vollstaendige Benutzerverwaltung fuer Admins
- Benutzer sperren/entsperren
- Passwoerter zuruecksetzen (sendet Email)
- Benutzer-Container loeschen
- Benutzer loeschen
- Verifizierungs-Emails erneut senden
- **Email-Verifizierung**: Neue Benutzer muessen Email bestaetigen
- Verifizierungs-Email bei Registrierung
- OneTimeToken-basierte Verifizierung
- verify-success und verify-error Seiten
- **Erster User wird Admin**: Der erste registrierte Benutzer erhaelt Admin-Rechte
- **Benutzer-States**: registered → verified → active
- **Aktivitaetstracking**: `last_used` Feld fuer letzten Container-Zugriff
- **Farbcodierte Benutzerliste** im Admin-Dashboard:
- Gruen: Aktiv, kuerzlich genutzt
- Gelb: Warnung (unverifiziert/inaktiv)
- Rot: Kritisch (lange unverifiziert/sehr lange inaktiv)
- **SMTP-Konfiguration**: Email-Versand fuer Verifizierung und Passwort-Reset
- **Admin-API Endpoints**:
- `GET /api/admin/users` - Alle Benutzer auflisten
- `POST /api/admin/users/{id}/block` - Benutzer sperren
- `POST /api/admin/users/{id}/unblock` - Benutzer entsperren
- `POST /api/admin/users/{id}/reset-password` - Passwort zuruecksetzen
- `POST /api/admin/users/{id}/resend-verification` - Verifizierungs-Email senden
- `DELETE /api/admin/users/{id}/container` - Container loeschen
- `DELETE /api/admin/users/{id}` - Benutzer loeschen
- `POST /api/admin/users/{id}/takeover` - Container-Zugriff (Dummy, Phase 2)
- **Neue Backend-Dateien**:
- `admin_api.py` - Admin-Blueprint mit Endpoints
- `decorators.py` - @admin_required und @verified_required Decorator
- `email_service.py` - Email-Versand-Service
- **Neue Frontend-Seiten**:
- `/admin` - Admin-Dashboard
- `/verify-success` - Email-Verifizierung erfolgreich
- `/verify-error` - Email-Verifizierung fehlgeschlagen
### Geaendert
- `models.py`: Neue Felder (is_admin, is_blocked, state, last_used, verification_token), UserState Enum, AdminTakeoverSession Model
- `config.py`: SMTP-Konfiguration, FRONTEND_URL
- `api.py`: Signup sendet Verifizierungs-Email (kein Auto-Login mehr), Login prueft Blockade und Verifizierung
- `app.py`: Admin-Blueprint registriert
- `.env.example`: SMTP-Variablen hinzugefuegt
- Frontend `api.ts`: Admin-API-Funktionen
- Frontend `use-auth.tsx`: User-Interface mit is_admin und state
- Frontend `signup/page.tsx`: Zeigt Verifizierungs-Hinweise nach Registrierung
- Frontend `login/page.tsx`: Option zum erneuten Senden der Verifizierungs-Email
- Frontend `dashboard/page.tsx`: Admin-Link fuer Admins
### Sicherheit
- Blockierte Benutzer koennen sich nicht mehr anmelden
- Unverifizierte Benutzer koennen sich nicht anmelden
- Admins koennen sich nicht selbst sperren oder loeschen
- Admins koennen andere Admins nicht loeschen
- Verification-Token ist einmalig verwendbar (OneTimeToken)
---
## [0.2.0] - 2026-01-31
### Hinzugefuegt