Files
axion1337.chat-gitops/apps/production/element-server-suite.yaml
T
Thore Cimbal b319f21133 Historie: rc.2-Vorfall am Tag-Kommentar festhalten
Der Block beschrieb rc.2 noch als laufenden Stand.
2026-08-19 12:00:00 +00:00

150 lines
6.5 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: matrix-stack
namespace: matrix
spec:
# Shortened from 5m to match production-apps Kustomization's 1m interval - narrows the
# window between coturn (Kustomization-only, no Helm indirection) and synapse-main
# (behind this HelmRelease) picking up a rotated TURN secret after Issue #38's
# automated-rotation PR gets merged. Self-heals either way, just faster now.
interval: 1m
chart:
spec:
chart: matrix-stack
version: "26.4.0"
sourceRef:
kind: HelmRepository
name: element-ess-oci
namespace: flux-system
# NEU: Hier zieht Flux deine Puzzleteile zusammen
valuesFrom:
- kind: ConfigMap
name: ess-synapse-custom
valuesKey: values.yaml
- kind: ConfigMap
name: ess-element-custom
valuesKey: values.yaml
- kind: Secret
name: ess-mas-values-secret
valuesKey: values.yaml
- kind: Secret
name: synapse-turn-secret
valuesKey: values.yaml
values:
# Top-Level: serverName das ist dein Matrix-Homeserver-Name
serverName: axion1337.chat
# Cert-Manager für automatische Zertifikatsgenerierung
certManager:
clusterIssuer: letsencrypt-prod
# Interner Postgres an (default ist eh true, hier nur zur Klarheit)
postgres:
enabled: true
# Synapse API auf matrix.axion1337.chat
synapse:
enabled: true
ingress:
host: matrix.axion1337.chat
additional:
oembed:
config: |
oembed_enabled: true
# Matrix Authentication Service braucht eine Subdomain
matrixAuthenticationService:
enabled: true
ingress:
host: account.axion1337.chat
# Matrix RTC (Element Call) braucht auch eine Subdomain
matrixRTC:
enabled: true
ingress:
host: mrtc.axion1337.chat
# Chart default (20Mi request+limit) OOM-killed the authorisation service after
# ~74 days of uptime (2026-07-28) - too tight for a long-running Go service.
resources:
requests:
memory: 64Mi
cpu: 50m
limits:
memory: 128Mi
# Element Web
elementWeb:
enabled: true
image:
registry: rohana.axion1337.de
repository: sorb/threadnet-web
# v0.6.0-rc.2 = Anschluss an Element Web v1.12.26 (ADR-0022). Ein echter
# Merge-Commit statt Cherry-Picks; die Fork-Patches mussten umziehen,
# weil Upstream MImageBody.tsx geloescht und den Raumlisten-Inhalt nach
# RoomListItemContent ausgelagert hat. Betroffen sind genau die zwei
# Stellen, die die Abnahme pruefen muss: die ClamAV-Fehlermeldung im
# Bild-Pfad (ImageBodyViewModel.computeErrorLabel) und die
# Call-Teilnehmerliste in der Raumliste.
# Am 19.08. ausgerollt und nach wenigen Minuten zurueckgenommen: die
# Raumliste stuerzte bei jedem Eintrag ab (react-soft-crash), weil in
# RoomListItemViewModel.ts eine getValue-Zeile auf den von Upstream
# entfernten Labs-Schalter feature_room_list_sections stehenblieb -
# Sektionen laufen dort inzwischen ueber RoomList.showSections. Eine
# Leiche aus der Merge-Aufloesung, die kein Build fangen konnte:
# getValue nimmt einen String und wirft erst zur Laufzeit.
# Kommt nach dem Fix als rc.3 zurueck. NICHT wieder anheben ohne
# geladene Raumliste im Browser.
# v0.5.4 = Sender-Verifikation (threadnet-call fee9866): auf Safari
# uebersprang LiveKit den Track-Tausch stumm (sender?.replaceTrack),
# das rohe Mikro blieb auf der Leitung. Der Fork prueft und erzwingt
# den Tausch jetzt; die Konsole weist den Sendepfad aus.
# v0.5.3 = KI-Geraeuschunterdrueckung freigeschaltet (threadnet-call
# e3f8a85): Abnahme im Call zu zweit bestanden 2026-08-17. Checkbox +
# Regler in den Call-Einstellungen (Audio-Reiter). Rueckhebel bei
# Regression: Feature-Tor im Fork schliessen, kein Deployment-Revert.
# v0.5.2 = KI-Filter-Anbindung Weg B (threadnet-call df4e5ee): Filter
# haengt sich NACH der Publikation an den Mikrofon-Track, eigener
# AudioContext nur dort - kein webAudioMix, kein processor-Schluessel in
# den Capture-Defaults in irgendeinem Zustand. Tor geschlossen: fuer
# alle Nutzer verhaltensgleich mit v0.5.1; Test-Client per zwei
# localStorage-Schluesseln. Tor-Oeffnung erst nach Abnahme im Call.
# v0.5.1 = Entmuten-Vorfall aus v0.5.0 behoben (threadnet-call dcc8643):
# Aus-Pfad der KI-Geraeuschunterdrueckung wieder identisch mit Upstream
# (kein processor-Schluessel), Feature hart stillgelegt bis zur
# webAudioMix-Entscheidung - neutralisiert auch Clients mit noch
# aktivierter Einstellung im localStorage. Regressionstests decken beide
# Faelle ab. Abnahme: Call zu zweit nach dem Rollout.
# Historie 2026-08-16: v0.5.0 brach das Entmuten beidseitig und wurde v0.5.0 brach das Entmuten - es wurde nie ein
# Audio-Track veroeffentlicht (SFU-Log: kein einziges "published"). Erstes
# Produktivimage mit dem KI-Filter im Audio-Pfad; v0.4.3 (embedded .7) ist
# der letzte Stand, mit dem Calls nachweislich liefen (09.-11.08.).
# Ursache offen - siehe #0054. NICHT wieder anheben ohne Call-Test zu zweit.
# v0.5.0 = KI-Geraeuschunterdrueckung im Call-Widget (ADR-0018): erste
# Funktionserweiterung seit dem Rebrand, daher Minor statt Patch. Das
# Image traegt jetzt 23 MB Modell-Assets unter
# /widgets/element-call/assets/dfn3/ - sie werden erst beim Einschalten
# des Filters geladen, nicht beim Seitenaufruf.
# v0.4.0 = Rebrand sichtbar: zentrierte Icons, Markenfarbe #ed4f4c,
# About-Attribution unter der Client-Version (ThreadNet-Web#10).
# Die Linie beginnt bei v0.3.0, dem ersten kanonischen CI-Build aus
# apps/web/Dockerfile - er loeste die Derivat-Images ab, deren
# Entrypoint ohne Exec-Bit /config.json still brach (ThreadNet-Web#8).
tag: v0.5.4
ingress:
host: axion1337.chat
# Element Admin
elementAdmin:
enabled: true
ingress:
host: admin.axion1337.chat
# Well-Known auf der Apex-Domain (axion1337.chat/.well-known/matrix/*)
# Aktiviert notwendig für MatrixRTC-Discovery
wellKnownDelegation:
enabled: true
ingress:
className: "none" # Deaktiviert den Chart-Ingress, wir erstellen einen eigenen