cluster

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

commit a23efb0e8ddb947a93cb186b7dd94a44d812be1d
parent b162803f6bc6660de8b1343c499c90cdfc7d1b0d
Author: MTRNord <MTRNord@users.noreply.github.com>
Date:   Mon,  4 Aug 2025 11:24:40 +0200

Migrate collabora

Diffstat:
Mapps/2024_cluster/kustomization.yaml | 10+++++-----
Aapps/talos_cluster/collabora/kustomization.yaml | 6++++++
Aapps/talos_cluster/collabora/release.yaml | 181+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aapps/talos_cluster/collabora/repository.yaml | 8++++++++
Mapps/talos_cluster/kustomization.yaml | 1+
Aapps/talos_cluster/namespaces/collabora.yaml | 4++++
Mapps/talos_cluster/namespaces/kustomization.yaml | 1+
7 files changed, 206 insertions(+), 5 deletions(-)

diff --git a/apps/2024_cluster/kustomization.yaml b/apps/2024_cluster/kustomization.yaml @@ -1,13 +1,13 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - ../base/authentik + #- ../base/authentik - ../base/victoria-metrics-k8s-stack #- ../base/traefik #- ../base/externaldns #- ../base/postgres-operator - - ../base/postgres-exporter - - ../base/vaultwarden + #- ../base/postgres-exporter + #- ../base/vaultwarden - ../base/matrix/matrix-helm #- ../base/matrix/meowlnir #- ../base/matrix/draupnir-synapse @@ -51,9 +51,9 @@ resources: - ../base/xandikos - ../base/plane - ../base/irc - - ../base/matrix/heisenbridge + #- ../base/matrix/heisenbridge #- ../base/matrix/livekit - - ../base/collabora + #- ../base/collabora - ../base/matrix/continuwuity - ../base/matrix/connectivity-tester - ../base/flagger diff --git a/apps/talos_cluster/collabora/kustomization.yaml b/apps/talos_cluster/collabora/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: collabora +resources: + - repository.yaml + - release.yaml diff --git a/apps/talos_cluster/collabora/release.yaml b/apps/talos_cluster/collabora/release.yaml @@ -0,0 +1,181 @@ +apiVersion: helm.toolkit.fluxcd.io/v2beta2 +kind: HelmRelease +metadata: + name: collabora + namespace: collabora +spec: + releaseName: collabora-online + chart: + spec: + chart: collabora-online + sourceRef: + kind: HelmRepository + name: collabora + interval: 50m + timeout: 25m + install: + timeout: 25m + remediation: + retries: 3 + values: + ingress: + enabled: false + replicaCount: 1 + collabora: + aliasgroups: + - host: https://collabora.midnightthoughts.space + - host: https://cloud.midnightthoughts.space + extra_params: --o:ssl.enable=false --o:ssl.termination=true + username: admin + password: ENC[AES256_GCM,data:0+VngqllfqMxssZU38/UMaUajdL2y4lKHAVM654YBPd2sT3GNijs9Zmdj6urc6ymEgaLZDHoe0F2pIkOFOhyqQ==,iv:GQitiFEShCv/Jrq1D/V5S+G6Jor+6H8/QncvltT81Uc=,tag:5gxOH59m2sGUmGBPGjtBuw==,type:str] + resources: + limits: + cpu: 1800m + memory: 2000Mi + requests: + cpu: 1800m + memory: 2000Mi +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6UStLR1RNZzErZ0VaNTRw + a0VETXVqaG5YMzNOOTRrRHhFYXBBNnVIcVNFCmp5RnNja3VMZGxvcnRMNkpFQ21w + NHNkdzl3VGY4b1oxVWdtNzM1Y0NVWFUKLS0tIGd2NSttbVFRSnBxSFlzSFgyaVhH + bnJ0cVFJZS9MOGdlSlFrZVRrODlKazgKv9LSpwR009/fBUM1PopiVPmUbAWQtNlT + JZNZWONdbuKCLy0YzETiL+eUbUu7/G9KMQVXIV/z5qaLdSmWkVlJwQ== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-05-06T20:29:10Z" + mac: ENC[AES256_GCM,data:dMajaAWAzF/vZITich+V0pENWfhM9HV9T3+JD6YNPg/FcpCni2oirgXZvp66oPk/oWRsfq9l4zQmX9Td62Hws4kEtXwUIIMMgSAgugzVLrJ2clkqApRdBAV7UP8dOLCdVn3j7zgRLYujrHKnOV4j9CIX9eU4jKtIgpsY+iEA12A=,iv:K4H82oJi0ecMB1gS4xzLv5A2EeEEXgeaSGmDTuIRzG4=,tag:BxPn0YaHraPF3pRclwka8g==,type:str] + pgp: [] + encrypted_regex: ^(GITHUB_CLIENT_ID|GITHUB_CLIENT_SECRET|GITHUB_PRIVATE_KEY|woosh|root_password|rspamd_password|pgdb_password|matrix_access_token|pgdb_remote_url|hmac_secret_key|adminPassword|adminEmail|jenkinsAdminEmail|securityRealm|gerrit.config|routing_key|DATABASE_URL|SMTP_PASSWORD|SECRET_KEY_BASE|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|MAIL_PASSWORD|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|admin_token|integrationKey|rootPassword)$ + version: 3.9.1 +--- +apiVersion: gateway.envoyproxy.io/v1alpha1 +kind: HTTPRouteFilter +metadata: + name: deny + namespace: collabora +spec: + directResponse: + contentType: text/plain + statusCode: 403 + body: + type: Inline + inline: Oops! Your request is not found. +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6UStLR1RNZzErZ0VaNTRw + a0VETXVqaG5YMzNOOTRrRHhFYXBBNnVIcVNFCmp5RnNja3VMZGxvcnRMNkpFQ21w + NHNkdzl3VGY4b1oxVWdtNzM1Y0NVWFUKLS0tIGd2NSttbVFRSnBxSFlzSFgyaVhH + bnJ0cVFJZS9MOGdlSlFrZVRrODlKazgKv9LSpwR009/fBUM1PopiVPmUbAWQtNlT + JZNZWONdbuKCLy0YzETiL+eUbUu7/G9KMQVXIV/z5qaLdSmWkVlJwQ== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-05-06T20:29:10Z" + mac: ENC[AES256_GCM,data:dMajaAWAzF/vZITich+V0pENWfhM9HV9T3+JD6YNPg/FcpCni2oirgXZvp66oPk/oWRsfq9l4zQmX9Td62Hws4kEtXwUIIMMgSAgugzVLrJ2clkqApRdBAV7UP8dOLCdVn3j7zgRLYujrHKnOV4j9CIX9eU4jKtIgpsY+iEA12A=,iv:K4H82oJi0ecMB1gS4xzLv5A2EeEEXgeaSGmDTuIRzG4=,tag:BxPn0YaHraPF3pRclwka8g==,type:str] + pgp: [] + encrypted_regex: ^(GITHUB_CLIENT_ID|GITHUB_CLIENT_SECRET|GITHUB_PRIVATE_KEY|woosh|root_password|rspamd_password|pgdb_password|matrix_access_token|pgdb_remote_url|hmac_secret_key|adminPassword|adminEmail|jenkinsAdminEmail|securityRealm|gerrit.config|routing_key|DATABASE_URL|SMTP_PASSWORD|SECRET_KEY_BASE|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|MAIL_PASSWORD|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|admin_token|integrationKey|rootPassword)$ + version: 3.9.1 +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: collabora + namespace: collabora +spec: + parentRefs: + - name: envoy-gateway + namespace: envoy-gateway + hostnames: + - collabora.midnightthoughts.space + rules: + - matches: + - path: + value: / + type: PathPrefix + backendRefs: + - name: collabora-online + port: 9980 + timeouts: + request: 240s + backendRequest: 0s + - matches: + - path: + value: /cool/getMetrics + type: PathPrefix + backendRefs: + - name: collabora-online + port: 9980 + timeouts: + request: 240s + backendRequest: 0s + filters: + - type: ExtensionRef + extensionRef: + group: gateway.envoyproxy.io + kind: HTTPRouteFilter + name: deny + - matches: + - path: + value: /cool/adminws + type: PathPrefix + backendRefs: + - name: collabora-online + port: 9980 + timeouts: + request: 240s + backendRequest: 0s + filters: + - type: ExtensionRef + extensionRef: + group: gateway.envoyproxy.io + kind: HTTPRouteFilter + name: deny + - matches: + - path: + value: /browser/dist/admin/admin.html + type: Exact + backendRefs: + - name: collabora-online + port: 9980 + timeouts: + request: 240s + backendRequest: 0s + filters: + - type: ExtensionRef + extensionRef: + group: gateway.envoyproxy.io + kind: HTTPRouteFilter + name: deny +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: + - recipient: age1esjyg2qfy49awv0ptkzvpk425adczjr38m37w2mmcahzc4p8n54sll2nzh + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6UStLR1RNZzErZ0VaNTRw + a0VETXVqaG5YMzNOOTRrRHhFYXBBNnVIcVNFCmp5RnNja3VMZGxvcnRMNkpFQ21w + NHNkdzl3VGY4b1oxVWdtNzM1Y0NVWFUKLS0tIGd2NSttbVFRSnBxSFlzSFgyaVhH + bnJ0cVFJZS9MOGdlSlFrZVRrODlKazgKv9LSpwR009/fBUM1PopiVPmUbAWQtNlT + JZNZWONdbuKCLy0YzETiL+eUbUu7/G9KMQVXIV/z5qaLdSmWkVlJwQ== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-05-06T20:29:10Z" + mac: ENC[AES256_GCM,data:dMajaAWAzF/vZITich+V0pENWfhM9HV9T3+JD6YNPg/FcpCni2oirgXZvp66oPk/oWRsfq9l4zQmX9Td62Hws4kEtXwUIIMMgSAgugzVLrJ2clkqApRdBAV7UP8dOLCdVn3j7zgRLYujrHKnOV4j9CIX9eU4jKtIgpsY+iEA12A=,iv:K4H82oJi0ecMB1gS4xzLv5A2EeEEXgeaSGmDTuIRzG4=,tag:BxPn0YaHraPF3pRclwka8g==,type:str] + pgp: [] + encrypted_regex: ^(GITHUB_CLIENT_ID|GITHUB_CLIENT_SECRET|GITHUB_PRIVATE_KEY|woosh|root_password|rspamd_password|pgdb_password|matrix_access_token|pgdb_remote_url|hmac_secret_key|adminPassword|adminEmail|jenkinsAdminEmail|securityRealm|gerrit.config|routing_key|DATABASE_URL|SMTP_PASSWORD|SECRET_KEY_BASE|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|MAIL_PASSWORD|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|admin_token|integrationKey|rootPassword)$ + version: 3.9.1 diff --git a/apps/talos_cluster/collabora/repository.yaml b/apps/talos_cluster/collabora/repository.yaml @@ -0,0 +1,8 @@ +apiVersion: source.toolkit.fluxcd.io/v1beta2 +kind: HelmRepository +metadata: + name: collabora + namespace: collabora +spec: + interval: 5m + url: https://collaboraonline.github.io/online/ diff --git a/apps/talos_cluster/kustomization.yaml b/apps/talos_cluster/kustomization.yaml @@ -9,3 +9,4 @@ resources: - ./draupnir-synapse - ./vaultwarden - ./actualbudget-server + - ./collabora diff --git a/apps/talos_cluster/namespaces/collabora.yaml b/apps/talos_cluster/namespaces/collabora.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: collabora diff --git a/apps/talos_cluster/namespaces/kustomization.yaml b/apps/talos_cluster/namespaces/kustomization.yaml @@ -7,3 +7,4 @@ resources: - matrix.yaml - vaultwarden.yaml - actualbudget-server.yaml + - collabora.yaml