Fehlende Umgebungsvariablen durchreichen - und dauerhaft absichern
Der Dienst "app" zaehlt seine Umgebungsvariablen einzeln auf; ein env_file gibt es nicht. Drei Werte, die die Anwendung ausliest, standen dort nicht: ERSTEINRICHTUNG_GEHEIMNIS, VERTRAUE_PROXY (beide seit v1.11.0) und S3_SSE (seit v1.11.1). Wer sie laut .env.example und INSTALLATION.md eintrug, brachte sie damit nicht in den Behaelter - die Anleitung war an dieser Stelle schlicht falsch. Besonders unangenehm bei VERTRAUE_PROXY: Der Wert fehlt still, die Anmeldesperre zaehlt dann nur nach E-Mail-Adresse statt zusaetzlich nach Anschluss, und im Betrieb faellt nichts auf. VERTRAUE_PROXY bekommt bewusst KEINE Vorgabe "true". Die strengere Einstellung bleibt die Voreinstellung; wer einen Proxy davorstellt, sagt es ausdruecklich. Ohne Proxy ist der weitergereichte Kopf frei erfunden. Der eigentliche Ertrag ist der Test: Er liest, welche Variablen env.ts ausliest - ueber process.env ebenso wie ueber pflicht(), zahl(), schalter() und schluessel32() -, vergleicht das mit dem, was die Compose-Datei dem Dienst mitgibt, und meldet jede Luecke. Ausnahmen sind aufgezaehlt und begruendet. Damit wiederholt sich der Fehler beim naechsten neuen Wert nicht: Wer ihn einfuehrt und das Durchreichen vergisst, sieht es sofort. Gegen drei Mutationen geprueft: Wert wieder entfernt, Vorgabe "true" gesetzt, S3_SSE entfernt - jede wird rot. Refs #43
This commit is contained in:
@@ -184,6 +184,13 @@ cp .env.example .env
|
||||
nano .env
|
||||
```
|
||||
|
||||
> **Die `.env` allein genügt nicht.** Die `docker-compose.yml` reicht die
|
||||
> Werte einzeln an den Behälter durch — sie hat kein `env_file:`. Ein
|
||||
> selbst ergänzter Wert, der dort nicht aufgeführt ist, erreicht die
|
||||
> Anwendung nicht, auch wenn er in der `.env` steht. Alle hier
|
||||
> beschriebenen Werte sind eingetragen; ein Test wacht darüber
|
||||
> (`tests/umgebung-durchreichen.test.ts`).
|
||||
|
||||
Diese Werte **musst** du setzen:
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user