cluster

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

commit 8f5c0c1be17d3cd49a48c6f9be7211150d7cedfb
parent 97f7c423e82bd8e8d8753e9f0f75e72f782f6870
Author: MTRNord <mtrnord1@gmail.com>
Date:   Tue,  6 May 2025 22:29:56 +0200

Add collabora

Diffstat:
Mapps/2024_cluster/kustomization.yaml | 1+
Aapps/2024_cluster/namespaces/collabora.yaml | 4++++
Mapps/2024_cluster/namespaces/kustomization.yaml | 1+
Aapps/base/collabora/kustomization.yaml | 6++++++
Aapps/base/collabora/release.yaml | 180+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aapps/base/collabora/repository.yaml | 8++++++++
6 files changed, 200 insertions(+), 0 deletions(-)

diff --git a/apps/2024_cluster/kustomization.yaml b/apps/2024_cluster/kustomization.yaml @@ -52,3 +52,4 @@ resources: - ../base/irc - ../base/matrix/heisenbridge #- ../base/matrix/livekit + - ../base/collabora diff --git a/apps/2024_cluster/namespaces/collabora.yaml b/apps/2024_cluster/namespaces/collabora.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: collabora diff --git a/apps/2024_cluster/namespaces/kustomization.yaml b/apps/2024_cluster/namespaces/kustomization.yaml @@ -36,3 +36,4 @@ resources: - xandikos.yaml - plane.yaml - irc.yaml + - collabora.yaml diff --git a/apps/base/collabora/kustomization.yaml b/apps/base/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/base/collabora/release.yaml b/apps/base/collabora/release.yaml @@ -0,0 +1,180 @@ +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 + 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/base/collabora/repository.yaml b/apps/base/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/