From 350c7db62abde8b14be5b551e287f031a700282c Mon Sep 17 00:00:00 2001 From: GigiaJ Date: Sun, 30 Nov 2025 05:20:12 -0600 Subject: [PATCH] Define MMR --- src/main/k8s/services/matrix/mmr/service.cljs | 52 ++++++++++++++----- 1 file changed, 40 insertions(+), 12 deletions(-) diff --git a/src/main/k8s/services/matrix/mmr/service.cljs b/src/main/k8s/services/matrix/mmr/service.cljs index e4163c6..c683881 100644 --- a/src/main/k8s/services/matrix/mmr/service.cljs +++ b/src/main/k8s/services/matrix/mmr/service.cljs @@ -2,20 +2,48 @@ (ns k8s.services.matrix.mmr.service) (def config - {:stack [:vault-secrets :deployment :service :ingress] + {:stack [:vault:prepare [:k8s :config-map :deployment :service :httproute]] :image-port 80 :app-namespace "matrix" :app-name "matrix-media-repo" - :deployment-opts {:spec {:template {:spec {:containers [{:name 'app-name :image '(str repo "/" app-name ":v1.3.8") - :volumeMounts [{:name "data" :mountPath "/data"}]}] - :initContainers [{:name "init-permissions" - :image "busybox:latest" - :command ["sh" "-c" "chown -R 1000:1000 /data"] - :volumeMounts [{:name "data" :mountPath "/data"}] - :securityContext {:runAsUser 0 :runAsGroup 0}}] - :volumes [{:name "data" :hostPath {:path "/opt/mmr/data" :type "DirectoryOrCreate"}}]}}}}}) + :k8s:config-map-opts + {:metadata {:name "mmr-config"} + :data {"media-repo.yaml" + '(stringify + {:repo {:port port + :bindAddress "0.0.0.0" + :logLevel "debug"} + :database {:postgres db-login-url} + :homeservers [{:name homeserver + :csApi (str "https://" homeserver)}] + :accessTokens {:appservices [{:id "discord" + :asToken discord-app-service-token + :senderUserId discord-send-user-id + :userNamespaces {:regex user-namespace-regex}}]} + :admins [admin] + :datastores [{:type "s3" + :id s3-id + :forKinds ["all"] + :opts {:tempPath "/tmp/media-repo" + :endpoint s3-endpoint + :accessKeyId s3-access-key + :accessSecret s3-secret-key + :ssl true + :bucketName s3-bucket-name + :region s3-region}}] + :rateLimit {:enabled false}})}} + :k8s:deployment-opts {:spec {:template {:spec {:containers [{:args ["-config" "/etc/media-repo.yaml"] + :name 'app-name + :image '(str repo "/" app-name ":v1.3.8") + :volumeMounts [{:name "config-vol" + :mountPath "/mmr" + :subPath "media-repo.yaml"} + {:name "temp-vol" + :mountPath "/tmp/media-repo"}]}] + :volumes [{:name "config-vol" :configMap {:name "mmr-config"}} + {:name "temp-vol" + :emptyDir {}}]}}}} + :k8s:httproute-opts {:spec {::hostnames ['host]}}}) - -;; -;; - ./personal/matrix/mmr:/data \ No newline at end of file + \ No newline at end of file