feat(infra): HTTPS + Frontend HTTP/2 via undici + E2E-Adaption #307
No reviewers
Labels
No labels
component/backend
component/docs
component/e2e
component/frontend
component/infra
component/keycloak
prio/high
prio/low
prio/medium
type/bug
type/chore
type/feature
type/refactor
type/test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
WompSchmiede/FamilienFeierPlaner!307
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-290-https-certs"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
closes #290
Allgemein
HTTPS-Zertifikate fuer Backend, Frontend und Keycloak — sowohl fuer CI/CD (verpflichtend) als auch optional fuer lokale Entwicklung. Eigene Dev-CA als Trust-Anchor.
HTTPS-Unterstuetzung
allowHTTP1: true)Frontend HTTP/2 (fetch2-Wrapper)
Node.js built-in
fetch()(undici v7) spricht nur HTTP/1.1. Da das Backend aber rein HTTP/2 spricht, wurde ein Wrapper via npm-undici v8 mitAgent({ allowH2: true })implementiert:src/lib/server/fetch.ts— exportiertfetch2()via npm-undici v8 (HTTP/2 by default)fetch()-Aufrufe umgestellt: Health, BFF-Proxy, Callback, Token-Refreshfetch2anglobalThis.fetch(bestehende Mocks bleiben kompatibel)server.test.tswarnt wenn built-in undici auf v8+ upgradet (dann kann npm-Dep entfernt werden)E2E-Adaptionen
e2e/docker-compose.e2e.yml: HTTPS-Override-URLs + Env-Vars auch fuer e2e-runnerplaywright.config.ts:ignoreHTTPSErrors: trueglobal-setup.ts: Retry-Loop fuer Podman-pasta-ERR_NETWORK_CHANGEDscripts/docker-test.mjs: Health-Check via frontend-Container (undici statt host-fetch)scripts/generate-dev-certs.mjs: Config per tmpdir statt <(echo) (kompatibel mit dash/sh)Weitere Aenderungen
COOKIE_SECURE-Env-Var ersetzt hardcodiertessecure: falsean 18+ Stellenkeycloak/entrypoint.sh: Automatische Umschaltung start/start-devkeycloak.conf: db=postgres,spi-connections-jpa-quarkus-async-commit,proxy-headers=xforwarded.env.exampleaufs Wesentliche reduziert (nur ENCRYPTION_KEY aktiv)chmod 644+ SELinux:zfuer Container-Lesbarkeitbackend-api.integration.localkorrigiertDieser Test prüfte auf existierende dev-Certs unter dev/certs/, die weder in CI noch in der lokalen Unit-Test-Umgebung vorhanden sind. Der verbleibende Test ('erkennt fehlende SSL-Zertifikate') deckt den Fall ohne Certs ab und läuft überall.