Erster - Push für Zora

This commit is contained in:
2026-02-11 00:01:05 +01:00
parent e97c3344ed
commit 6e2780cc0f
6 changed files with 211 additions and 0 deletions
@@ -0,0 +1,45 @@
# Dokumentation: Zentrales Mail-Relay (SSoT) auf Zora
## 1. Identität & Rollenverteilung
Das System nutzt das **Single Source of Truth (SSoT)** Prinzip für den gesamten E-Mail-Verkehr. Anstatt dass jeder Dienst (Gitea, Keycloak, Spring Boot) eigene Zugangsdaten für World4You speichert, übernimmt **Zora** die zentrale Verwaltung.
| Parameter | Wert | Funktion |
|:-------------------|:-------------------------|:-------------------------------------------------|
| **Zentraler Host** | `zora.mo-code.at` | Primärer Mail-Transfer-Agent (MTA). |
| **Gateway IP** | `10.0.6.1` | Interne Erreichbarkeit für alle Container/VMs. |
| **Relay Host** | `smtp.world4you.com:587` | Externer Provider für den tatsächlichen Versand. |
| **SSoT Account** | `zora@mo-code.at` | Die verifizierte Absender-Identität. |
---
## 2. Technische Umsetzung (Der "Postbote")
Wir haben Postfix als **Satellitensystem** konfiguriert. Er nimmt Briefe im internen Netzwerk entgegen und bringt sie sicher zum Provider.
* **Sicherheit:** Postfix lauscht auf Port 25, erlaubt den Versand aber **nur** für Anfragen aus dem internen Netz `10.0.0.0/8` (Incus/Docker).
* **Authentifizierung:** Nur Zora kennt das Passwort für den World4You-Account (gespeichert in `sasl_passwd`).
* **Umschreibung (Canonical Mapping):** Postfix korrigiert automatisch Absender wie `root@zora` oder `grandmo@zora` zu `zora@mo-code.at`, damit der Provider die Mails nicht ablehnt.
* **Verschlüsselung:** Die Verbindung zu World4You ist via TLS (STARTTLS) abgesichert.
---
## 3. Vorstellung: Der Benachrichtigungs-Weg
Unsere Vision für den "Empire-Workflow" sieht wie folgt aus:
### Phase A: Das Ereignis (Trigger)
Ein Dienst stellt einen Zustand fest, der gemeldet werden muss.
* **Gitea:** Ein neuer Pull Request wurde erstellt.
* **Prometheus/Alertmanager:** Die Festplatte von Zora ist zu 90% voll.
* **Spring Boot:** Ein User hat sein Passwort für die "Meldestelle" vergessen.
### Phase B: Der interne Transport
Der Dienst verbindet sich ohne Passwort (da er sich im vertrauenswürdigen Netz befindet) mit:
`SMTP_HOST: 10.0.6.1` | `SMTP_PORT: 25`
Dies minimiert das Risiko: Keine Passwörter in `.env`-Dateien von Applikationen.
### Phase C: Die externe Zustellung
Zora nimmt die Mail an, prüft sie, fügt ggf. die korrekte Absenderadresse hinzu und reicht sie an World4You weiter. Von dort landet sie in deinem Gmail-Postfach.
---
## 4. Status Quo (Erfolgskontrolle)
Dass dieser Weg bereits perfekt funktioniert, wurde durch die Gitea Test-Email am **10.02.2026 um 00:56 Uhr** bewiesen. Die Mail kam sauber signiert und verschlüsselt an.