cluster

Infrastructure files for Nordgedanken and Midnightthoughts.
git clone git://archive.git.mtrnord.blog/MTRNord/cluster.git
Log | Files | Refs | README

commit f86af8e900125b967b174067f684825eb727d616
parent 8cf3a8f86c267b19b457a3da66a87c59ab133803
Author: MTRNord <mtrnord1@gmail.com>
Date:   Thu,  1 May 2025 23:46:55 +0200

Test livekit

Diffstat:
Mapps/2024_cluster/secrets/draupnir4all-web.yaml | 28++++++++++++++--------------
Mapps/base/matrix/draupnir4all/deployment.yaml | 160+++++++++++++++++++++++++++++++++++++------------------------------------------
Mapps/base/matrix/draupnir4all/service.yaml | 4++--
Mapps/base/matrix/livekit/release.yaml | 2+-
4 files changed, 92 insertions(+), 102 deletions(-)

diff --git a/apps/2024_cluster/secrets/draupnir4all-web.yaml b/apps/2024_cluster/secrets/draupnir4all-web.yaml @@ -14,13 +14,13 @@ sops: age: - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWV1RoOVlrUmNBQ0lYVndv - aThXbE5aMjE0dVU2MHlFaTh4SXUzSGVXc0hFCmxlZ0JqU2V2aGNGZ3V0b2ZBWk9q - cmlPdllRU1g1M3BwNXoxOFErNzJ0WTQKLS0tIDNVd2d2dTFWd2Z2Z1l1WURVbVpJ - WWQreDVmVHMwbjZ1ZWpxTmI2alluaGcKSgClGHGhWC0extu+MGGqUWvqAVQh4LoN - cK2UyZBOor6Mm0dWHg7cZRGPJocGZ9fkyBLsJMBWa+DSWIs3WeOD8w== - -----END AGE ENCRYPTED FILE----- + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWV1RoOVlrUmNBQ0lYVndv + aThXbE5aMjE0dVU2MHlFaTh4SXUzSGVXc0hFCmxlZ0JqU2V2aGNGZ3V0b2ZBWk9q + cmlPdllRU1g1M3BwNXoxOFErNzJ0WTQKLS0tIDNVd2d2dTFWd2Z2Z1l1WURVbVpJ + WWQreDVmVHMwbjZ1ZWpxTmI2alluaGcKSgClGHGhWC0extu+MGGqUWvqAVQh4LoN + cK2UyZBOor6Mm0dWHg7cZRGPJocGZ9fkyBLsJMBWa+DSWIs3WeOD8w== + -----END AGE ENCRYPTED FILE----- lastmodified: "2025-04-28T09:22:52Z" mac: ENC[AES256_GCM,data:gyUWaw9muoP/t8tOGvSFzrKydhpzj0olAdco4UNVUAC42PXC94oxNYlA2Kr0KxN5zQudpBwnJHNpfIUKPV2VqNu0e6jNWRlJOpk9/p6Kbbzlq5LG2QVA4qNEV9F3HcnhzNF+JbQ70KesPMfCSOVS+caHKwd2zZgIxGxe2k7xRdY=,iv:2EVTJpuHFO87BNRR7BRSwcblK2MMDCJEkAq3HHqfFNY=,tag:ANRnXMVYZn1M8tPDD6ieww==,type:str] pgp: [] @@ -43,13 +43,13 @@ sops: age: - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWV1RoOVlrUmNBQ0lYVndv - aThXbE5aMjE0dVU2MHlFaTh4SXUzSGVXc0hFCmxlZ0JqU2V2aGNGZ3V0b2ZBWk9q - cmlPdllRU1g1M3BwNXoxOFErNzJ0WTQKLS0tIDNVd2d2dTFWd2Z2Z1l1WURVbVpJ - WWQreDVmVHMwbjZ1ZWpxTmI2alluaGcKSgClGHGhWC0extu+MGGqUWvqAVQh4LoN - cK2UyZBOor6Mm0dWHg7cZRGPJocGZ9fkyBLsJMBWa+DSWIs3WeOD8w== - -----END AGE ENCRYPTED FILE----- + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWV1RoOVlrUmNBQ0lYVndv + aThXbE5aMjE0dVU2MHlFaTh4SXUzSGVXc0hFCmxlZ0JqU2V2aGNGZ3V0b2ZBWk9q + cmlPdllRU1g1M3BwNXoxOFErNzJ0WTQKLS0tIDNVd2d2dTFWd2Z2Z1l1WURVbVpJ + WWQreDVmVHMwbjZ1ZWpxTmI2alluaGcKSgClGHGhWC0extu+MGGqUWvqAVQh4LoN + cK2UyZBOor6Mm0dWHg7cZRGPJocGZ9fkyBLsJMBWa+DSWIs3WeOD8w== + -----END AGE ENCRYPTED FILE----- lastmodified: "2025-04-28T09:22:52Z" mac: ENC[AES256_GCM,data:gyUWaw9muoP/t8tOGvSFzrKydhpzj0olAdco4UNVUAC42PXC94oxNYlA2Kr0KxN5zQudpBwnJHNpfIUKPV2VqNu0e6jNWRlJOpk9/p6Kbbzlq5LG2QVA4qNEV9F3HcnhzNF+JbQ70KesPMfCSOVS+caHKwd2zZgIxGxe2k7xRdY=,iv:2EVTJpuHFO87BNRR7BRSwcblK2MMDCJEkAq3HHqfFNY=,tag:ANRnXMVYZn1M8tPDD6ieww==,type:str] pgp: [] diff --git a/apps/base/matrix/draupnir4all/deployment.yaml b/apps/base/matrix/draupnir4all/deployment.yaml @@ -42,11 +42,11 @@ spec: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: - matchExpressions: - - key: app - operator: In - values: - - draupnir4all + matchExpressions: + - key: app + operator: In + values: + - draupnir4all topologyKey: "kubernetes.io/hostname" containers: - name: draupnir4all @@ -66,107 +66,97 @@ spec: # - name: TRACING_METRIC_URL # value: http://tempo.monitoring.svc.cluster.local:4318/v1/metrics env: - - name: NODE_OPTIONS - value: "--trace-warnings" + - name: NODE_OPTIONS + value: "--trace-warnings" command: ["./draupnir-entrypoint.sh"] - args: - [ - "appservice", - "-c", - "/data/config/config.appservice.yaml", - "-f", - "/data/config/draupnir-registration.yaml", - "--draupnir-config", - "/data/config/draupnir-config.yaml", - "-p", - "9000", - ] + args: ["appservice", "-c", "/data/config/config.appservice.yaml", "-f", "/data/config/draupnir-registration.yaml", + "--draupnir-config", "/data/config/draupnir-config.yaml", "-p", "9000"] resources: - limits: {} - requests: - memory: "344Mi" - cpu: "252m" + limits: {} + requests: + memory: "344Mi" + cpu: "252m" securityContext: - runAsUser: 1000 - runAsGroup: 1000 - readOnlyRootFilesystem: true + runAsUser: 1000 + runAsGroup: 1000 + readOnlyRootFilesystem: true ports: - - containerPort: 9001 - name: api - protocol: TCP - - containerPort: 9000 - name: appservice - protocol: TCP + - containerPort: 9001 + name: api + protocol: TCP + - containerPort: 9000 + name: appservice + protocol: TCP volumeMounts: - - name: configs - mountPath: "/data/config" - readOnly: true - - mountPath: /data/storage - name: storage - - mountPath: /tmp - name: tmp + - name: configs + mountPath: "/data/config" + readOnly: true + - mountPath: /data/storage + name: storage + - mountPath: /tmp + name: tmp livenessProbe: - httpGet: - path: /healthz - port: appservice - scheme: HTTP - initialDelaySeconds: 15 - periodSeconds: 10 + httpGet: + path: /healthz + port: appservice + scheme: HTTP + initialDelaySeconds: 15 + periodSeconds: 10 startupProbe: - httpGet: - path: /healthz - port: appservice - initialDelaySeconds: 15 - failureThreshold: 30 - periodSeconds: 10 + httpGet: + path: /healthz + port: appservice + initialDelaySeconds: 15 + failureThreshold: 30 + periodSeconds: 10 - name: draupnir4all-web image: ghcr.io/mtrnord/draupnir4all-web:latest imagePullPolicy: Always env: - - name: SESSION_SECRET - valueFrom: - secretKeyRef: - name: draupnir4all-web - key: session-secret - - name: D4ALL_INSTANCE_ADDRESS - value: "http://localhost:9001" + - name: SESSION_SECRET + valueFrom: + secretKeyRef: + name: draupnir4all-web + key: session-secret + - name: D4ALL_INSTANCE_ADDRESS + value: "http://localhost:9001" resources: - limits: {} - requests: - memory: "344Mi" - cpu: "252m" + limits: {} + requests: + memory: "344Mi" + cpu: "252m" securityContext: - runAsUser: 1000 - runAsGroup: 1000 - readOnlyRootFilesystem: true + runAsUser: 1000 + runAsGroup: 1000 + readOnlyRootFilesystem: true ports: - - containerPort: 3000 - name: web - protocol: TCP + - containerPort: 3000 + name: web + protocol: TCP volumeMounts: - - mountPath: /tmp - name: tmp + - mountPath: /tmp + name: tmp livenessProbe: - httpGet: - path: / - port: web - scheme: HTTP - initialDelaySeconds: 15 - periodSeconds: 10 + httpGet: + path: / + port: web + scheme: HTTP + initialDelaySeconds: 15 + periodSeconds: 10 startupProbe: - httpGet: - path: / - port: web - initialDelaySeconds: 15 - failureThreshold: 30 - periodSeconds: 10 + httpGet: + path: / + port: web + initialDelaySeconds: 15 + failureThreshold: 30 + periodSeconds: 10 volumes: - name: configs secret: - secretName: draupnir-appservice + secretName: draupnir-appservice - name: storage persistentVolumeClaim: - claimName: d4all-persistent-storage + claimName: d4all-persistent-storage - name: tmp emptyDir: - sizeLimit: 2048Mi + sizeLimit: 2048Mi diff --git a/apps/base/matrix/draupnir4all/service.yaml b/apps/base/matrix/draupnir4all/service.yaml @@ -35,5 +35,5 @@ spec: - draupnir.midnightthoughts.space rules: - backendRefs: - - name: draupnir4all - port: 3000 + - name: draupnir4all + port: 3000 diff --git a/apps/base/matrix/livekit/release.yaml b/apps/base/matrix/livekit/release.yaml @@ -36,7 +36,7 @@ spec: chart: ./livekit-server/ sourceRef: kind: GitRepository - name: livekit + name: livekit-nordeck namespace: matrix interval: 60m timeout: 25m