Veraltete .env Sachen geupdatet

Dieser Commit ist enthalten in:
2025-06-10 00:05:16 +02:00
Ursprung 1bdee5dc95
Commit dfd6b72173
3 geänderte Dateien mit 124 neuen und 3 gelöschten Zeilen

Datei anzeigen

@@ -2565,4 +2565,124 @@ UPDATE resource_pools SET is_test = TRUE; -- 20 Ressourcen
- Zeile 2278: `/customers-licenses` Route
- Zeile 2319: `/api/customer/<int:customer_id>/licenses` API-Route
### 2025-06-10 00:01: Verbesserte Integration zwischen Kunden & Lizenzen und Resource Pool
**Problem:**
- Umständliche Navigation zwischen Kunden & Lizenzen und Resource Pool Bereichen
- Keine direkte Verbindung zwischen beiden Ansichten
- Benutzer mussten ständig zwischen verschiedenen Seiten hin- und herspringen
**Implementierte Lösung - 5 Phasen:**
1. **Phase 1: Ressourcen-Details in Kunden & Lizenzen Ansicht**
- API `/api/customer/{id}/licenses` erweitert um konkrete Ressourcen-Informationen
- Neue API `/api/license/{id}/resources` für detaillierte Ressourcen einer Lizenz
- Anzeige der zugewiesenen Ressourcen mit Info-Buttons und Modal-Dialogen
- Klickbare Links zu Ressourcen-Details im Resource Pool
2. **Phase 2: Quick-Actions für Ressourcenverwaltung**
- "Ressourcen verwalten" Button (Zahnrad-Icon) bei jeder Lizenz
- Modal mit Übersicht aller zugewiesenen Ressourcen
- Vorbereitung für Quarantäne-Funktionen und Ressourcen-Austausch
3. **Phase 3: Ressourcen-Preview bei Lizenzerstellung**
- Live-Anzeige verfügbarer Ressourcen beim Ändern der Anzahl
- Erweiterte Verfügbarkeitsanzeige mit Badges (OK/Niedrig/Kritisch)
- Warnungen bei niedrigem Bestand mit visuellen Hinweisen
- Fortschrittsbalken zur Visualisierung der Verfügbarkeit
4. **Phase 4: Dashboard-Integration**
- Resource Pool Widget mit erweiterten Links
- Kritische Warnungen bei < 50 Ressourcen mit "Auffüllen" Button
- Direkte Navigation zu gefilterten Ansichten (nach Typ/Status)
- Verbesserte visuelle Darstellung mit Tooltips
5. **Phase 5: Bidirektionale Navigation**
- Von Resource Pool: Links zu Kunden/Lizenzen bei zugewiesenen Ressourcen
- "Zurück zu Kunden" Button wenn von Kunden & Lizenzen kommend
- Navigation-Links im Dashboard für schnellen Zugriff
- SQL-Query erweitert um customer_id für direkte Verlinkung
**Technische Details:**
- JavaScript-Funktionen für Modal-Dialoge und Ressourcen-Details
- Erweiterte SQL-Queries mit JOINs für Ressourcen-Informationen
- Bootstrap 5 Tooltips und Modals für bessere UX
- Globale Variable `currentLicenses` für Caching der Lizenzdaten
**Geänderte Dateien:**
- `v2_adminpanel/app.py` - Neue APIs und erweiterte Queries
- `v2_adminpanel/templates/customers_licenses.html` - Ressourcen-Details und Modals
- `v2_adminpanel/templates/index.html` - Erweiterte Verfügbarkeitsanzeige
- `v2_adminpanel/templates/dashboard.html` - Verbesserte Resource Pool Integration
- `v2_adminpanel/templates/resources.html` - Bidirektionale Navigation
**Status:** ✅ Alle 5 Phasen erfolgreich implementiert
### 2025-06-10 00:15: IP-Adressen-Erfassung hinter Reverse Proxy korrigiert
**Problem:**
- Flask-App erfasste nur die Docker-interne IP-Adresse von Nginx (172.19.0.5)
- Echte Client-IPs wurden nicht in Audit-Logs und Login-Attempts gespeichert
- Nginx setzte die Header korrekt, aber Flask las sie nicht aus
**Ursache:**
- Flask verwendet standardmäßig nur `request.remote_addr`
- Dies gibt bei einem Reverse Proxy nur die Proxy-IP zurück
- Die Header `X-Real-IP` und `X-Forwarded-For` wurden ignoriert
**Lösung:**
1. **ProxyFix Middleware** hinzugefügt für korrekte Header-Verarbeitung
2. **get_client_ip() Funktion** angepasst:
- Prüft zuerst `X-Real-IP` Header
- Dann `X-Forwarded-For` Header (nimmt erste IP bei mehreren)
- Fallback auf `request.remote_addr`
3. **Debug-Logging** für IP-Erfassung hinzugefügt
4. **Alle `request.remote_addr` Aufrufe** durch `get_client_ip()` ersetzt
**Technische Details:**
```python
# ProxyFix für korrekte IP-Adressen
app.wsgi_app = ProxyFix(app.wsgi_app, x_for=1, x_proto=1, x_host=1, x_prefix=1)
# Verbesserte IP-Erfassung
def get_client_ip():
if request.headers.get('X-Real-IP'):
return request.headers.get('X-Real-IP')
elif request.headers.get('X-Forwarded-For'):
return request.headers.get('X-Forwarded-For').split(',')[0].strip()
else:
return request.remote_addr
```
**Geänderte Dateien:**
- `v2_adminpanel/app.py` - ProxyFix und verbesserte IP-Erfassung
**Status:** ✅ Implementiert - Neue Aktionen erfassen jetzt echte Client-IPs
### 2025-06-10 00:30: Docker ENV Legacy-Format Warnungen behoben
**Problem:**
- Docker Build zeigte Warnungen: "LegacyKeyValueFormat: ENV key=value should be used"
- Veraltetes Format `ENV KEY VALUE` wurde in Dockerfiles verwendet
**Lösung:**
- Alle ENV-Anweisungen auf neues Format `ENV KEY=VALUE` umgestellt
- Betraf hauptsächlich v2_postgres/Dockerfile mit 3 ENV-Zeilen
**Geänderte Dateien:**
- `v2_postgres/Dockerfile` - ENV-Format modernisiert
**Beispiel der Änderung:**
```dockerfile
# Alt (Legacy):
ENV LANG de_DE.UTF-8
ENV LANGUAGE de_DE:de
# Neu (Modern):
ENV LANG=de_DE.UTF-8
ENV LANGUAGE=de_DE:de
```
**Status:** ✅ Alle Dockerfiles verwenden jetzt das moderne ENV-Format
**Status:** ✅ Behoben