commit bec5f65b9120ec1272b1c600c26120c7b4694158
parent 947b539a306974dc31e4ddc6173d8a15aa415aad
Author: MTRNord <mtrnord1@gmail.com>
Date: Tue, 12 Dec 2023 10:41:05 +0100
Add fluffychat draupnir to managed things
Diffstat:
6 files changed, 159 insertions(+), 0 deletions(-)
diff --git a/apps/base/matrix/draupnir-fluffy/deployment.yaml b/apps/base/matrix/draupnir-fluffy/deployment.yaml
@@ -0,0 +1,62 @@
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: mjolnir-fluffy
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: mjolnir-fluffy
+ strategy:
+ rollingUpdate:
+ maxSurge: 25%
+ maxUnavailable: 25%
+ type: RollingUpdate
+ template:
+ metadata:
+ labels:
+ app: mjolnir-fluffy
+ spec:
+ containers:
+ - image: gnuxie/draupnir:develop
+ imagePullPolicy: Always
+ livenessProbe:
+ failureThreshold: 3
+ httpGet:
+ path: /healthz
+ port: 8080
+ initialDelaySeconds: 60
+ periodSeconds: 30
+ successThreshold: 1
+ timeoutSeconds: 1
+ name: mjolnir-fluffy-container
+ ports:
+ - containerPort: 8081
+ name: http
+ readinessProbe:
+ httpGet:
+ path: /health
+ port: 8080
+ initialDelaySeconds: 60
+ periodSeconds: 30
+ securityContext:
+ allowPrivilegeEscalation: false
+ capabilities:
+ drop:
+ - ALL
+ readOnlyRootFilesystem: true
+ #runAsNonRoot: true
+ volumeMounts:
+ - mountPath: /data/config/production.yaml
+ name: config-volume
+ subPath: production.yaml
+ - mountPath: /data/storage
+ name: storage
+ volumes:
+ - configMap:
+ name: mjolnir-fluffy-config
+ name: config-volume
+ - name: storage
+ persistentVolumeClaim:
+ claimName: mjolnir-fluffy
diff --git a/apps/base/matrix/draupnir-fluffy/kustomization.yaml b/apps/base/matrix/draupnir-fluffy/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/draupnir-fluffy/service.yaml b/apps/base/matrix/draupnir-fluffy/service.yaml
@@ -0,0 +1,63 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: mjolnir-fluffy
+ name: mjolnir-fluffy-srv
+spec:
+ ports:
+ - port: 8081
+ selector:
+ app: mjolnir-fluffy
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: mjolnir-fluffy-fix-cors
+spec:
+ headers:
+ accessControlAllowHeaders:
+ - content-type
+ - authorization
+ accessControlAllowMethods:
+ - OPTIONS
+ - POST
+ accessControlAllowOriginList:
+ - '*'
+ accessControlMaxAge: 100
+ addVaryHeader: true
+---
+apiVersion: traefik.containo.us/v1alpha1
+kind: Middleware
+metadata:
+ name: mjolnir-fluffy-replacepathregex
+spec:
+ replacePathRegex:
+ regex: ^/_matrix/client/r0/rooms/([^/]*)/report/(.*)$
+ replacement: /api/1/report/${1}/${2}
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+ annotations:
+ cert-manager.io/cluster-issuer: letsencrypt-dns
+ traefik.ingress.kubernetes.io/router.middlewares: default-hsts@kubernetescrd,default-compress@kubernetescrd,default-redirect-https@kubernetescrd,matrix-mjolnir-fluffy-replacepathregex@kubernetescrd,matrix-mjolnir-fluffy-fix-cors@kubernetescrd
+ name: fluffy-mjolnir
+spec:
+ ingressClassName: traefik
+ rules:
+ - host: matrix.midnightthoughts.space
+ http:
+ paths:
+ - backend:
+ service:
+ name: mjolnir-fluffy-srv
+ port:
+ number: 8081
+ path: /{path:_matrix/client/r0/rooms/([^/]*)/report/(.*)$}
+ pathType: Prefix
+ tls:
+ - hosts:
+ - matrix.midnightthoughts.space
+ secretName: midnightthoughts-fluffy-mjolnir-tls-secret
diff --git a/apps/base/matrix/kustomization.yaml b/apps/base/matrix/kustomization.yaml
@@ -8,3 +8,4 @@ resources:
- ./synapse
- ./draupnir-synapse
- ./draupnir4all
+ - ./draupnir-fluffy
diff --git a/apps/production/secrets/draupnir-fluffy-config.yaml b/apps/production/secrets/draupnir-fluffy-config.yaml
@@ -0,0 +1,26 @@
+apiVersion: v1
+data:
+ production.yaml: ENC[AES256_GCM,data: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,iv:ALi2gfUSfUi7+vv18a5TiaZ0850+zslm2xCgee4xzTs=,tag:wHQFe2Um6J+sktey2oxFfw==,type:str]
+kind: ConfigMap
+metadata:
+ name: mjolnir-fluffy-config
+sops:
+ kms: []
+ gcp_kms: []
+ azure_kv: []
+ hc_vault: []
+ age:
+ - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh
+ enc: |
+ -----BEGIN AGE ENCRYPTED FILE-----
+ YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1TFpZUk1xK3BqZGJGa0RR
+ aWdvRnRNWGxQd05hK3FmN1RMQ2hWUU1OTGw0Cmg2QnRlbEMrbzVNREFRU05BNnVP
+ R2p1enVnUm9XV0crZnA3VnllZk9veVkKLS0tIDFEd1dHaW50eTRlcFlTTGFTczEz
+ RnBtcHFHS0Z1M2tobEtzMCsvUHNrQUkKKAewPt3vU7SCsRYAi9h5aWg+SVztE9Ar
+ kRrV7Li4JG8/ngcAauDc2LL5lQpeltyia5ihpn/EPECcwEuN6O6snA==
+ -----END AGE ENCRYPTED FILE-----
+ lastmodified: "2023-12-12T09:40:13Z"
+ mac: ENC[AES256_GCM,data:VtIHtKXSIO0t6wc7dsHu5SR5iUoT4zqhBpeQkpztSCAkKrGn2FfbHwT8YcZ9Mbe2K/4DFj47IpCUchxmvpjTwVOCewuUiyWnbscc+UTenotgyM7dow0jSWOwMn4hOwBbNmxeiSAGT6Kru0LdwgfzfYOiwXGtIH5nseNPrlhbMbc=,iv:R15Z8RYe85uEpQYzcNfEYHxpMOxS94RaFKhWfxI1YGQ=,tag:SVj9VW/BnA+tY1ldPW+jyA==,type:str]
+ pgp: []
+ encrypted_regex: ^(privateKey|data|stringData|PASSWD|password|pass|postgresPassword|postgresqlPassword|redminePassword|smtpPassword|registration_shared_secret|shared_secret|secret)$
+ version: 3.8.1
diff --git a/apps/production/secrets/kustomization.yaml b/apps/production/secrets/kustomization.yaml
@@ -16,3 +16,4 @@ resources:
- prometheus_asterisk_secret.yaml
- parseable-secret.yaml
- zuul-secrets.yaml
+ - draupnir-fluffy-config.yaml