Drei Werte, die die Anwendung ausliest, standen nicht im environment:-Block des Dienstes app:
Wert
seit
Folge
ERSTEINRICHTUNG_GEHEIMNIS
v1.11.0
Neuinstallation nicht möglich, Meldung verweist auf eine .env, in der der Wert korrekt steht
VERTRAUE_PROXY
v1.11.0
fehlt still — Anmeldesperre zählt eine Dimension weniger
S3_SSE
v1.11.1
nicht abschaltbar bzw. nicht setzbar
Wer sie laut Anleitung in die .env eintrug, brachte sie damit nicht in den Behälter. Die Dokumentation war an dieser Stelle schlicht falsch.
VERTRAUE_PROXY bewusst ohne Vorgabe
Kein :-true. Die strengere Einstellung bleibt die Voreinstellung — ohne Proxy ist der weitergereichte Kopf frei erfunden. Wer einen davorstellt, sagt es ausdrücklich.
Der eigentliche Ertrag: der Test
tests/umgebung-durchreichen.test.ts liest beide Seiten und vergleicht sie:
links alles, was env.ts ausliest — process.env.X ebenso wie pflicht(), zahl(), schalter(), schluessel32()
rechts alles, was die Compose-Datei dem Dienst mitgibt
Jede Lücke schlägt an. Ausnahmen sind aufgezählt und begründet (Bauargumente, NODE_ENV, Werte mit brauchbarem Standard). Ein weiterer Test stellt sicher, dass die Erkennung überhaupt etwas findet — sonst stünde die Prüfung grün da und prüfte nichts.
Damit wiederholt sich der Fehler beim nächsten neuen Wert nicht.
Geprüft
736 Unit-Tests, tsc und Lint sauber. Gegen drei Mutationen: Wert entfernt · Vorgabe true gesetzt · S3_SSE entfernt — jede wird rot.
Für das Livesystem
Nach dem Ausrollen kann der app:-Block aus deiner docker-compose.override.yml weg — die Werte kommen jetzt aus der regulären Compose-Datei. Der minio:-Block mit dem KMS-Schlüssel entfällt mit #42.
Closes #43
## Was fehlte
Drei Werte, die die Anwendung ausliest, standen nicht im `environment:`-Block des Dienstes `app`:
| Wert | seit | Folge |
|---|---|---|
| `ERSTEINRICHTUNG_GEHEIMNIS` | v1.11.0 | Neuinstallation nicht möglich, Meldung verweist auf eine `.env`, in der der Wert korrekt steht |
| `VERTRAUE_PROXY` | v1.11.0 | fehlt **still** — Anmeldesperre zählt eine Dimension weniger |
| `S3_SSE` | v1.11.1 | nicht abschaltbar bzw. nicht setzbar |
Wer sie laut Anleitung in die `.env` eintrug, brachte sie damit nicht in den Behälter. Die Dokumentation war an dieser Stelle schlicht falsch.
## `VERTRAUE_PROXY` bewusst ohne Vorgabe
Kein `:-true`. Die strengere Einstellung bleibt die Voreinstellung — ohne Proxy ist der weitergereichte Kopf frei erfunden. Wer einen davorstellt, sagt es ausdrücklich.
## Der eigentliche Ertrag: der Test
`tests/umgebung-durchreichen.test.ts` liest beide Seiten und vergleicht sie:
- **links** alles, was `env.ts` ausliest — `process.env.X` ebenso wie `pflicht()`, `zahl()`, `schalter()`, `schluessel32()`
- **rechts** alles, was die Compose-Datei dem Dienst mitgibt
Jede Lücke schlägt an. Ausnahmen sind aufgezählt und begründet (Bauargumente, `NODE_ENV`, Werte mit brauchbarem Standard). Ein weiterer Test stellt sicher, dass die Erkennung überhaupt etwas findet — sonst stünde die Prüfung grün da und prüfte nichts.
Damit wiederholt sich der Fehler beim nächsten neuen Wert nicht.
## Geprüft
**736 Unit-Tests**, `tsc` und Lint sauber. Gegen drei Mutationen: Wert entfernt · Vorgabe `true` gesetzt · `S3_SSE` entfernt — jede wird rot.
## Für das Livesystem
Nach dem Ausrollen kann der `app:`-Block aus deiner `docker-compose.override.yml` weg — die Werte kommen jetzt aus der regulären Compose-Datei. Der `minio:`-Block mit dem KMS-Schlüssel entfällt mit #42.
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
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #43
Was fehlte
Drei Werte, die die Anwendung ausliest, standen nicht im
environment:-Block des Dienstesapp:ERSTEINRICHTUNG_GEHEIMNIS.env, in der der Wert korrekt stehtVERTRAUE_PROXYS3_SSEWer sie laut Anleitung in die
.enveintrug, brachte sie damit nicht in den Behälter. Die Dokumentation war an dieser Stelle schlicht falsch.VERTRAUE_PROXYbewusst ohne VorgabeKein
:-true. Die strengere Einstellung bleibt die Voreinstellung — ohne Proxy ist der weitergereichte Kopf frei erfunden. Wer einen davorstellt, sagt es ausdrücklich.Der eigentliche Ertrag: der Test
tests/umgebung-durchreichen.test.tsliest beide Seiten und vergleicht sie:env.tsausliest —process.env.Xebenso wiepflicht(),zahl(),schalter(),schluessel32()Jede Lücke schlägt an. Ausnahmen sind aufgezählt und begründet (Bauargumente,
NODE_ENV, Werte mit brauchbarem Standard). Ein weiterer Test stellt sicher, dass die Erkennung überhaupt etwas findet — sonst stünde die Prüfung grün da und prüfte nichts.Damit wiederholt sich der Fehler beim nächsten neuen Wert nicht.
Geprüft
736 Unit-Tests,
tscund Lint sauber. Gegen drei Mutationen: Wert entfernt · Vorgabetruegesetzt ·S3_SSEentfernt — jede wird rot.Für das Livesystem
Nach dem Ausrollen kann der
app:-Block aus deinerdocker-compose.override.ymlweg — die Werte kommen jetzt aus der regulären Compose-Datei. Derminio:-Block mit dem KMS-Schlüssel entfällt mit #42.