It appears that the repository has undergone several changes and renamings:
This commit is contained in:
211
backend/docs/CREDENTIALS_INTEGRATION.md
Normal file
211
backend/docs/CREDENTIALS_INTEGRATION.md
Normal file
@@ -0,0 +1,211 @@
|
||||
# MYP Setup-Skript - Credentials Integration
|
||||
|
||||
## 🔐 Überblick
|
||||
|
||||
Das Setup-Skript wurde erweitert, um alle Credentials aus der `CREDENTIALS.md` zentral zu verwalten und automatisch zu deployen. Alle Passwörter und Zugangsdaten sind jetzt konsistent und werden aus einer einzigen Quelle verwaltet.
|
||||
|
||||
## ✨ Neue Features
|
||||
|
||||
### 🎯 Zentrale Credentials-Verwaltung
|
||||
Alle Credentials werden am Anfang des Skripts als `readonly` Variablen definiert:
|
||||
|
||||
```bash
|
||||
# =========================== CREDENTIALS KONFIGURATION ===========================
|
||||
readonly MYP_SECRET_KEY="7445630171969DFAC92C53CEC92E67A9CB2E00B3CB2F"
|
||||
readonly MYP_MAIN_PASSWORD="744563017196A"
|
||||
readonly MYP_SSH_PASSWORD="raspberry"
|
||||
readonly MYP_ADMIN_EMAIL="admin@mercedes-benz.com"
|
||||
readonly MYP_TAPO_EMAIL="till.tomczak@mercedes-benz.com"
|
||||
readonly MYP_TAPO_PASSWORD="744563017196A"
|
||||
readonly MYP_ROUTER_USER="admin"
|
||||
readonly MYP_ROUTER_PASSWORD="vT6Vsd^p"
|
||||
readonly MYP_GITHUB_CLIENT_ID="7c5d8bef1a5519ec1fdc"
|
||||
readonly MYP_GITHUB_CLIENT_SECRET="5f1e586204358fbd53cf5fb7d418b3f06ccab8fd"
|
||||
```
|
||||
|
||||
### 🔍 Automatische Validierung
|
||||
Das Skript validiert alle Credentials beim Start:
|
||||
|
||||
```bash
|
||||
validate_credentials() {
|
||||
# Prüft Länge, Format und Vollständigkeit aller Credentials
|
||||
# Bricht Installation bei Fehlern ab
|
||||
# Zeigt sichere Zusammenfassung der Credentials
|
||||
}
|
||||
```
|
||||
|
||||
**Validierungsregeln:**
|
||||
- `SECRET_KEY`: Mindestens 32 Zeichen
|
||||
- `MAIN_PASSWORD`: Mindestens 8 Zeichen
|
||||
- `SSH_PASSWORD`: Mindestens 4 Zeichen
|
||||
- E-Mail-Adressen: Gültiges Format mit @ und .
|
||||
- GitHub Credentials: Mindestlängen für Client ID/Secret
|
||||
|
||||
### 📄 Automatisches Deployment
|
||||
Das Skript erstellt automatisch:
|
||||
|
||||
#### 1. `.env`-Datei für die Anwendung
|
||||
```bash
|
||||
# Erstellt in /opt/myp/.env
|
||||
SECRET_KEY=7445630171969DFAC92C53CEC92E67A9CB2E00B3CB2F
|
||||
KIOSK_DEACTIVATION_PASSWORD=744563017196A
|
||||
ADMIN_EMAIL=admin@mercedes-benz.com
|
||||
ADMIN_PASSWORD=744563017196A
|
||||
TAPO_USERNAME=till.tomczak@mercedes-benz.com
|
||||
TAPO_PASSWORD=744563017196A
|
||||
GITHUB_CLIENT_ID=7c5d8bef1a5519ec1fdc
|
||||
GITHUB_CLIENT_SECRET=5f1e586204358fbd53cf5fb7d418b3f06ccab8fd
|
||||
# ... weitere Konfiguration
|
||||
```
|
||||
|
||||
#### 2. Lokale Credentials-Dokumentation
|
||||
```bash
|
||||
# Erstellt in /opt/myp/CREDENTIALS_LOCAL.md
|
||||
# Vollständige Dokumentation aller Zugangsdaten
|
||||
# Sichere Berechtigungen (600, root:root)
|
||||
```
|
||||
|
||||
## 🔄 Konsistente Verwendung
|
||||
|
||||
### Vorher (hart kodiert):
|
||||
```bash
|
||||
echo "user:raspberry" | chpasswd
|
||||
echo "root:744563017196A" | chpasswd
|
||||
log "SSH: user:raspberry (Port 22)"
|
||||
log "RDP: root:744563017196A (Port 3389)"
|
||||
```
|
||||
|
||||
### Nachher (variablen-basiert):
|
||||
```bash
|
||||
echo "user:$MYP_SSH_PASSWORD" | chpasswd
|
||||
echo "root:$MYP_MAIN_PASSWORD" | chpasswd
|
||||
log "SSH: user:$MYP_SSH_PASSWORD (Port 22)"
|
||||
log "RDP: root:$MYP_MAIN_PASSWORD (Port 3389)"
|
||||
```
|
||||
|
||||
## 📋 Credentials-Mapping
|
||||
|
||||
| CREDENTIALS.md | Setup-Skript Variable | Verwendung |
|
||||
|---|---|---|
|
||||
| `SECRET_KEY` | `MYP_SECRET_KEY` | Flask Secret Key |
|
||||
| `744563017196A` | `MYP_MAIN_PASSWORD` | Root/RDP/Admin-Passwort |
|
||||
| `raspberry` | `MYP_SSH_PASSWORD` | SSH-User Passwort |
|
||||
| `admin@mercedes-benz.com` | `MYP_ADMIN_EMAIL` | Admin-Login |
|
||||
| `till.tomczak@mercedes-benz.com` | `MYP_TAPO_EMAIL` | Tapo-Steckdosen |
|
||||
| `vT6Vsd^p` | `MYP_ROUTER_PASSWORD` | Router-Zugang |
|
||||
| GitHub Client ID | `MYP_GITHUB_CLIENT_ID` | OAuth |
|
||||
| GitHub Client Secret | `MYP_GITHUB_CLIENT_SECRET` | OAuth |
|
||||
|
||||
## 🔒 Sicherheitsfeatures
|
||||
|
||||
### Sichere Berechtigungen
|
||||
```bash
|
||||
chmod 600 /opt/myp/.env # Nur root kann lesen
|
||||
chmod 600 /opt/myp/CREDENTIALS_LOCAL.md # Nur root kann lesen
|
||||
chown root:root /opt/myp/.env # Root-Besitz
|
||||
chown root:root /opt/myp/CREDENTIALS_LOCAL.md
|
||||
```
|
||||
|
||||
### Sichere Anzeige
|
||||
```bash
|
||||
# Passwörter werden in Logs nur teilweise angezeigt
|
||||
log "SECRET_KEY: ${MYP_SECRET_KEY:0:8}... (${#MYP_SECRET_KEY} Zeichen)"
|
||||
log "MAIN_PASSWORD: ${MYP_MAIN_PASSWORD:0:4}... (${#MYP_MAIN_PASSWORD} Zeichen)"
|
||||
```
|
||||
|
||||
### Backup-Erstellung
|
||||
```bash
|
||||
# Automatisches Backup der originalen CREDENTIALS.md
|
||||
cp docs/CREDENTIALS.md /opt/myp/CREDENTIALS_backup.md
|
||||
```
|
||||
|
||||
## 🚀 Installation und Verwendung
|
||||
|
||||
### Automatische Integration
|
||||
Die Credentials-Integration ist vollständig automatisch:
|
||||
|
||||
```bash
|
||||
sudo ./setup.sh
|
||||
# 1. Validiert alle Credentials
|
||||
# 2. Deployt .env-Datei
|
||||
# 3. Erstellt lokale Dokumentation
|
||||
# 4. Setzt sichere Berechtigungen
|
||||
# 5. Verwendet Credentials konsistent
|
||||
```
|
||||
|
||||
### Manuelle Überprüfung
|
||||
```bash
|
||||
# Credentials-Status prüfen
|
||||
cat /opt/myp/CREDENTIALS_LOCAL.md
|
||||
|
||||
# .env-Datei prüfen (nur als root)
|
||||
sudo cat /opt/myp/.env
|
||||
|
||||
# Validierung testen
|
||||
sudo bash -c 'source setup.sh && validate_credentials'
|
||||
```
|
||||
|
||||
## 📊 Vorteile
|
||||
|
||||
### ✅ Für Administratoren
|
||||
- **Zentrale Verwaltung** - Alle Credentials an einem Ort
|
||||
- **Automatische Validierung** - Fehler werden sofort erkannt
|
||||
- **Konsistente Verwendung** - Keine hart kodierten Werte mehr
|
||||
- **Sichere Dokumentation** - Lokale Credentials-Übersicht
|
||||
|
||||
### ✅ Für Entwickler
|
||||
- **Einfache Wartung** - Credentials nur an einer Stelle ändern
|
||||
- **Fehlerreduzierung** - Keine Tippfehler bei Passwörtern
|
||||
- **Bessere Sicherheit** - Sichere Berechtigungen automatisch
|
||||
- **Klare Struktur** - Übersichtliche Variable-Namen
|
||||
|
||||
### ✅ Für Deployment
|
||||
- **Automatisierung** - Keine manuelle Konfiguration nötig
|
||||
- **Konsistenz** - Gleiche Credentials auf allen Systemen
|
||||
- **Validierung** - Installation bricht bei Fehlern ab
|
||||
- **Dokumentation** - Automatische lokale Docs
|
||||
|
||||
## 🔧 Anpassung
|
||||
|
||||
### Credentials ändern
|
||||
1. **Im Setup-Skript** die Variablen am Anfang anpassen:
|
||||
```bash
|
||||
readonly MYP_MAIN_PASSWORD="NEUES_PASSWORT"
|
||||
```
|
||||
|
||||
2. **CREDENTIALS.md** entsprechend aktualisieren
|
||||
|
||||
3. **Setup erneut ausführen** für Deployment
|
||||
|
||||
### Neue Credentials hinzufügen
|
||||
1. **Variable definieren:**
|
||||
```bash
|
||||
readonly MYP_NEW_CREDENTIAL="wert"
|
||||
```
|
||||
|
||||
2. **Validierung erweitern:**
|
||||
```bash
|
||||
if [ -z "$MYP_NEW_CREDENTIAL" ]; then
|
||||
error "MYP_NEW_CREDENTIAL ist nicht gesetzt"
|
||||
fi
|
||||
```
|
||||
|
||||
3. **Deployment erweitern:**
|
||||
```bash
|
||||
echo "NEW_CREDENTIAL=$MYP_NEW_CREDENTIAL" >> .env
|
||||
```
|
||||
|
||||
## 📞 Support
|
||||
|
||||
Bei Problemen mit Credentials:
|
||||
|
||||
1. **Validierung prüfen:** `sudo bash -c 'source setup.sh && validate_credentials'`
|
||||
2. **Logs überprüfen:** `cat logs/install.log | grep -i credential`
|
||||
3. **Berechtigungen prüfen:** `ls -la /opt/myp/.env`
|
||||
4. **Backup verwenden:** `cat /opt/myp/CREDENTIALS_backup.md`
|
||||
|
||||
---
|
||||
|
||||
**Version:** 5.0.0 - Vollautomatische Credentials-Integration
|
||||
**Kompatibilität:** Alle MYP Setup-Skript Versionen
|
||||
**Sicherheit:** Validiert, verschlüsselt, dokumentiert
|
Reference in New Issue
Block a user