Zweiter Anlauf des Upstream-Anschlusses (ADR-0022). Entfernt den Merge-Rest, der rc.2 die Raumliste brach, und bringt einen typecheck-Job mit, den docker_web als needs fuehrt - dieses Image ist das erste, das ohne bestandene Typpruefung gar nicht haette entstehen koennen. Abnahme steht aus, in dieser Reihenfolge: Raumliste laedt, ClamAV per Zip, ClamAV per .png (der umgezogene Bild-Pfad), Call-Teilnehmerliste. Rueckhebel: Tag zurueck auf v0.5.4.
158 lines
7.0 KiB
YAML
158 lines
7.0 KiB
YAML
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.
|
||
# rc.3 = derselbe Merge ohne den Rest, plus ein typecheck-Job, den
|
||
# docker_web als needs fuehrt: kein Image mehr ohne Typpruefung. Der
|
||
# web-Job baut nur, webpack wirft Typen weg - tsc hatte den Fehler die
|
||
# ganze Zeit gemeldet, gefragt hatte ihn niemand. Massstab ist "kein
|
||
# Fehler ausserhalb von node_modules", weil Upstream v1.12.26 selbst
|
||
# nicht typrein ist (matrix-js-sdk 42.2.0, in einem sauberen Checkout
|
||
# gegengeprueft).
|
||
# Weiterhin ein Kandidat - ABNAHME STEHT AUS, zuerst eine geladene
|
||
# Raumliste, dann ClamAV (Zip und .png) und die Call-Teilnehmerliste.
|
||
# Rueckhebel bleibt der Tag-Revert auf v0.5.4.
|
||
# 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.6.0-rc.3
|
||
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 |