# Gitea Repository Secrets Setup

## Erforderliche Secrets

Diese Secrets müssen in Gitea konfiguriert werden unter:
**Repository → Settings → Secrets**

### 1. REGISTRY_USER
- **Beschreibung**: Benutzername für Docker Registry Login
- **Typ**: String
- **Wert**: Standardmäßig `admin` oder der Benutzername für die Registry
- **Verwendung**: Docker Registry Authentication beim Image Push

### 2. REGISTRY_PASSWORD
- **Beschreibung**: Passwort für Docker Registry Login
- **Typ**: Password (versteckt)
- **Wert**: Das Passwort für die Docker Registry auf `registry.michaelschiemer.de`
- **Verwendung**: Docker Registry Authentication beim Image Push

### 3. SSH_PRIVATE_KEY
- **Beschreibung**: SSH Private Key für Zugriff auf Production Server
- **Typ**: SSH Key (versteckt)
- **Wert**: Der komplette Inhalt der SSH-Private-Key-Datei (~/.ssh/production)
- **Verwendung**: SSH-Verbindung zum Production-Server für Ansible Deployment

## Setup-Anleitung

### Schritt 1: SSH Key erstellen/exportieren

```bash
# Falls noch nicht vorhanden, SSH Key für Production erstellen
ssh-keygen -t ed25519 -f ~/.ssh/production -C "gitea-ci-cd"

# SSH Key Inhalt anzeigen (für Copy-Paste)
cat ~/.ssh/production
```

**⚠️ Wichtig**: Der komplette Inhalt der Datei (inkl. `-----BEGIN OPENSSH PRIVATE KEY-----` und `-----END OPENSSH PRIVATE KEY-----`) muss in das Secret eingefügt werden.

### Schritt 2: Docker Registry Credentials prüfen

Die Registry läuft auf dem Production-Server. Prüfe die Credentials:

```bash
# SSH zum Production-Server
ssh deploy@94.16.110.151

# Prüfe, ob Registry läuft
docker ps | grep registry

# Prüfe Registry-Konfiguration (falls vorhanden)
cat ~/deployment/stacks/registry/docker-compose.yml 2>/dev/null || echo "Registry Config nicht gefunden"
```

**Hinweis**: Falls die Registry noch nicht konfiguriert ist, müssen die Credentials festgelegt werden.

### Schritt 3: Secrets in Gitea hinzufügen

1. Gehe zu: `https://git.michaelschiemer.de/<username>/michaelschiemer/settings/secrets`
2. Klicke auf **"Add Secret"**
3. Füge jedes Secret einzeln hinzu:

   **REGISTRY_USER**:
   - Name: `REGISTRY_USER`
   - Value: `admin` (oder der tatsächliche Registry-Benutzername)
   - Save

   **REGISTRY_PASSWORD**:
   - Name: `REGISTRY_PASSWORD`
   - Value: `<registry-password>`
   - Save

   **SSH_PRIVATE_KEY**:
   - Name: `SSH_PRIVATE_KEY`
   - Value: `<kompletter-inhalt-von-~/.ssh/production>`
   - Save

### Schritt 4: Secrets verifizieren

Nach dem Hinzufügen sollten alle drei Secrets in der Liste erscheinen mit "Hidden" als Wert.

**✅ Checkliste**:
- [ ] REGISTRY_USER hinzugefügt
- [ ] REGISTRY_PASSWORD hinzugefügt
- [ ] SSH_PRIVATE_KEY hinzugefügt
- [ ] Alle Secrets zeigen "Hidden" als Wert
