commit 4fbf133c97086629e1cfff4074b7d4f05483bd34
parent 7662dad4931f4f7e63892249374909fabfc3c295
Author: MTRNord <mtrnord1@gmail.com>
Date: Sat, 17 Aug 2024 12:07:39 +0200
Deploy draupnir test instance
Diffstat:
7 files changed, 218 insertions(+), 0 deletions(-)
diff --git a/apps/2024_cluster/kustomization.yaml b/apps/2024_cluster/kustomization.yaml
@@ -13,6 +13,7 @@ resources:
- ../base/matrix/synapse
- ../base/matrix/draupnir-fluffy
- ../base/matrix/draupnir-freifunk
+ - ../base/matrix/draupnir-testing-1700824-synapse
- ../base/mastodon
- ../base/ejabberd
- ../base/openproject
diff --git a/apps/2024_cluster/namespaces/draupnir-testing-1700824.yaml b/apps/2024_cluster/namespaces/draupnir-testing-1700824.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+kind: Namespace
+metadata:
+ name: draupnir-testing-1700824
diff --git a/apps/2024_cluster/namespaces/kustomization.yaml b/apps/2024_cluster/namespaces/kustomization.yaml
@@ -13,3 +13,4 @@ resources:
#- plausible.yaml
- minecraft.yaml
- codeberg-runners.yaml
+ - draupnir-testing-1700824.yaml
diff --git a/apps/base/matrix/draupnir-testing-1700824-synapse/keydb.yaml b/apps/base/matrix/draupnir-testing-1700824-synapse/keydb.yaml
@@ -0,0 +1,49 @@
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: draupnir-testing-1700824-keydb
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: draupnir-testing-1700824-keydb
+ template:
+ metadata:
+ labels:
+ app: draupnir-testing-1700824-keydb
+ spec:
+ containers:
+ - name: draupnir-testing-1700824-keydb
+ image: eqalpha/keydb:latest
+ imagePullPolicy: Always
+ command: ["keydb-server"]
+ args: [ "/etc/keydb/keydb.conf", "--protected-mode", "no"]
+ ports:
+ - containerPort: 6379
+ tolerations:
+ - key: arch
+ operator: Equal
+ value: arm64
+ effect: NoSchedule
+ livenessProbe:
+ exec:
+ command:
+ - sh
+ - -c
+ - keydb-cli ping
+ initialDelaySeconds: 10
+ timeoutSeconds: 5
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: draupnir-testing-1700824-keydb
+spec:
+ selector:
+ app: draupnir-testing-1700824-keydb
+ ports:
+ - name: redis
+ protocol: TCP
+ port: 6379
+ targetPort: 6379
diff --git a/apps/base/matrix/draupnir-testing-1700824-synapse/kustomization.yaml b/apps/base/matrix/draupnir-testing-1700824-synapse/kustomization.yaml
@@ -0,0 +1,7 @@
+apiVersion: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+namespace: draupnir-testing-1700824
+resources:
+ - release.yaml
+ - podmonitor.yaml
+ - keydb.yaml
diff --git a/apps/base/matrix/draupnir-testing-1700824-synapse/podmonitor.yaml b/apps/base/matrix/draupnir-testing-1700824-synapse/podmonitor.yaml
@@ -0,0 +1,24 @@
+---
+apiVersion: monitoring.coreos.com/v1
+kind: PodMonitor
+metadata:
+ name: draupnir-testing-1700824
+ labels:
+ instance: draupnir-testing-1700824
+spec:
+ jobLabel: "app.kubernetes.io/component"
+ namespaceSelector:
+ matchNames:
+ - "matrix"
+ selector:
+ matchLabels:
+ app.kubernetes.io/instance: draupnir-testing-1700824
+ app.kubernetes.io/name: matrix-synapse
+ podMetricsEndpoints:
+ - port: metrics
+ path: "/_synapse/metrics"
+ interval: 5s
+ relabelings:
+ - sourceLabels:
+ - "__meta_kubernetes_pod_label_app_kubernetes_io_instance"
+ targetLabel: instance
diff --git a/apps/base/matrix/draupnir-testing-1700824-synapse/release.yaml b/apps/base/matrix/draupnir-testing-1700824-synapse/release.yaml
@@ -0,0 +1,132 @@
+apiVersion: helm.toolkit.fluxcd.io/v2beta2
+kind: HelmRelease
+metadata:
+ name: draupnir-testing-1700824
+ namespace: draupnir-testing-1700824
+spec:
+ chart:
+ spec:
+ chart: matrix-synapse
+ sourceRef:
+ kind: HelmRepository
+ name: ananace-charts
+ version: 3.9.x
+ interval: 50m
+ install:
+ remediation:
+ retries: 3
+ values:
+ extraConfig:
+ use_presence: false
+ presence:
+ enabled: false
+ event_cache_size: 10K
+ caches:
+ global_factor: 10
+ expire_caches: true
+ cache_entry_ttl: 240m
+ cache_autotuning:
+ max_cache_memory_usage: 2048M
+ target_cache_memory_usage: 1024M
+ min_cache_ttl: 5m
+ wellknown:
+ enabled: true
+ client:
+ m.homeserver:
+ base_url: https://matrix.draupnir-testing-1700824.midnightthoughts.space
+ extraData:
+ support:
+ admins:
+ - email_address: support@nordgedanken.dev
+ role: admin
+ persistence:
+ size: 250Mi
+ volumePermissions:
+ enabled: true
+ synapse:
+ strategy:
+ type: Recreate
+ ## 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: []
+ annotations:
+ prometheus.io/scrape: "true"
+ prometheus.io/path: /_synapse/metrics
+ prometheus.io/port: "9090"
+ externalRedis:
+ host: draupnir-testing-1700824-keydb.draupnir-testing-1700824.svc.cluster.local
+ port: 6379
+ password: null
+ redis:
+ enabled: false
+ usePassword: false
+ password: null
+ auth:
+ enabled: false
+ password: null
+ postgresql:
+ enabled: false
+ externalPostgresql:
+ host: postgres-cluster.postgres-cluster.svc.cluster.local
+ port: 5432
+ sslmode: require
+ database: draupnir-testing-1700824
+ username: draupnir-testing-1700824
+ password: ENC[AES256_GCM,data:/h9iaZhWLQoYrXrzqSf6Ra6BoBejYwyJDf3We0guJDdNH7iabEhzU0GMXDLn+Zk4DxZLMgWNNnnwiuFW+Er0LQ==,iv:S5J3zIwVgObtqIl8Yy5sNqXmpM711GVFrRkh6rfz4wo=,tag:eJ2EtfY5DTNT+wbxHQ7w3A==,type:str]
+ signingkey:
+ job:
+ enabled: false
+ serverName: draupnir-testing-1700824.midnightthoughts.space
+ publicServerName: matrix.draupnir-testing-1700824.midnightthoughts.space
+ config:
+ reportStats: true
+ enableRegistration: false
+ ingress:
+ traefikPaths: true
+ hosts:
+ - draupnir-testing-1700824.midnightthoughts.space
+ - matrix.draupnir-testing-1700824.midnightthoughts.space
+ tls:
+ - hosts:
+ - draupnir-testing-1700824.midnightthoughts.space
+ - matrix.draupnir-testing-1700824.midnightthoughts.space
+ secretName: draupnir-testing-1700824-midnightthoughts-synapse-tls-secret
+ annotations:
+ cert-manager.io/cluster-issuer: letsencrypt-dns
+ traefik.ingress.kubernetes.io/router.tls: "true"
+ external-dns.alpha.kubernetes.io/hostname: midnightthoughts.space
+ #traefik.ingress.kubernetes.io/router.middlewares: default-hsts@kubernetescrd,default-compress@kubernetescrd,default-redirect-https@kubernetescrd
+sops:
+ kms: []
+ gcp_kms: []
+ azure_kv: []
+ hc_vault: []
+ age:
+ - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh
+ enc: |
+ -----BEGIN AGE ENCRYPTED FILE-----
+ YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCcVdCNHRkNXloY09JOU1i
+ UnJJZmF1ZFVoSnV1aHk2dEJtbk5EalZWQmt3ClFnb0RnbXVYejR4ZW1xYzdNUjJu
+ OWRpcytTMFJOYTNuUllmL0FNcnpGc3MKLS0tIGQxNFBYV2hRalVEbnFta2lUREJC
+ eVhySzNoencrWHZQUXEveTFyMkN1dTgKFYew7UOI7OCElEdcbLUHLyjOGnhWabqc
+ Rc1eep05sSCS/8Fg4bqLDuINjv0DX2inh2vwz9zhHFNf1wzkwLGdQg==
+ -----END AGE ENCRYPTED FILE-----
+ lastmodified: "2024-08-17T10:07:27Z"
+ mac: ENC[AES256_GCM,data:tY1ZdUF3z+8lpH36LUVzSJ/QcKh5Hi4ThuiR7dbIEWozUMjvq5OI1QqWASMxKBhIgZqDV6w8v9U1xKEkyqJBIK6n4WUYmVu5UPDMiroS1GNX09P/fFGSpzbqpkh6+0IdnUqy93tRvCELWGqzNll0/94iIYQx9x4QZI2Ecj0MS70=,iv:2dezeh04rNNqQ0lH8ImNfRfUL7iEzZcLS7ecqR3oFA4=,tag:IUgmPOUp7ngyLSjxuTldcQ==,type:str]
+ pgp: []
+ encrypted_regex: ^(admin_password|extraCommands|key|clickhouseDatabaseURL|databaseURL|client_id|client_secret|secret_key_base|otp_secret|private_key|public_key|primaryKey|deterministicKey|keyDerivationSalt|token|clientId|secretKey|installationId|installationKey|uriOverride|adminToken.value|password.value|sql_password|erlangCookie|AUTHENTICATION_PASSWORD|ROOM_API_SECRET_KEY|adminPassword|configPassword|adminUser|configUser|APP_KEY|api_key|api_secret|keys|livekit_key|livekit_secret|secret_key|admin_pass|admin_email|mariadbPassword|mariadbRootPassword|privateKey|data|stringData|PASSWD|password|pass|postgresPassword|postgresqlPassword|redminePassword|smtpPassword|registration_shared_secret|shared_secret|secret)$
+ version: 3.8.1