cluster

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

commit 8aecf9f8d64835446e232c6848e88c8f2af9f5d0
parent 90ff18aa9e6c2deb8abc51df8fb1d888acd6e561
Author: MTRNord <mtrnord1@gmail.com>
Date:   Thu, 22 Jun 2023 16:36:10 +0200

try to deploy draupnir4all

Diffstat:
Aapps/base/matrix/draupnir4all/deployment.yaml | 46++++++++++++++++++++++++++++++++++++++++++++++
Aapps/base/matrix/draupnir4all/kustomization.yaml | 6++++++
Aapps/base/matrix/draupnir4all/service.yaml | 17+++++++++++++++++
Dapps/base/matrix/mjolnir/kustomization.yaml | 5-----
Dapps/base/matrix/mjolnir/release.yaml | 258-------------------------------------------------------------------------------
Aapps/production/secrets/draupnir-appservice-secret.yaml | 29+++++++++++++++++++++++++++++
Mapps/production/secrets/draupnir-midnightthoughts-secret.yaml | 16++++++++--------
Mapps/production/secrets/kustomization.yaml | 1+
Mapps/production/synapse-draupnir.yaml | 32++++++++++++++++----------------
9 files changed, 123 insertions(+), 287 deletions(-)

diff --git a/apps/base/matrix/draupnir4all/deployment.yaml b/apps/base/matrix/draupnir4all/deployment.yaml @@ -0,0 +1,46 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: draupnir4all + namespace: matrix +spec: + selector: + matchLabels: + app: draupnir4all + template: + metadata: + labels: + app: draupnir4all + spec: + containers: + - name: draupnir4all + image: gnuxie/draupnir:develop + command: ["appservice"] + args: + [ + "-c", + "/data/config/config.appservice.yaml", + "-f", + "/data/config/draupnir-registration.yaml", + "-p", + "9000", + ] + resources: + limits: + memory: "128Mi" + cpu: "500m" + ports: + - containerPort: 9001 + name: widgets + protocol: TCP + - containerPort: 9000 + name: appservice + protocol: TCP + volumeMounts: + - name: configs + mountPath: "/data/config" + readOnly: true + volumes: + - name: configs + secret: + secretName: draupnir-appservice diff --git a/apps/base/matrix/draupnir4all/kustomization.yaml b/apps/base/matrix/draupnir4all/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: matrix +resources: + - deployment.yaml + - service.yaml diff --git a/apps/base/matrix/draupnir4all/service.yaml b/apps/base/matrix/draupnir4all/service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + name: draupnir4all + namespace: matrix +spec: + selector: + app: draupnir4all + ports: + - port: 9000 + targetPort: appservice + protocol: TCP + name: appservice + - port: 9001 + targetPort: widgets + protocol: TCP + name: widgets diff --git a/apps/base/matrix/mjolnir/kustomization.yaml b/apps/base/matrix/mjolnir/kustomization.yaml @@ -1,5 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: matrix -resources: - - release.yaml diff --git a/apps/base/matrix/mjolnir/release.yaml b/apps/base/matrix/mjolnir/release.yaml @@ -1,258 +0,0 @@ ---- -apiVersion: helm.toolkit.fluxcd.io/v2beta1 -kind: HelmRelease -metadata: - name: matrix-synapse - namespace: matrix -spec: - chart: - spec: - chart: matrix-synapse - sourceRef: - kind: HelmRepository - name: ananace-charts - interval: 50m - install: - remediation: - retries: 3 - values: - wellknown: - enabled: true - extraData: - support: - admins: - - email_address: "support@nordgedanken.dev" - role: "admin" - image: - pullSecrets: - - name: docker - extraConfig: - federation_sender_instances: - - federation-sender-1 - - federation-sender-2 - enable_metrics: true - federation_metrics_domains: - - matrix.org - - t2bot.io - - t2l.io - - maunium.net - enable_media_repo: false - require_auth_for_profile_requests: true - limit_profile_requests_to_users_who_share_rooms: false - allow_public_rooms_without_auth: true - allow_public_rooms_over_federation: true - experimental_features: - msc2409_to_device_messages_enabled: true - msc2716_enabled: true - persistence: - size: 30Gi - volumePermissions: - enabled: true - - workers: - federation_reader: - replicaCount: 2 - enabled: true - generic: true - listeners: [federation] - paths: - - "/_matrix/federation/v1/send/" - - synchrotron: - enabled: true - generic: true - listeners: [client] - csPaths: - - "/_matrix/client/(v2_alpha|r0|v3)/sync" - - "/_matrix/client/(api/v1|v2_alpha|r0|v3)/events" - - "/_matrix/client/(api/v1|r0|v3)/initialSync" - - "/_matrix/client/(api/v1|r0|v3)/rooms/[^/]+/initialSync" - - generic_worker: - replicaCount: 2 - enabled: true - generic: true - listeners: [client, federation] - csPaths: - ## Sync requests - # - "/_matrix/client/(r0|v3)/sync$" - #- "/_matrix/client/(api/v1|r0|v3)/events$" - # - "/_matrix/client/(api/v1|r0|v3)/initialSync$" - # - "/_matrix/client/(api/v1|r0|v3)/rooms/[^/]+/initialSync$" - - ## Client API requests - - "/_matrix/client/(api/v1|r0|v3|unstable)/createRoom$" - - "/_matrix/client/(api/v1|r0|v3|unstable)/publicRooms$" - - "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/joined_members$" - - "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/context/" - - "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/members$" - - "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/state$" - - "/_matrix/client/v1/rooms/.*/hierarchy$" - - "/_matrix/client/unstable/org.matrix.msc2716/rooms/.*/batch_send$" - - "/_matrix/client/unstable/im.nheko.summary/rooms/.*/summary$" - - "/_matrix/client/(r0|v3|unstable)/account/3pid$" - - "/_matrix/client/(r0|v3|unstable)/account/whoami$" - - "/_matrix/client/(r0|v3|unstable)/devices$" - - "/_matrix/client/versions$" - - "/_matrix/client/(api/v1|r0|v3|unstable)/voip/turnServer$" - - "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/event/" - - "/_matrix/client/(api/v1|r0|v3|unstable)/joined_rooms$" - - "/_matrix/client/(api/v1|r0|v3|unstable)/search$" - - ## Encryption requests - - "/_matrix/client/(r0|v3|unstable)/keys/query$" - - "/_matrix/client/(r0|v3|unstable)/keys/changes$" - - "/_matrix/client/(r0|v3|unstable)/keys/claim$" - - "/_matrix/client/(r0|v3|unstable)/room_keys/" - - ## Registration/login requests - - "/_matrix/client/(api/v1|r0|v3|unstable)/login$" - - "/_matrix/client/(r0|v3|unstable)/register$" - - "/_matrix/client/v1/register/m.login.registration_token/validity$" - - ## Event sending requests - - "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/redact" - - "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/send" - - "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/state/" - - "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/(join|invite|leave|ban|unban|kick)$" - - "/_matrix/client/(api/v1|r0|v3|unstable)/join/" - - "/_matrix/client/(api/v1|r0|v3|unstable)/profile/" - - ## User directory search requests - #- "/_matrix/client/(r0|v3|unstable)/user_directory/search" - - ## Worker event streams - ## See https://matrix-org.github.io/synapse/latest/workers.html#stream-writers - ## - - ## The typing event stream - # - "/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/typing" - - ## The to_device event stream - # - "/_matrix/client/(r0|v3|unstable)/sendToDevice/" - - ## The account_data event stream - # - "/_matrix/client/(r0|v3|unstable)/.*/tags" - # - "/_matrix/client/(r0|v3|unstable)/.*/account_data" - - ## The receipts event stream - # - "/_matrix/client/(r0|v3|unstable)/rooms/.*/receipt" - # - "/_matrix/client/(r0|v3|unstable)/rooms/.*/read_markers" - - ## The presence event stream - # - "/_matrix/client/(api/v1|r0|v3|unstable)/presence/" - - paths: - ## Federation requests - - "/_matrix/federation/v1/event/" - - "/_matrix/federation/v1/state/" - - "/_matrix/federation/v1/state_ids/" - - "/_matrix/federation/v1/backfill/" - - "/_matrix/federation/v1/get_missing_events/" - - "/_matrix/federation/v1/publicRooms" - - "/_matrix/federation/v1/query/" - - "/_matrix/federation/v1/make_join/" - - "/_matrix/federation/v1/make_leave/" - - "/_matrix/federation/(v1|v2)/send_join/" - - "/_matrix/federation/(v1|v2)/send_leave/" - - "/_matrix/federation/(v1|v2)/invite/" - - "/_matrix/federation/v1/event_auth/" - - "/_matrix/federation/v1/exchange_third_party_invite/" - - "/_matrix/federation/v1/user/devices/" - - "/_matrix/key/v2/query" - - "/_matrix/federation/v1/hierarchy/" - - ## Inbound federation transaction request - #- "/_matrix/federation/v1/send/" - - pusher: - enabled: true - appservice: - enabled: true - federation_sender_1: - app: federation_sender - name: federation-sender-1 - enabled: true - federation_sender_2: - app: federation_sender - name: federation-sender-2 - enabled: true - #federation_sender_3: - # app: federation_sender - # name: federation-sender-3 - # enabled: true - # federation_sender_4: - # app: federation_sender - # name: federation-sender-4 - # enabled: true - # federation_sender_5: - # app: federation_sender - # name: federation-sender-5 - # enabled: true - # federation_sender_6: - # app: federation_sender - # name: federation-sender-6 - # enabled: true - user_dir: - enabled: true - listeners: [client] - csPaths: - - "/_matrix/client/(api/v1|r0|v3|unstable)/user_directory/search$" - frontend_proxy: - enabled: true - listeners: [client] - csPaths: - - "/_matrix/client/(api/v1|r0|v3|unstable)/keys/upload" - - "/_matrix/client/(api/v1|r0|v3|unstable)/presence/[^/]+/status" - - annotations: - prometheus.io/scrape: "true" - prometheus.io/path: "/_synapse/metrics" - prometheus.io/port: "9090" - extraEnv: - - name: LD_PRELOAD - value: /usr/lib/x86_64-linux-gnu/libjemalloc.so.2 - - name: SYNAPSE_CACHE_FACTOR - value: "1.0" - - synapse: - ## Liveness probe configuration to use - ## - livenessProbe: - timeoutSeconds: 60 - failureThreshold: 5 - httpGet: - path: /health - port: http - - ## Readiness probe configuration to use - ## - readinessProbe: - timeoutSeconds: 60 - failureThreshold: 5 - httpGet: - path: /health - port: http - - extraCommands: [] - extraEnv: - - name: LD_PRELOAD - value: /usr/lib/x86_64-linux-gnu/libjemalloc.so.2 - - name: SYNAPSE_CACHE_FACTOR - value: "2" - annotations: - prometheus.io/scrape: "true" - prometheus.io/path: "/_synapse/metrics" - prometheus.io/port: "9090" - - redis: - architecture: replication - postgresql: - enabled: false - externalPostgresql: - host: matrix-postgres-cluster.matrix-postgres-cluster.svc.cluster.local - port: 5432 - - ## Password key to be retrieved from existing secret - existingSecretPasswordKey: password - sslmode: require diff --git a/apps/production/secrets/draupnir-appservice-secret.yaml b/apps/production/secrets/draupnir-appservice-secret.yaml @@ -0,0 +1,29 @@ +apiVersion: v1 +kind: Secret +metadata: + name: draupnir-appservice + namespace: matrix +type: Opaque +data: + config.appservice.yaml: ENC[AES256_GCM,data:ZrqF6wKKs5xCMzI/3/5tw0zuZ6+UsSgi9sTygmpoXz6QzA5eTWze/cPBQfAmwkVgUa23vGfeNu/CU6B9ZwPpL7KdUTQRWlqS3jjPPQIsLT9f/6Ki4/zure3wBTZ68dwMhoAvsfwZz7aNz0jCzlFsNPsK0H4pCNkl5BGUPpDzW5c9JKmvn9Nh9+L9t3D6X9CEGkbmVDs1J4/FtfHy4du3B2wQa3H+LmlcmvnIbNCxBYCHBXAKYAX7IlmrgU38pxN7DPzePVePf+D7B+OE6C+5taQ3SQCBGgXpIjOirArjKMgEJxNGrshrqAfUKGKmX4HUu21PVtKiZ6NLCSv0S73i58auVcWDt2fXl+wnBOkzpNB6RjGLbBVxKRzNhXIt8b5JObTLiIetd4DVZtEKC0NWZwhkIcQ5yObZ+3y6e9Y9xGZK0rj7hy6Tq+QfnRUnB5j2cAnbDRM+P4gCgp3ZmG0XcVunUCe7k5RmX+pjTQuabYxOd24gejRCzFJLWDjEzPDZmEZVKkqrAB7UnjgJvbJicDc52YqpZv81ncXIsmp4l6EzSzL3aIYXZmfabyL7XBoUfFo6NEBBxVh1l2Uh3MfyhpFT4SKKCHypHg7QdwnBYNbFooqoj/YwlrO+5H43KnUSrovuT8wyWo22PBeN/F95X+bAKYJRNE05X5iRxlr+a3dPSOzpBhSK6dkwo8xmURjRkLKTfNlfkao2BLw9Z8kIpNaNF/G1VVO/lm6qrEwEw81LQpkiJLtE6wnrZ0z2O+sm3V+nGJN5NNw0BhFwM4JPELdlSUehyREUmtLPYb6YnhfxdaO/8VJQnRhVvHWjBRDv1qcMwnyaBV5X0zq1xzuynrrllndhDcKFYb5jCJMWjpdX88hGsakJJ9b6fPr4Axq/sPGgVOURpXNVmwMnkR841yIUVcVwgrDlSktHuQWZ5uBsi3MUrFXWXNP8HnV32+KU7P7sPsdavITCAZVxrpChlkr4dqliWxF8EJBiOQnMnHye2F7Wf6XTnbSiclIJwDxaU4UHwcqPxgBasWST6hfdmoP9I/8kmVeFffEBHkcaToh1SEnr8qS4OAYikYgpOU+rqV6xxPl9M9+XSK8coLUlAQAZ6ZRGe8zC,iv:/dwxSnPh82uHYs1Dz2Cc4y5w11Gu42jhNGNKfKor7Mo=,tag:xtmcZRIhy2kbIM2YTuk5bA==,type:str] + draupnir-registration.yaml: ENC[AES256_GCM,data:R6tZlHGd4P3fTIBrCvVuvmowGbCnkl868P3OuiznzXqOwhlP+N9YJDGj76bbuUAEnWCEwXZBwcW2rdbnzjv4W4E6Jh3ogMgp3pwst10byHmtoRXMaGQLPwfZdqFZbwFNLaYR5dbvKotQ82sdzeC5UfMzUBMgkvkBdwmTrmAaHLtl5Cnn4Hx+KCe1E9+8j+Sxl5oRYZJNPZmw29HYVT4ZJio+SVgh/u9mkXmcDzy/6kD6KqGXswPn+9Fo1awad7cISI5GOC8UVQADQcNSSb9Bhev7KqlGBQXcQZ4Kz0/5VYEKQrgHpyE1g0wCLDNrR5OOeQrOLPmzX7S7iv5tiT0tLxApt/rmiA32/qJMkm4tuM+AzUrgGICs8aca3I/JzCIRbFcL1/NbACiFI7tq9zrtCVhpwl5YKhPsqeHG7GJ6Rhi7gWqHsg31/ePfpbuapYUKii4Is3ZKCXxovsP4WUHY6KeCywyuT47JQa5n9hjgYIRcBkY9aEX5FX+ZmmQSdYEaAfAs/pGQLs+gVQ==,iv:3wEWzRRS2KQJv2ALxVgC6fkbeYKH978XvqRAKI2s7AE=,tag:neAL57wo2zrBIj2p5g/ZjQ==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVNlJoc0Q3R3I1MjF2dUdT + ZDJnZ2lYYzJ6Y0p0d2ppVzg2M0o0SnRDMVRNCk12VGJtR0MwUDJqdFdRZEsyc1Zh + OFdjbHdsU2tzWTlxQmsvRGN6QkY1TEEKLS0tIG1jdW85N0Q2dUc2bXFHTUdLc290 + aXdVL0IvY2R2SEN2MlYrdDd0andGYlkKW+k2hSVA00xKV61cffW8N1fC8ctsF8ii + 9zvEIxDdBcStsb9CNta189g6ZoaFpoNhwRszvi9o3Vd2cR1uZrtQGA== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2023-06-22T14:34:09Z" + mac: ENC[AES256_GCM,data:Vs4obpzLXs1KlUZfwYNbyOB7GzOof2+Y45ASXryWHMsoAIe9kiaGk/OCiDyQ1AvS4fni5UWDPDFWttL3Sg+RG3GeJefdUBYPb3PI1fsTNiSI158sACebJzOHj5Ca/Wnm/onbdxyQGpiXOQ6k1nAz+txVQIIuCBLEWVqz2DNn/vY=,iv:Bt+KF6ShZPTaS8h2Nn5yScmbARRBLx6JiEhXV0PI1W4=,tag:nQdDVzO9oNwlDtCKejbWvA==,type:str] + pgp: [] + encrypted_regex: ^(data|stringData|password|postgresPassword|redminePassword|smtpPassword|registration_shared_secret|shared_secret|secret)$ + version: 3.7.3 diff --git a/apps/production/secrets/draupnir-midnightthoughts-secret.yaml b/apps/production/secrets/draupnir-midnightthoughts-secret.yaml @@ -5,7 +5,7 @@ metadata: namespace: matrix type: Opaque stringData: - password: ENC[AES256_GCM,data:cZ6vLvQ47mYfgbSxLbTEH0JS7kXkG8SOXFNlDHj/NAuskM2OPGqqQvfVCGXY0uMfn2IQOhct2RVgeNS8JAPrIA==,iv:rTiOyE+IiM/4Txft2MCVDhOkxkdWv+0OcSZvr2Rpqyk=,tag:BTZVmHhi68LxLtTXA3AMJg==,type:str] + password: ENC[AES256_GCM,data:+63rwjBpnA5KuD8vGAtueoS3CR0814ng0efzrHmsrUrPnMDmgS8TMzQEeHphDHFUHehKkZoMiW8mIlAYMQgpyA==,iv:gFQGnTW0SNCDf1SEWXFAXMTS92BIyH2GIcSxSuzeuxk=,tag:LM+h6uP4/THdsaHobLW/yg==,type:str] sops: kms: [] gcp_kms: [] @@ -15,14 +15,14 @@ sops: - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxUjdWUUlIY1IvczBWdmJ0 - L1RPa3lHOE05R05seUVNN0JxMGtCdm4zUjNRCjQ2L3hMYURTQWRjaGozZWpHNmxp - VVNMWSsvTzZJdjNjTkR3UWRUakF4TVkKLS0tIDJJL3c4WmxNS0lGUXVleVNaMi9B - MUVkSVNId3VSZ01GajZuOXpJNUV4WFEKQzAYo7Skb6ym/hwD40D0QHEEZX0cF/I1 - 5fYKdf/0x5iafIJV5MLN+mCrgNCDzXZX1qhAJW+Yfu5ABx3WIGLYXg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTT3pxbUZ0OStpa09EaG03 + QjFKT2VJOHcyV2J5LzIzVmlEZVVyQ0lBa1RjCmI5Zm1RckYxMHlwaEFTMnQ2dnpC + dkFHbGY4ZHpPQmZpb2hLTE5kK2RJNzgKLS0tIHE0NC96NVk3cjRzck9EbEc2cUdp + TUt5Q3BITjB6SlpydFpLd1NGcGhDOFEKFJqvNG3Dnxq59XfAIC96paml072LXaOG + dBDkJ1CUmTBrEtI7hxMRHN39f4IJebm53ZdLmwN1EvWknMl+Oj2yfw== -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-06-21T11:33:24Z" - mac: ENC[AES256_GCM,data:fAbiOLO6TQBM5nMDSjXrxEMWUIQg80ekfqFTqNYuYe83HMo294XTcM3ti/lZe0yxeVYtwvfr+fdEU2QRw1ySWVKpwWfnHVZzExnVv1QYnUsJkNK/3krdKCvg7BKoBKC26bc8ccV9hcODs8sERtWB5QOQs+xkP4ZHw5qDq+/Fels=,iv:RqEF01YvktUi3VHhDs4TQDZM8c4hV6caky6EZVhKm70=,tag:y06KL5Jn4Ptj8aCZ+tt0uw==,type:str] + lastmodified: "2023-06-22T14:00:46Z" + mac: ENC[AES256_GCM,data:j4k+Yvnlcb7XXqhTdXag2Zydf5x19TOXkLlpGNn8+PTIaMqGK52fx0ZnkRH5CUv+XYnWj4XlQppz6EL6YPd93Au2F6rywhSmeQSwlwI5AerwqsJwCu//5nTTd6J26MO7xddbMif0pEZQFwCrPkcGo15BxQExdD72FupLLRNF8vg=,iv:GuB+8V6Wz3uGDc2jzRCWntDFqA8qrs7IzL0Vs1F9zZA=,tag:GQ9WQ5s67rbyEdS7pNkAuQ==,type:str] pgp: [] encrypted_regex: ^(data|stringData|password|postgresPassword|redminePassword|smtpPassword|registration_shared_secret|shared_secret|secret)$ version: 3.7.3 diff --git a/apps/production/secrets/kustomization.yaml b/apps/production/secrets/kustomization.yaml @@ -11,3 +11,4 @@ resources: - synapse-midnightthoughts-secret.yaml - postgres-export-secret.yaml - draupnir-midnightthoughts-secret.yaml + - draupnir-appservice-secret.yaml diff --git a/apps/production/synapse-draupnir.yaml b/apps/production/synapse-draupnir.yaml @@ -26,8 +26,8 @@ spec: reportStats: true enableRegistration: false extraConfig: - #app_service_config_files: - # - /data/draupnir-registration.yaml + app_service_config_files: + - /data/draupnir-registration.yaml ingress: traefikPaths: true hosts: @@ -44,23 +44,23 @@ spec: traefik.ingress.kubernetes.io/router.middlewares: default-hsts@kubernetescrd,default-compress@kubernetescrd,default-redirect-https@kubernetescrd workers: default: - volumeMounts: - #- mountPath: /data/draupnir-registration.yaml - # subPath: registration.yaml - # name: draupnir-config-volume - volumes: - #- name: draupnir-config-volume - # configMap: - # name: draupnir-bridge-config + extraVolumeMounts: + - name: configs + mountPath: "/data" + readOnly: true + extraVolumes: + - name: configs + secret: + secretName: draupnir-appservice synapse: extraVolumeMounts: - #- mountPath: /data/draupnir-registration.yaml - # subPath: registration.yaml - # name: draupnir-config-volume + - name: configs + mountPath: "/data" + readOnly: true extraVolumes: - #- name: draupnir-config-volume - # configMap: - # name: draupnir-bridge-config + - name: configs + secret: + secretName: draupnir-appservice externalPostgresql: username: draupnir_synapse ## The name of an existing secret with postgresql credentials