feat: add synapse communication
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
apiVersion: postgresql.cnpg.io/v1
|
||||
kind: Cluster
|
||||
metadata:
|
||||
name: mas-db
|
||||
namespace: synapse
|
||||
spec:
|
||||
instances: 3
|
||||
storage:
|
||||
size: 2Gi
|
||||
storageClass: longhorn
|
||||
backup:
|
||||
barmanObjectStore:
|
||||
destinationPath: s3://cnpg-backups/mas
|
||||
endpointURL: http://192.168.2.107:9010
|
||||
s3Credentials:
|
||||
accessKeyId:
|
||||
name: minio-cnpg-credentials
|
||||
key: ACCESS_KEY_ID
|
||||
secretAccessKey:
|
||||
name: minio-cnpg-credentials
|
||||
key: ACCESS_SECRET_KEY
|
||||
retentionPolicy: "30d"
|
||||
bootstrap:
|
||||
initdb:
|
||||
database: mas
|
||||
owner: mas
|
||||
@@ -0,0 +1,26 @@
|
||||
apiVersion: postgresql.cnpg.io/v1
|
||||
kind: Cluster
|
||||
metadata:
|
||||
name: synapse-db
|
||||
namespace: synapse
|
||||
spec:
|
||||
instances: 3
|
||||
storage:
|
||||
size: 5Gi
|
||||
storageClass: longhorn
|
||||
backup:
|
||||
barmanObjectStore:
|
||||
destinationPath: s3://cnpg-backups/synapse
|
||||
endpointURL: http://192.168.2.107:9010
|
||||
s3Credentials:
|
||||
accessKeyId:
|
||||
name: minio-cnpg-credentials
|
||||
key: ACCESS_KEY_ID
|
||||
secretAccessKey:
|
||||
name: minio-cnpg-credentials
|
||||
key: ACCESS_SECRET_KEY
|
||||
retentionPolicy: "30d"
|
||||
bootstrap:
|
||||
initdb:
|
||||
database: synapse
|
||||
owner: synapse
|
||||
@@ -0,0 +1,10 @@
|
||||
apiVersion: postgresql.cnpg.io/v1
|
||||
kind: ScheduledBackup
|
||||
metadata:
|
||||
name: mas-db-backup
|
||||
namespace: synapse
|
||||
spec:
|
||||
schedule: "0 3 * * *"
|
||||
backupOwnerReference: self
|
||||
cluster:
|
||||
name: mas-db
|
||||
@@ -0,0 +1,10 @@
|
||||
apiVersion: postgresql.cnpg.io/v1
|
||||
kind: ScheduledBackup
|
||||
metadata:
|
||||
name: synapse-db-backup
|
||||
namespace: synapse
|
||||
spec:
|
||||
schedule: "0 3 * * *"
|
||||
backupOwnerReference: self
|
||||
cluster:
|
||||
name: synapse-db
|
||||
@@ -0,0 +1,78 @@
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: ess
|
||||
namespace: synapse
|
||||
spec:
|
||||
interval: 1h
|
||||
chart:
|
||||
spec:
|
||||
chart: matrix-stack
|
||||
version: ">=0.1.0"
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: ess-helm
|
||||
namespace: synapse
|
||||
values:
|
||||
# Server-Identität — permanent, niemals ändern nach erstem Deploy
|
||||
serverName: commatrix.net-scope.org # VERIFY: ggf. matrix.hostname
|
||||
|
||||
# Internes PostgreSQL deaktivieren — wir nutzen CNPG
|
||||
postgresql:
|
||||
enabled: false
|
||||
|
||||
synapse:
|
||||
enabled: true
|
||||
# Kein Kubernetes Ingress — Cloudflare Tunnel routet direkt zum Service
|
||||
ingress:
|
||||
enabled: false
|
||||
# Signing Key aus SOPS Secret (einmalig generiert, nie ersetzen)
|
||||
signingKey: # VERIFY: exakten Pfad gegen values.yaml prüfen
|
||||
existingSecret:
|
||||
name: synapse-secret
|
||||
key: SIGNING_KEY
|
||||
# Externe CNPG-Datenbank
|
||||
postgresql: # VERIFY
|
||||
host: synapse-db-rw.synapse.svc.cluster.local
|
||||
port: 5432
|
||||
database: synapse
|
||||
username: synapse
|
||||
sslMode: require
|
||||
password:
|
||||
existingSecret:
|
||||
name: synapse-secret
|
||||
key: SYNAPSE_DB_PASSWORD
|
||||
|
||||
matrixAuthenticationService:
|
||||
enabled: true
|
||||
ingress:
|
||||
enabled: false
|
||||
postgresql: # VERIFY
|
||||
host: mas-db-rw.synapse.svc.cluster.local
|
||||
port: 5432
|
||||
database: mas
|
||||
username: mas
|
||||
sslMode: require
|
||||
password:
|
||||
existingSecret:
|
||||
name: synapse-secret
|
||||
key: MAS_DB_PASSWORD
|
||||
|
||||
elementWeb:
|
||||
enabled: true
|
||||
ingress:
|
||||
enabled: false
|
||||
|
||||
elementAdmin:
|
||||
enabled: false
|
||||
|
||||
# Element Call braucht UDP — nicht über Cloudflare Tunnel möglich
|
||||
matrixRtc:
|
||||
enabled: false
|
||||
|
||||
# Medien-Storage: lokale PVC — ausreichend für Homelab
|
||||
synapse:
|
||||
persistence: # VERIFY
|
||||
enabled: true
|
||||
size: 10Gi
|
||||
storageClass: longhorn
|
||||
@@ -0,0 +1,9 @@
|
||||
apiVersion: source.toolkit.fluxcd.io/v1
|
||||
kind: HelmRepository
|
||||
metadata:
|
||||
name: ess-helm
|
||||
namespace: synapse
|
||||
spec:
|
||||
interval: 1h
|
||||
type: oci
|
||||
url: oci://ghcr.io/element-hq/ess-helm
|
||||
@@ -0,0 +1,28 @@
|
||||
apiVersion: ENC[AES256_GCM,data:xsE=,iv:T5w04FbQfmMKkL0j1g2SSAS/1l+Fk6g/Bi0ZVm1khHs=,tag:xQWUU+WiDTpiT3j09QX2og==,type:str]
|
||||
kind: ENC[AES256_GCM,data:nIIgKVva,iv:Ij1+no4db0KNdQChZzrtp0T8pn8diApmZb/f+kaYRxM=,tag:UCanL/X6rQxPGfxnqkVxTQ==,type:str]
|
||||
metadata:
|
||||
name: ENC[AES256_GCM,data:VZOY5WgV7Oz8Rzs+8rksm0L4J26cRg==,iv:iAMMJOYnFJFmAwVIYo3t3aJHbbW8vJqeQRv6joYNcOM=,tag:AbOeC3WlwnbvRMjrkTQ1UA==,type:str]
|
||||
namespace: ENC[AES256_GCM,data:e4fJWCfKfA==,iv:yFHPwAmWqYBjqdrJcyYsdRT7b0jeFjG4mfk2lAh3k5U=,tag:7xXLXdmQy+4t31PfQatWMw==,type:str]
|
||||
stringData:
|
||||
ACCESS_KEY_ID: ENC[AES256_GCM,data:1no6G3U9pJSuFUNtYDUsjNREIC8=,iv:p7hy6PmVg0OVaFR1btrZBwJIuBZGmAIO3smuRBNzvl8=,tag:91Wdr2phhR0imEJdXWFMQw==,type:str]
|
||||
ACCESS_SECRET_KEY: ENC[AES256_GCM,data:UJxAubCw01I9p6ZrK8ebNpbPpbytUvkAOX3kziSKCHwgEmNG8XmGLw==,iv:toLrbTFLB3K2cnuv20s2hiuCiWI+0La+M0tN85b95OU=,tag:BW885iIh2wwiwbxuQ46sHA==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age1rydfcalt7pu4jnmh298lgjlasxyjldyaz3xyssk7v54lpu30fv0qna96ea
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGczhpcnhFNm1vTVlVZ2pr
|
||||
QnRDOUZYZVZ6cE56VnM2NjQ3OWVHM2cwWEI0CndMK2dNemJBdlFZTGpweWMrYnZD
|
||||
MkUrU1hldXhmVDBmaGNCRU5zaUFPS3cKLS0tIEUvNnA3UGtVams1cThHcXhrdXF4
|
||||
VGZrQnhROXlkT01jSXZTclljU1RwczgKuKoQS8KFFmRvDqkRfhBOVIj1h+jRreXg
|
||||
/dB0/gRm8rdMOjQJ+efDMD3dVqakQjM0o7LRol/FGNDnf/FrpNzHNw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-04-22T18:51:59Z"
|
||||
mac: ENC[AES256_GCM,data:CF6yAODac/fYF7Qv5UnLggrsKqWBrFr0F7rKosq8Am7bzjUJ398B2MAl4g80IM+cwj4VSxBi2Ejltin/yhaTz2FhbR6Nmx4k4p8TCJFRUkKjx3rLw2WMNM0taYTvis0FPJjbMYshgF3eweaqq0LXNb7x3RooaaC47ouOfj3K3Gg=,iv:FgDkQdGCV1RyI3rZ7d6hWsCpqQDXHEA1UrmccwjXnPU=,tag:81huyBSdcOhsCG6/WMhIiw==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.9.4
|
||||
@@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: synapse
|
||||
@@ -0,0 +1,29 @@
|
||||
apiVersion: ENC[AES256_GCM,data:goE=,iv:H1pzxncLUgHixtEgZyjTWBKj5iKrz42jGrczl1P50Ws=,tag:VZir/D6mWBmJwKUYqjrd4g==,type:str]
|
||||
kind: ENC[AES256_GCM,data:D8Llc1/A,iv:cPjR+vLED+CX+Pdwcjc+L2v0yNZ3ZdjkO4D667M9/7k=,tag:0aqTslgYBl96X9l6lx3i5Q==,type:str]
|
||||
metadata:
|
||||
name: ENC[AES256_GCM,data:SmBtH0O3vw//AWWFZ5Y=,iv:gnQCyuTRZ1st9VU3hPDXkLi5gn9nii7Q3+lvkt7EP0I=,tag:9O/NQiE3qpsTLPgInLK25A==,type:str]
|
||||
namespace: ENC[AES256_GCM,data:CEpwrvcCsA==,iv:0dFRs0WqHEaDWX/0TclxK2ZVcHcoCNuLsC8h3d6JDWI=,tag:ocCzvNRrXLICrQHZlDGvtw==,type:str]
|
||||
stringData:
|
||||
SYNAPSE_DB_PASSWORD: ENC[AES256_GCM,data:lopLbr7npKA=,iv:mfQ5kqAouOaI3Ako0sEoqQC5JMm5WNKNlDiAiW8R8GA=,tag:LSEiJStxtLCSHEn8NEe6ig==,type:str]
|
||||
MAS_DB_PASSWORD: ENC[AES256_GCM,data:+yDolnP5aQc=,iv:Tnvytm8h90Joy3AQTEwEVgX6WpyejfjEMscnh/ryQ4w=,tag:9FGYGudnmbqhioZKRWs8Ag==,type:str]
|
||||
SIGNING_KEY: ENC[AES256_GCM,data:SPfN1H56/58/YZJbgVyi1H5laOh+8ddJ1uAlmohBRJWOt28HKmERfpizyYsMssVFA99rZV8=,iv:wgP+dT1Oi+CofC+lSE+rfOdWBBxgUnBwrlMYtowYq8I=,tag:4c6rYHuP0CE/tpqJ4Xbcog==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age1rydfcalt7pu4jnmh298lgjlasxyjldyaz3xyssk7v54lpu30fv0qna96ea
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXNjIybzUyZzdMRWlhckhp
|
||||
cWkwdW1LWFJzbUllbzg5S2V2RjBmSEtaaUMwCm5XMlhHVHI3VnYzTExGVlNLYllJ
|
||||
N0Y1Sk4vWjBYZmFaZmpPV3psSFZPcWMKLS0tIG5yRFluV2FEbE9teFhpZTlOQjls
|
||||
aStHQVhEcGdNQVFVcXVlcUQ2c1I5RFkKs412eV6uT7glhdQYQliApizmGwxRiM5k
|
||||
p9FK94nfEC/I43yOhg84o7hInk944LVmqMlTRwGf7JSyFecuVBf3/Q==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2026-04-22T19:00:16Z"
|
||||
mac: ENC[AES256_GCM,data:ES1qvs4VAi2jQsIQ8AEdZVZIiQiXg3B50nChijUXi9R2Nc9efe48lZ/luwIbxDXv/ps0oASp5VhKiuGy5zQS2Z0Dxon7CgwKlIlm+lRjirthTzmCGB+xik6aCVkBFn2fpLBMoBZEfZOrarVr7kLX4/zdEttczLv8ecvI4tJodjI=,iv:Jpge5tp+B7PykOqXiV7V1aZGfWCPqmOuWrR4U9D9i/U=,tag:YUyjaliOKzCDLwhGtkJXDw==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.9.4
|
||||
Reference in New Issue
Block a user