cluster

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

commit b419fd9cb632568448a0381838883b3a64963ada
parent d632334103b64d07cef4761a658b16ff0214fbf4
Author: MTRNord <mtrnord1@gmail.com>
Date:   Fri, 28 Feb 2025 15:05:14 +0100

Update gerrit plugion

Diffstat:
Mapps/base/envoy-gateway/release.yaml | 225+++++++++++++++++++++++++++++++++++++++----------------------------------------
Mapps/base/gerrit/gerrit_cluster.yaml | 2+-
Mapps/base/jenkins/release.yaml | 32++++++++++++++++----------------
Mapps/base/matrix/draupnir-synapse/release.yaml | 18+++++++++---------
Mapps/base/matrix/draupnir4all/deployment.yaml | 100++++++++++++++++++++++++++++++++++++-------------------------------------------
5 files changed, 183 insertions(+), 194 deletions(-)

diff --git a/apps/base/envoy-gateway/release.yaml b/apps/base/envoy-gateway/release.yaml @@ -14,7 +14,6 @@ spec: minAvailable: 1 deployment: replicas: 3 - config: # -- EnvoyGateway configuration. Visit https://gateway.envoyproxy.io/docs/api/extension_types/#envoygateway to view all options. envoyGateway: @@ -76,42 +75,42 @@ spec: protocol: TCP port: 25 allowedRoutes: - kinds: - - kind: TCPRoute - namespaces: - from: All + kinds: + - kind: TCPRoute + namespaces: + from: All - name: submissions protocol: TCP port: 465 allowedRoutes: - kinds: - - kind: TCPRoute - namespaces: - from: All + kinds: + - kind: TCPRoute + namespaces: + from: All - name: submission protocol: TCP port: 587 allowedRoutes: - kinds: - - kind: TCPRoute - namespaces: - from: All + kinds: + - kind: TCPRoute + namespaces: + from: All - name: imap protocol: TCP port: 143 allowedRoutes: - kinds: - - kind: TCPRoute - namespaces: - from: All + kinds: + - kind: TCPRoute + namespaces: + from: All - name: imaps protocol: TCP port: 993 allowedRoutes: - kinds: - - kind: TCPRoute - namespaces: - from: All + kinds: + - kind: TCPRoute + namespaces: + from: All --- apiVersion: gateway.networking.k8s.io/v1 kind: Gateway @@ -136,187 +135,187 @@ spec: hostname: "mas.midnightthoughts.space" port: 443 allowedRoutes: - namespaces: - from: "All" + namespaces: + from: "All" tls: - mode: Terminate - certificateRefs: - - kind: Secret - name: midnightthoughts.space-tls + mode: Terminate + certificateRefs: + - kind: Secret + name: midnightthoughts.space-tls - name: https-matrix-midnightthoughts protocol: HTTPS hostname: "matrix.midnightthoughts.space" port: 443 allowedRoutes: - namespaces: - from: "All" + namespaces: + from: "All" tls: - mode: Terminate - certificateRefs: - - kind: Secret - name: matrix.midnightthoughts.space-tls + mode: Terminate + certificateRefs: + - kind: Secret + name: matrix.midnightthoughts.space-tls - name: https-draupnir-midnightthoughts protocol: HTTPS hostname: "draupnir.midnightthoughts.space" port: 443 allowedRoutes: - namespaces: - from: "All" + namespaces: + from: "All" tls: - mode: Terminate - certificateRefs: - - kind: Secret - name: draupnir.midnightthoughts.space-tls + mode: Terminate + certificateRefs: + - kind: Secret + name: draupnir.midnightthoughts.space-tls - name: https-matrix-draupnir-midnightthoughts protocol: HTTPS hostname: "matrix.draupnir.midnightthoughts.space" port: 443 allowedRoutes: - namespaces: - from: "All" + namespaces: + from: "All" tls: - mode: Terminate - certificateRefs: - - kind: Secret - name: matrix.draupnir.midnightthoughts.space-tls + mode: Terminate + certificateRefs: + - kind: Secret + name: matrix.draupnir.midnightthoughts.space-tls - name: https-docuseal-midnightthoughts protocol: HTTPS hostname: "docuseal.midnightthoughts.space" port: 443 allowedRoutes: - namespaces: - from: "All" + namespaces: + from: "All" tls: - mode: Terminate - certificateRefs: - - kind: Secret - name: docuseal.midnightthoughts.space-tls + mode: Terminate + certificateRefs: + - kind: Secret + name: docuseal.midnightthoughts.space-tls - name: https-midnightthoughts-neoboard protocol: HTTPS hostname: "miro-export.neoboard.midnightthoughts.space" port: 443 allowedRoutes: - namespaces: - from: "All" + namespaces: + from: "All" tls: - mode: Terminate - certificateRefs: - - kind: Secret - name: miro-export.neoboard.midnightthoughts.space-tls + mode: Terminate + certificateRefs: + - kind: Secret + name: miro-export.neoboard.midnightthoughts.space-tls - name: https-midnightthoughts-certs protocol: HTTPS hostname: "certs.midnightthoughts.space" port: 443 allowedRoutes: - namespaces: - from: "All" + namespaces: + from: "All" tls: - mode: Terminate - certificateRefs: - - kind: Secret - name: certs.midnightthoughts.space-tls + mode: Terminate + certificateRefs: + - kind: Secret + name: certs.midnightthoughts.space-tls - name: https-midnightthoughts-capacitor protocol: HTTPS hostname: "ui.k8s.midnightthoughts.space" port: 443 allowedRoutes: - namespaces: - from: "All" + namespaces: + from: "All" tls: - mode: Terminate - certificateRefs: - - kind: Secret - name: ui.k8s.midnightthoughts.space-tls + mode: Terminate + certificateRefs: + - kind: Secret + name: ui.k8s.midnightthoughts.space-tls - name: https-midnightthoughts-auth protocol: HTTPS hostname: "auth.midnightthoughts.space" port: 443 allowedRoutes: - namespaces: - from: "All" + namespaces: + from: "All" tls: - mode: Terminate - certificateRefs: - - kind: Secret - name: auth.midnightthoughts.space-tls + mode: Terminate + certificateRefs: + - kind: Secret + name: auth.midnightthoughts.space-tls - name: https-midnightthoughts-ldap protocol: HTTPS hostname: "ldap.midnightthoughts.space" port: 443 allowedRoutes: - namespaces: - from: "All" + namespaces: + from: "All" tls: - mode: Terminate - certificateRefs: - - kind: Secret - name: ldap.midnightthoughts.space-tls + mode: Terminate + certificateRefs: + - kind: Secret + name: ldap.midnightthoughts.space-tls - name: https-midnightthoughts-root protocol: HTTPS hostname: "midnightthoughts.space" port: 443 allowedRoutes: - namespaces: - from: "All" + namespaces: + from: "All" tls: - mode: Terminate - certificateRefs: - - kind: Secret - name: midnightthoughts.space-tls + mode: Terminate + certificateRefs: + - kind: Secret + name: midnightthoughts.space-tls - name: https-nordgedanken-root protocol: HTTPS hostname: "nordgedanken.dev" port: 443 allowedRoutes: - namespaces: - from: "All" + namespaces: + from: "All" tls: - mode: Terminate - certificateRefs: - - kind: Secret - name: nordgedanken.dev-tls + mode: Terminate + certificateRefs: + - kind: Secret + name: nordgedanken.dev-tls - name: https-nordgedanken protocol: HTTPS hostname: "*.nordgedanken.dev" port: 443 allowedRoutes: - namespaces: - from: "All" + namespaces: + from: "All" tls: - mode: Terminate - certificateRefs: - - kind: Secret - name: nordgedanken.dev-tls + mode: Terminate + certificateRefs: + - kind: Secret + name: nordgedanken.dev-tls - name: https-mtrnord-blog-root protocol: HTTPS hostname: "mtrnord.blog" port: 443 allowedRoutes: - namespaces: - from: "All" + namespaces: + from: "All" tls: - mode: Terminate - certificateRefs: - - kind: Secret - name: mtrnord.blog-tls + mode: Terminate + certificateRefs: + - kind: Secret + name: mtrnord.blog-tls - name: https-mtrnord-blog protocol: HTTPS hostname: "*.mtrnord.blog" port: 443 allowedRoutes: - namespaces: - from: "All" + namespaces: + from: "All" tls: - mode: Terminate - certificateRefs: - - kind: Secret - name: mtrnord.blog-tls + mode: Terminate + certificateRefs: + - kind: Secret + name: mtrnord.blog-tls - name: http protocol: HTTP port: 80 allowedRoutes: - namespaces: - from: "All" + namespaces: + from: "All" --- apiVersion: gateway.envoyproxy.io/v1alpha1 kind: ClientTrafficPolicy diff --git a/apps/base/gerrit/gerrit_cluster.yaml b/apps/base/gerrit/gerrit_cluster.yaml @@ -83,7 +83,7 @@ spec: - name: replication - name: checks url: https://gerrit-ci.gerritforge.com/job/plugin-checks-bazel-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/checks/checks.jar - sha1: dd66b555bddad63b6aab7395d5d9b8987b5f206f + sha1: a58ee93137f86f6ef1b0e0f3cd664f670f0f33f8 - name: oauth url: https://gerrit-ci.gerritforge.com/job/plugin-oauth-bazel-master-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/oauth/oauth.jar sha1: bd415c4716d07e3534a6bfac8dae45044c6eb46b diff --git a/apps/base/jenkins/release.yaml b/apps/base/jenkins/release.yaml @@ -25,17 +25,17 @@ spec: additionalContainers: - sideContainerName: nodejs image: - repository: node - tag: 23 + repository: node + tag: 23 command: sleep args: "99999999" resources: - requests: - cpu: 512m - memory: 512Mi - limits: - cpu: 512m - memory: 1024Mi + requests: + cpu: 512m + memory: 512Mi + limits: + cpu: 512m + memory: 1024Mi controller: admin: username: admin @@ -73,7 +73,7 @@ spec: tls: - secretName: jenkins.midnightthoughts.space-tls hosts: - - jenkins.midnightthoughts.space + - jenkins.midnightthoughts.space persistence: enabled: true size: 8Gi @@ -86,13 +86,13 @@ sops: age: - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3L25sUzlCejVNM3BLM3ZD - enVDQXhLK2lnb0hTOE5CNEN0Y0Q5eThpVXhBCmZDczU4VzM2R1F1cmpPWm5iQk5v - WXdXMXM3Y3VOazlxZUttdE9RVThrMEkKLS0tIGdyMHl3dzdPV0hDeUsxTnNGL1BK - aW5QQ2V1LzhuMys0N01PdVJsMnpUcEUK1VYKGY8eIe1LixY1hCw2MGb8gFxerXCI - W3m+QgsoKukbu5v9xd3PbsU2qfGncsOb/7q1hX4H6tKUAFnTRMWC/g== - -----END AGE ENCRYPTED FILE----- + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA3L25sUzlCejVNM3BLM3ZD + enVDQXhLK2lnb0hTOE5CNEN0Y0Q5eThpVXhBCmZDczU4VzM2R1F1cmpPWm5iQk5v + WXdXMXM3Y3VOazlxZUttdE9RVThrMEkKLS0tIGdyMHl3dzdPV0hDeUsxTnNGL1BK + aW5QQ2V1LzhuMys0N01PdVJsMnpUcEUK1VYKGY8eIe1LixY1hCw2MGb8gFxerXCI + W3m+QgsoKukbu5v9xd3PbsU2qfGncsOb/7q1hX4H6tKUAFnTRMWC/g== + -----END AGE ENCRYPTED FILE----- lastmodified: "2024-12-22T14:57:36Z" mac: ENC[AES256_GCM,data:rej/F7igPPMx3P13rlHKjVk6yPZzHwsDbMAoXMjKuU5J5N3q45kZU3eBdifMAKjYtRuNdpM7d8rqcurQH08L6bIOCCrb8p5/ynFNYDl99F9480Lq2jvvRE9oTc6COaWlCadnpu+Qz/BBNN3Fp9JrovuUXDO5xfqkMLK23a0N3X4=,iv:Cs6ALE154TBSmx/iGaAPLFzFn0TxgdTtcL/Jalp4p4I=,tag:697cRQkyMBbIJBKXXHNVNQ==,type:str] pgp: [] diff --git a/apps/base/matrix/draupnir-synapse/release.yaml b/apps/base/matrix/draupnir-synapse/release.yaml @@ -109,7 +109,7 @@ spec: emptyDir: {} - name: configs secret: - secretName: ENC[AES256_GCM,data:m7x2Z3oCmA6xIRqbkrccx91eNA==,iv:TsKqYTJLDiFtnH0TmLOsFLlwEdNg1r8hJYZdkhtWOGo=,tag:0SXGKKpLh0yUSHcqQ+aKcg==,type:str] + secretName: ENC[AES256_GCM,data:m7x2Z3oCmA6xIRqbkrccx91eNA==,iv:TsKqYTJLDiFtnH0TmLOsFLlwEdNg1r8hJYZdkhtWOGo=,tag:0SXGKKpLh0yUSHcqQ+aKcg==,type:str] extraConfig: opentracing: enabled: false @@ -323,7 +323,7 @@ spec: emptyDir: {} - name: configs secret: - secretName: ENC[AES256_GCM,data:aVOK2h6KTIKNX8Ypa+AF2UOITA==,iv:PIyZ94Tfr84QUqut2oFu09bYRGwJiKpEpfBmWtQZNXE=,tag:QZflZ3hovkN5a1Bs5S4oMg==,type:str] + secretName: ENC[AES256_GCM,data:aVOK2h6KTIKNX8Ypa+AF2UOITA==,iv:PIyZ94Tfr84QUqut2oFu09bYRGwJiKpEpfBmWtQZNXE=,tag:QZflZ3hovkN5a1Bs5S4oMg==,type:str] ## Liveness probe configuration to use ## livenessProbe: @@ -394,13 +394,13 @@ sops: age: - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2dFpjM1lmcllpR0RKdXdv - bTAydDBWbVRoRXhDUjRwc0FxcjdNU1VNalNJCjcwWE9mQnUydU9QdGZNVWRvSk5k - NWRiY1diZy9XRkgxaEgycVp5ZHgyQlkKLS0tIFNtbFJRdm5lMklZUS9FL0xrMW5F - RUwrQmhKTlRLVjk3QlRxQ3pUb3pEMHcKRT/WEzTcOmlzlvMT5ddT82d8inRAgvyQ - qom+xJO9SM2jcej4kl+0cMJ8zqsrXmw7PukTLjKXOh6egmw+p6qMpQ== - -----END AGE ENCRYPTED FILE----- + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2dFpjM1lmcllpR0RKdXdv + bTAydDBWbVRoRXhDUjRwc0FxcjdNU1VNalNJCjcwWE9mQnUydU9QdGZNVWRvSk5k + NWRiY1diZy9XRkgxaEgycVp5ZHgyQlkKLS0tIFNtbFJRdm5lMklZUS9FL0xrMW5F + RUwrQmhKTlRLVjk3QlRxQ3pUb3pEMHcKRT/WEzTcOmlzlvMT5ddT82d8inRAgvyQ + qom+xJO9SM2jcej4kl+0cMJ8zqsrXmw7PukTLjKXOh6egmw+p6qMpQ== + -----END AGE ENCRYPTED FILE----- lastmodified: "2025-01-18T16:41:05Z" mac: ENC[AES256_GCM,data:bejkU903B5B+O8+zzTa0Rypwfq29N94yWBw9/kOf/XByJZYdsCtC6kYX6G/QLwPRRvKuONYEozAxqFbiTqkR1NVyzqDf8Oj+KEXtQBf3P0SY334yCmaeajHLlKm6kanD5NnpVSmX3BcuVfTGwQK3jZ+Kab+cDNu4/AGqw+6Vnxg=,iv:vg1mrpIUNny4WqqS666kM4yvZpI0TuL7ViSP+ib7HVM=,tag:JF0OdVZino0cP0+Bmx+slw==,type:str] pgp: [] diff --git a/apps/base/matrix/draupnir4all/deployment.yaml b/apps/base/matrix/draupnir4all/deployment.yaml @@ -40,11 +40,11 @@ spec: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: - matchExpressions: - - key: app - operator: In - values: - - draupnir4all + matchExpressions: + - key: app + operator: In + values: + - draupnir4all topologyKey: "kubernetes.io/hostname" containers: - name: draupnir4all @@ -64,67 +64,57 @@ spec: # - name: TRACING_METRIC_URL # value: http://tempo.monitoring.svc.cluster.local:4318/v1/metrics env: - - name: NODE_OPTIONS - value: "--trace-warnings" + - name: NODE_OPTIONS + value: "--trace-warnings" command: ["./draupnir-entrypoint.sh"] - args: - [ - "appservice", - "-c", - "/data/config/config.appservice.yaml", - "-f", - "/data/config/draupnir-registration.yaml", - "--draupnir-config", - "/data/config/draupnir-config.yaml", - "-p", - "9000", - ] + args: ["appservice", "-c", "/data/config/config.appservice.yaml", "-f", "/data/config/draupnir-registration.yaml", + "--draupnir-config", "/data/config/draupnir-config.yaml", "-p", "9000"] resources: - limits: {} - requests: - memory: "344Mi" - cpu: "252m" + limits: {} + requests: + memory: "344Mi" + cpu: "252m" securityContext: - runAsUser: 1000 - runAsGroup: 1000 - fsGroup: 1000 - readOnlyRootFilesystem: true + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + readOnlyRootFilesystem: true ports: - - containerPort: 9001 - name: widgets - protocol: TCP - - containerPort: 9000 - name: appservice - protocol: TCP + - containerPort: 9001 + name: widgets + protocol: TCP + - containerPort: 9000 + name: appservice + protocol: TCP volumeMounts: - - name: configs - mountPath: "/data/config" - readOnly: true - - mountPath: /data/storage - name: storage - - mountPath: /tmp - name: tmp + - name: configs + mountPath: "/data/config" + readOnly: true + - mountPath: /data/storage + name: storage + - mountPath: /tmp + name: tmp livenessProbe: - httpGet: - path: /healthz - port: appservice - scheme: HTTP - initialDelaySeconds: 15 - periodSeconds: 10 + httpGet: + path: /healthz + port: appservice + scheme: HTTP + initialDelaySeconds: 15 + periodSeconds: 10 startupProbe: - httpGet: - path: /healthz - port: appservice - initialDelaySeconds: 15 - failureThreshold: 30 - periodSeconds: 10 + httpGet: + path: /healthz + port: appservice + initialDelaySeconds: 15 + failureThreshold: 30 + periodSeconds: 10 volumes: - name: configs secret: - secretName: draupnir-appservice + secretName: draupnir-appservice - name: storage persistentVolumeClaim: - claimName: d4all-persistent-storage + claimName: d4all-persistent-storage - name: tmp emptyDir: - sizeLimit: 2048Mi + sizeLimit: 2048Mi