cluster

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

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:
Aapps/base/matrix/draupnir-fluffy/deployment.yaml | 62++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aapps/base/matrix/draupnir-fluffy/kustomization.yaml | 6++++++
Aapps/base/matrix/draupnir-fluffy/service.yaml | 63+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mapps/base/matrix/kustomization.yaml | 1+
Aapps/production/secrets/draupnir-fluffy-config.yaml | 26++++++++++++++++++++++++++
Mapps/production/secrets/kustomization.yaml | 1+
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