From e82185c247c6224daddd9aab1b22db5ee8b1f909 Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Mon, 15 Jan 2024 15:12:45 -0800 Subject: [PATCH 01/19] infra/main: add databases for matrix migration --- infra/main/main.tf | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/infra/main/main.tf b/infra/main/main.tf index 80be87e..cec5e18 100644 --- a/infra/main/main.tf +++ b/infra/main/main.tf @@ -63,6 +63,21 @@ module "digitalocean_database_cluster" { }, { name = "forgejo", create_default_superuser = true, + }, { + # We're creating this database, but then need to delete and recreate manually with LOCALE=C. Otherwise synapse won't work + # CREATE DATABASE synapse WITH template=template0 owner=doadmin locale="C" encoding=UTF8; + # GRANT ALL ON DATABASE synapse TO synapse; + name = "synapse", + create_default_superuser = true, + }, { + name = "telegram", + create_default_superuser = true, + }, { + name = "slack", + create_default_superuser = true, + }, { + name = "media_repo", + create_default_superuser = true, }] vpc_id = digitalocean_vpc.main.id -- 2.40.1 From fa1ac5a44a8fb568610d978b76dd97d29a239261 Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Mon, 15 Jan 2024 20:25:37 -0800 Subject: [PATCH 02/19] Add matrix-media-repo bucket --- infra/main/main.tf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/infra/main/main.tf b/infra/main/main.tf index cec5e18..0a753be 100644 --- a/infra/main/main.tf +++ b/infra/main/main.tf @@ -84,6 +84,11 @@ module "digitalocean_database_cluster" { digitalocean_region = data.digitalocean_region.provided.slug } +resource "digitalocean_spaces_bucket" "matrix_media_repo" { + name = "${var.namespace}-${var.environment}-distrust-media-repo" + region = var.region +} + locals { database_host = module.digitalocean_database_cluster.database_cluster.private_host database_port = module.digitalocean_database_cluster.database_cluster.port -- 2.40.1 From 25f62adf16d4e8166a99139bab980351de6026d8 Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Fri, 19 Jan 2024 22:27:15 -0800 Subject: [PATCH 03/19] Drop old chat.distrust.co domain to allow k8s cluster to take control --- infra/main/dns.tf | 7 ------- 1 file changed, 7 deletions(-) diff --git a/infra/main/dns.tf b/infra/main/dns.tf index 068f87e..572efba 100644 --- a/infra/main/dns.tf +++ b/infra/main/dns.tf @@ -16,13 +16,6 @@ resource "digitalocean_record" "billing" { value = "45.16.98.153" } -resource "digitalocean_record" "chat" { - domain = digitalocean_domain.default.id - type = "CNAME" - name = "chat" - value = "distrust.element.io." -} - resource "digitalocean_record" "www" { domain = digitalocean_domain.default.id type = "CNAME" -- 2.40.1 From 701b304c9d36671affb9fe17faaa4daebc880013 Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Fri, 19 Jan 2024 22:28:06 -0800 Subject: [PATCH 04/19] Update website submodule from codeburg to git.distrust.co --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 603ca7b..5db18a4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,6 @@ [submodule "src/website"] path = src/website - url = https://codeberg.org/distrust/website + url = https://git.distrust.co/public/website [submodule "src/toolchain"] path = src/toolchain url = https://git.distrust.co/public/toolchain -- 2.40.1 From 43bb6b88107de9577890ac1d59bb2c98ad02e1be Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Sun, 21 Jan 2024 21:55:00 -0800 Subject: [PATCH 05/19] kustomize/synapse: initial commit --- .../matrix/synapse/config-secrets.enc.yaml | 121 +++++++++++++++++ kustomizations/matrix/synapse/deployment.yaml | 98 ++++++++++++++ .../matrix/synapse/federation-service.yaml | 10 ++ .../matrix/synapse/files/homeserver.yaml | 83 ++++++++++++ .../matrix/synapse/files/log.config | 31 +++++ .../files/shared_secret_authenticator.py | 123 ++++++++++++++++++ .../matrix/synapse/kustomization.yaml | 21 +++ kustomizations/matrix/synapse/namespace.yaml | 4 + .../matrix/synapse/secret-generator.yml | 7 + .../matrix/synapse/secret-key.enc.yaml | 118 +++++++++++++++++ kustomizations/matrix/synapse/service.yaml | 16 +++ 11 files changed, 632 insertions(+) create mode 100644 kustomizations/matrix/synapse/config-secrets.enc.yaml create mode 100644 kustomizations/matrix/synapse/deployment.yaml create mode 100644 kustomizations/matrix/synapse/federation-service.yaml create mode 100644 kustomizations/matrix/synapse/files/homeserver.yaml create mode 100644 kustomizations/matrix/synapse/files/log.config create mode 100644 kustomizations/matrix/synapse/files/shared_secret_authenticator.py create mode 100644 kustomizations/matrix/synapse/kustomization.yaml create mode 100644 kustomizations/matrix/synapse/namespace.yaml create mode 100644 kustomizations/matrix/synapse/secret-generator.yml create mode 100644 kustomizations/matrix/synapse/secret-key.enc.yaml create mode 100644 kustomizations/matrix/synapse/service.yaml diff --git a/kustomizations/matrix/synapse/config-secrets.enc.yaml b/kustomizations/matrix/synapse/config-secrets.enc.yaml new file mode 100644 index 0000000..8e18044 --- /dev/null +++ b/kustomizations/matrix/synapse/config-secrets.enc.yaml @@ -0,0 +1,121 @@ +apiVersion: v1 +kind: Secret +metadata: + name: config +type: Opaque +stringData: + homeserver.yaml: ENC[AES256_GCM,data:9O2YODDpJf6FzX6DojwGaIYkRs99K/GP+HCBCb4PO5fNJPmyEaN3DllpZjSn1WlgMIMi46gs7wfZJjoJRVz5wq+owwmZw+4lrAnYN8niNKcYoakuHn57WSzlrrqZDMY5i0VKZ1S+QATGll5Wl19AjHIuVEbJ5nQeeORVq+n7voG4/MX3PcZINjKdr4PnTwCx21TrPb9lRunH+oGhbHjMvx4yxNzqOvrvuFMSqkC/lDWrrSfCcn14qbLhq//OAk+c49IUkHTjJVbaK4mx1dbi7LA3rsZmb5cM9iFLPImWZnlpGM3SZasO91paiV8EaH+EkyA/4TpWODi+0KCiwVrLnOxEvmx6NweGOIaWgk04DgFomD468F1i0VVksk5/FwM8QvS8cIZ6Wqk/mAtbki5pnpvSZMrWXV4WSja+IcpoPYZjYdzttiHhxqoQ9Kkka3AqPEm1Nj6ggYtgjfE78dWVxN0jcKTXLV6C2T59jqpwyT9zmIpTJZ6AbZL6hafBprJenwD4mUO+pGzW1zs2nzDDr49nRSLtnRub5ecdYgZTPoInxxJYqbgZIjCYfwc7Y49JeSxklQXspCYZf+xmS0O4w8FzgwWYKCcajju4cRKHe46oN6QUftcmJILyt4LVSCuKzGsIKRnPazPKWqPUDjAs7j/i+jCha6gIctF5wvihfrCXHqD0gHa92kR/M581C6Ch2LFTupyUZtyZEbE+Y1oPlYyn2psBohVm/izl96QKuX7Ujco5Iahf7A55CTMuoBqXtvhpNwZVcmLf3SWiFTN2LfrkG2rXarvq+2TsgMcFeNia094Yk0gISR8UTu7uhhKuoPoFMN+3cCnXqiqMHoehbT9KyV7QuXG+M/jvGnUKPeTtp/Grmd4arvLpFp9UKAXbVkvFCFyTW+562qRnh0Int88ycr6FBdQl1HTN+mQfz4lNLxNomxu+0iDMaNP0+YTncSRragpjV267IUvWzzu5Dl1StD8YUZ2/J+66helA3IGBVlIqoeoAJyrP+GNuhwInTFVBlVxDyn8N/VqJuFw3B8c2W7BX6+68asZROeaTHDu2rYfxVWhGss7oKTxz4RdiK510tLh5OtI7M5f2b8gnhqwTbsiHM4UaCXGP4JdmIsyLcUEeg9K1jQx/LsYCBi9ZaegzbhIvgi3r12495Fzw5gWfZ5Xsf7gvQYR41A==,iv:QemGZaVH7IHvLdTjhr+R7FMyuJlGk9UsZMn5aILwwNg=,tag:N3dCm2v044ZrOgPjWSrjuw==,type:str] + mautrix-slack-bridge.yaml: "" + mautrix-telegram-bridge.yaml: ENC[AES256_GCM,data:l+PW2hMSJJ86E17ghwGCHyzs7cO4h3MmLXQOHbZU2V06WliHnwcJw4agn1VixNTW2aJGZzJOezgqg/ZZIM5kCcENTjP13Pyd7I637bdE2XQQT9/KnrCiVFViQSJ+FqKobGVYUWuQkZGB6y3Dw+xo31wVuCP6xUKg7bqj5VgMoDhOVi3C8ckWFnvUqgIxKSTgABN1kQYGreW1jpeAJ8BtmR1mXZ+O/Qq6qNlZlGG/0i8fRwiCzm18r2R+KEtsF0DFneVI3mHqvyeSv19gn2YgNIF6E7Y0lMQBfDAhz/T+dN0uUt23huBA94xVuNEkLA6OlTkOPmVm5Y3+1TDDc1JEyVSaMyODHUFU27NhIcS85b6ImcKjhoezYIxhYU5agGzi/C8ltpt97f2wj3ONna3YRr0p19H3AW3z4X4aPpY779RZ3Ix5f8+/qRd/aiD1hTwUbUk7tILs7Gc1aa/pzOwG4/usK1AYsiO0Eryazeix50s0VvhB9kMNIs5FE+9We8aVwxQubrc3biB9HvpuUgfcQt336udHqjmpzu/xAohc9KaqiSj4gOYxKorm6JO4Y0FoPTWS7Cadq0Wbs5aZOT8SAKZUYcAQZot6n7NFVudc5wZ22SPvTSSoHinipBwYHmoesRzQjX72ZFeHcHDBi5wnWI33EaxEcmryltKyeiesoX1Dl/E5F/mMLUxkCap/pJusum/SHi38iuiKBZ545bn6xOm8kwl8hHpxfNjaNAzZEZRmyAFCgiVYr2pdm935uv2ZVMOEoD75zcds/DGACUgD/VuNVfGLRP/ZT9yh6XCk6SM9RX5Ycv8=,iv:o1rRZEi7DXUo5VrgmKwZT8/+Lvfr1i4n2Xfi+Kn7bzM=,tag:ihE864vT1LNY47MfmLPDGw==,type:str] + appservice-matrix-bridge.yaml: ENC[AES256_GCM,data:e4ceqgp7Mw7QeS6x+6csIRbD1O4Ifp3ruEEDle6GxqD703Emn7/58hHaydmNB/By2JnHvl/d1t5RYIUqwZp25NHjxemKjnS7iLMzCjmf4KhKzWHGnGDwegbEOK7eFKM0LThgcjWKZF9Lu3JSUvcJfmXTIqjLdUh/Min41Kg09IZW3bAMLlbVioV2JUNAdWpGYet9HTKTQVFx7/Dycn28HlFTf8Pn7WM2zH+dCOqtwb8IqJI9fnvCrLLmT1nn6dsG3wZfKUXFK2RVEeoL1wSRvpNRpt3sB2fURO4GNWs+6NkPqdeiQCPGV3GkcqRzCpDWkZ5vUSYiGaSZXEJoR3UBvtx7OM8QVbGQk2TsHXBOlnlrRJXiXjrEH5x2zxD+1vB2D3vqoVhONRuRas4UcnKoocTt+HZ5Vp4cDKLxZGNrQapaMGjVv8l+LFaUVHTr3e6Hi1/qFD2Mcg0AJpFUtSzD21vzpqM=,iv:U04ozvNRpnflofWhAM5TR9gfi82gqpGqa+YHxPdjHaQ=,tag:+q3hHKXlC1oFzFD0qZZi+Q==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: [] + lastmodified: "2024-01-22T05:50:40Z" + mac: ENC[AES256_GCM,data:RzkcL1XLj84Xxg7CpBwirNWi46+O+2e3BcSaZkoCOrh434rxRTTX8Ifz8COW4M8+kGhZc/OKAvCsJ3mNEjFEoztm9+L1reoHRyAKl5cYL6B9uFdZqi4Qw0SH2JjtsGrbxAhYE9F7bDHnjhuOBllWHf+QZErzC4FOLZPOWaKbDRE=,iv:pyGnS5Kb15kOo9aMlELH15C7XjNpHkPALuzd1Y4gsDA=,tag:3km2NDpwEtCXrmZrQTksWg==,type:str] + pgp: + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA82rPM2mSf/aARAAkFACzQmqyF9BqaD1qEjIO4e6owS/n4h3U6ee0Y7fhO8y + a5RJ4/HvMmfXcYeHm+CZjsFaui4YJkPS93clGTJzV4w15yXJUunIVjAmkvSrVh6P + GqRUtNpi1y+JCS3sjlAfvm3h9b08dNxFv7rTwZtDiP8zmcNuB0zbLBFR7G6ixetx + ZxL7piPYX75Rqoz8A/+V7VAtsoX8t3xv5xgjHzzfhiM3TeoQUgLnF8aN5huiSptf + dMmNMa0GGu5QaUjYJ3iHjv5eMtCJ79KwpuCfv5iX34Q++rTe5VUWoQabNAiE/Frt + Rc3JB8o8rfL6WME9qIIa5k654JlVDKqOvTH3mtHkOIWhD2+CEK89Siq3G35Kkct8 + Ym7UNa6gE8IdSGkCOH81G4ZheU6Z8OKF1Z7dO+o7IdgIURTwLEFeBIC2PtWOKOJP + PnzqZNk1w4n4XK6hQg4bmIj8VaZXXgHEXcO/jaGCoRyr36BHCE1Sj1ae5cMUgDje + p6WKVO6gXfRg7SRJqQNUh03Lz0YKIjsI/429UPyf9mtXbHfvVyrW3+wyByok86FG + cGL1Y/N7thxAxXqHy4OZFCE0NMP2bobMzzGJTtDY9oPsGwTb6xk1g0wE5zg6IoQa + 9hnObBJhdpvYcD6juz+V0wkeI30essnz7ZTtsLdfCox6mnP5BMTtzxmcRrCpNvHS + UQFIZa0XryYoXv3rcw6yUpkqv6aYzD3L4PnqYtGUEtbMoTb8NXa9Cp+1OeypqZ0g + 7uO5zCKJgL6sBaPnJL5/n+afafzYcIOsQc2O+q0s4O1d5Q== + =3E6w + -----END PGP MESSAGE----- + fp: 6B61ECD76088748C70590D55E90A401336C8AAA9 + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMAw95Vf08z8oUAQ//abo3n5r8YdQ6p+/X031/n8MCvWKw+ERGSvDuT2r7g8m8 + DqrBQmX578jHVmZkC2B6fYqEBuQAeyEJyQ56MLMuGMNSET8dgNS4Uj/gwvsuEDQf + NhU10WLkfQ3g2/o654BVzPC2b3UQTL4mmXqp0+ID79uynn0/WZ0TQQ8xj/uUaDS1 + h6/uC7mmDGTHaxF3gFuYkvWMghU0bqX5BfrAPdICAr8FIqxUGIvUD6KkBu9hWTYP + RLtfwpU/DAcT/7pNtic25WzzQt7W0mok3zUZZq5r2UqO35x2XOrgC5DQ69QYf7JZ + a9S236gEpAS0Kl1IWSvY2kDzj/J27T3nonY2kX3a+UqVWX15LEmVmNNUMwjz91/b + 0G+26vustzinHBs30EHGBqhyELjRW0RjcmlVGNXvZwhgGL5/LNIEcfBi19tIang1 + dRYE9TasSeRbyTU/A/CXFDeuGtC8K552SzXjv1zP6gkwZFb0/zd0/XHPSyGyOLbM + 1PC3JhkA8GEYQ7l9y5BdPXxZseuoSHDPHfMRIcnogx6w6rfBdd9+78M1WjnGzhYi + /utORBaiwU9Zk+Xm3B+WbkDl5+jio+UIp9nHoYAGfuJ9A6TZYBIavB6K171wALke + Kl6hoTxef/VGwdfXB9ikUy0bi0Km1vVpZGVzIjSFXiSlLkaamhxUFSgDPGZN21rS + UQHeXKkhgKXTEVvi+kypRbN2/174bElGTWz1C2TWPNJAcvvKmRw66t5g8pahnXbm + SYQoB5JaAl0URu6zHWBYhCjQjiyePhnxHV4tgGtEYAdY3g== + =xXRR + -----END PGP MESSAGE----- + fp: 88823A75ECAA786B0FF38B148E401478A3FBEF72 + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA0/D4ws+/KPtARAAsxa6N9jRT1AUqfWI7gIfJK6i6g0F5oxRYJ5A2mjhc89k + ZAN4/tO9GC+Fg8+lLhPHdiz6v2T1+92AFXET3jm+ax6rYei2woMHNXKzgqxjkQEQ + xQ/3LcQ3+FOTrvy7Gir9HQ/DoWSePBF7tx16unxH75hi6AgOiT0nFoEbXP3CJXie + lVOO5r5jKgBg9LENj/U+9LHjXB6W0PbVdhxdeStk2TTKcmuDnrGeqKZ3SyZ9V33p + DEfydW+T0ac156Eb2tdszzW5e87oPmW78wvLkotboZcPVWBadRtJkzVn3JXoMAda + gN+W2+I4/4iQN8ITBQ+2i5GsdbHtnrmPkzSbtSqhujwZ1k/a7uRmHy46ejDK9QnT + lQzm2OKyjTlCDhnxnKj0eTE4nN0CDyxGBNlNVG2piKd8i+HpqrjKJ9IUcMj7oO3U + 8rtQ2A0LHquNvu6ZatP6fUk3tKgLaEslV4ORXMlILdZXlYqgznmvWJaII3XVeu8l + G/tHPkOhrcQDIecBeYcTLZYXtPtmY1UNJZfbDazG/9J0rdq/r9NmnB7woy7FSYEp + yRNji1i/89nVLsu94ra1D6FHyxgIFTSLkD7s1iCMTsz0UdwfbxqdLIWumYrm04XF + wM2eTB8OAGe8mdfi1q4te0FEDMLTpdYBhYDDjHmBv4fXwKPcWkgixvNJtT6xPgLS + UQEvOn03hQ8MCQ5kh1R1FoTOw1UpgV0eqJSateC2wkBKbZ/4NWPbnZA7XAW6Jb98 + JidKJ8TiYiI33hxUhu4nUeZWjNcd7MgHyl1Do2r7SfyICw== + =TXST + -----END PGP MESSAGE----- + fp: 3D7C8D39E8C4DF771583D3F0A8A091FD346001CA + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA5Wf+FyJ+zFJAQ/+I9khYJfqjCHhrAaElVWKgn4c+7C+oilVNE0132pQZfLb + u17yv6AYY5zThK6Lg0GZMKaKFn+JuF9wonTyixJQccJ+w2MxsJQRNQZTV/t19HrQ + B+6YFLVPNyOglr7jf+o5BnOdIvpR0Cog5JDzn0j4iwpRWRSGW1sWXiABKWUIW0Ks + nR7Rm/k3Jm8zYO6LtoyYog5HGUEHRMuOY6Yoj/EEbfDLKFU5WZ+hfKnbGGM9KW31 + RkXoCtjm2AstZTia5+Y0E3wNb9bbvpbkewyQd5KqaHmHaX3MzuoYKNHGVEgPMfla + Y26aED5uSLETv+C1U/jYJyxyVJxNYb2JBrS8a7+p+mo00Cvbs/pbM/cr5Y/Ogu7Q + Ed0+Ixst3LzSTOcYAAiEC/LpWztaIp/4h/cAfE7eKnsoFUVcv2lLpLHyI7fS/sJH + Ywp8tlqlfx7DaCqYEVjPMSfI9qBbJomoQ77szHL+Gyi4ibyF0iRz0/NnF5lmu5H5 + sDAYiqnHEIpk1v+gWXoj/CQq7a5jJf044cYylcO+al27cugr+jr5TBQQVv+wDNJV + LqpAxmmz8yUJ6RlTSg5JwNlNCCOONv6f+lX0Cjk7V0kPcOMgbVn19Su7zIvhM7wd + m9mzuVWWx2SBGzORdK9W4tt7lybU7aCvusT1jP1nwXF/JCz9lyEbb1syaNIAiXHS + UQE2Va23CUVgB+cV/ImXBCEuAjZhiSMFVCtWOZrcqPS8EZX9s6WzscpsEmFnDE7t + GVR3u1IyjxTsuTxxYU0ldSjHqYFjQrgRD3ZBzwZcgeajqw== + =bF9b + -----END PGP MESSAGE----- + fp: F4BF5C81EC78A5DD341C91EEDC4B7D1F52E0BA4D + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA8KRInHl7Vz+ARAAoMRyGipvXTgUChfL1Lryej14FI9+8dvWQculBjPQzg6x + oxdPzz07ifIX8D64zfToE+qc439l/RYwiMx9XyGscEim0D1GIFPwxOm4DCXT+/5m + wlLkOBP7oMwirqSazS7dNF1hE83717QTi1GqC0UqhoMINtxrhQIv1Y6xxREqD1Wd + eW3M45p1i8iSZkzF7n0EhIK3J59Wl3vxt9FUX3YRWk1JH0oaqIc1VCH3TJc73DAx + 9e1jIVQSo4R8BfQc5Y64xRh0eq/87Ud2E2x9JbZmpnw4FN/OHg9QqRMaZ9r6EQ/l + VerhJFkfSj3UVAfODzViKXyNTKRak1GOcQBE5lfAXynAW1nfTTx0re0rl6/tvOwC + i02a/raksTI8afak1RMclNFqlihsegGU239ZGDRPb4apL32nYY0SMim58vET8rv5 + eTiQE1udg+1ttIRAGq/PxzHKlc6FUEdyJ6i2Da16c0K76FpF3Gnxxhw+Tleixx3h + 6+PbhC2qEgt7LS8TNg9J2WTDy4Hlw5YEmzOAM9NA6UYrH9BHsR87sbdriz6pAC55 + CnFkWptrME4CjUP72qIezRYt/4784ABTw6poQ51jP30641YhgPoYLrWS8hWQYaE3 + jcrum3JQnLTjsE88OclcreKNvNj+b1t0uxuHa/6UdMnyRCd8osJ22s6JJHLGgB/S + UQHvy+Rv0QJ65DjsJ4TfdRBLcKXaF7Ar5SaANqGi8EYwjVbhfImwx5VSEsvQclEU + 7JihoETtCrRwJM1BkJz3nuBAaYDm1Y+lWHSyVZ6xi8G0eg== + =n6cE + -----END PGP MESSAGE----- + fp: C92FE5A3FBD58DD3EC5AA26BB10116B8193F2DBD + encrypted_regex: ^(data|stringData)$ + version: 3.8.1 diff --git a/kustomizations/matrix/synapse/deployment.yaml b/kustomizations/matrix/synapse/deployment.yaml new file mode 100644 index 0000000..dc1878f --- /dev/null +++ b/kustomizations/matrix/synapse/deployment.yaml @@ -0,0 +1,98 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: synapse +spec: + template: + spec: + containers: + - name: synapse + args: + - run + - --config-path + - /config/homeserver.yaml + - --config-path + - /config/secrets.yaml + env: + - name: SYNAPSE_CACHE_FACTOR + value: "5.00" + ports: + - name: http + containerPort: 8008 + protocol: TCP + - name: metrics + containerPort: 9002 + protocol: TCP + image: matrixdotorg/synapse + imagePullPolicy: IfNotPresent + livenessProbe: + httpGet: + path: /_matrix/client/versions + port: 8008 + scheme: HTTP + initialDelaySeconds: 120 + readinessProbe: + httpGet: + path: /_matrix/client/versions + port: 8008 + scheme: HTTP + initialDelaySeconds: 10 + resources: + # These are just some arbitrary values, will have to be tuned or removed per-deployment + requests: + memory: 1Gi + cpu: 1000m + limits: + memory: 1Gi + cpu: 1 + volumeMounts: + - name: data + mountPath: /data + - name: keys + mountPath: /config/keys + - name: config + mountPath: /config/homeserver.yaml + subPath: homeserver.yaml + - name: config + mountPath: /usr/local/lib/python3.11/site-packages/shared_secret_authenticator.py + subPath: shared_secret_authenticator.py + - name: log-config + mountPath: /config/log.config + subPath: log.config + - name: config-secrets + mountPath: /config/secrets.yaml + subPath: homeserver.yaml + - name: config-secrets + mountPath: /bridges/mautrix-slack-bridge.yaml + subPath: mautrix-slack-bridge.yaml + - name: config-secrets + mountPath: /bridges/mautrix-telegram-bridge.yaml + subPath: mautrix-telegram-bridge.yaml + - name: config-secrets + mountPath: /bridges/appservice-matrix-bridge.yaml + subPath: appservice-matrix-bridge.yaml + - name: tmp + mountPath: /tmp + restartPolicy: Always + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + volumes: + # Will need to be a persistant volume of some kind to support media uploads, unless using matrix-media-repo + - name: data + emptyDir: {} + - name: tmp + emptyDir: {} + - name: keys + secret: + secretName: signing-key + - name: config-secrets + secret: + secretName: config + - configMap: + name: synapse + name: config + - configMap: + name: synapse-log + name: log-config diff --git a/kustomizations/matrix/synapse/federation-service.yaml b/kustomizations/matrix/synapse/federation-service.yaml new file mode 100644 index 0000000..d46b30b --- /dev/null +++ b/kustomizations/matrix/synapse/federation-service.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: synapse-federation +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: http + protocol: TCP diff --git a/kustomizations/matrix/synapse/files/homeserver.yaml b/kustomizations/matrix/synapse/files/homeserver.yaml new file mode 100644 index 0000000..2fd9a89 --- /dev/null +++ b/kustomizations/matrix/synapse/files/homeserver.yaml @@ -0,0 +1,83 @@ +# Configuration file for Synapse. +# +# This is a YAML file: see [1] for a quick introduction. Note in particular +# that *indentation is important*: all the elements of a list or dictionary +# should have the same indentation. +# +# [1] https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html +# +# For more information on how to configure Synapse, including a complete accounting of +# each option, go to docs/usage/configuration/config_documentation.md or +# https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html +server_name: "distrust.co" +pid_file: /data/homeserver.pid +use_presense: true +enable_search: true +public_baseurl: "https://matrix.distrust.co" + +# Homeserver blocking +# Set to true to globally block access to the homeserver +hs_disabled: false +hs_disalbed_message: "Homeserver is not currently accessible" + +# Federation +allow_public_rooms_over_federation: true +# federation_domain_whitelist: [] +federation_ip_range_blacklist: + - '127.0.0.0/8' + - '10.0.0.0/8' + - '172.16.0.0/12' + - '192.168.0.0/16' + - '100.64.0.0/10' + - '169.254.0.0/16' + - '::1/128' + - 'fe80::/64' + - 'fc00::/7' + +# Listeners +listeners: + - port: 8008 + tls: false + type: http + x_forwarded: true + resources: + - names: [client, federation] + compress: false + - port: 9002 + type: metrics + resources: + - name: [metrics] + compress: true + +# Registration +registration: + enabled: false + allowGuests: false + autoJoinRooms: [] + +# This is handled by Cert Manager +acme: + enabled: false + +# Bridges +app_service_config_files: +- /bridges/appservice-matrix-bridge.yaml +- /bridges/mautrix-telegram-bridge.yaml +# - /bridges/mautrix-slack-bridge.yaml + +# Turn +turn_user_lifetime: 1h +turn_allow_guests: true + +# Metrics/Telemetry +enable_metrics: true +report_stats: false + +admin_email: "mailto:matrix@distrust.co" + +log_config: "/config/log.config" +media_store_path: /data/media_store +signing_key_path: "/config/keys/signing.key" +trusted_key_servers: + - server_name: "matrix.org" +# vim:ft=yaml diff --git a/kustomizations/matrix/synapse/files/log.config b/kustomizations/matrix/synapse/files/log.config new file mode 100644 index 0000000..a310885 --- /dev/null +++ b/kustomizations/matrix/synapse/files/log.config @@ -0,0 +1,31 @@ +version: 1 + +formatters: + precise: + format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s - %(message)s' + +handlers: + console: + class: logging.StreamHandler + formatter: precise + +loggers: + # This is just here so we can leave `loggers` in the config regardless of whether + # we configure other loggers below (avoid empty yaml dict error). + _placeholder: + level: "INFO" + + shared_secret_authenticator: + level: INFO + + synapse.storage.SQL: + # beware: increasing this to DEBUG will make synapse log sensitive + # information such as access tokens. + level: INFO + +root: + level: INFO + handlers: [console] + + +disable_existing_loggers: false diff --git a/kustomizations/matrix/synapse/files/shared_secret_authenticator.py b/kustomizations/matrix/synapse/files/shared_secret_authenticator.py new file mode 100644 index 0000000..c24d8dd --- /dev/null +++ b/kustomizations/matrix/synapse/files/shared_secret_authenticator.py @@ -0,0 +1,123 @@ +# -*- coding: utf-8 -*- +# +# Shared Secret Authenticator module for Matrix Synapse +# Copyright (C) 2018 Slavi Pantaleev +# +# https://devture.com/ +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. + +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +from typing import Awaitable, Callable, Optional, Tuple + +import hashlib +import hmac +import logging + +import synapse +from synapse import module_api + +logger = logging.getLogger(__name__) + +class SharedSecretAuthProvider: + def __init__(self, config: dict, api: module_api): + for k in ('shared_secret',): + if k not in config: + raise KeyError('Required `{0}` configuration key not found'.format(k)) + + m_login_password_support_enabled = bool(config['m_login_password_support_enabled']) if 'm_login_password_support_enabled' in config else False + com_devture_shared_secret_auth_support_enabled = bool(config['com_devture_shared_secret_auth_support_enabled']) if 'com_devture_shared_secret_auth_support_enabled' in config else True + + self.api = api + self.shared_secret = config['shared_secret'] + + auth_checkers: Optional[Dict[Tuple[str, Tuple], CHECK_AUTH_CALLBACK]] = {} + if com_devture_shared_secret_auth_support_enabled: + auth_checkers[("com.devture.shared_secret_auth", ("token",))] = self.check_com_devture_shared_secret_auth + if m_login_password_support_enabled: + auth_checkers[("m.login.password", ("password",))] = self.check_m_login_password + + enabled_login_types = [k[0] for k in auth_checkers] + + if len(enabled_login_types) == 0: + raise RuntimeError('At least one login type must be enabled') + + logger.info('Enabled login types: %s', enabled_login_types) + + api.register_password_auth_provider_callbacks( + auth_checkers=auth_checkers, + ) + + async def check_com_devture_shared_secret_auth( + self, + username: str, + login_type: str, + login_dict: "synapse.module_api.JsonDict", + ) -> Optional[ + Tuple[ + str, + Optional[Callable[["synapse.module_api.LoginResponse"], Awaitable[None]]], + ] + ]: + if login_type != "com.devture.shared_secret_auth": + return None + return await self._log_in_username_with_token("com.devture.shared_secret_auth", username, login_dict.get("token")) + + async def check_m_login_password( + self, + username: str, + login_type: str, + login_dict: "synapse.module_api.JsonDict", + ) -> Optional[ + Tuple[ + str, + Optional[Callable[["synapse.module_api.LoginResponse"], Awaitable[None]]], + ] + ]: + if login_type != "m.login.password": + return None + return await self._log_in_username_with_token("m.login.password", username, login_dict.get("password")) + + async def _log_in_username_with_token( + self, + login_type: str, + username: str, + token: str, + ) -> Optional[ + Tuple[ + str, + Optional[Callable[["synapse.module_api.LoginResponse"], Awaitable[None]]], + ] + ]: + logger.info('Authenticating user `%s` with login type `%s`', username, login_type) + + full_user_id = self.api.get_qualified_user_id(username) + + # The password (token) is supposed to be an HMAC of the full user id, keyed with the shared secret. + given_hmac = token.encode('utf-8') + + h = hmac.new(self.shared_secret.encode('utf-8'), full_user_id.encode('utf-8'), hashlib.sha512) + computed_hmac = h.hexdigest().encode('utf-8') + + if not hmac.compare_digest(computed_hmac, given_hmac): + logger.info('Bad hmac value for user: %s', full_user_id) + return None + + user_info = await self.api.get_userinfo_by_id(full_user_id) + if user_info is None: + logger.info('Refusing to authenticate missing user: %s', full_user_id) + return None + + logger.info('Authenticated user: %s', full_user_id) + + return full_user_id, None diff --git a/kustomizations/matrix/synapse/kustomization.yaml b/kustomizations/matrix/synapse/kustomization.yaml new file mode 100644 index 0000000..0c7c5f4 --- /dev/null +++ b/kustomizations/matrix/synapse/kustomization.yaml @@ -0,0 +1,21 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +labels: +- includeSelectors: true + pairs: + app.kubernetes.io/name: synapse + app.kubernetes.io/part-of: matrix +resources: +- deployment.yaml +- federation-service.yaml +- service.yaml +configMapGenerator: +- files: + - files/homeserver.yaml + - files/shared_secret_authenticator.py + name: synapse +- files: + - files/log.config + name: synapse-log +generators: +- secret-generator.yml diff --git a/kustomizations/matrix/synapse/namespace.yaml b/kustomizations/matrix/synapse/namespace.yaml new file mode 100644 index 0000000..b88de94 --- /dev/null +++ b/kustomizations/matrix/synapse/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: matrix diff --git a/kustomizations/matrix/synapse/secret-generator.yml b/kustomizations/matrix/synapse/secret-generator.yml new file mode 100644 index 0000000..0cf1938 --- /dev/null +++ b/kustomizations/matrix/synapse/secret-generator.yml @@ -0,0 +1,7 @@ +apiVersion: viaduct.ai/v1 +kind: ksops +metadata: + name: sydent-ksops-secrets +files: + - config-secrets.enc.yaml + - secret-key.enc.yaml diff --git a/kustomizations/matrix/synapse/secret-key.enc.yaml b/kustomizations/matrix/synapse/secret-key.enc.yaml new file mode 100644 index 0000000..5e3364d --- /dev/null +++ b/kustomizations/matrix/synapse/secret-key.enc.yaml @@ -0,0 +1,118 @@ +apiVersion: v1 +kind: Secret +metadata: + name: signing-key +type: Opaque +stringData: + signing.key: ENC[AES256_GCM,data:yrRjsuapmgDgBNNXGO9YyuZtkZaFPDg80SuJgdYWS3grCnN/hmkQ5x2icAf5i4f6TjAOreYxJYzRwQ==,iv:0ww6IrM9oY47ex1zYRULQx7TdATJ9odkk5k95yDo0ms=,tag:4/MjSSY2SltTuPtMtCRUtw==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: [] + lastmodified: "2024-01-22T05:45:47Z" + mac: ENC[AES256_GCM,data:GitHfIeAeu4g0bf1obvjd0TS6j5AZ0qo00i4mwIL3MKtCVa3dLfGkx4dE9SD0NZqBMpHdZTWnns145uCXnJTVdyLAlz54AuG/bn7eO642SghLpUvhyhH+c+xxQF2c3UJiR7TBdjJBh0BUBSO/yOBB0ondzocW9T1hDg/ExBjeo8=,iv:77yhCNc2cJ7/uuXOEma5LEyU0YIJSQiw4IYLLASli04=,tag:41IvCCKLfQZUNHsv6DvMsA==,type:str] + pgp: + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA82rPM2mSf/aARAAkFACzQmqyF9BqaD1qEjIO4e6owS/n4h3U6ee0Y7fhO8y + a5RJ4/HvMmfXcYeHm+CZjsFaui4YJkPS93clGTJzV4w15yXJUunIVjAmkvSrVh6P + GqRUtNpi1y+JCS3sjlAfvm3h9b08dNxFv7rTwZtDiP8zmcNuB0zbLBFR7G6ixetx + ZxL7piPYX75Rqoz8A/+V7VAtsoX8t3xv5xgjHzzfhiM3TeoQUgLnF8aN5huiSptf + dMmNMa0GGu5QaUjYJ3iHjv5eMtCJ79KwpuCfv5iX34Q++rTe5VUWoQabNAiE/Frt + Rc3JB8o8rfL6WME9qIIa5k654JlVDKqOvTH3mtHkOIWhD2+CEK89Siq3G35Kkct8 + Ym7UNa6gE8IdSGkCOH81G4ZheU6Z8OKF1Z7dO+o7IdgIURTwLEFeBIC2PtWOKOJP + PnzqZNk1w4n4XK6hQg4bmIj8VaZXXgHEXcO/jaGCoRyr36BHCE1Sj1ae5cMUgDje + p6WKVO6gXfRg7SRJqQNUh03Lz0YKIjsI/429UPyf9mtXbHfvVyrW3+wyByok86FG + cGL1Y/N7thxAxXqHy4OZFCE0NMP2bobMzzGJTtDY9oPsGwTb6xk1g0wE5zg6IoQa + 9hnObBJhdpvYcD6juz+V0wkeI30essnz7ZTtsLdfCox6mnP5BMTtzxmcRrCpNvHS + UQFIZa0XryYoXv3rcw6yUpkqv6aYzD3L4PnqYtGUEtbMoTb8NXa9Cp+1OeypqZ0g + 7uO5zCKJgL6sBaPnJL5/n+afafzYcIOsQc2O+q0s4O1d5Q== + =3E6w + -----END PGP MESSAGE----- + fp: 6B61ECD76088748C70590D55E90A401336C8AAA9 + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMAw95Vf08z8oUAQ//abo3n5r8YdQ6p+/X031/n8MCvWKw+ERGSvDuT2r7g8m8 + DqrBQmX578jHVmZkC2B6fYqEBuQAeyEJyQ56MLMuGMNSET8dgNS4Uj/gwvsuEDQf + NhU10WLkfQ3g2/o654BVzPC2b3UQTL4mmXqp0+ID79uynn0/WZ0TQQ8xj/uUaDS1 + h6/uC7mmDGTHaxF3gFuYkvWMghU0bqX5BfrAPdICAr8FIqxUGIvUD6KkBu9hWTYP + RLtfwpU/DAcT/7pNtic25WzzQt7W0mok3zUZZq5r2UqO35x2XOrgC5DQ69QYf7JZ + a9S236gEpAS0Kl1IWSvY2kDzj/J27T3nonY2kX3a+UqVWX15LEmVmNNUMwjz91/b + 0G+26vustzinHBs30EHGBqhyELjRW0RjcmlVGNXvZwhgGL5/LNIEcfBi19tIang1 + dRYE9TasSeRbyTU/A/CXFDeuGtC8K552SzXjv1zP6gkwZFb0/zd0/XHPSyGyOLbM + 1PC3JhkA8GEYQ7l9y5BdPXxZseuoSHDPHfMRIcnogx6w6rfBdd9+78M1WjnGzhYi + /utORBaiwU9Zk+Xm3B+WbkDl5+jio+UIp9nHoYAGfuJ9A6TZYBIavB6K171wALke + Kl6hoTxef/VGwdfXB9ikUy0bi0Km1vVpZGVzIjSFXiSlLkaamhxUFSgDPGZN21rS + UQHeXKkhgKXTEVvi+kypRbN2/174bElGTWz1C2TWPNJAcvvKmRw66t5g8pahnXbm + SYQoB5JaAl0URu6zHWBYhCjQjiyePhnxHV4tgGtEYAdY3g== + =xXRR + -----END PGP MESSAGE----- + fp: 88823A75ECAA786B0FF38B148E401478A3FBEF72 + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA0/D4ws+/KPtARAAsxa6N9jRT1AUqfWI7gIfJK6i6g0F5oxRYJ5A2mjhc89k + ZAN4/tO9GC+Fg8+lLhPHdiz6v2T1+92AFXET3jm+ax6rYei2woMHNXKzgqxjkQEQ + xQ/3LcQ3+FOTrvy7Gir9HQ/DoWSePBF7tx16unxH75hi6AgOiT0nFoEbXP3CJXie + lVOO5r5jKgBg9LENj/U+9LHjXB6W0PbVdhxdeStk2TTKcmuDnrGeqKZ3SyZ9V33p + DEfydW+T0ac156Eb2tdszzW5e87oPmW78wvLkotboZcPVWBadRtJkzVn3JXoMAda + gN+W2+I4/4iQN8ITBQ+2i5GsdbHtnrmPkzSbtSqhujwZ1k/a7uRmHy46ejDK9QnT + lQzm2OKyjTlCDhnxnKj0eTE4nN0CDyxGBNlNVG2piKd8i+HpqrjKJ9IUcMj7oO3U + 8rtQ2A0LHquNvu6ZatP6fUk3tKgLaEslV4ORXMlILdZXlYqgznmvWJaII3XVeu8l + G/tHPkOhrcQDIecBeYcTLZYXtPtmY1UNJZfbDazG/9J0rdq/r9NmnB7woy7FSYEp + yRNji1i/89nVLsu94ra1D6FHyxgIFTSLkD7s1iCMTsz0UdwfbxqdLIWumYrm04XF + wM2eTB8OAGe8mdfi1q4te0FEDMLTpdYBhYDDjHmBv4fXwKPcWkgixvNJtT6xPgLS + UQEvOn03hQ8MCQ5kh1R1FoTOw1UpgV0eqJSateC2wkBKbZ/4NWPbnZA7XAW6Jb98 + JidKJ8TiYiI33hxUhu4nUeZWjNcd7MgHyl1Do2r7SfyICw== + =TXST + -----END PGP MESSAGE----- + fp: 3D7C8D39E8C4DF771583D3F0A8A091FD346001CA + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA5Wf+FyJ+zFJAQ/+I9khYJfqjCHhrAaElVWKgn4c+7C+oilVNE0132pQZfLb + u17yv6AYY5zThK6Lg0GZMKaKFn+JuF9wonTyixJQccJ+w2MxsJQRNQZTV/t19HrQ + B+6YFLVPNyOglr7jf+o5BnOdIvpR0Cog5JDzn0j4iwpRWRSGW1sWXiABKWUIW0Ks + nR7Rm/k3Jm8zYO6LtoyYog5HGUEHRMuOY6Yoj/EEbfDLKFU5WZ+hfKnbGGM9KW31 + RkXoCtjm2AstZTia5+Y0E3wNb9bbvpbkewyQd5KqaHmHaX3MzuoYKNHGVEgPMfla + Y26aED5uSLETv+C1U/jYJyxyVJxNYb2JBrS8a7+p+mo00Cvbs/pbM/cr5Y/Ogu7Q + Ed0+Ixst3LzSTOcYAAiEC/LpWztaIp/4h/cAfE7eKnsoFUVcv2lLpLHyI7fS/sJH + Ywp8tlqlfx7DaCqYEVjPMSfI9qBbJomoQ77szHL+Gyi4ibyF0iRz0/NnF5lmu5H5 + sDAYiqnHEIpk1v+gWXoj/CQq7a5jJf044cYylcO+al27cugr+jr5TBQQVv+wDNJV + LqpAxmmz8yUJ6RlTSg5JwNlNCCOONv6f+lX0Cjk7V0kPcOMgbVn19Su7zIvhM7wd + m9mzuVWWx2SBGzORdK9W4tt7lybU7aCvusT1jP1nwXF/JCz9lyEbb1syaNIAiXHS + UQE2Va23CUVgB+cV/ImXBCEuAjZhiSMFVCtWOZrcqPS8EZX9s6WzscpsEmFnDE7t + GVR3u1IyjxTsuTxxYU0ldSjHqYFjQrgRD3ZBzwZcgeajqw== + =bF9b + -----END PGP MESSAGE----- + fp: F4BF5C81EC78A5DD341C91EEDC4B7D1F52E0BA4D + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA8KRInHl7Vz+ARAAoMRyGipvXTgUChfL1Lryej14FI9+8dvWQculBjPQzg6x + oxdPzz07ifIX8D64zfToE+qc439l/RYwiMx9XyGscEim0D1GIFPwxOm4DCXT+/5m + wlLkOBP7oMwirqSazS7dNF1hE83717QTi1GqC0UqhoMINtxrhQIv1Y6xxREqD1Wd + eW3M45p1i8iSZkzF7n0EhIK3J59Wl3vxt9FUX3YRWk1JH0oaqIc1VCH3TJc73DAx + 9e1jIVQSo4R8BfQc5Y64xRh0eq/87Ud2E2x9JbZmpnw4FN/OHg9QqRMaZ9r6EQ/l + VerhJFkfSj3UVAfODzViKXyNTKRak1GOcQBE5lfAXynAW1nfTTx0re0rl6/tvOwC + i02a/raksTI8afak1RMclNFqlihsegGU239ZGDRPb4apL32nYY0SMim58vET8rv5 + eTiQE1udg+1ttIRAGq/PxzHKlc6FUEdyJ6i2Da16c0K76FpF3Gnxxhw+Tleixx3h + 6+PbhC2qEgt7LS8TNg9J2WTDy4Hlw5YEmzOAM9NA6UYrH9BHsR87sbdriz6pAC55 + CnFkWptrME4CjUP72qIezRYt/4784ABTw6poQ51jP30641YhgPoYLrWS8hWQYaE3 + jcrum3JQnLTjsE88OclcreKNvNj+b1t0uxuHa/6UdMnyRCd8osJ22s6JJHLGgB/S + UQHvy+Rv0QJ65DjsJ4TfdRBLcKXaF7Ar5SaANqGi8EYwjVbhfImwx5VSEsvQclEU + 7JihoETtCrRwJM1BkJz3nuBAaYDm1Y+lWHSyVZ6xi8G0eg== + =n6cE + -----END PGP MESSAGE----- + fp: C92FE5A3FBD58DD3EC5AA26BB10116B8193F2DBD + encrypted_regex: ^(data|stringData)$ + version: 3.8.1 diff --git a/kustomizations/matrix/synapse/service.yaml b/kustomizations/matrix/synapse/service.yaml new file mode 100644 index 0000000..6b98383 --- /dev/null +++ b/kustomizations/matrix/synapse/service.yaml @@ -0,0 +1,16 @@ +kind: Service +apiVersion: v1 +metadata: + name: synapse +spec: + ports: + - name: http + protocol: TCP + port: 8008 + targetPort: 8008 + - name: https + protocol: TCP + port: 8448 + targetPort: 8448 + selector: {} + type: ClusterIP -- 2.40.1 From 90937430f4661d009dd4e94b94b32713a1ef82ce Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Sun, 21 Jan 2024 22:03:55 -0800 Subject: [PATCH 06/19] kubernetes/matrix-media-repo: initial commit --- .../matrix-media-repo/config-secrets.enc.yaml | 118 ++++++++++++++++++ .../matrix/matrix-media-repo/deployment.yaml | 41 ++++++ .../matrix-media-repo/kustomization.yaml | 15 +++ .../matrix-media-repo/secret-generator.yaml | 6 + .../matrix/matrix-media-repo/service.yaml | 14 +++ 5 files changed, 194 insertions(+) create mode 100644 kustomizations/matrix/matrix-media-repo/config-secrets.enc.yaml create mode 100644 kustomizations/matrix/matrix-media-repo/deployment.yaml create mode 100644 kustomizations/matrix/matrix-media-repo/kustomization.yaml create mode 100644 kustomizations/matrix/matrix-media-repo/secret-generator.yaml create mode 100644 kustomizations/matrix/matrix-media-repo/service.yaml diff --git a/kustomizations/matrix/matrix-media-repo/config-secrets.enc.yaml b/kustomizations/matrix/matrix-media-repo/config-secrets.enc.yaml new file mode 100644 index 0000000..07639b7 --- /dev/null +++ b/kustomizations/matrix/matrix-media-repo/config-secrets.enc.yaml @@ -0,0 +1,118 @@ +apiVersion: v1 +kind: Secret +metadata: + name: mmr-config +type: Opaque +stringData: + config.yaml: ENC[AES256_GCM,data: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,iv:ji7/9nK7A6mIMD6sgFasT+burD/fsBwtu2DiVRD5LQY=,tag:/r43jY3wun62JM3eykX+gA==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: [] + lastmodified: "2024-01-16T08:00:33Z" + mac: ENC[AES256_GCM,data:eWWydBDfcm0NZUcHpIBltiBWSDsleNzJdpid5kmDadm/mFkWyld2OOdNUdgyFkr2pqG5K0YQ5hdq3TZSJjgzFf8wsVvqsqIfUYfmfmIKuS5/ovyLT8mtb5pu9f3B2yfcnB7l1sn1ci7P/osxs7JxHHWC6npVSmy0sBOz/SZcuNo=,iv:N84LmFMWBTso8losonyviH8zAJQ9/7u3HpZcC/szxUg=,tag:wA1qG5NndcI0rfoAWyovxw==,type:str] + pgp: + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA82rPM2mSf/aARAAkFACzQmqyF9BqaD1qEjIO4e6owS/n4h3U6ee0Y7fhO8y + a5RJ4/HvMmfXcYeHm+CZjsFaui4YJkPS93clGTJzV4w15yXJUunIVjAmkvSrVh6P + GqRUtNpi1y+JCS3sjlAfvm3h9b08dNxFv7rTwZtDiP8zmcNuB0zbLBFR7G6ixetx + ZxL7piPYX75Rqoz8A/+V7VAtsoX8t3xv5xgjHzzfhiM3TeoQUgLnF8aN5huiSptf + dMmNMa0GGu5QaUjYJ3iHjv5eMtCJ79KwpuCfv5iX34Q++rTe5VUWoQabNAiE/Frt + Rc3JB8o8rfL6WME9qIIa5k654JlVDKqOvTH3mtHkOIWhD2+CEK89Siq3G35Kkct8 + Ym7UNa6gE8IdSGkCOH81G4ZheU6Z8OKF1Z7dO+o7IdgIURTwLEFeBIC2PtWOKOJP + PnzqZNk1w4n4XK6hQg4bmIj8VaZXXgHEXcO/jaGCoRyr36BHCE1Sj1ae5cMUgDje + p6WKVO6gXfRg7SRJqQNUh03Lz0YKIjsI/429UPyf9mtXbHfvVyrW3+wyByok86FG + cGL1Y/N7thxAxXqHy4OZFCE0NMP2bobMzzGJTtDY9oPsGwTb6xk1g0wE5zg6IoQa + 9hnObBJhdpvYcD6juz+V0wkeI30essnz7ZTtsLdfCox6mnP5BMTtzxmcRrCpNvHS + UQFIZa0XryYoXv3rcw6yUpkqv6aYzD3L4PnqYtGUEtbMoTb8NXa9Cp+1OeypqZ0g + 7uO5zCKJgL6sBaPnJL5/n+afafzYcIOsQc2O+q0s4O1d5Q== + =3E6w + -----END PGP MESSAGE----- + fp: 6B61ECD76088748C70590D55E90A401336C8AAA9 + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMAw95Vf08z8oUAQ//abo3n5r8YdQ6p+/X031/n8MCvWKw+ERGSvDuT2r7g8m8 + DqrBQmX578jHVmZkC2B6fYqEBuQAeyEJyQ56MLMuGMNSET8dgNS4Uj/gwvsuEDQf + NhU10WLkfQ3g2/o654BVzPC2b3UQTL4mmXqp0+ID79uynn0/WZ0TQQ8xj/uUaDS1 + h6/uC7mmDGTHaxF3gFuYkvWMghU0bqX5BfrAPdICAr8FIqxUGIvUD6KkBu9hWTYP + RLtfwpU/DAcT/7pNtic25WzzQt7W0mok3zUZZq5r2UqO35x2XOrgC5DQ69QYf7JZ + a9S236gEpAS0Kl1IWSvY2kDzj/J27T3nonY2kX3a+UqVWX15LEmVmNNUMwjz91/b + 0G+26vustzinHBs30EHGBqhyELjRW0RjcmlVGNXvZwhgGL5/LNIEcfBi19tIang1 + dRYE9TasSeRbyTU/A/CXFDeuGtC8K552SzXjv1zP6gkwZFb0/zd0/XHPSyGyOLbM + 1PC3JhkA8GEYQ7l9y5BdPXxZseuoSHDPHfMRIcnogx6w6rfBdd9+78M1WjnGzhYi + /utORBaiwU9Zk+Xm3B+WbkDl5+jio+UIp9nHoYAGfuJ9A6TZYBIavB6K171wALke + Kl6hoTxef/VGwdfXB9ikUy0bi0Km1vVpZGVzIjSFXiSlLkaamhxUFSgDPGZN21rS + UQHeXKkhgKXTEVvi+kypRbN2/174bElGTWz1C2TWPNJAcvvKmRw66t5g8pahnXbm + SYQoB5JaAl0URu6zHWBYhCjQjiyePhnxHV4tgGtEYAdY3g== + =xXRR + -----END PGP MESSAGE----- + fp: 88823A75ECAA786B0FF38B148E401478A3FBEF72 + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA0/D4ws+/KPtARAAsxa6N9jRT1AUqfWI7gIfJK6i6g0F5oxRYJ5A2mjhc89k + ZAN4/tO9GC+Fg8+lLhPHdiz6v2T1+92AFXET3jm+ax6rYei2woMHNXKzgqxjkQEQ + xQ/3LcQ3+FOTrvy7Gir9HQ/DoWSePBF7tx16unxH75hi6AgOiT0nFoEbXP3CJXie + lVOO5r5jKgBg9LENj/U+9LHjXB6W0PbVdhxdeStk2TTKcmuDnrGeqKZ3SyZ9V33p + DEfydW+T0ac156Eb2tdszzW5e87oPmW78wvLkotboZcPVWBadRtJkzVn3JXoMAda + gN+W2+I4/4iQN8ITBQ+2i5GsdbHtnrmPkzSbtSqhujwZ1k/a7uRmHy46ejDK9QnT + lQzm2OKyjTlCDhnxnKj0eTE4nN0CDyxGBNlNVG2piKd8i+HpqrjKJ9IUcMj7oO3U + 8rtQ2A0LHquNvu6ZatP6fUk3tKgLaEslV4ORXMlILdZXlYqgznmvWJaII3XVeu8l + G/tHPkOhrcQDIecBeYcTLZYXtPtmY1UNJZfbDazG/9J0rdq/r9NmnB7woy7FSYEp + yRNji1i/89nVLsu94ra1D6FHyxgIFTSLkD7s1iCMTsz0UdwfbxqdLIWumYrm04XF + wM2eTB8OAGe8mdfi1q4te0FEDMLTpdYBhYDDjHmBv4fXwKPcWkgixvNJtT6xPgLS + UQEvOn03hQ8MCQ5kh1R1FoTOw1UpgV0eqJSateC2wkBKbZ/4NWPbnZA7XAW6Jb98 + JidKJ8TiYiI33hxUhu4nUeZWjNcd7MgHyl1Do2r7SfyICw== + =TXST + -----END PGP MESSAGE----- + fp: 3D7C8D39E8C4DF771583D3F0A8A091FD346001CA + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA5Wf+FyJ+zFJAQ/+I9khYJfqjCHhrAaElVWKgn4c+7C+oilVNE0132pQZfLb + u17yv6AYY5zThK6Lg0GZMKaKFn+JuF9wonTyixJQccJ+w2MxsJQRNQZTV/t19HrQ + B+6YFLVPNyOglr7jf+o5BnOdIvpR0Cog5JDzn0j4iwpRWRSGW1sWXiABKWUIW0Ks + nR7Rm/k3Jm8zYO6LtoyYog5HGUEHRMuOY6Yoj/EEbfDLKFU5WZ+hfKnbGGM9KW31 + RkXoCtjm2AstZTia5+Y0E3wNb9bbvpbkewyQd5KqaHmHaX3MzuoYKNHGVEgPMfla + Y26aED5uSLETv+C1U/jYJyxyVJxNYb2JBrS8a7+p+mo00Cvbs/pbM/cr5Y/Ogu7Q + Ed0+Ixst3LzSTOcYAAiEC/LpWztaIp/4h/cAfE7eKnsoFUVcv2lLpLHyI7fS/sJH + Ywp8tlqlfx7DaCqYEVjPMSfI9qBbJomoQ77szHL+Gyi4ibyF0iRz0/NnF5lmu5H5 + sDAYiqnHEIpk1v+gWXoj/CQq7a5jJf044cYylcO+al27cugr+jr5TBQQVv+wDNJV + LqpAxmmz8yUJ6RlTSg5JwNlNCCOONv6f+lX0Cjk7V0kPcOMgbVn19Su7zIvhM7wd + m9mzuVWWx2SBGzORdK9W4tt7lybU7aCvusT1jP1nwXF/JCz9lyEbb1syaNIAiXHS + UQE2Va23CUVgB+cV/ImXBCEuAjZhiSMFVCtWOZrcqPS8EZX9s6WzscpsEmFnDE7t + GVR3u1IyjxTsuTxxYU0ldSjHqYFjQrgRD3ZBzwZcgeajqw== + =bF9b + -----END PGP MESSAGE----- + fp: F4BF5C81EC78A5DD341C91EEDC4B7D1F52E0BA4D + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA8KRInHl7Vz+ARAAoMRyGipvXTgUChfL1Lryej14FI9+8dvWQculBjPQzg6x + oxdPzz07ifIX8D64zfToE+qc439l/RYwiMx9XyGscEim0D1GIFPwxOm4DCXT+/5m + wlLkOBP7oMwirqSazS7dNF1hE83717QTi1GqC0UqhoMINtxrhQIv1Y6xxREqD1Wd + eW3M45p1i8iSZkzF7n0EhIK3J59Wl3vxt9FUX3YRWk1JH0oaqIc1VCH3TJc73DAx + 9e1jIVQSo4R8BfQc5Y64xRh0eq/87Ud2E2x9JbZmpnw4FN/OHg9QqRMaZ9r6EQ/l + VerhJFkfSj3UVAfODzViKXyNTKRak1GOcQBE5lfAXynAW1nfTTx0re0rl6/tvOwC + i02a/raksTI8afak1RMclNFqlihsegGU239ZGDRPb4apL32nYY0SMim58vET8rv5 + eTiQE1udg+1ttIRAGq/PxzHKlc6FUEdyJ6i2Da16c0K76FpF3Gnxxhw+Tleixx3h + 6+PbhC2qEgt7LS8TNg9J2WTDy4Hlw5YEmzOAM9NA6UYrH9BHsR87sbdriz6pAC55 + CnFkWptrME4CjUP72qIezRYt/4784ABTw6poQ51jP30641YhgPoYLrWS8hWQYaE3 + jcrum3JQnLTjsE88OclcreKNvNj+b1t0uxuHa/6UdMnyRCd8osJ22s6JJHLGgB/S + UQHvy+Rv0QJ65DjsJ4TfdRBLcKXaF7Ar5SaANqGi8EYwjVbhfImwx5VSEsvQclEU + 7JihoETtCrRwJM1BkJz3nuBAaYDm1Y+lWHSyVZ6xi8G0eg== + =n6cE + -----END PGP MESSAGE----- + fp: C92FE5A3FBD58DD3EC5AA26BB10116B8193F2DBD + encrypted_regex: ^(data|stringData)$ + version: 3.8.1 diff --git a/kustomizations/matrix/matrix-media-repo/deployment.yaml b/kustomizations/matrix/matrix-media-repo/deployment.yaml new file mode 100644 index 0000000..182108e --- /dev/null +++ b/kustomizations/matrix/matrix-media-repo/deployment.yaml @@ -0,0 +1,41 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: matrix-media-repo +spec: + template: + spec: + # This does not currently work as there are some weird expectations on + # run scripts as running as non-root + securityContext: + fsGroup: 1000 + containers: + - name: media-repo + image: drgrove/matrix-media-repo + ports: + - name: http + containerPort: 8000 + protocol: TCP + - name: metrics + containerPort: 9000 + protocol: TCP + volumeMounts: + - mountPath: /home/user/media/ + name: ephemeral + - mountPath: /home/user/config/media-repo.yaml + name: config + subPath: config.yaml + readOnly: true + securityContext: + capabilities: + drop: + - ALL + allowPrivilegeEscalation: false + # Right now setting this to true is not possible + readOnlyRootFilesystem: false + volumes: + - name: config + secret: + secretName: mmr-config + - name: ephemeral + emptyDir: {} diff --git a/kustomizations/matrix/matrix-media-repo/kustomization.yaml b/kustomizations/matrix/matrix-media-repo/kustomization.yaml new file mode 100644 index 0000000..37949a3 --- /dev/null +++ b/kustomizations/matrix/matrix-media-repo/kustomization.yaml @@ -0,0 +1,15 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +labels: +- includeSelectors: true + pairs: + app.kubernetes.io/name: media-repo + app.kubernetes.io/part-of: matrix +resources: +- deployment.yaml +- service.yaml +generators: +- secret-generator.yaml +images: + - name: turt2live/matrix-media-repo + newTag: v1.3.3@sha256:59cf338753598af400919caf332c92dd0e8e6c6e6e5d18270e52552c7c1e3c4b diff --git a/kustomizations/matrix/matrix-media-repo/secret-generator.yaml b/kustomizations/matrix/matrix-media-repo/secret-generator.yaml new file mode 100644 index 0000000..0d9eee3 --- /dev/null +++ b/kustomizations/matrix/matrix-media-repo/secret-generator.yaml @@ -0,0 +1,6 @@ +apiVersion: viaduct.ai/v1 +kind: ksops +metadata: + name: telegram-ksops-secrets +files: + - config-secrets.enc.yaml diff --git a/kustomizations/matrix/matrix-media-repo/service.yaml b/kustomizations/matrix/matrix-media-repo/service.yaml new file mode 100644 index 0000000..f7f0574 --- /dev/null +++ b/kustomizations/matrix/matrix-media-repo/service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: media-repo +spec: + ports: + - name: http + protocol: TCP + port: 8000 + targetPort: http + - name: metrics + protocol: TCP + port: 9000 + targetPort: metrics -- 2.40.1 From 8d6b5f5334480e19322ef705dac0211cb4f137e9 Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Sun, 21 Jan 2024 22:04:42 -0800 Subject: [PATCH 07/19] k/matrx/bridges/matrix-appservice-slack: initial commit --- .../config-secrets.enc.yaml | 119 ++++++++++++++++++ .../files/digital-ocean-ca.crt | 25 ++++ .../kustomization.yaml | 20 +++ .../secret-generator.yaml | 6 + .../matrix-appservice-slack/service.yaml | 17 +++ .../matrix-appservice-slack/statefulset.yaml | 38 ++++++ 6 files changed, 225 insertions(+) create mode 100644 kustomizations/matrix/bridges/matrix-appservice-slack/config-secrets.enc.yaml create mode 100644 kustomizations/matrix/bridges/matrix-appservice-slack/files/digital-ocean-ca.crt create mode 100644 kustomizations/matrix/bridges/matrix-appservice-slack/kustomization.yaml create mode 100644 kustomizations/matrix/bridges/matrix-appservice-slack/secret-generator.yaml create mode 100644 kustomizations/matrix/bridges/matrix-appservice-slack/service.yaml create mode 100644 kustomizations/matrix/bridges/matrix-appservice-slack/statefulset.yaml diff --git a/kustomizations/matrix/bridges/matrix-appservice-slack/config-secrets.enc.yaml b/kustomizations/matrix/bridges/matrix-appservice-slack/config-secrets.enc.yaml new file mode 100644 index 0000000..791aac7 --- /dev/null +++ b/kustomizations/matrix/bridges/matrix-appservice-slack/config-secrets.enc.yaml @@ -0,0 +1,119 @@ +apiVersion: v1 +kind: Secret +metadata: + name: matrix-appservice-slack +type: Opaque +stringData: + config.yaml: ENC[AES256_GCM,data:wgpE6EZr1o7qvQdXhJgB3Uz47LFHFuN/b56qAgodf7GzNt5BAaPS7c0EiIZBcjZaZtg5BjGnohXsnyd2s/9Gww/ImZqAIk9nf7yTDYNoKeOx67r0dzTex6EE/ZjfTtKRdW6b+LZgehCT6TjutxnfY6HVFdT9MLsdSzAyWdD4e1q3imK6KGn4GMWx7xFqDMmjzUWzU/XC4dc7CxVfDZcNX5CZpCDUw7M8qz3OVf+afIRZPwy67eUG9MuueyLZpC+AD3OX4PFvsM7hlavIZWE3NL2yWloiMsqVA15IsfZkPvOjFSsOba7Xh8ko59HTIhaOBE4WCC4GI7QiWZU9/oh1497gq2ZKMc9jVbFMcz5psMWSwARIWobM+wHTRBSY7RmQqCyRkBqqL+gpKk0ZYgdOrtIQUOxlkRs3sNy+2tfpyvZxj+WxitUpsfMGQWhOzB7xzhTe6bsFLHFf3WCS3/JkbbVF7jAz8Ky+2l5WFwNGO8DR0oRWjwYiFNbY1id0JiL0x/zhLAhtAZoG9wXYkDcaOUZLPBf19uNCtPpxlcSoh8Z22M4gvZsgdRqGeaW8L2CRPmFpvlIkMslnPmW4a0ZSGKF/prPvTQ8Ize7osR0gP9kANgNaYrZjXu/mvbnzwkyN5Ak9HTh5UGEKZ5BdjUrZ1CDefZb5JCYqJvRKZEAdaNr2ARVUN+a0qSj9ng4r7v+vS6wbYJcp8PABTBdN1YPnJl0jHjSdY0gKiZ3ADceK8F2TH3nG6Qy398X9spkWJt3vDiWP9WTYL5FHdlB1U4J8oNV3UbdV9x4jy9nnabfpshcIIDrsPqzAVk5FIIOFeF7hon3HT4NIZGkr9X7ACpBb0JBnNqSxI+NpCXncTAcr8q7vvngxlBVkNxSePfhL5LV5Sflv4n91mprIdYzOwlX2kVdjlHfRzbQ5H1iGzIBy6FTXHpw8dXY5Xh7hTcFbX+6JQXC79eSRFj/N26fd7L9u27dxiB6bPmh3JZN5zqtL3Kqp9JR/OrtuBQkXxdNPxpfrii89oWtU+L/Io007V/QdLYMKweV6rx7S99PVyvQWJrSF3/+W03bj/YmX82sK1HL0JTPGncgcUDAa,iv:EyJlIF/A0hC4WsXexiUTK2SKG3gbqGcXE6QzxyNzI9E=,tag:y4c3sxCKqAd+qR6ECtc6nw==,type:str] + slack.yaml: ENC[AES256_GCM,data:b+EN+PH5OgQIia7zyXWv4TFTBw9LhrTKtLCRerRpapyJuMGa2Thr0LrG61aH0ggGmd27sMlXd36KPSXVaE6Zzg3dhD5bzziOrAzMUaP2gNt4M3IcDwF4uWJDw9fdN/yi7OLBu81Z4/1oIsdQ9QGphLWYvJ4h1ygxA6ytXVZPsZtd5wcuOO7e08hIIB1IfdZQhu9eMtpFVeDGPDPW9byv/Fs/l0U3oQp2LylUQLO3bbYphC5aVj7vk3jpHelQnjLJq0e9xNbeMaWHnHAMb0803KOSNFEgONIyClNuvmChJ5Xaisz6dj7I46NFsGepi+y1QuWLzN++7CWAX/u1Pth+abMCPA/SQ3Ba8UYJHTdsEVmSGa+1WgOs9xIQcwjA61QStFqiK4GKaewG5XZ58WY5E2MvF4QUss0374crBafJb/yQnSiHMBwqY6I35/daeoUBVCGV2t8uEd4PL1iIl5P2AQ==,iv:mrWD3mrhZtHPMWd4qGZskxhMZbopWes3Nsd0/51so74=,tag:GgqmeTx146/qoAgNLMbCVw==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: [] + lastmodified: "2024-01-19T07:52:51Z" + mac: ENC[AES256_GCM,data:eerncWbi85ZV3KYgLcRiSYVDF9WtlTfTS7XnMN3rlX8O4T2c8K76G1KIsL92U3pIFGCJOg1KUPrMajVGiWdXIsypT/J/BKkiijetk6z5javtc1JmuWC9V4VA0DqpHnL5+Nf7EHewxa8GWWe9bGtwOkkcWlujRfu2algCwUmtCUY=,iv:mWA0wJcJl/S5rbYJXIxuwouXsNg+pB/zmXvv0D7lA2o=,tag:+VzRB2Pixsv4jDcnlEnKLw==,type:str] + pgp: + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA82rPM2mSf/aARAAkFACzQmqyF9BqaD1qEjIO4e6owS/n4h3U6ee0Y7fhO8y + a5RJ4/HvMmfXcYeHm+CZjsFaui4YJkPS93clGTJzV4w15yXJUunIVjAmkvSrVh6P + GqRUtNpi1y+JCS3sjlAfvm3h9b08dNxFv7rTwZtDiP8zmcNuB0zbLBFR7G6ixetx + ZxL7piPYX75Rqoz8A/+V7VAtsoX8t3xv5xgjHzzfhiM3TeoQUgLnF8aN5huiSptf + dMmNMa0GGu5QaUjYJ3iHjv5eMtCJ79KwpuCfv5iX34Q++rTe5VUWoQabNAiE/Frt + Rc3JB8o8rfL6WME9qIIa5k654JlVDKqOvTH3mtHkOIWhD2+CEK89Siq3G35Kkct8 + Ym7UNa6gE8IdSGkCOH81G4ZheU6Z8OKF1Z7dO+o7IdgIURTwLEFeBIC2PtWOKOJP + PnzqZNk1w4n4XK6hQg4bmIj8VaZXXgHEXcO/jaGCoRyr36BHCE1Sj1ae5cMUgDje + p6WKVO6gXfRg7SRJqQNUh03Lz0YKIjsI/429UPyf9mtXbHfvVyrW3+wyByok86FG + cGL1Y/N7thxAxXqHy4OZFCE0NMP2bobMzzGJTtDY9oPsGwTb6xk1g0wE5zg6IoQa + 9hnObBJhdpvYcD6juz+V0wkeI30essnz7ZTtsLdfCox6mnP5BMTtzxmcRrCpNvHS + UQFIZa0XryYoXv3rcw6yUpkqv6aYzD3L4PnqYtGUEtbMoTb8NXa9Cp+1OeypqZ0g + 7uO5zCKJgL6sBaPnJL5/n+afafzYcIOsQc2O+q0s4O1d5Q== + =3E6w + -----END PGP MESSAGE----- + fp: 6B61ECD76088748C70590D55E90A401336C8AAA9 + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMAw95Vf08z8oUAQ//abo3n5r8YdQ6p+/X031/n8MCvWKw+ERGSvDuT2r7g8m8 + DqrBQmX578jHVmZkC2B6fYqEBuQAeyEJyQ56MLMuGMNSET8dgNS4Uj/gwvsuEDQf + NhU10WLkfQ3g2/o654BVzPC2b3UQTL4mmXqp0+ID79uynn0/WZ0TQQ8xj/uUaDS1 + h6/uC7mmDGTHaxF3gFuYkvWMghU0bqX5BfrAPdICAr8FIqxUGIvUD6KkBu9hWTYP + RLtfwpU/DAcT/7pNtic25WzzQt7W0mok3zUZZq5r2UqO35x2XOrgC5DQ69QYf7JZ + a9S236gEpAS0Kl1IWSvY2kDzj/J27T3nonY2kX3a+UqVWX15LEmVmNNUMwjz91/b + 0G+26vustzinHBs30EHGBqhyELjRW0RjcmlVGNXvZwhgGL5/LNIEcfBi19tIang1 + dRYE9TasSeRbyTU/A/CXFDeuGtC8K552SzXjv1zP6gkwZFb0/zd0/XHPSyGyOLbM + 1PC3JhkA8GEYQ7l9y5BdPXxZseuoSHDPHfMRIcnogx6w6rfBdd9+78M1WjnGzhYi + /utORBaiwU9Zk+Xm3B+WbkDl5+jio+UIp9nHoYAGfuJ9A6TZYBIavB6K171wALke + Kl6hoTxef/VGwdfXB9ikUy0bi0Km1vVpZGVzIjSFXiSlLkaamhxUFSgDPGZN21rS + UQHeXKkhgKXTEVvi+kypRbN2/174bElGTWz1C2TWPNJAcvvKmRw66t5g8pahnXbm + SYQoB5JaAl0URu6zHWBYhCjQjiyePhnxHV4tgGtEYAdY3g== + =xXRR + -----END PGP MESSAGE----- + fp: 88823A75ECAA786B0FF38B148E401478A3FBEF72 + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA0/D4ws+/KPtARAAsxa6N9jRT1AUqfWI7gIfJK6i6g0F5oxRYJ5A2mjhc89k + ZAN4/tO9GC+Fg8+lLhPHdiz6v2T1+92AFXET3jm+ax6rYei2woMHNXKzgqxjkQEQ + xQ/3LcQ3+FOTrvy7Gir9HQ/DoWSePBF7tx16unxH75hi6AgOiT0nFoEbXP3CJXie + lVOO5r5jKgBg9LENj/U+9LHjXB6W0PbVdhxdeStk2TTKcmuDnrGeqKZ3SyZ9V33p + DEfydW+T0ac156Eb2tdszzW5e87oPmW78wvLkotboZcPVWBadRtJkzVn3JXoMAda + gN+W2+I4/4iQN8ITBQ+2i5GsdbHtnrmPkzSbtSqhujwZ1k/a7uRmHy46ejDK9QnT + lQzm2OKyjTlCDhnxnKj0eTE4nN0CDyxGBNlNVG2piKd8i+HpqrjKJ9IUcMj7oO3U + 8rtQ2A0LHquNvu6ZatP6fUk3tKgLaEslV4ORXMlILdZXlYqgznmvWJaII3XVeu8l + G/tHPkOhrcQDIecBeYcTLZYXtPtmY1UNJZfbDazG/9J0rdq/r9NmnB7woy7FSYEp + yRNji1i/89nVLsu94ra1D6FHyxgIFTSLkD7s1iCMTsz0UdwfbxqdLIWumYrm04XF + wM2eTB8OAGe8mdfi1q4te0FEDMLTpdYBhYDDjHmBv4fXwKPcWkgixvNJtT6xPgLS + UQEvOn03hQ8MCQ5kh1R1FoTOw1UpgV0eqJSateC2wkBKbZ/4NWPbnZA7XAW6Jb98 + JidKJ8TiYiI33hxUhu4nUeZWjNcd7MgHyl1Do2r7SfyICw== + =TXST + -----END PGP MESSAGE----- + fp: 3D7C8D39E8C4DF771583D3F0A8A091FD346001CA + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA5Wf+FyJ+zFJAQ/+I9khYJfqjCHhrAaElVWKgn4c+7C+oilVNE0132pQZfLb + u17yv6AYY5zThK6Lg0GZMKaKFn+JuF9wonTyixJQccJ+w2MxsJQRNQZTV/t19HrQ + B+6YFLVPNyOglr7jf+o5BnOdIvpR0Cog5JDzn0j4iwpRWRSGW1sWXiABKWUIW0Ks + nR7Rm/k3Jm8zYO6LtoyYog5HGUEHRMuOY6Yoj/EEbfDLKFU5WZ+hfKnbGGM9KW31 + RkXoCtjm2AstZTia5+Y0E3wNb9bbvpbkewyQd5KqaHmHaX3MzuoYKNHGVEgPMfla + Y26aED5uSLETv+C1U/jYJyxyVJxNYb2JBrS8a7+p+mo00Cvbs/pbM/cr5Y/Ogu7Q + Ed0+Ixst3LzSTOcYAAiEC/LpWztaIp/4h/cAfE7eKnsoFUVcv2lLpLHyI7fS/sJH + Ywp8tlqlfx7DaCqYEVjPMSfI9qBbJomoQ77szHL+Gyi4ibyF0iRz0/NnF5lmu5H5 + sDAYiqnHEIpk1v+gWXoj/CQq7a5jJf044cYylcO+al27cugr+jr5TBQQVv+wDNJV + LqpAxmmz8yUJ6RlTSg5JwNlNCCOONv6f+lX0Cjk7V0kPcOMgbVn19Su7zIvhM7wd + m9mzuVWWx2SBGzORdK9W4tt7lybU7aCvusT1jP1nwXF/JCz9lyEbb1syaNIAiXHS + UQE2Va23CUVgB+cV/ImXBCEuAjZhiSMFVCtWOZrcqPS8EZX9s6WzscpsEmFnDE7t + GVR3u1IyjxTsuTxxYU0ldSjHqYFjQrgRD3ZBzwZcgeajqw== + =bF9b + -----END PGP MESSAGE----- + fp: F4BF5C81EC78A5DD341C91EEDC4B7D1F52E0BA4D + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA8KRInHl7Vz+ARAAoMRyGipvXTgUChfL1Lryej14FI9+8dvWQculBjPQzg6x + oxdPzz07ifIX8D64zfToE+qc439l/RYwiMx9XyGscEim0D1GIFPwxOm4DCXT+/5m + wlLkOBP7oMwirqSazS7dNF1hE83717QTi1GqC0UqhoMINtxrhQIv1Y6xxREqD1Wd + eW3M45p1i8iSZkzF7n0EhIK3J59Wl3vxt9FUX3YRWk1JH0oaqIc1VCH3TJc73DAx + 9e1jIVQSo4R8BfQc5Y64xRh0eq/87Ud2E2x9JbZmpnw4FN/OHg9QqRMaZ9r6EQ/l + VerhJFkfSj3UVAfODzViKXyNTKRak1GOcQBE5lfAXynAW1nfTTx0re0rl6/tvOwC + i02a/raksTI8afak1RMclNFqlihsegGU239ZGDRPb4apL32nYY0SMim58vET8rv5 + eTiQE1udg+1ttIRAGq/PxzHKlc6FUEdyJ6i2Da16c0K76FpF3Gnxxhw+Tleixx3h + 6+PbhC2qEgt7LS8TNg9J2WTDy4Hlw5YEmzOAM9NA6UYrH9BHsR87sbdriz6pAC55 + CnFkWptrME4CjUP72qIezRYt/4784ABTw6poQ51jP30641YhgPoYLrWS8hWQYaE3 + jcrum3JQnLTjsE88OclcreKNvNj+b1t0uxuHa/6UdMnyRCd8osJ22s6JJHLGgB/S + UQHvy+Rv0QJ65DjsJ4TfdRBLcKXaF7Ar5SaANqGi8EYwjVbhfImwx5VSEsvQclEU + 7JihoETtCrRwJM1BkJz3nuBAaYDm1Y+lWHSyVZ6xi8G0eg== + =n6cE + -----END PGP MESSAGE----- + fp: C92FE5A3FBD58DD3EC5AA26BB10116B8193F2DBD + encrypted_regex: ^(data|stringData)$ + version: 3.8.1 diff --git a/kustomizations/matrix/bridges/matrix-appservice-slack/files/digital-ocean-ca.crt b/kustomizations/matrix/bridges/matrix-appservice-slack/files/digital-ocean-ca.crt new file mode 100644 index 0000000..76994e9 --- /dev/null +++ b/kustomizations/matrix/bridges/matrix-appservice-slack/files/digital-ocean-ca.crt @@ -0,0 +1,25 @@ +-----BEGIN CERTIFICATE----- +MIIEQTCCAqmgAwIBAgIUJnvJP3vy1FrGBmP3zN/Q6le9D5owDQYJKoZIhvcNAQEM +BQAwOjE4MDYGA1UEAwwvZWI2ZjdjZmItNjBkNy00ZTg2LTlmN2UtYTliMmU5MDdk +YWUyIFByb2plY3QgQ0EwHhcNMjMwNTEyMDMzMTA3WhcNMzMwNTA5MDMzMTA3WjA6 +MTgwNgYDVQQDDC9lYjZmN2NmYi02MGQ3LTRlODYtOWY3ZS1hOWIyZTkwN2RhZTIg +UHJvamVjdCBDQTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBAO41H/hV +eJYfE+b0aMPj1vLhefmGkdjD5N3HD1StaL95bjiB7U73exQenoEZYTW3Ns7+BzHq +ffFJwXC3sL8qVxqnNdJy3IkrwJxdmJrj5+KoVUrD8yNbujjQ5q+r0fMRwBwtJYkf +78b/mCBP7GOllJim3nG4MMzL1sA/5JaOQEwZgmERmIVJi1RK1k8nGuFKbcr7YW6u +vE8VQR77uQIUffokC6tDzhjxDz8eDzZ3lwsnGavCG31nW5Kc6+rg6Kpo097/ZkYf +DThwFmGwmP4oT6h2+/LPqsb3OCvFWh5DLHXTa5xvczFwY134o55CW25JNebrTYxc +ZnvlE1afgiuKsqGsGmvmnjgxKTNKOhMWKd1gXLmQ6Tt0WrLpIBlAVlh4pn0YtWDm +Nz+YcOnQ20O4pZyOntc2TGFmbHqAp5HnmRmtDWWbUQoRRAIsvvUpIGRxWid124gV +2h9UxbymVoieFpAjNv6d9Qu9+kKeJ/FOwSq6qatOuI4ILSjG6E1SMeimxQIDAQAB +oz8wPTAdBgNVHQ4EFgQUpoMewYjVdrnCuCjW/57GlzlMtdQwDwYDVR0TBAgwBgEB +/wIBADALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQEMBQADggGBAKRENCIP7KTg2ULy +DCuZAvPDzqRwAstmXP54DZOpeMT81c+m9Kq4urM1PMFvPOfiSSlE3wAA1+oX5wyv +r4kKgSYqG4QRk4aUfk7NJUQ2yAEtNcwrTc4MSsoFJOJVWdW/E+KNWYKjepg1t2kV +4hzZNqnIO05sxVp/Sx0tu5dhn8xPwNTVuDD5VjoC7VweSlq+E2vTNz10VBSHJ9Pm +bBJ32kd0lXdYsmy9vGDLa2NrjeTESSBfk8umm2dIbIFxOShHSs/6jHwCGv5WvPpo +HoPH69XBnXQuXf+gPltEaAtRwKVqdgMTFQe1gfeK2ddvlzPtGJ1mj+1rPGZApEuV +Ax+5Klk+711dhJrRQsI0w1Zl/2CgpKToIVbBe5nLyH2Q7SstcdpfnNcs5+k3iXb/ +KMUIMP84ScQ+ojUefMntny2SqUFT/CD1IVpOsHFTbKc2ZHUllrDf1p4qopMdiwWj +TlnDOh78B94f1O9by4ftQ/g8G5TaKgRsMxrDNy77tCpKy9vR4g== +-----END CERTIFICATE----- diff --git a/kustomizations/matrix/bridges/matrix-appservice-slack/kustomization.yaml b/kustomizations/matrix/bridges/matrix-appservice-slack/kustomization.yaml new file mode 100644 index 0000000..04b91a3 --- /dev/null +++ b/kustomizations/matrix/bridges/matrix-appservice-slack/kustomization.yaml @@ -0,0 +1,20 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +labels: +- includeSelectors: true + pairs: + app.kubernetes.io/name: matrix-appservice-slack + app.kubernetes.io/part-of: matrix + app.kubernetes.io/component: bridge +resources: +- statefulset.yaml +- service.yaml +generators: + - secret-generator.yaml +configMapGenerator: +- name: digital-ocean-ca + files: + - files/digital-ocean-ca.crt +images: +- name: matrixdotorg/matrix-appservice-slack + newTag: release-2.1.2 diff --git a/kustomizations/matrix/bridges/matrix-appservice-slack/secret-generator.yaml b/kustomizations/matrix/bridges/matrix-appservice-slack/secret-generator.yaml new file mode 100644 index 0000000..d21ac1e --- /dev/null +++ b/kustomizations/matrix/bridges/matrix-appservice-slack/secret-generator.yaml @@ -0,0 +1,6 @@ +apiVersion: viaduct.ai/v1 +kind: ksops +metadata: + name: slack-ksops-secrets +files: + - config-secrets.enc.yaml diff --git a/kustomizations/matrix/bridges/matrix-appservice-slack/service.yaml b/kustomizations/matrix/bridges/matrix-appservice-slack/service.yaml new file mode 100644 index 0000000..6d51606 --- /dev/null +++ b/kustomizations/matrix/bridges/matrix-appservice-slack/service.yaml @@ -0,0 +1,17 @@ +kind: Service +apiVersion: v1 +metadata: + name: appservice-slack +spec: + publishNotReadyAddresses: true + ports: + - name: appservice + protocol: TCP + port: 5858 + targetPort: 5858 + - name: rtm + protocol: TCP + port: 9898 + targetPort: 9898 + selector: {} + type: ClusterIP diff --git a/kustomizations/matrix/bridges/matrix-appservice-slack/statefulset.yaml b/kustomizations/matrix/bridges/matrix-appservice-slack/statefulset.yaml new file mode 100644 index 0000000..a248eb5 --- /dev/null +++ b/kustomizations/matrix/bridges/matrix-appservice-slack/statefulset.yaml @@ -0,0 +1,38 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: appservice-slack +spec: + serviceName: matrix-appservice-slack + template: + spec: + containers: + - name: appservice-slack + image: matrixdotorg/matrix-appservice-slack + env: + - name: NODE_EXTRA_CA_CERTS + value: /config/digital-ocean-ca.crt + ports: + - name: appservice + containerPort: 5858 + protocol: TCP + - name: rtm + containerPort: 9898 + protocol: TCP + volumeMounts: + - name: config-secrets + mountPath: /config/config.yaml + subPath: config.yaml + - name: config-secrets + mountPath: /config/slack-registration.yaml + subPath: slack.yaml + - name: digital-ocean-ca + mountPath: /config/digital-ocean-ca.crt + subPath: digital-ocean-ca.crt + volumes: + - name: config-secrets + secret: + secretName: matrix-appservice-slack + - name: digital-ocean-ca + configMap: + name: digital-ocean-ca -- 2.40.1 From f520054dd5a3cec6f75a04bba769cd502189dc58 Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Sun, 21 Jan 2024 22:05:08 -0800 Subject: [PATCH 08/19] k/matrx/bridges/mautrix-slack: initial commit --- .../mautrix-slack/config-secrets.enc.yaml | 58 +++++++++++++++++++ .../bridges/mautrix-slack/kustomization.yaml | 13 +++++ .../mautrix-slack/secret-generator.yaml | 6 ++ .../matrix/bridges/mautrix-slack/service.yaml | 13 +++++ .../bridges/mautrix-slack/statefulset.yaml | 40 +++++++++++++ 5 files changed, 130 insertions(+) create mode 100644 kustomizations/matrix/bridges/mautrix-slack/config-secrets.enc.yaml create mode 100644 kustomizations/matrix/bridges/mautrix-slack/kustomization.yaml create mode 100644 kustomizations/matrix/bridges/mautrix-slack/secret-generator.yaml create mode 100644 kustomizations/matrix/bridges/mautrix-slack/service.yaml create mode 100644 kustomizations/matrix/bridges/mautrix-slack/statefulset.yaml diff --git a/kustomizations/matrix/bridges/mautrix-slack/config-secrets.enc.yaml b/kustomizations/matrix/bridges/mautrix-slack/config-secrets.enc.yaml new file mode 100644 index 0000000..d3ee497 --- /dev/null +++ b/kustomizations/matrix/bridges/mautrix-slack/config-secrets.enc.yaml @@ -0,0 +1,58 @@ +apiVersion: v1 +kind: Secret +metadata: + name: mautrix-slack-config +type: Opaque +stringData: + config.yaml: ENC[AES256_GCM,data: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,iv:evs64dfMgXcdGQ0fOKODz/tKxsGhJEO8RUjI91yJFRk=,tag:Q1YIbosNLObwzdD9IN7CiQ==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: [] + lastmodified: "2024-01-17T06:34:24Z" + mac: ENC[AES256_GCM,data:HRiXb1mRg3BTFrBEGZoiSqk1uY0fChfVkp0tTxqF70FU2Y1VMjws7/+5j2zIFigNOF1bX0EgvT+/TidYZV4u5V6BdI1MQIZBriKOlXvTzAYNqcTUutkyfj8qWfXPXc79h4jfG7gYs5ZgYyHwqDCzqg9yR45VrEloomURNteHwXY=,iv:Xbdm2PEVKygxXxeUvpilMGodypvGFpf/LGLtGoFaVb4=,tag:wTFk+RGkUN0xwseyQMKAvQ==,type:str] + pgp: + - created_at: "2020-06-02T09:52:22Z" + enc: | + -----BEGIN PGP MESSAGE----- + + hQIMA8KRInHl7Vz+AQ//Y/HrzsCVGBA+HzLn+DM87KdFvqULPvHGMcT9Z87Bcyv0 + ZKrIfazy89SnYa/DPNufaWFMy0Yp4INyV1MSk0/vaQehmJNVXh9lWlomkjks92Pn + +Su090MZF6AQKRJa4dbkcNGNHWf3fb3U2XSPS9Mu1FWNl0tb6o3zaYWBG/C7GL5f + scxpHrgg69+/8SZg7wTTh9t4YidFy6w05dta6rsJ4frkohJPtk+uifKOCPs45XVt + 18Rwo/HgRPFL69LoAmpDl/6F2EKDgn17fqbHA1x8lAVGPUrXMP7VMf8aD6qZUr06 + Rso/UwJI8D53yEZs1GzrBAjoPV59QQ3MvC1IB6HD14GhJcHQ28aggcuZYgC+19FW + m1wwgqxnCxXPTHerBYRy9trj5yR4MK6Kmm9NlDQiUUIfpY5xgxtdktB2/Thkqia0 + JqiXLq+ySmlKTZCh2rf4hJSmdG/Um/bETLrd2/Sigx2LlzD/4oT+gVz1gdhtDX8P + NboD5q7EOg1tW8m36ASkv/4DrEmfa6ev5B0vKUTLDcB6QXYEem3q0Oa95uWqcei0 + nnCTVrnM1Powsij3jG8vMhShoObeqIknpfDuN42AeymAlUaUNC8gGJx9u+kTy784 + mo88jJDwCvBamqpMhzP1xuIZVb8KHenj7Rg/cz9yQXhMGw5hJgFbL8oBLssVkUTS + XAFD4Db8CWujiTUm2kTZwm3GSWQ1191VQ5mTLDukml/0ZF/4/gHcEY0giSL3KsfQ + wvsHHA3guylY6MRrlEMIgS5FjWiA2h4+cZkHOC2cqmGek/ydSPWITw1SJr1p + =jUyH + -----END PGP MESSAGE----- + fp: C92FE5A3FBD58DD3EC5AA26BB10116B8193F2DBD + - created_at: "2020-06-02T09:52:22Z" + enc: | + -----BEGIN PGP MESSAGE----- + + hQIMA+dk21Yn2OfeAQ/8Dy6ehuYCFdztLFsONoHbkJYpaNh/LkVPnlrLweNEEIUo + b4XyrFakhxw0YzJ1KPfJy3htWnwUs6FG9X6wp58IE3sjZm3deKFelkHz8ya/HFxl + N9exso7n0+AhcKAj+1hSDx4Hok5aUT2Kk7y79mmNfO2jIRFYxg5ZKnRvxxGA6zjl + KaN0qd91vHjyCwJgMgmBuaTbwoknGrJ4CyXS8rn+T45lld+dh6bkwhOX5XJfJbOx + MGtr/Xnw4AHiF+ZU8nYrrFg4GbAQMpWtgdgJhNELMt4wDTVpAU0dXA5uaDH6SQQv + zH8E6QI+YGqx580Tw9Ym2kc/HSGYCfR97dJnuihwgB0uzoUgTWRDmMzIo5RSiCor + QWNnqxQ4eBGMtmtFvZVqpHFgeABfY3w7JPpREb3tIeUPmPee6ukarV/JavXCoiUY + tEQNO4mQWOlzIg879Sbzme1fDq5tOiKwt36K9w9z7hqOY1B+KRnzF4PCnpYD708Y + jGGvyaGOqnmsN2LzCTtMCUaBzgCKFaBWeCmXHdzjpSBb4MH6qvEaeAbqlGAf6Nhw + geOz2yLJ8nkprbjRJEAz9Q0fE3gZ9wy1VAN4pP20qVZHKZfHd0RXpAbUJMoMwJpc + aCHjMop1rFqEQBtZJDEoPaizbpuY4oNZgKwwItCWJB+wEf7SfJKOHRUE8IhFBXPS + XAE2EmJJb7hzXD2JyIaCPQ2TXQTc+ZOoq4GrT540NKor0GhsLpTONAb6UO0nZqX7 + O+uMGqruCMA8t5RZXO2pmuIQayzlEDeODEOu4CUxS7NpOox9bb7x/Dau/Znj + =l1ip + -----END PGP MESSAGE----- + fp: 1115980165DA45DFC018CDE5232B66DFEA222365 + encrypted_regex: ^(data|stringData)$ + version: 3.8.1 diff --git a/kustomizations/matrix/bridges/mautrix-slack/kustomization.yaml b/kustomizations/matrix/bridges/mautrix-slack/kustomization.yaml new file mode 100644 index 0000000..4074873 --- /dev/null +++ b/kustomizations/matrix/bridges/mautrix-slack/kustomization.yaml @@ -0,0 +1,13 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +labels: +- includeSelectors: true + pairs: + app.kubernetes.io/name: slack + app.kubernetes.io/part-of: matrix + app.kubernetes.io/component: bridge +resources: +- statefulset.yaml +- service.yaml +generators: + - secret-generator.yaml diff --git a/kustomizations/matrix/bridges/mautrix-slack/secret-generator.yaml b/kustomizations/matrix/bridges/mautrix-slack/secret-generator.yaml new file mode 100644 index 0000000..d21ac1e --- /dev/null +++ b/kustomizations/matrix/bridges/mautrix-slack/secret-generator.yaml @@ -0,0 +1,6 @@ +apiVersion: viaduct.ai/v1 +kind: ksops +metadata: + name: slack-ksops-secrets +files: + - config-secrets.enc.yaml diff --git a/kustomizations/matrix/bridges/mautrix-slack/service.yaml b/kustomizations/matrix/bridges/mautrix-slack/service.yaml new file mode 100644 index 0000000..b5040f0 --- /dev/null +++ b/kustomizations/matrix/bridges/mautrix-slack/service.yaml @@ -0,0 +1,13 @@ +kind: Service +apiVersion: v1 +metadata: + name: slack +spec: + publishNotReadyAddresses: true + ports: + - name: http + protocol: TCP + port: 29335 + targetPort: 29335 + selector: {} + type: ClusterIP diff --git a/kustomizations/matrix/bridges/mautrix-slack/statefulset.yaml b/kustomizations/matrix/bridges/mautrix-slack/statefulset.yaml new file mode 100644 index 0000000..d1c6f24 --- /dev/null +++ b/kustomizations/matrix/bridges/mautrix-slack/statefulset.yaml @@ -0,0 +1,40 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: slack-bridge +spec: + template: + spec: + containers: + - name: slack-mautrix + image: dock.mau.dev/mautrix/slack + command: + - /usr/bin/mautrix-slack + args: + - -n + - -c + - /data/config.yaml + ports: + - name: http + containerPort: 29335 + protocol: TCP + volumeMounts: + - name: config-secrets + mountPath: /data/secrets.yaml + subPath: config.yaml + livenessProbe: + httpGet: + path: /_matrix/mau/live + port: http + scheme: HTTP + initialDelaySeconds: 120 + readinessProbe: + httpGet: + path: /_matrix/mau/ready + port: http + scheme: HTTP + initialDelaySeconds: 10 + volumes: + - name: config-secrets + secret: + secretName: slack-config -- 2.40.1 From 19362e2706c5439300829e36c6c5c7d6be7e0805 Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Sun, 21 Jan 2024 23:31:50 -0800 Subject: [PATCH 09/19] k/matrix/bridges/telegram: initial commit --- .../mautrix-telegram/config-secrets.enc.yaml | 119 ++++++++++++++++++ .../mautrix-telegram/kustomization.yaml | 16 +++ .../mautrix-telegram/secret-generator.yaml | 6 + .../bridges/mautrix-telegram/service.yaml | 13 ++ .../bridges/mautrix-telegram/statefulset.yaml | 42 +++++++ 5 files changed, 196 insertions(+) create mode 100644 kustomizations/matrix/bridges/mautrix-telegram/config-secrets.enc.yaml create mode 100644 kustomizations/matrix/bridges/mautrix-telegram/kustomization.yaml create mode 100644 kustomizations/matrix/bridges/mautrix-telegram/secret-generator.yaml create mode 100644 kustomizations/matrix/bridges/mautrix-telegram/service.yaml create mode 100644 kustomizations/matrix/bridges/mautrix-telegram/statefulset.yaml diff --git a/kustomizations/matrix/bridges/mautrix-telegram/config-secrets.enc.yaml b/kustomizations/matrix/bridges/mautrix-telegram/config-secrets.enc.yaml new file mode 100644 index 0000000..15816c2 --- /dev/null +++ b/kustomizations/matrix/bridges/mautrix-telegram/config-secrets.enc.yaml @@ -0,0 +1,119 @@ +apiVersion: v1 +kind: Secret +metadata: + name: mautrix-telegram +type: Opaque +stringData: + config.yaml: ENC[AES256_GCM,data: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,iv:aJEX2b7UUTsFzsruNoZ8xrjw6H7aBuWf0hLs7BaL8nc=,tag:174yBKpNGmJHzE2msJouMA==,type:str] + telegram-registration.yaml: ENC[AES256_GCM,data:uIZTsyzXliFefrQipKwQy+fH63lwbNLzj4N5IL+8qUSzgT1+GD1uxKUTqCy2hE+Ifg1VpMyosUsNVdbOlBrlV9ccqaf0HPF52eLyRsmCMHeXMeghBLARpqqh0Au490yzL2oxeTi1T7TbCe+9M2UT44f5kyWeYuwk5S0w2GcAoc3CPFSB60rIAijjyRXqEUuQ8X7llRFk1u9iOKbR9liO4+SVmVlY7iCQPn43Jj7yqdQSKp472YKOLIOV48Cwr26KiBRl1pt/sIMYzqVtPKCoLHuxiox8mLNnDACrRC74llMTSQ5qJHRV0wJhc7TNTv5CymEfSUS67IYBZyC+XnOM6BF4R7Vld/9XlXgWq2BlxvUP6XHy+BJWC3kead4u9yIRfsjQNkOOBW6WYEx0CIgp7bRIE4E+QGdZpwOa+iVo+jY51BgCCzVUck5nwkkIsQDPfoth5stTU5ZjRZ9U3or3M/EL3qBoS7lB99EQG0nz6TC1VnOitv3NiCO/Y2NCUsFczr075z6i3pulVlp+5opXxUC/8m90AvmsvOE//omaSzl/ujwgUiG0cEMRDwBgzyN40OkMi8YdltuIDCvsRwT0JstaxkMeHgxx0HpJpbvrWF3Pk7h2UsBQFnd+N5Xb0PgrHb7zfCLkFgIC+zzH64trtGqgV510Ckdir/uFQTZ3XW652F5SRuaBE6q6DUV9sx3o5WBgy4KeQkCTeKGrb1ysaOQCZFZnfVi9/jVuoQj/Bz/6rh3ansD1ZxMDCiS9hPxyXTu0A/PLtGbetHhPU2dXFlzC+TjEc+dk5cI7flufSY+z+sOyKSM=,iv:VgJqVpPbeggq4USxWmB58GRkF4dEVO1LfxZayCY1izs=,tag:wueogQjrWD+ih0XUNp8Jcw==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: [] + lastmodified: "2024-01-22T07:29:58Z" + mac: ENC[AES256_GCM,data:/r3AK23yzD+K/c1A3vTNCAj4AA3HcQoAJbj1JqYkeCftisRp7ApnNWmns9wIKbCS8hB5Td/L9kKeES3JLXMFqqyNEOk8jF0ZYTu1sRKq5XYGitqLiP74xhuqL/1Z7/EhzdAvuMtKdqh6mculadpac737PwsJcl/VXm95ClCssdg=,iv:A7AhF7eSCiVMYFhaTyakRXwKX/olODriLmG2luWVjbU=,tag:aqNpeuUSJJwlIllSDbscTg==,type:str] + pgp: + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA82rPM2mSf/aARAAkFACzQmqyF9BqaD1qEjIO4e6owS/n4h3U6ee0Y7fhO8y + a5RJ4/HvMmfXcYeHm+CZjsFaui4YJkPS93clGTJzV4w15yXJUunIVjAmkvSrVh6P + GqRUtNpi1y+JCS3sjlAfvm3h9b08dNxFv7rTwZtDiP8zmcNuB0zbLBFR7G6ixetx + ZxL7piPYX75Rqoz8A/+V7VAtsoX8t3xv5xgjHzzfhiM3TeoQUgLnF8aN5huiSptf + dMmNMa0GGu5QaUjYJ3iHjv5eMtCJ79KwpuCfv5iX34Q++rTe5VUWoQabNAiE/Frt + Rc3JB8o8rfL6WME9qIIa5k654JlVDKqOvTH3mtHkOIWhD2+CEK89Siq3G35Kkct8 + Ym7UNa6gE8IdSGkCOH81G4ZheU6Z8OKF1Z7dO+o7IdgIURTwLEFeBIC2PtWOKOJP + PnzqZNk1w4n4XK6hQg4bmIj8VaZXXgHEXcO/jaGCoRyr36BHCE1Sj1ae5cMUgDje + p6WKVO6gXfRg7SRJqQNUh03Lz0YKIjsI/429UPyf9mtXbHfvVyrW3+wyByok86FG + cGL1Y/N7thxAxXqHy4OZFCE0NMP2bobMzzGJTtDY9oPsGwTb6xk1g0wE5zg6IoQa + 9hnObBJhdpvYcD6juz+V0wkeI30essnz7ZTtsLdfCox6mnP5BMTtzxmcRrCpNvHS + UQFIZa0XryYoXv3rcw6yUpkqv6aYzD3L4PnqYtGUEtbMoTb8NXa9Cp+1OeypqZ0g + 7uO5zCKJgL6sBaPnJL5/n+afafzYcIOsQc2O+q0s4O1d5Q== + =3E6w + -----END PGP MESSAGE----- + fp: 6B61ECD76088748C70590D55E90A401336C8AAA9 + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMAw95Vf08z8oUAQ//abo3n5r8YdQ6p+/X031/n8MCvWKw+ERGSvDuT2r7g8m8 + DqrBQmX578jHVmZkC2B6fYqEBuQAeyEJyQ56MLMuGMNSET8dgNS4Uj/gwvsuEDQf + NhU10WLkfQ3g2/o654BVzPC2b3UQTL4mmXqp0+ID79uynn0/WZ0TQQ8xj/uUaDS1 + h6/uC7mmDGTHaxF3gFuYkvWMghU0bqX5BfrAPdICAr8FIqxUGIvUD6KkBu9hWTYP + RLtfwpU/DAcT/7pNtic25WzzQt7W0mok3zUZZq5r2UqO35x2XOrgC5DQ69QYf7JZ + a9S236gEpAS0Kl1IWSvY2kDzj/J27T3nonY2kX3a+UqVWX15LEmVmNNUMwjz91/b + 0G+26vustzinHBs30EHGBqhyELjRW0RjcmlVGNXvZwhgGL5/LNIEcfBi19tIang1 + dRYE9TasSeRbyTU/A/CXFDeuGtC8K552SzXjv1zP6gkwZFb0/zd0/XHPSyGyOLbM + 1PC3JhkA8GEYQ7l9y5BdPXxZseuoSHDPHfMRIcnogx6w6rfBdd9+78M1WjnGzhYi + /utORBaiwU9Zk+Xm3B+WbkDl5+jio+UIp9nHoYAGfuJ9A6TZYBIavB6K171wALke + Kl6hoTxef/VGwdfXB9ikUy0bi0Km1vVpZGVzIjSFXiSlLkaamhxUFSgDPGZN21rS + UQHeXKkhgKXTEVvi+kypRbN2/174bElGTWz1C2TWPNJAcvvKmRw66t5g8pahnXbm + SYQoB5JaAl0URu6zHWBYhCjQjiyePhnxHV4tgGtEYAdY3g== + =xXRR + -----END PGP MESSAGE----- + fp: 88823A75ECAA786B0FF38B148E401478A3FBEF72 + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA0/D4ws+/KPtARAAsxa6N9jRT1AUqfWI7gIfJK6i6g0F5oxRYJ5A2mjhc89k + ZAN4/tO9GC+Fg8+lLhPHdiz6v2T1+92AFXET3jm+ax6rYei2woMHNXKzgqxjkQEQ + xQ/3LcQ3+FOTrvy7Gir9HQ/DoWSePBF7tx16unxH75hi6AgOiT0nFoEbXP3CJXie + lVOO5r5jKgBg9LENj/U+9LHjXB6W0PbVdhxdeStk2TTKcmuDnrGeqKZ3SyZ9V33p + DEfydW+T0ac156Eb2tdszzW5e87oPmW78wvLkotboZcPVWBadRtJkzVn3JXoMAda + gN+W2+I4/4iQN8ITBQ+2i5GsdbHtnrmPkzSbtSqhujwZ1k/a7uRmHy46ejDK9QnT + lQzm2OKyjTlCDhnxnKj0eTE4nN0CDyxGBNlNVG2piKd8i+HpqrjKJ9IUcMj7oO3U + 8rtQ2A0LHquNvu6ZatP6fUk3tKgLaEslV4ORXMlILdZXlYqgznmvWJaII3XVeu8l + G/tHPkOhrcQDIecBeYcTLZYXtPtmY1UNJZfbDazG/9J0rdq/r9NmnB7woy7FSYEp + yRNji1i/89nVLsu94ra1D6FHyxgIFTSLkD7s1iCMTsz0UdwfbxqdLIWumYrm04XF + wM2eTB8OAGe8mdfi1q4te0FEDMLTpdYBhYDDjHmBv4fXwKPcWkgixvNJtT6xPgLS + UQEvOn03hQ8MCQ5kh1R1FoTOw1UpgV0eqJSateC2wkBKbZ/4NWPbnZA7XAW6Jb98 + JidKJ8TiYiI33hxUhu4nUeZWjNcd7MgHyl1Do2r7SfyICw== + =TXST + -----END PGP MESSAGE----- + fp: 3D7C8D39E8C4DF771583D3F0A8A091FD346001CA + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA5Wf+FyJ+zFJAQ/+I9khYJfqjCHhrAaElVWKgn4c+7C+oilVNE0132pQZfLb + u17yv6AYY5zThK6Lg0GZMKaKFn+JuF9wonTyixJQccJ+w2MxsJQRNQZTV/t19HrQ + B+6YFLVPNyOglr7jf+o5BnOdIvpR0Cog5JDzn0j4iwpRWRSGW1sWXiABKWUIW0Ks + nR7Rm/k3Jm8zYO6LtoyYog5HGUEHRMuOY6Yoj/EEbfDLKFU5WZ+hfKnbGGM9KW31 + RkXoCtjm2AstZTia5+Y0E3wNb9bbvpbkewyQd5KqaHmHaX3MzuoYKNHGVEgPMfla + Y26aED5uSLETv+C1U/jYJyxyVJxNYb2JBrS8a7+p+mo00Cvbs/pbM/cr5Y/Ogu7Q + Ed0+Ixst3LzSTOcYAAiEC/LpWztaIp/4h/cAfE7eKnsoFUVcv2lLpLHyI7fS/sJH + Ywp8tlqlfx7DaCqYEVjPMSfI9qBbJomoQ77szHL+Gyi4ibyF0iRz0/NnF5lmu5H5 + sDAYiqnHEIpk1v+gWXoj/CQq7a5jJf044cYylcO+al27cugr+jr5TBQQVv+wDNJV + LqpAxmmz8yUJ6RlTSg5JwNlNCCOONv6f+lX0Cjk7V0kPcOMgbVn19Su7zIvhM7wd + m9mzuVWWx2SBGzORdK9W4tt7lybU7aCvusT1jP1nwXF/JCz9lyEbb1syaNIAiXHS + UQE2Va23CUVgB+cV/ImXBCEuAjZhiSMFVCtWOZrcqPS8EZX9s6WzscpsEmFnDE7t + GVR3u1IyjxTsuTxxYU0ldSjHqYFjQrgRD3ZBzwZcgeajqw== + =bF9b + -----END PGP MESSAGE----- + fp: F4BF5C81EC78A5DD341C91EEDC4B7D1F52E0BA4D + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA8KRInHl7Vz+ARAAoMRyGipvXTgUChfL1Lryej14FI9+8dvWQculBjPQzg6x + oxdPzz07ifIX8D64zfToE+qc439l/RYwiMx9XyGscEim0D1GIFPwxOm4DCXT+/5m + wlLkOBP7oMwirqSazS7dNF1hE83717QTi1GqC0UqhoMINtxrhQIv1Y6xxREqD1Wd + eW3M45p1i8iSZkzF7n0EhIK3J59Wl3vxt9FUX3YRWk1JH0oaqIc1VCH3TJc73DAx + 9e1jIVQSo4R8BfQc5Y64xRh0eq/87Ud2E2x9JbZmpnw4FN/OHg9QqRMaZ9r6EQ/l + VerhJFkfSj3UVAfODzViKXyNTKRak1GOcQBE5lfAXynAW1nfTTx0re0rl6/tvOwC + i02a/raksTI8afak1RMclNFqlihsegGU239ZGDRPb4apL32nYY0SMim58vET8rv5 + eTiQE1udg+1ttIRAGq/PxzHKlc6FUEdyJ6i2Da16c0K76FpF3Gnxxhw+Tleixx3h + 6+PbhC2qEgt7LS8TNg9J2WTDy4Hlw5YEmzOAM9NA6UYrH9BHsR87sbdriz6pAC55 + CnFkWptrME4CjUP72qIezRYt/4784ABTw6poQ51jP30641YhgPoYLrWS8hWQYaE3 + jcrum3JQnLTjsE88OclcreKNvNj+b1t0uxuHa/6UdMnyRCd8osJ22s6JJHLGgB/S + UQHvy+Rv0QJ65DjsJ4TfdRBLcKXaF7Ar5SaANqGi8EYwjVbhfImwx5VSEsvQclEU + 7JihoETtCrRwJM1BkJz3nuBAaYDm1Y+lWHSyVZ6xi8G0eg== + =n6cE + -----END PGP MESSAGE----- + fp: C92FE5A3FBD58DD3EC5AA26BB10116B8193F2DBD + encrypted_regex: ^(data|stringData)$ + version: 3.8.1 diff --git a/kustomizations/matrix/bridges/mautrix-telegram/kustomization.yaml b/kustomizations/matrix/bridges/mautrix-telegram/kustomization.yaml new file mode 100644 index 0000000..867b208 --- /dev/null +++ b/kustomizations/matrix/bridges/mautrix-telegram/kustomization.yaml @@ -0,0 +1,16 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +labels: +- includeSelectors: true + pairs: + app.kubernetes.io/name: mautrix-telegram + app.kubernetes.io/part-of: matrix + app.kubernetes.io/component: bridge +resources: +- statefulset.yaml +- service.yaml +generators: + - secret-generator.yaml +images: + - name: dock.mau.dev/mautrix/telegram + newTag: v0.15.1@sha256:e328dcf5893a3ec782212d9bb008e4f81ac3cf4e3c7abc3a49cf6b277749b32d diff --git a/kustomizations/matrix/bridges/mautrix-telegram/secret-generator.yaml b/kustomizations/matrix/bridges/mautrix-telegram/secret-generator.yaml new file mode 100644 index 0000000..0d9eee3 --- /dev/null +++ b/kustomizations/matrix/bridges/mautrix-telegram/secret-generator.yaml @@ -0,0 +1,6 @@ +apiVersion: viaduct.ai/v1 +kind: ksops +metadata: + name: telegram-ksops-secrets +files: + - config-secrets.enc.yaml diff --git a/kustomizations/matrix/bridges/mautrix-telegram/service.yaml b/kustomizations/matrix/bridges/mautrix-telegram/service.yaml new file mode 100644 index 0000000..bb7e0b7 --- /dev/null +++ b/kustomizations/matrix/bridges/mautrix-telegram/service.yaml @@ -0,0 +1,13 @@ +kind: Service +apiVersion: v1 +metadata: + name: mautrix-telegram +spec: + publishNotReadyAddresses: true + ports: + - name: http + protocol: TCP + port: 29335 + targetPort: 29335 + selector: {} + type: ClusterIP diff --git a/kustomizations/matrix/bridges/mautrix-telegram/statefulset.yaml b/kustomizations/matrix/bridges/mautrix-telegram/statefulset.yaml new file mode 100644 index 0000000..cebf8c5 --- /dev/null +++ b/kustomizations/matrix/bridges/mautrix-telegram/statefulset.yaml @@ -0,0 +1,42 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: mautrix-telegram-bridge +spec: + template: + spec: + containers: + - name: telegram-mautrix + image: dock.mau.dev/mautrix/telegram + command: + - python3 + args: + - -m + - mautrix_telegram + - -n + - -c + - /data/secrets.yaml + ports: + - name: http + containerPort: 29335 + protocol: TCP + volumeMounts: + - name: config-secrets + mountPath: /data/secrets.yaml + subPath: config.yaml + livenessProbe: + httpGet: + path: /_matrix/mau/live + port: http + scheme: HTTP + initialDelaySeconds: 120 + readinessProbe: + httpGet: + path: /_matrix/mau/ready + port: http + scheme: HTTP + initialDelaySeconds: 10 + volumes: + - name: config-secrets + secret: + secretName: mautrix-telegram -- 2.40.1 From 759571e58984f6848f8f3aaa7c5d6ff906c7df2b Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Sun, 21 Jan 2024 23:34:23 -0800 Subject: [PATCH 10/19] k/matrix/coturn: initial commit --- .../matrix/coturn/config-secrets.enc.yaml | 118 ++++++++++++++++++ kustomizations/matrix/coturn/daemonset.yaml | 69 ++++++++++ .../matrix/coturn/kustomization.yaml | 12 ++ .../matrix/coturn/secret-generator.yaml | 6 + kustomizations/matrix/coturn/service.yaml | 39 ++++++ 5 files changed, 244 insertions(+) create mode 100644 kustomizations/matrix/coturn/config-secrets.enc.yaml create mode 100644 kustomizations/matrix/coturn/daemonset.yaml create mode 100644 kustomizations/matrix/coturn/kustomization.yaml create mode 100644 kustomizations/matrix/coturn/secret-generator.yaml create mode 100644 kustomizations/matrix/coturn/service.yaml diff --git a/kustomizations/matrix/coturn/config-secrets.enc.yaml b/kustomizations/matrix/coturn/config-secrets.enc.yaml new file mode 100644 index 0000000..25750bf --- /dev/null +++ b/kustomizations/matrix/coturn/config-secrets.enc.yaml @@ -0,0 +1,118 @@ +apiVersion: v1 +kind: Secret +metadata: + name: coturn +type: Opaque +stringData: + turnserver.conf: ENC[AES256_GCM,data:suQA1LL8JiKemZo1LojR4WYSk5ex5DIv4wyOGjS6gZKGCViqR2uvIBT1DVI/LfIjYjuBDM7NqDOSP/kQxChJDrUksaOCU4Q5uc/eE9zlyP7A/c4Cb8evPQ1JApK2GTzFwz8J5x6S4aa+JpoAB5aTvijfcW131pmQOtz6uanEhuU1As9c9g57nbGGR2lLRx7rYVMqGC2fxg30JJewSjIYWsOJoz6+Y/callulnQKznil7cMYwjiMK/QoVgdsvmW4fjcm8PbBKdBZbh7nDQBcvtrr8lqyMBNl/XOTtU4Ael28YWzDtdbWH1jdJMnMieWxpa2D2XnWNqd0XdYxPwS3HnVHVXSgwOYUQutMyWNBA1wnIaC1sg8Z5lzqE38DzXfA=,iv:8wwzXOMCH4zadAtifiFAbwFEQ7O5CO2ogvCiuEDV8gU=,tag:D04paJjlkzeXmuyLvk4f8w==,type:str] +sops: + kms: [] + gcp_kms: [] + azure_kv: [] + hc_vault: [] + age: [] + lastmodified: "2024-01-16T07:13:58Z" + mac: ENC[AES256_GCM,data:t8y4z+JQ2ua9KcykwoH2rHi1wsHC0Z1TkxkMZvUenQFxvwNTHC4NghwWGN2kcCDO9SjUb1J3BPobZd/EqSitQ7kTxyeBTa+qcylUIDvCmk9S1ZHVyJKhoQABbJX9raClYV3a3zrk5WNi4obXAHgXGpMdq1cVe53GR/X5z5ury7Q=,iv:x+WQ8t86EOrejNyv0grHSyd1bOpWcoZ/lqmFtFHHR0o=,tag:XuiuZUKe32MjNMg4nx9Kvg==,type:str] + pgp: + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA82rPM2mSf/aARAAkFACzQmqyF9BqaD1qEjIO4e6owS/n4h3U6ee0Y7fhO8y + a5RJ4/HvMmfXcYeHm+CZjsFaui4YJkPS93clGTJzV4w15yXJUunIVjAmkvSrVh6P + GqRUtNpi1y+JCS3sjlAfvm3h9b08dNxFv7rTwZtDiP8zmcNuB0zbLBFR7G6ixetx + ZxL7piPYX75Rqoz8A/+V7VAtsoX8t3xv5xgjHzzfhiM3TeoQUgLnF8aN5huiSptf + dMmNMa0GGu5QaUjYJ3iHjv5eMtCJ79KwpuCfv5iX34Q++rTe5VUWoQabNAiE/Frt + Rc3JB8o8rfL6WME9qIIa5k654JlVDKqOvTH3mtHkOIWhD2+CEK89Siq3G35Kkct8 + Ym7UNa6gE8IdSGkCOH81G4ZheU6Z8OKF1Z7dO+o7IdgIURTwLEFeBIC2PtWOKOJP + PnzqZNk1w4n4XK6hQg4bmIj8VaZXXgHEXcO/jaGCoRyr36BHCE1Sj1ae5cMUgDje + p6WKVO6gXfRg7SRJqQNUh03Lz0YKIjsI/429UPyf9mtXbHfvVyrW3+wyByok86FG + cGL1Y/N7thxAxXqHy4OZFCE0NMP2bobMzzGJTtDY9oPsGwTb6xk1g0wE5zg6IoQa + 9hnObBJhdpvYcD6juz+V0wkeI30essnz7ZTtsLdfCox6mnP5BMTtzxmcRrCpNvHS + UQFIZa0XryYoXv3rcw6yUpkqv6aYzD3L4PnqYtGUEtbMoTb8NXa9Cp+1OeypqZ0g + 7uO5zCKJgL6sBaPnJL5/n+afafzYcIOsQc2O+q0s4O1d5Q== + =3E6w + -----END PGP MESSAGE----- + fp: 6B61ECD76088748C70590D55E90A401336C8AAA9 + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMAw95Vf08z8oUAQ//abo3n5r8YdQ6p+/X031/n8MCvWKw+ERGSvDuT2r7g8m8 + DqrBQmX578jHVmZkC2B6fYqEBuQAeyEJyQ56MLMuGMNSET8dgNS4Uj/gwvsuEDQf + NhU10WLkfQ3g2/o654BVzPC2b3UQTL4mmXqp0+ID79uynn0/WZ0TQQ8xj/uUaDS1 + h6/uC7mmDGTHaxF3gFuYkvWMghU0bqX5BfrAPdICAr8FIqxUGIvUD6KkBu9hWTYP + RLtfwpU/DAcT/7pNtic25WzzQt7W0mok3zUZZq5r2UqO35x2XOrgC5DQ69QYf7JZ + a9S236gEpAS0Kl1IWSvY2kDzj/J27T3nonY2kX3a+UqVWX15LEmVmNNUMwjz91/b + 0G+26vustzinHBs30EHGBqhyELjRW0RjcmlVGNXvZwhgGL5/LNIEcfBi19tIang1 + dRYE9TasSeRbyTU/A/CXFDeuGtC8K552SzXjv1zP6gkwZFb0/zd0/XHPSyGyOLbM + 1PC3JhkA8GEYQ7l9y5BdPXxZseuoSHDPHfMRIcnogx6w6rfBdd9+78M1WjnGzhYi + /utORBaiwU9Zk+Xm3B+WbkDl5+jio+UIp9nHoYAGfuJ9A6TZYBIavB6K171wALke + Kl6hoTxef/VGwdfXB9ikUy0bi0Km1vVpZGVzIjSFXiSlLkaamhxUFSgDPGZN21rS + UQHeXKkhgKXTEVvi+kypRbN2/174bElGTWz1C2TWPNJAcvvKmRw66t5g8pahnXbm + SYQoB5JaAl0URu6zHWBYhCjQjiyePhnxHV4tgGtEYAdY3g== + =xXRR + -----END PGP MESSAGE----- + fp: 88823A75ECAA786B0FF38B148E401478A3FBEF72 + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA0/D4ws+/KPtARAAsxa6N9jRT1AUqfWI7gIfJK6i6g0F5oxRYJ5A2mjhc89k + ZAN4/tO9GC+Fg8+lLhPHdiz6v2T1+92AFXET3jm+ax6rYei2woMHNXKzgqxjkQEQ + xQ/3LcQ3+FOTrvy7Gir9HQ/DoWSePBF7tx16unxH75hi6AgOiT0nFoEbXP3CJXie + lVOO5r5jKgBg9LENj/U+9LHjXB6W0PbVdhxdeStk2TTKcmuDnrGeqKZ3SyZ9V33p + DEfydW+T0ac156Eb2tdszzW5e87oPmW78wvLkotboZcPVWBadRtJkzVn3JXoMAda + gN+W2+I4/4iQN8ITBQ+2i5GsdbHtnrmPkzSbtSqhujwZ1k/a7uRmHy46ejDK9QnT + lQzm2OKyjTlCDhnxnKj0eTE4nN0CDyxGBNlNVG2piKd8i+HpqrjKJ9IUcMj7oO3U + 8rtQ2A0LHquNvu6ZatP6fUk3tKgLaEslV4ORXMlILdZXlYqgznmvWJaII3XVeu8l + G/tHPkOhrcQDIecBeYcTLZYXtPtmY1UNJZfbDazG/9J0rdq/r9NmnB7woy7FSYEp + yRNji1i/89nVLsu94ra1D6FHyxgIFTSLkD7s1iCMTsz0UdwfbxqdLIWumYrm04XF + wM2eTB8OAGe8mdfi1q4te0FEDMLTpdYBhYDDjHmBv4fXwKPcWkgixvNJtT6xPgLS + UQEvOn03hQ8MCQ5kh1R1FoTOw1UpgV0eqJSateC2wkBKbZ/4NWPbnZA7XAW6Jb98 + JidKJ8TiYiI33hxUhu4nUeZWjNcd7MgHyl1Do2r7SfyICw== + =TXST + -----END PGP MESSAGE----- + fp: 3D7C8D39E8C4DF771583D3F0A8A091FD346001CA + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA5Wf+FyJ+zFJAQ/+I9khYJfqjCHhrAaElVWKgn4c+7C+oilVNE0132pQZfLb + u17yv6AYY5zThK6Lg0GZMKaKFn+JuF9wonTyixJQccJ+w2MxsJQRNQZTV/t19HrQ + B+6YFLVPNyOglr7jf+o5BnOdIvpR0Cog5JDzn0j4iwpRWRSGW1sWXiABKWUIW0Ks + nR7Rm/k3Jm8zYO6LtoyYog5HGUEHRMuOY6Yoj/EEbfDLKFU5WZ+hfKnbGGM9KW31 + RkXoCtjm2AstZTia5+Y0E3wNb9bbvpbkewyQd5KqaHmHaX3MzuoYKNHGVEgPMfla + Y26aED5uSLETv+C1U/jYJyxyVJxNYb2JBrS8a7+p+mo00Cvbs/pbM/cr5Y/Ogu7Q + Ed0+Ixst3LzSTOcYAAiEC/LpWztaIp/4h/cAfE7eKnsoFUVcv2lLpLHyI7fS/sJH + Ywp8tlqlfx7DaCqYEVjPMSfI9qBbJomoQ77szHL+Gyi4ibyF0iRz0/NnF5lmu5H5 + sDAYiqnHEIpk1v+gWXoj/CQq7a5jJf044cYylcO+al27cugr+jr5TBQQVv+wDNJV + LqpAxmmz8yUJ6RlTSg5JwNlNCCOONv6f+lX0Cjk7V0kPcOMgbVn19Su7zIvhM7wd + m9mzuVWWx2SBGzORdK9W4tt7lybU7aCvusT1jP1nwXF/JCz9lyEbb1syaNIAiXHS + UQE2Va23CUVgB+cV/ImXBCEuAjZhiSMFVCtWOZrcqPS8EZX9s6WzscpsEmFnDE7t + GVR3u1IyjxTsuTxxYU0ldSjHqYFjQrgRD3ZBzwZcgeajqw== + =bF9b + -----END PGP MESSAGE----- + fp: F4BF5C81EC78A5DD341C91EEDC4B7D1F52E0BA4D + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA8KRInHl7Vz+ARAAoMRyGipvXTgUChfL1Lryej14FI9+8dvWQculBjPQzg6x + oxdPzz07ifIX8D64zfToE+qc439l/RYwiMx9XyGscEim0D1GIFPwxOm4DCXT+/5m + wlLkOBP7oMwirqSazS7dNF1hE83717QTi1GqC0UqhoMINtxrhQIv1Y6xxREqD1Wd + eW3M45p1i8iSZkzF7n0EhIK3J59Wl3vxt9FUX3YRWk1JH0oaqIc1VCH3TJc73DAx + 9e1jIVQSo4R8BfQc5Y64xRh0eq/87Ud2E2x9JbZmpnw4FN/OHg9QqRMaZ9r6EQ/l + VerhJFkfSj3UVAfODzViKXyNTKRak1GOcQBE5lfAXynAW1nfTTx0re0rl6/tvOwC + i02a/raksTI8afak1RMclNFqlihsegGU239ZGDRPb4apL32nYY0SMim58vET8rv5 + eTiQE1udg+1ttIRAGq/PxzHKlc6FUEdyJ6i2Da16c0K76FpF3Gnxxhw+Tleixx3h + 6+PbhC2qEgt7LS8TNg9J2WTDy4Hlw5YEmzOAM9NA6UYrH9BHsR87sbdriz6pAC55 + CnFkWptrME4CjUP72qIezRYt/4784ABTw6poQ51jP30641YhgPoYLrWS8hWQYaE3 + jcrum3JQnLTjsE88OclcreKNvNj+b1t0uxuHa/6UdMnyRCd8osJ22s6JJHLGgB/S + UQHvy+Rv0QJ65DjsJ4TfdRBLcKXaF7Ar5SaANqGi8EYwjVbhfImwx5VSEsvQclEU + 7JihoETtCrRwJM1BkJz3nuBAaYDm1Y+lWHSyVZ6xi8G0eg== + =n6cE + -----END PGP MESSAGE----- + fp: C92FE5A3FBD58DD3EC5AA26BB10116B8193F2DBD + encrypted_regex: ^(data|stringData)$ + version: 3.8.1 diff --git a/kustomizations/matrix/coturn/daemonset.yaml b/kustomizations/matrix/coturn/daemonset.yaml new file mode 100644 index 0000000..815a22b --- /dev/null +++ b/kustomizations/matrix/coturn/daemonset.yaml @@ -0,0 +1,69 @@ +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: coturn +spec: + template: + spec: + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + containers: + - name: "coturn" + image: coturn/coturn + args: ["-c", "/config/turnserver.conf"] + ports: + - name: turn-3478 + containerPort: 3478 + protocol: UDP + - name: turn-49152 + containerPort: 49152 + hostPort: 49152 + protocol: UDP + - name: turn-49153 + containerPort: 49153 + hostPort: 49153 + protocol: UDP + - name: turn-49154 + containerPort: 49154 + hostPort: 49154 + protocol: UDP + - name: turn-49155 + containerPort: 49155 + hostPort: 49155 + protocol: UDP + - name: turn-49156 + containerPort: 49156 + hostPort: 49156 + protocol: UDP + - name: turn-49157 + containerPort: 49157 + hostPort: 49157 + protocol: UDP + - name: turn-49158 + containerPort: 49158 + hostPort: 49158 + protocol: UDP + volumeMounts: + - name: config + mountPath: /config/turnserver.conf + subPath: turnserver.conf + readOnly: true + - name: var-tmp + mountPath: /var/tmp + securityContext: + capabilities: + # https://github.com/coturn/coturn/issues/994 + add: + - NET_BIND_SERVICE + drop: + - ALL + readOnlyRootFilesystem: true + allowPrivilegeEscalation: false + volumes: + - name: config + secret: + secretName: coturn + - name: var-tmp + emptyDir: {} diff --git a/kustomizations/matrix/coturn/kustomization.yaml b/kustomizations/matrix/coturn/kustomization.yaml new file mode 100644 index 0000000..b743bfc --- /dev/null +++ b/kustomizations/matrix/coturn/kustomization.yaml @@ -0,0 +1,12 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +labels: +- includeSelectors: true + pairs: + app.kubernetes.io/name: coturn + app.kubernetes.io/part-of: matrix +resources: +- daemonset.yaml +- service.yaml +generators: +- secret-generator.yaml diff --git a/kustomizations/matrix/coturn/secret-generator.yaml b/kustomizations/matrix/coturn/secret-generator.yaml new file mode 100644 index 0000000..77841c9 --- /dev/null +++ b/kustomizations/matrix/coturn/secret-generator.yaml @@ -0,0 +1,6 @@ +apiVersion: viaduct.ai/v1 +kind: ksops +metadata: + name: coturn-ksops-secrets +files: + - config-secrets.enc.yaml diff --git a/kustomizations/matrix/coturn/service.yaml b/kustomizations/matrix/coturn/service.yaml new file mode 100644 index 0000000..ef9681f --- /dev/null +++ b/kustomizations/matrix/coturn/service.yaml @@ -0,0 +1,39 @@ +apiVersion: v1 +kind: Service +metadata: + name: coturn +spec: + type: ClusterIP + ports: + - targetPort: turn-3478 + name: turn-3478 + port: 3478 + protocol: UDP + - targetPort: turn-49152 + name: turn-49152 + port: 49152 + protocol: UDP + - targetPort: turn-49153 + name: turn-49153 + port: 49153 + protocol: UDP + - targetPort: turn-49154 + name: turn-49154 + port: 49154 + protocol: UDP + - targetPort: turn-49155 + name: turn-49155 + port: 49155 + protocol: UDP + - targetPort: turn-49156 + name: turn-49156 + port: 49156 + protocol: UDP + - targetPort: turn-49157 + name: turn-49157 + port: 49157 + protocol: UDP + - targetPort: turn-49158 + name: turn-49158 + port: 49158 + protocol: UDP -- 2.40.1 From f5495de7c0d9826bb06455458ffcdb794ef2362c Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Sun, 21 Jan 2024 23:35:17 -0800 Subject: [PATCH 11/19] k/matrix/element: initial commit --- kustomizations/matrix/element/deployment.yaml | 61 +++++++++++++++++++ .../matrix/element/files/config.json | 44 +++++++++++++ .../matrix/element/files/default.conf | 44 +++++++++++++ .../matrix/element/files/nginx.conf | 28 +++++++++ .../matrix/element/kustomization.yaml | 16 +++++ kustomizations/matrix/element/service.yaml | 10 +++ 6 files changed, 203 insertions(+) create mode 100644 kustomizations/matrix/element/deployment.yaml create mode 100644 kustomizations/matrix/element/files/config.json create mode 100644 kustomizations/matrix/element/files/default.conf create mode 100644 kustomizations/matrix/element/files/nginx.conf create mode 100644 kustomizations/matrix/element/kustomization.yaml create mode 100644 kustomizations/matrix/element/service.yaml diff --git a/kustomizations/matrix/element/deployment.yaml b/kustomizations/matrix/element/deployment.yaml new file mode 100644 index 0000000..904e82f --- /dev/null +++ b/kustomizations/matrix/element/deployment.yaml @@ -0,0 +1,61 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: element-web +spec: + template: + spec: + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + fsGroup: 1000 + containers: + - name: element-web + image: vectorim/element-web + ports: + - name: http + containerPort: 8080 + protocol: TCP + volumeMounts: + - mountPath: /app/config.json + name: config + subPath: config.json + readOnly: true + - mountPath: /etc/nginx/nginx.conf + name: config + subPath: nginx.conf + readOnly: true + - mountPath: /etc/nginx/conf.d/default.conf + name: config + subPath: default.conf + readOnly: true + - mountPath: /var/cache/nginx + name: ephemeral + subPath: cache + - mountPath: /var/run/pid + name: ephemeral + subPath: pid + readinessProbe: + httpGet: + path: / + port: http + startupProbe: + httpGet: + path: / + port: http + livenessProbe: + httpGet: + path: / + port: http + securityContext: + capabilities: + drop: + - ALL + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + volumes: + - name: config + configMap: + name: element-web-config + - name: ephemeral + emptyDir: {} diff --git a/kustomizations/matrix/element/files/config.json b/kustomizations/matrix/element/files/config.json new file mode 100644 index 0000000..3373a71 --- /dev/null +++ b/kustomizations/matrix/element/files/config.json @@ -0,0 +1,44 @@ +{ + "default_server_config": { + "m.homeserver": { + "base_url": "https://matrix.distrust.co", + "server_name": "distrust.co" + } + }, + "brand": "Distrust Chat", + "branding": { + "default_theme": "dark" + }, + "showLabsSettings": true, + "features": { + "feature_new_spinner": true, + "feature_pinning": true, + "feature_custom_status": true, + "feature_custom_tags": true, + "feature_state_counters": true, + "feature_many_integration_managers": true, + "feature_mjolnir": true, + "feature_dm_verification": true, + "feature_bridge_state": true, + "feature_presence_in_room_list": true, + "feature_custom_themes": true, + "feature_oidc_native_flow": true + }, + "roomDirectory": { + "servers": [ + "matrix.org", + "distrust.co" + ] + }, + "integrations_ui_url": "https://scalar.vector.im/", + "integrations_rest_url": "https://scalar.vector.im/api", + "integrations_widgets_urls": [ + "https://scalar.vector.im/_matrix/integrations/v1", + "https://scalar.vector.im/api", + "https://scalar-staging.vector.im/_matrix/integrations/v1", + "https://scalar-staging.vector.im/api", + "https://scalar-staging.riot.im/scalar/api" + ], + "defaultCountryCode": "EN", + "default_theme": "dark" +} diff --git a/kustomizations/matrix/element/files/default.conf b/kustomizations/matrix/element/files/default.conf new file mode 100644 index 0000000..d5b4170 --- /dev/null +++ b/kustomizations/matrix/element/files/default.conf @@ -0,0 +1,44 @@ +server { + listen 8080; + server_name localhost; + + #charset koi8-r; + #access_log /var/log/nginx/host.access.log main; + + location / { + root /usr/share/nginx/html; + index index.html index.htm; + } + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } + + # proxy the PHP scripts to Apache listening on 127.0.0.1:80 + # + #location ~ \.php$ { + # proxy_pass http://127.0.0.1; + #} + + # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 + # + #location ~ \.php$ { + # root html; + # fastcgi_pass 127.0.0.1:9000; + # fastcgi_index index.php; + # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; + # include fastcgi_params; + #} + + # deny access to .htaccess files, if Apache's document root + # concurs with nginx's one + # + #location ~ /\.ht { + # deny all; + #} +} diff --git a/kustomizations/matrix/element/files/nginx.conf b/kustomizations/matrix/element/files/nginx.conf new file mode 100644 index 0000000..9630928 --- /dev/null +++ b/kustomizations/matrix/element/files/nginx.conf @@ -0,0 +1,28 @@ +worker_processes auto; + +error_log /var/log/nginx/error.log warn; +pid /var/run/pid/nginx.pid; + +events { + worker_connections 1024; +} + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + #tcp_nopush on; + + keepalive_timeout 65; + + #gzip on; + + include /etc/nginx/conf.d/*.conf; +} diff --git a/kustomizations/matrix/element/kustomization.yaml b/kustomizations/matrix/element/kustomization.yaml new file mode 100644 index 0000000..f08a205 --- /dev/null +++ b/kustomizations/matrix/element/kustomization.yaml @@ -0,0 +1,16 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +labels: +- includeSelectors: true + pairs: + app.kubernetes.io/name: element-web + app.kubernetes.io/part-of: matrix +resources: +- deployment.yaml +- service.yaml +configMapGenerator: + - name: element-web-config + files: + - files/config.json + - files/nginx.conf + - files/default.conf diff --git a/kustomizations/matrix/element/service.yaml b/kustomizations/matrix/element/service.yaml new file mode 100644 index 0000000..2b86688 --- /dev/null +++ b/kustomizations/matrix/element/service.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: element-web +spec: + ports: + - name: default + protocol: TCP + port: 80 + targetPort: http -- 2.40.1 From 9b012b72da2781f66b5018cb12c5a43459d910d9 Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Sun, 21 Jan 2024 23:39:49 -0800 Subject: [PATCH 12/19] k/matrix: initial commit --- kustomizations/matrix/ingress.yaml | 121 +++++++++++++++++++++++ kustomizations/matrix/kustomization.yaml | 18 ++++ 2 files changed, 139 insertions(+) create mode 100644 kustomizations/matrix/ingress.yaml create mode 100644 kustomizations/matrix/kustomization.yaml diff --git a/kustomizations/matrix/ingress.yaml b/kustomizations/matrix/ingress.yaml new file mode 100644 index 0000000..7339937 --- /dev/null +++ b/kustomizations/matrix/ingress.yaml @@ -0,0 +1,121 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: matrix + labels: + app.kubernetes.io/name: matrix + app.kubernetes.io/part-of: matrix + annotations: + cert-manager.io/cluster-issuer: letsencrypt + nginx.ingress.kubernetes.io/cors-allow-origin: https://chat.distrust.co,https:app.matrix.org + nginx.ingress.kubernetes.io/enable-cors: "true" + nginx.ingress.kubernetes.io/proxy-body-size: 110m +spec: + ingressClassName: nginx + tls: + - hosts: + - matrix.distrust.co + secretName: matrix-distrust-co-tls + - hosts: + - matrix-fed.distrust.co + secretName: matrix-fed-distrust-co-tls + rules: + - host: matrix.distrust.co + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: synapse + port: + name: http + - host: matrix-fed.distrust.co + http: + paths: + - path: /_matrix/ + pathType: Prefix + backend: + service: + name: synapse + port: + name: http +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: matrix-media-repo + labels: + app.kubernetes.io/name: matrix + app.kubernetes.io/part-of: matrix + annotations: + cert-manager.io/cluster-issuer: letsencrypt + nginx.ingress.kubernetes.io/cors-allow-origin: https://chat.distrust.co,https:app.matrix.org + nginx.ingress.kubernetes.io/enable-cors: "true" + nginx.ingress.kubernetes.io/proxy-body-size: 110m + # This combination of configurations allows for the media-repo to function + # properly + nginx.ingress.kubernetes.io/upstream-vhost: distrust.co + nginx.ingress.kubernetes.io/configuration-snippet: | + more_set_input_headers 'Host: distrust.co'; + more_set_input_headers 'X-Forwarded-Host: distrust.co'; +spec: + ingressClassName: nginx + tls: + - hosts: + - matrix.distrust.co + secretName: matrix-distrust-co-tls + rules: + - host: matrix.distrust.co + http: + paths: + - path: /_matrix/media/ + pathType: Prefix + backend: + service: + name: media-repo + port: + name: http + - host: matrix-fed.distrust.co + http: + paths: + - path: /_matrix/ + pathType: Prefix + backend: + service: + name: synapse + port: + name: http +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: element-web + labels: + app.kubernetes.io/name: element-web + app.kubernetes.io/part-of: matrix + annotations: + cert-manager.io/cluster-issuer: letsencrypt + nginx.ingress.kubernetes.io/configuration-snippet: | + add_header X-Frame-Options SAMEORIGIN; + add_header X-Content-Type-Options nosniff; + add_header X-XSS-Protection "1; mode=block"; + add_header Content-Security-Policy "frame-ancestors 'self'"; +spec: + ingressClassName: nginx + tls: + - hosts: + - chat.distrust.co + secretName: element-distrust-co-tls + rules: + - host: chat.distrust.co + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: element-web + port: + name: http + diff --git a/kustomizations/matrix/kustomization.yaml b/kustomizations/matrix/kustomization.yaml new file mode 100644 index 0000000..9130507 --- /dev/null +++ b/kustomizations/matrix/kustomization.yaml @@ -0,0 +1,18 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: matrix +resources: +- synapse +- coturn +- element +- matrix-media-repo +- bridges/matrix-appservice-slack +- bridges/mautrix-telegram +- ingress.yaml +images: + - name: matrixdotdog/synapse + newTag: v1.98.0@sha256:8d962e48a1d88d2fb646c82b1babf4dd0ed765b21a4cf15600d77e90e46dc413 + - name: coturn/coturn + newTag: 4.6.2@sha256:9a5d44d1aebf28f1a96de4595bbab3eadc1ebd6bda705ca040df907f353f9fb2 + - name: dock.mau.dev/mautrix/slack + newTag: 4530ff397d08d93b673cd71da4c2a75d969ca0df-amd64@sha256:7db11f874c655dd8be77a75fb07bd6071cc0d7e92bc564e1397f5b2e0e1883c7 -- 2.40.1 From 4d463021b5b89a872b5f89d7068e6e7e53afd485 Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Mon, 11 Mar 2024 16:32:03 -0700 Subject: [PATCH 13/19] k/matrix: add slack-bridge ingress and update app credentials --- infra/main/main.tf | 5 ++- .../config-secrets.enc.yaml | 8 ++--- kustomizations/matrix/ingress.yaml | 33 ++++++++++++++++++- 3 files changed, 40 insertions(+), 6 deletions(-) diff --git a/infra/main/main.tf b/infra/main/main.tf index 0a753be..6208bd9 100644 --- a/infra/main/main.tf +++ b/infra/main/main.tf @@ -73,7 +73,10 @@ module "digitalocean_database_cluster" { name = "telegram", create_default_superuser = true, }, { - name = "slack", + name = "mautrix_slack", + create_default_superuser = true, + }, { + name = "matrix_slack_appservice", create_default_superuser = true, }, { name = "media_repo", diff --git a/kustomizations/matrix/bridges/matrix-appservice-slack/config-secrets.enc.yaml b/kustomizations/matrix/bridges/matrix-appservice-slack/config-secrets.enc.yaml index 791aac7..f4aa52b 100644 --- a/kustomizations/matrix/bridges/matrix-appservice-slack/config-secrets.enc.yaml +++ b/kustomizations/matrix/bridges/matrix-appservice-slack/config-secrets.enc.yaml @@ -4,16 +4,16 @@ metadata: name: matrix-appservice-slack type: Opaque stringData: - config.yaml: ENC[AES256_GCM,data:wgpE6EZr1o7qvQdXhJgB3Uz47LFHFuN/b56qAgodf7GzNt5BAaPS7c0EiIZBcjZaZtg5BjGnohXsnyd2s/9Gww/ImZqAIk9nf7yTDYNoKeOx67r0dzTex6EE/ZjfTtKRdW6b+LZgehCT6TjutxnfY6HVFdT9MLsdSzAyWdD4e1q3imK6KGn4GMWx7xFqDMmjzUWzU/XC4dc7CxVfDZcNX5CZpCDUw7M8qz3OVf+afIRZPwy67eUG9MuueyLZpC+AD3OX4PFvsM7hlavIZWE3NL2yWloiMsqVA15IsfZkPvOjFSsOba7Xh8ko59HTIhaOBE4WCC4GI7QiWZU9/oh1497gq2ZKMc9jVbFMcz5psMWSwARIWobM+wHTRBSY7RmQqCyRkBqqL+gpKk0ZYgdOrtIQUOxlkRs3sNy+2tfpyvZxj+WxitUpsfMGQWhOzB7xzhTe6bsFLHFf3WCS3/JkbbVF7jAz8Ky+2l5WFwNGO8DR0oRWjwYiFNbY1id0JiL0x/zhLAhtAZoG9wXYkDcaOUZLPBf19uNCtPpxlcSoh8Z22M4gvZsgdRqGeaW8L2CRPmFpvlIkMslnPmW4a0ZSGKF/prPvTQ8Ize7osR0gP9kANgNaYrZjXu/mvbnzwkyN5Ak9HTh5UGEKZ5BdjUrZ1CDefZb5JCYqJvRKZEAdaNr2ARVUN+a0qSj9ng4r7v+vS6wbYJcp8PABTBdN1YPnJl0jHjSdY0gKiZ3ADceK8F2TH3nG6Qy398X9spkWJt3vDiWP9WTYL5FHdlB1U4J8oNV3UbdV9x4jy9nnabfpshcIIDrsPqzAVk5FIIOFeF7hon3HT4NIZGkr9X7ACpBb0JBnNqSxI+NpCXncTAcr8q7vvngxlBVkNxSePfhL5LV5Sflv4n91mprIdYzOwlX2kVdjlHfRzbQ5H1iGzIBy6FTXHpw8dXY5Xh7hTcFbX+6JQXC79eSRFj/N26fd7L9u27dxiB6bPmh3JZN5zqtL3Kqp9JR/OrtuBQkXxdNPxpfrii89oWtU+L/Io007V/QdLYMKweV6rx7S99PVyvQWJrSF3/+W03bj/YmX82sK1HL0JTPGncgcUDAa,iv:EyJlIF/A0hC4WsXexiUTK2SKG3gbqGcXE6QzxyNzI9E=,tag:y4c3sxCKqAd+qR6ECtc6nw==,type:str] - slack.yaml: ENC[AES256_GCM,data:b+EN+PH5OgQIia7zyXWv4TFTBw9LhrTKtLCRerRpapyJuMGa2Thr0LrG61aH0ggGmd27sMlXd36KPSXVaE6Zzg3dhD5bzziOrAzMUaP2gNt4M3IcDwF4uWJDw9fdN/yi7OLBu81Z4/1oIsdQ9QGphLWYvJ4h1ygxA6ytXVZPsZtd5wcuOO7e08hIIB1IfdZQhu9eMtpFVeDGPDPW9byv/Fs/l0U3oQp2LylUQLO3bbYphC5aVj7vk3jpHelQnjLJq0e9xNbeMaWHnHAMb0803KOSNFEgONIyClNuvmChJ5Xaisz6dj7I46NFsGepi+y1QuWLzN++7CWAX/u1Pth+abMCPA/SQ3Ba8UYJHTdsEVmSGa+1WgOs9xIQcwjA61QStFqiK4GKaewG5XZ58WY5E2MvF4QUss0374crBafJb/yQnSiHMBwqY6I35/daeoUBVCGV2t8uEd4PL1iIl5P2AQ==,iv:mrWD3mrhZtHPMWd4qGZskxhMZbopWes3Nsd0/51so74=,tag:GgqmeTx146/qoAgNLMbCVw==,type:str] + config.yaml: ENC[AES256_GCM,data:r4qTOla/LsGtMojbqC0px9vVeDN/308lx19WR1FcHOh/FenPOmhiVN6yqEHiL6NppHm+SfrSdAa58ghF6GVdbv51/Z6K435MPpoAXbcmw2JceZbHZJ2k0u4aY01nWYMKUU+oKcowdzL4bmkA4jkX4XcDVEsA9VlZPAYmSN4O0s4uLl2pJ1K5i0qng2KaCYKAwk5OTK4w//+lK7UhmVC2TBlGZ8MUyuHsvk0zUkWfdXeFtmtVN48LwS3gdjY2ynHDTYl4cmXtErfbqLkdjWLGcTS1LCaIhOSFYTQm04tAWc9TCKB3xYvpx9hSUKN/KrreK7zh6zr2NTYaRMiXPlUT8PC7VdwEkpZPq9fYkeMBBSlRiYUUO2q19Y2rtidWZ3UeKr2MPJA2a9A7l/JGpYeLk7Bg/623xfp2rvqysFbjVQHsR2FUrnhdV/DK6vafRrjPbdKOWjaorc3UdZ6LeS191zwTKUsZHQuW35LXrg+Xhiovle5FetgqVSeMtdAigLQ7rtUzmilZk8clDstibLzmGkKeBsFZKFDkNlMxQmHarA2bH5RcBazugokztEUgRBGVL4XAjStlyYez0EqAXdC7FmxRctx/8fS6n7gLv2eLOxFswNbjpZRDG8ctPGQIF2xPIkV3Ahf9UH1A2Q5pVRCvd49yLflCBE+MFyVjz2FvpkFg915TN3K0j4OKuIW8E5D3whO8e+ofJiZGSgw7+NYZfJi/d1SPMkCyJG5M9wtTJLtLWMDxmvhJlkGO5Hxu/f06EygMKvF1P8DjkpvbFDjClKS/WjmN4IrccYUgrL+kL7XsQZ1EfvFPu/ioKGV9OuHQfOJNqMNPQdGwjg830GSjn2GeyArYSsQ1mJ1QOCPPdlzNpwYf8WRCELAt8LnTWEuKuNpfesvp5pN8DaAa2qagiHMwRKXcwuutgfL3j9gD1wmu3hzbWEilWXXykh75JjM8bPTYkQQWQVJSwjfv9fnlxwxg8bueaVydOyI6TOLfowsDEJR1zy7L5d6uUMwJlrtjHms6N3SYJ4mrgogCrOkH4qX+MMAnkUfVAbxmPvX3u9bxIqbOSoUuzjQto/LJnpPwY6MblEEpkLVo42n2Vaaq2ihMtzXLeq4qd+g7PIQf47RNWtP78+T8csxzlPG7s+c8UPZCoKoVw9EFBXS7SBE=,iv:xNXCfyNWCbWgeDL0oEkPFSxtPxH9SNcUb6nfGo2bRaU=,tag:uy9IUhzGgKgrAI0Fu+hR1g==,type:str] + slack.yaml: ENC[AES256_GCM,data:cIvPkVdSA5gJl0jj1BkwnHwGsJoh2971kphae1IEEirwt9oJ71T0sR9ZAPqhXHlhK8LkYulZX9CcEeMuRwysh4DaFynqBF3J7O7xJnJP9jFC3QopsVnaEhRARnGlLRMqJuOVQFeUixm+71eJ1DI6ApfdfIDwR8KFJfx0+6TWlgeVNNQBu6Vhxlbf/x8sUZEPU6M/FqPaP6Evara0cWSKJ1NIhaosQh6cghp6bxoOOJtrLweGwcKHv2QWCPajUlVv5aHl3qK9djoGDc50cTzD6HPCq6swzn2coI5i2uGNVMg2s6Mxp1zcB6/5PgOeZon2vhlrwsq6T53MzIjyQaocGVXsqQWXZO9eeG0E4ZJxp1lz7DmiwLr9zOrz+9WGWkPkVGII7uskYsUIpOI5qnJp5pkXO828KCSrzlOKdqHu7L7UqYcxnbjYvWaEnOje9snoXMNykYwoLS1Pmb7Sq7jXxQTgMjYjquNVp/yKHKCX2gBmSptYZtcCqU4=,iv:BU3Sz/tFhVn+1uNVYtHT5Db+p8KEqt66BWUhig9lK4o=,tag:SZAujz6AQZPkBYp0QweuCQ==,type:str] sops: kms: [] gcp_kms: [] azure_kv: [] hc_vault: [] age: [] - lastmodified: "2024-01-19T07:52:51Z" - mac: ENC[AES256_GCM,data:eerncWbi85ZV3KYgLcRiSYVDF9WtlTfTS7XnMN3rlX8O4T2c8K76G1KIsL92U3pIFGCJOg1KUPrMajVGiWdXIsypT/J/BKkiijetk6z5javtc1JmuWC9V4VA0DqpHnL5+Nf7EHewxa8GWWe9bGtwOkkcWlujRfu2algCwUmtCUY=,iv:mWA0wJcJl/S5rbYJXIxuwouXsNg+pB/zmXvv0D7lA2o=,tag:+VzRB2Pixsv4jDcnlEnKLw==,type:str] + lastmodified: "2024-03-11T23:12:03Z" + mac: ENC[AES256_GCM,data://wtLgQoGiN4oybs2nvw2v1aH7qIAbOOCqEpLSCX+vsIJz3Niqh3dZeuuh/7Rup+9ETobECNeL6RvnCGRvfGcbqSOiKdIl7kerbJJkaYCB3vdJwPaglwBceob5VuH+dI/T5bmfAX9ghyUirK84yLPq8DW9VYus83BpLnzBBGDiY=,iv:V8WWkDzZr772Qo+JNiYggPYGQgbZMN/TbvrpALAofE4=,tag:TbaMhN4Q9ICqMvBnQfKqHA==,type:str] pgp: - created_at: "2024-01-11T20:55:07Z" enc: |- diff --git a/kustomizations/matrix/ingress.yaml b/kustomizations/matrix/ingress.yaml index 7339937..f35caa8 100644 --- a/kustomizations/matrix/ingress.yaml +++ b/kustomizations/matrix/ingress.yaml @@ -118,4 +118,35 @@ spec: name: element-web port: name: http - +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: appservice-slack + labels: + app.kubernetes.io/name: appservice-slack + app.kubernetes.io/part-of: matrix + annotations: + cert-manager.io/cluster-issuer: letsencrypt + nginx.ingress.kubernetes.io/configuration-snippet: | + add_header X-Frame-Options SAMEORIGIN; + add_header X-Content-Type-Options nosniff; + add_header X-XSS-Protection "1; mode=block"; + add_header Content-Security-Policy "frame-ancestors 'self'"; +spec: + ingressClassName: nginx + tls: + - hosts: + - slack-bridge.matrix.distrust.co + secretName: slack-bridge-matrix-distrust-co-tls + rules: + - host: slack-bridge.matrix.distrust.co + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: appservice-slack + port: + name: rtm -- 2.40.1 From 342a85081db43da5856109458c059aa6a5dfd3a4 Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Mon, 11 Mar 2024 16:33:37 -0700 Subject: [PATCH 14/19] k/matrix: update secrets to working configs --- .../bridges/mautrix-telegram/config-secrets.enc.yaml | 8 ++++---- kustomizations/matrix/synapse/config-secrets.enc.yaml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/kustomizations/matrix/bridges/mautrix-telegram/config-secrets.enc.yaml b/kustomizations/matrix/bridges/mautrix-telegram/config-secrets.enc.yaml index 15816c2..d0a8b5d 100644 --- a/kustomizations/matrix/bridges/mautrix-telegram/config-secrets.enc.yaml +++ b/kustomizations/matrix/bridges/mautrix-telegram/config-secrets.enc.yaml @@ -4,16 +4,16 @@ metadata: name: mautrix-telegram type: Opaque stringData: - config.yaml: ENC[AES256_GCM,data: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,iv:aJEX2b7UUTsFzsruNoZ8xrjw6H7aBuWf0hLs7BaL8nc=,tag:174yBKpNGmJHzE2msJouMA==,type:str] - telegram-registration.yaml: ENC[AES256_GCM,data:uIZTsyzXliFefrQipKwQy+fH63lwbNLzj4N5IL+8qUSzgT1+GD1uxKUTqCy2hE+Ifg1VpMyosUsNVdbOlBrlV9ccqaf0HPF52eLyRsmCMHeXMeghBLARpqqh0Au490yzL2oxeTi1T7TbCe+9M2UT44f5kyWeYuwk5S0w2GcAoc3CPFSB60rIAijjyRXqEUuQ8X7llRFk1u9iOKbR9liO4+SVmVlY7iCQPn43Jj7yqdQSKp472YKOLIOV48Cwr26KiBRl1pt/sIMYzqVtPKCoLHuxiox8mLNnDACrRC74llMTSQ5qJHRV0wJhc7TNTv5CymEfSUS67IYBZyC+XnOM6BF4R7Vld/9XlXgWq2BlxvUP6XHy+BJWC3kead4u9yIRfsjQNkOOBW6WYEx0CIgp7bRIE4E+QGdZpwOa+iVo+jY51BgCCzVUck5nwkkIsQDPfoth5stTU5ZjRZ9U3or3M/EL3qBoS7lB99EQG0nz6TC1VnOitv3NiCO/Y2NCUsFczr075z6i3pulVlp+5opXxUC/8m90AvmsvOE//omaSzl/ujwgUiG0cEMRDwBgzyN40OkMi8YdltuIDCvsRwT0JstaxkMeHgxx0HpJpbvrWF3Pk7h2UsBQFnd+N5Xb0PgrHb7zfCLkFgIC+zzH64trtGqgV510Ckdir/uFQTZ3XW652F5SRuaBE6q6DUV9sx3o5WBgy4KeQkCTeKGrb1ysaOQCZFZnfVi9/jVuoQj/Bz/6rh3ansD1ZxMDCiS9hPxyXTu0A/PLtGbetHhPU2dXFlzC+TjEc+dk5cI7flufSY+z+sOyKSM=,iv:VgJqVpPbeggq4USxWmB58GRkF4dEVO1LfxZayCY1izs=,tag:wueogQjrWD+ih0XUNp8Jcw==,type:str] + config.yaml: ENC[AES256_GCM,data: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,iv:bEo9vnvyH7KsTwWgMddCHxBWTSVjq75HiM/RvZQT8LM=,tag:PB2qPKHeaHycEyKbJuLLDA==,type:str] + telegram-registration.yaml: ENC[AES256_GCM,data:o/jbZCNpk1uHZ3fKB3G2MEjyW/4xcjAAH0Z6HDF3NJWxT5kyN/T4LZI6k+RWcQ4dLucI6QsDUbsg/xN6zQlBxqBenCWci6B+fT/UhGeYhoLCa9rZlMq6HEV/hTltgQdp/1CY9LtXIO8dHs0LI9bv/ji36YZPlVYL2ahUjTcmbpkjnnIVVMk1ESO9DXGbbJ5xw7gADW62BgPVUrkOLoPA2Mn/TObpjdHe2o+NuQFQXBIU0T8n9IEdLZ7jIuPVa83xfv5Pty1FrvpRlM2tE9+6Jo4CKG5bS6cspIrI351GT4vxTT6D9jDU0vSd5JM2kY+l4GK1vg/2FwP69KstPo8d0Vv6hXlOR+UOasU3kCtAZ9ux21UgaLChAY8swKnXjHo9P3z9AZQv6zl9FUcsaYSXpG7nSSe5+Ue9nuiQSXJOTlNBn15BS2elQqjqGLF321uom8QRtAJECsMfY0r+j2fHEvIlJKbNYPy3uCDyRv8+C8Kh/BrPTX6z+pE53NfNImJdCQZrgdZl/SCUChDPrAOdecTLeBd3H8j6JC3I743bt1lU2wge49T/3G960yG6zBBU64rHVrBatU+QFnBXko32NcgdsjGXDU9lnhj4H56qMKIOoIXs3VGSP0BzHquo3Dx+A5a5L5VHpU+yh6hfe1prqZ7vzuAWoWyaGysbBPF3sN1cfWMVTu7NBuSq7qRg3dwBx/4F0jYwFnEPuc8C,iv:aHh5NU307aTro9oqPWxSFzXXhkuYroWedKA2uVNHo9U=,tag:yhg1XCbxUPTeBRUPDzi31Q==,type:str] sops: kms: [] gcp_kms: [] azure_kv: [] hc_vault: [] age: [] - lastmodified: "2024-01-22T07:29:58Z" - mac: ENC[AES256_GCM,data:/r3AK23yzD+K/c1A3vTNCAj4AA3HcQoAJbj1JqYkeCftisRp7ApnNWmns9wIKbCS8hB5Td/L9kKeES3JLXMFqqyNEOk8jF0ZYTu1sRKq5XYGitqLiP74xhuqL/1Z7/EhzdAvuMtKdqh6mculadpac737PwsJcl/VXm95ClCssdg=,iv:A7AhF7eSCiVMYFhaTyakRXwKX/olODriLmG2luWVjbU=,tag:aqNpeuUSJJwlIllSDbscTg==,type:str] + lastmodified: "2024-01-25T17:49:02Z" + mac: ENC[AES256_GCM,data:7ZbfssrfQL6B18yMuFNK4HTMbFpJtIRtYHyPskgYyU4BEOhE+1h2temdwRj7AON0YZw1fH3h7DP2DRT/Ky7u5GuPQx8kTvErhjQ/vNrgTThFdoiXx9x6PZYV9nCGJYVUFclpYcEjgZFrj3TwkWOKswxMtQJLynx8VhYo4RyRKjQ=,iv:YETzZJH8auuoUHBsoLsFSZZIjx5PXYJzaLSwPgohCow=,tag:JqXWQXZtMiOWHqkFdGXYUg==,type:str] pgp: - created_at: "2024-01-11T20:55:07Z" enc: |- diff --git a/kustomizations/matrix/synapse/config-secrets.enc.yaml b/kustomizations/matrix/synapse/config-secrets.enc.yaml index 8e18044..02fb367 100644 --- a/kustomizations/matrix/synapse/config-secrets.enc.yaml +++ b/kustomizations/matrix/synapse/config-secrets.enc.yaml @@ -6,16 +6,16 @@ type: Opaque stringData: homeserver.yaml: ENC[AES256_GCM,data:9O2YODDpJf6FzX6DojwGaIYkRs99K/GP+HCBCb4PO5fNJPmyEaN3DllpZjSn1WlgMIMi46gs7wfZJjoJRVz5wq+owwmZw+4lrAnYN8niNKcYoakuHn57WSzlrrqZDMY5i0VKZ1S+QATGll5Wl19AjHIuVEbJ5nQeeORVq+n7voG4/MX3PcZINjKdr4PnTwCx21TrPb9lRunH+oGhbHjMvx4yxNzqOvrvuFMSqkC/lDWrrSfCcn14qbLhq//OAk+c49IUkHTjJVbaK4mx1dbi7LA3rsZmb5cM9iFLPImWZnlpGM3SZasO91paiV8EaH+EkyA/4TpWODi+0KCiwVrLnOxEvmx6NweGOIaWgk04DgFomD468F1i0VVksk5/FwM8QvS8cIZ6Wqk/mAtbki5pnpvSZMrWXV4WSja+IcpoPYZjYdzttiHhxqoQ9Kkka3AqPEm1Nj6ggYtgjfE78dWVxN0jcKTXLV6C2T59jqpwyT9zmIpTJZ6AbZL6hafBprJenwD4mUO+pGzW1zs2nzDDr49nRSLtnRub5ecdYgZTPoInxxJYqbgZIjCYfwc7Y49JeSxklQXspCYZf+xmS0O4w8FzgwWYKCcajju4cRKHe46oN6QUftcmJILyt4LVSCuKzGsIKRnPazPKWqPUDjAs7j/i+jCha6gIctF5wvihfrCXHqD0gHa92kR/M581C6Ch2LFTupyUZtyZEbE+Y1oPlYyn2psBohVm/izl96QKuX7Ujco5Iahf7A55CTMuoBqXtvhpNwZVcmLf3SWiFTN2LfrkG2rXarvq+2TsgMcFeNia094Yk0gISR8UTu7uhhKuoPoFMN+3cCnXqiqMHoehbT9KyV7QuXG+M/jvGnUKPeTtp/Grmd4arvLpFp9UKAXbVkvFCFyTW+562qRnh0Int88ycr6FBdQl1HTN+mQfz4lNLxNomxu+0iDMaNP0+YTncSRragpjV267IUvWzzu5Dl1StD8YUZ2/J+66helA3IGBVlIqoeoAJyrP+GNuhwInTFVBlVxDyn8N/VqJuFw3B8c2W7BX6+68asZROeaTHDu2rYfxVWhGss7oKTxz4RdiK510tLh5OtI7M5f2b8gnhqwTbsiHM4UaCXGP4JdmIsyLcUEeg9K1jQx/LsYCBi9ZaegzbhIvgi3r12495Fzw5gWfZ5Xsf7gvQYR41A==,iv:QemGZaVH7IHvLdTjhr+R7FMyuJlGk9UsZMn5aILwwNg=,tag:N3dCm2v044ZrOgPjWSrjuw==,type:str] mautrix-slack-bridge.yaml: "" - mautrix-telegram-bridge.yaml: ENC[AES256_GCM,data:l+PW2hMSJJ86E17ghwGCHyzs7cO4h3MmLXQOHbZU2V06WliHnwcJw4agn1VixNTW2aJGZzJOezgqg/ZZIM5kCcENTjP13Pyd7I637bdE2XQQT9/KnrCiVFViQSJ+FqKobGVYUWuQkZGB6y3Dw+xo31wVuCP6xUKg7bqj5VgMoDhOVi3C8ckWFnvUqgIxKSTgABN1kQYGreW1jpeAJ8BtmR1mXZ+O/Qq6qNlZlGG/0i8fRwiCzm18r2R+KEtsF0DFneVI3mHqvyeSv19gn2YgNIF6E7Y0lMQBfDAhz/T+dN0uUt23huBA94xVuNEkLA6OlTkOPmVm5Y3+1TDDc1JEyVSaMyODHUFU27NhIcS85b6ImcKjhoezYIxhYU5agGzi/C8ltpt97f2wj3ONna3YRr0p19H3AW3z4X4aPpY779RZ3Ix5f8+/qRd/aiD1hTwUbUk7tILs7Gc1aa/pzOwG4/usK1AYsiO0Eryazeix50s0VvhB9kMNIs5FE+9We8aVwxQubrc3biB9HvpuUgfcQt336udHqjmpzu/xAohc9KaqiSj4gOYxKorm6JO4Y0FoPTWS7Cadq0Wbs5aZOT8SAKZUYcAQZot6n7NFVudc5wZ22SPvTSSoHinipBwYHmoesRzQjX72ZFeHcHDBi5wnWI33EaxEcmryltKyeiesoX1Dl/E5F/mMLUxkCap/pJusum/SHi38iuiKBZ545bn6xOm8kwl8hHpxfNjaNAzZEZRmyAFCgiVYr2pdm935uv2ZVMOEoD75zcds/DGACUgD/VuNVfGLRP/ZT9yh6XCk6SM9RX5Ycv8=,iv:o1rRZEi7DXUo5VrgmKwZT8/+Lvfr1i4n2Xfi+Kn7bzM=,tag:ihE864vT1LNY47MfmLPDGw==,type:str] - appservice-matrix-bridge.yaml: ENC[AES256_GCM,data:e4ceqgp7Mw7QeS6x+6csIRbD1O4Ifp3ruEEDle6GxqD703Emn7/58hHaydmNB/By2JnHvl/d1t5RYIUqwZp25NHjxemKjnS7iLMzCjmf4KhKzWHGnGDwegbEOK7eFKM0LThgcjWKZF9Lu3JSUvcJfmXTIqjLdUh/Min41Kg09IZW3bAMLlbVioV2JUNAdWpGYet9HTKTQVFx7/Dycn28HlFTf8Pn7WM2zH+dCOqtwb8IqJI9fnvCrLLmT1nn6dsG3wZfKUXFK2RVEeoL1wSRvpNRpt3sB2fURO4GNWs+6NkPqdeiQCPGV3GkcqRzCpDWkZ5vUSYiGaSZXEJoR3UBvtx7OM8QVbGQk2TsHXBOlnlrRJXiXjrEH5x2zxD+1vB2D3vqoVhONRuRas4UcnKoocTt+HZ5Vp4cDKLxZGNrQapaMGjVv8l+LFaUVHTr3e6Hi1/qFD2Mcg0AJpFUtSzD21vzpqM=,iv:U04ozvNRpnflofWhAM5TR9gfi82gqpGqa+YHxPdjHaQ=,tag:+q3hHKXlC1oFzFD0qZZi+Q==,type:str] + mautrix-telegram-bridge.yaml: ENC[AES256_GCM,data:WI3qnnmTi6/k0BdVOLFndk9nQPlBXMwvB+JAg68Q8o6eUjaFGQ3UzitmexxmX5JK70G6ZdCmqsfsut2M2eGGxYH4FrwP8nMIz/vtD1IeXciu7IFmNOptNC5NZI41C7UP+OO21SFPeu+tWblu8qa3+OrJOQaL+GLLnRDDk21w6HTR2vvRieTy4c8NSC2XYhoiplZ7Z1FIRKTO75jjQN/L8bGVM3a0nNCmi8cGt+LPtyJBv7Espr3l1kUhiLMUxVK2zeP5HRgXWxB9UeUdqdJa8Yfz8QPHQmroOTMsmXLnocM8LVPOleSWLrYfKvML22g1oTesR5LxazdIc5BRL3upPwz7AO6nOcOKNZVuyVUUmrg2wNscKs6r5LDBJzsNxte4OEtzygpVAjHyiAqYU61atycVzYgfziY7cy0dUmkhikyBfmO5mVFP2YkEINtPkX7tJW4E5s2vqRP8L0PB3rwqBPQPHr3llsUQf1rKLjEThwEcWc1OBgDaZJiRxUd/P5m2lMvdh+hW6y8gDNURtY5uwSh7k7DNJ8n6MSzX8ZnhBAsuwg9tXU0YwgR+uT14D3xsGfUJDYTKpsr5ejY4adbQjOMzgbhadz8iKbZdr8cWVPotBIR76SaGgRXqITWl5ygf1N0PVkgzrkTxdLmIv+7ttqndblkjyW/2W5NvY3iU+skC+GZpgLNDEmGGkmITpBIfxEEYBLNQZynD+NaA9hiATr+TVzAcp760FSOqbFLeDMx3YOpbcNQ77FdPq6qcCPxfe1nstzlQixjf4cEpdfuQWkFZIrlV4EBYh/WNH0VP,iv:7PhPWul/rDWEJB5ecn0myPMwbC6akihS0xZEvyeEB9s=,tag:TMAusZ7EneDQgLsthzaL8w==,type:str] + appservice-matrix-bridge.yaml: ENC[AES256_GCM,data:D7v8HJ1UbN/LI0OQ/VZnMqELIE7C2WiaxNYEGZJg6e0zV7sZ+xV16nQkrfmVEHbIfEsdf/LlmEZmf5JTrqfVi4LPAL9zFYwvJAOKTLmjqKWJSUS+qLqzBgoHwuwvn2qWnZjCDDuqQ8h+L8hDcLoI+GOW805icJxrg3ZX8zrVFldoG23YV9WhPQwnTbpi5LRDGMWWDTxxOFt6/ZgLyRTRAs8D601VEAI7ulyMPsIPZzKOx1aBIWb5VzmP+BKcWj8yYTR6UhFg0ac9a7Kb/U8u/soBRnBLmSEFnL6pVrv2utsyS4SdZNaSZN/PZtgxctdvPFYo/fGH+iFeYWZ11izyaTUngSgOvGTwvdEkn98wd2hwKnM0HvOOm28VX76/2wTiqU0e301AD5ouUKvvTFqJqqowQJp5DD5DX4BZ0jS6n9+QsH8MfeSP89ZgKIhNvHQ8KAnm1yJu5nEvaOt7NVkEL9CVFtrymDqRCCS3/FMVYBtq4bjJsrQ6yXqIzSPH,iv:Kv4eGx1vFgs+sV6iwBZD/nR0h2GzLKqjNJmgsRldNrY=,tag:QGmJZUhn23c1pez9+MCrfg==,type:str] sops: kms: [] gcp_kms: [] azure_kv: [] hc_vault: [] age: [] - lastmodified: "2024-01-22T05:50:40Z" - mac: ENC[AES256_GCM,data:RzkcL1XLj84Xxg7CpBwirNWi46+O+2e3BcSaZkoCOrh434rxRTTX8Ifz8COW4M8+kGhZc/OKAvCsJ3mNEjFEoztm9+L1reoHRyAKl5cYL6B9uFdZqi4Qw0SH2JjtsGrbxAhYE9F7bDHnjhuOBllWHf+QZErzC4FOLZPOWaKbDRE=,iv:pyGnS5Kb15kOo9aMlELH15C7XjNpHkPALuzd1Y4gsDA=,tag:3km2NDpwEtCXrmZrQTksWg==,type:str] + lastmodified: "2024-01-25T17:56:07Z" + mac: ENC[AES256_GCM,data:V/0HvBgbRvVGzFiS8eQ4LN7GL+UXSpnl0YGPevgOscKCtc7Fwgm7SZh8UtW5RIj26+oSqPfyZGi8bfXoMd7axmxZo1PlUx1Jg6lfetHfX1nY4Vg2I4zRrNvFLkvQWA+OvQ5uxppVasOVMd/h24Gg6pqwdIDwqqJNUwm89CfGK0w=,iv:CLrGFyGlx6uQ3TCjo5jGMmoSyBd4dR+dDZdIN5+NQfM=,tag:rc6NaBYon44/Ri4/jdVJWA==,type:str] pgp: - created_at: "2024-01-11T20:55:07Z" enc: |- -- 2.40.1 From b3882daf318260f9a12b5def5cc291417759ca6e Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Mon, 11 Mar 2024 22:18:45 -0700 Subject: [PATCH 15/19] k/matrix/bridges/slack: update config to support team_sync --- .../bridges/matrix-appservice-slack/config-secrets.enc.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kustomizations/matrix/bridges/matrix-appservice-slack/config-secrets.enc.yaml b/kustomizations/matrix/bridges/matrix-appservice-slack/config-secrets.enc.yaml index f4aa52b..260913a 100644 --- a/kustomizations/matrix/bridges/matrix-appservice-slack/config-secrets.enc.yaml +++ b/kustomizations/matrix/bridges/matrix-appservice-slack/config-secrets.enc.yaml @@ -5,15 +5,15 @@ metadata: type: Opaque stringData: config.yaml: ENC[AES256_GCM,data:r4qTOla/LsGtMojbqC0px9vVeDN/308lx19WR1FcHOh/FenPOmhiVN6yqEHiL6NppHm+SfrSdAa58ghF6GVdbv51/Z6K435MPpoAXbcmw2JceZbHZJ2k0u4aY01nWYMKUU+oKcowdzL4bmkA4jkX4XcDVEsA9VlZPAYmSN4O0s4uLl2pJ1K5i0qng2KaCYKAwk5OTK4w//+lK7UhmVC2TBlGZ8MUyuHsvk0zUkWfdXeFtmtVN48LwS3gdjY2ynHDTYl4cmXtErfbqLkdjWLGcTS1LCaIhOSFYTQm04tAWc9TCKB3xYvpx9hSUKN/KrreK7zh6zr2NTYaRMiXPlUT8PC7VdwEkpZPq9fYkeMBBSlRiYUUO2q19Y2rtidWZ3UeKr2MPJA2a9A7l/JGpYeLk7Bg/623xfp2rvqysFbjVQHsR2FUrnhdV/DK6vafRrjPbdKOWjaorc3UdZ6LeS191zwTKUsZHQuW35LXrg+Xhiovle5FetgqVSeMtdAigLQ7rtUzmilZk8clDstibLzmGkKeBsFZKFDkNlMxQmHarA2bH5RcBazugokztEUgRBGVL4XAjStlyYez0EqAXdC7FmxRctx/8fS6n7gLv2eLOxFswNbjpZRDG8ctPGQIF2xPIkV3Ahf9UH1A2Q5pVRCvd49yLflCBE+MFyVjz2FvpkFg915TN3K0j4OKuIW8E5D3whO8e+ofJiZGSgw7+NYZfJi/d1SPMkCyJG5M9wtTJLtLWMDxmvhJlkGO5Hxu/f06EygMKvF1P8DjkpvbFDjClKS/WjmN4IrccYUgrL+kL7XsQZ1EfvFPu/ioKGV9OuHQfOJNqMNPQdGwjg830GSjn2GeyArYSsQ1mJ1QOCPPdlzNpwYf8WRCELAt8LnTWEuKuNpfesvp5pN8DaAa2qagiHMwRKXcwuutgfL3j9gD1wmu3hzbWEilWXXykh75JjM8bPTYkQQWQVJSwjfv9fnlxwxg8bueaVydOyI6TOLfowsDEJR1zy7L5d6uUMwJlrtjHms6N3SYJ4mrgogCrOkH4qX+MMAnkUfVAbxmPvX3u9bxIqbOSoUuzjQto/LJnpPwY6MblEEpkLVo42n2Vaaq2ihMtzXLeq4qd+g7PIQf47RNWtP78+T8csxzlPG7s+c8UPZCoKoVw9EFBXS7SBE=,iv:xNXCfyNWCbWgeDL0oEkPFSxtPxH9SNcUb6nfGo2bRaU=,tag:uy9IUhzGgKgrAI0Fu+hR1g==,type:str] - slack.yaml: ENC[AES256_GCM,data:cIvPkVdSA5gJl0jj1BkwnHwGsJoh2971kphae1IEEirwt9oJ71T0sR9ZAPqhXHlhK8LkYulZX9CcEeMuRwysh4DaFynqBF3J7O7xJnJP9jFC3QopsVnaEhRARnGlLRMqJuOVQFeUixm+71eJ1DI6ApfdfIDwR8KFJfx0+6TWlgeVNNQBu6Vhxlbf/x8sUZEPU6M/FqPaP6Evara0cWSKJ1NIhaosQh6cghp6bxoOOJtrLweGwcKHv2QWCPajUlVv5aHl3qK9djoGDc50cTzD6HPCq6swzn2coI5i2uGNVMg2s6Mxp1zcB6/5PgOeZon2vhlrwsq6T53MzIjyQaocGVXsqQWXZO9eeG0E4ZJxp1lz7DmiwLr9zOrz+9WGWkPkVGII7uskYsUIpOI5qnJp5pkXO828KCSrzlOKdqHu7L7UqYcxnbjYvWaEnOje9snoXMNykYwoLS1Pmb7Sq7jXxQTgMjYjquNVp/yKHKCX2gBmSptYZtcCqU4=,iv:BU3Sz/tFhVn+1uNVYtHT5Db+p8KEqt66BWUhig9lK4o=,tag:SZAujz6AQZPkBYp0QweuCQ==,type:str] + slack.yaml: ENC[AES256_GCM,data:68WCMYcGwY70UwSNdEPeWPWZCJ1+BFO+KJni+oW+1VAnkGgwM7DAw06bWUIlYmwbPMotJqghU8pZicQu2CWaDKxSyvNvTYIyUBSgaUgyhgkAt5iP1fJzM7AA64OLZiJkP3WvfMvQqZpj5q6VMVtci+kETP/C2n2D9SR6g0GqOvSVDOQ14BcEdQZhX/GIqYVy6O1WwER/MMcrzF0gS8Xljhgh1QEwbHN3V6SaDRRt9H3PtxINovs6+N7WBTN6X19npNCvo+vBWc04BqRQOnTbvKDodeI8CSNoZVCCXnGmRdDYmQTX3l8B1ax7pVcq8qgQbT/g10CzIQ4D5/xooXWyPBJO8G3DvWSBS1q6eq/h6Ff5/dof0dpM90r1Snte+rBygioNXNDxZxHiftGHDdHutI2xFsy2d6jpAgSWI9SE+FPrOZO+VVg3oGf1CJ9szcAir9Y3SafwzyNBwvCL9XbRWOb5YR3v9JRbLlyFdPSuBFQciYnxxhPK7xdLr+ggC4YBg5NH51TvPFFrlRBhkHc21GgMpQWW/ambmIPoN8N1ibaIAAywALHVvKcVhVRjSgStRubqkPOw902V1S9YhVl5vb6QtxaI3jZLLtq1uCJwEJ350kY7xIPDvS17J0/HzZBivm8=,iv:BsODzIfvxPxLpZSomElorgtvdn8ejcYIMHE8Ze4VC1k=,tag:xpSnNsE06QEoNAtnCN2vNg==,type:str] sops: kms: [] gcp_kms: [] azure_kv: [] hc_vault: [] age: [] - lastmodified: "2024-03-11T23:12:03Z" - mac: ENC[AES256_GCM,data://wtLgQoGiN4oybs2nvw2v1aH7qIAbOOCqEpLSCX+vsIJz3Niqh3dZeuuh/7Rup+9ETobECNeL6RvnCGRvfGcbqSOiKdIl7kerbJJkaYCB3vdJwPaglwBceob5VuH+dI/T5bmfAX9ghyUirK84yLPq8DW9VYus83BpLnzBBGDiY=,iv:V8WWkDzZr772Qo+JNiYggPYGQgbZMN/TbvrpALAofE4=,tag:TbaMhN4Q9ICqMvBnQfKqHA==,type:str] + lastmodified: "2024-03-12T00:01:19Z" + mac: ENC[AES256_GCM,data:VSdnKuVIv4VBy4MpIuruPVgDqMFLM33VwfWHrQ2V9rWJkqEvWlgrZDZG92qGdBthmcmfhpClCZeAmEI//U5/ejb+rilj1OOkfFqYIHG+JGzEXyKVnWZeHEcWzEGuYDG78n8XgFuCMiexScHOhLcRSiGRN++jzXTAGMp8U2z7feE=,iv:aw7cTJfRq9Z2tJlPFQhE0HYoLweds8b4ybCTofEcMFo=,tag:lgWspTjb1IX8jR1Hq95WCg==,type:str] pgp: - created_at: "2024-01-11T20:55:07Z" enc: |- -- 2.40.1 From 11840a0947220a590493722b39cdb98e8bf63466 Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Sun, 31 Mar 2024 14:40:26 -0700 Subject: [PATCH 16/19] k/matrix: add mautrix-slack --- .../mautrix-slack/config-secrets.enc.yaml | 138 +++++++++++++----- .../matrix/bridges/mautrix-slack/service.yaml | 2 +- .../bridges/mautrix-slack/statefulset.yaml | 7 +- .../matrix/synapse/config-secrets.enc.yaml | 7 +- kustomizations/matrix/synapse/deployment.yaml | 3 + .../matrix/synapse/files/homeserver.yaml | 5 +- 6 files changed, 114 insertions(+), 48 deletions(-) diff --git a/kustomizations/matrix/bridges/mautrix-slack/config-secrets.enc.yaml b/kustomizations/matrix/bridges/mautrix-slack/config-secrets.enc.yaml index d3ee497..7820d0c 100644 --- a/kustomizations/matrix/bridges/mautrix-slack/config-secrets.enc.yaml +++ b/kustomizations/matrix/bridges/mautrix-slack/config-secrets.enc.yaml @@ -4,55 +4,115 @@ metadata: name: mautrix-slack-config type: Opaque stringData: - config.yaml: ENC[AES256_GCM,data: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,iv:evs64dfMgXcdGQ0fOKODz/tKxsGhJEO8RUjI91yJFRk=,tag:Q1YIbosNLObwzdD9IN7CiQ==,type:str] + config.yaml: ENC[AES256_GCM,data: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,iv:FuXPWuugdzXyfwI+c5MsAaCGT/IK7/YwTbBuq/Q+UE0=,tag:QkGuH1yMQ2d8+LUdKdxZsQ==,type:str] sops: kms: [] gcp_kms: [] azure_kv: [] hc_vault: [] age: [] - lastmodified: "2024-01-17T06:34:24Z" - mac: ENC[AES256_GCM,data:HRiXb1mRg3BTFrBEGZoiSqk1uY0fChfVkp0tTxqF70FU2Y1VMjws7/+5j2zIFigNOF1bX0EgvT+/TidYZV4u5V6BdI1MQIZBriKOlXvTzAYNqcTUutkyfj8qWfXPXc79h4jfG7gYs5ZgYyHwqDCzqg9yR45VrEloomURNteHwXY=,iv:Xbdm2PEVKygxXxeUvpilMGodypvGFpf/LGLtGoFaVb4=,tag:wTFk+RGkUN0xwseyQMKAvQ==,type:str] + lastmodified: "2024-03-31T21:36:11Z" + mac: ENC[AES256_GCM,data:3hbGSFYXJgwEP+BkfWdU1ynpTs1n6zt8Yj6g9nI7f5sULWa88HGzkZX9i7xIRrWaRksjgT5UplYikRHTXKXTkNJLDlmvE00GV65IIVSkzxAVHb3WuKRYHOO9vpDfxI9/t7eijGlQT/gwqBIpdcFsfpw4fG7pCHX68CEYqSb2/mM=,iv:nUrOzVRMbuQ7SarujTJqZvjFK4jbJQto4Rc6WMd6Ay0=,tag:Fm1svF0D7dOsZ6XywHmttA==,type:str] pgp: - - created_at: "2020-06-02T09:52:22Z" - enc: | + - created_at: "2024-01-11T20:55:07Z" + enc: |- -----BEGIN PGP MESSAGE----- - hQIMA8KRInHl7Vz+AQ//Y/HrzsCVGBA+HzLn+DM87KdFvqULPvHGMcT9Z87Bcyv0 - ZKrIfazy89SnYa/DPNufaWFMy0Yp4INyV1MSk0/vaQehmJNVXh9lWlomkjks92Pn - +Su090MZF6AQKRJa4dbkcNGNHWf3fb3U2XSPS9Mu1FWNl0tb6o3zaYWBG/C7GL5f - scxpHrgg69+/8SZg7wTTh9t4YidFy6w05dta6rsJ4frkohJPtk+uifKOCPs45XVt - 18Rwo/HgRPFL69LoAmpDl/6F2EKDgn17fqbHA1x8lAVGPUrXMP7VMf8aD6qZUr06 - Rso/UwJI8D53yEZs1GzrBAjoPV59QQ3MvC1IB6HD14GhJcHQ28aggcuZYgC+19FW - m1wwgqxnCxXPTHerBYRy9trj5yR4MK6Kmm9NlDQiUUIfpY5xgxtdktB2/Thkqia0 - JqiXLq+ySmlKTZCh2rf4hJSmdG/Um/bETLrd2/Sigx2LlzD/4oT+gVz1gdhtDX8P - NboD5q7EOg1tW8m36ASkv/4DrEmfa6ev5B0vKUTLDcB6QXYEem3q0Oa95uWqcei0 - nnCTVrnM1Powsij3jG8vMhShoObeqIknpfDuN42AeymAlUaUNC8gGJx9u+kTy784 - mo88jJDwCvBamqpMhzP1xuIZVb8KHenj7Rg/cz9yQXhMGw5hJgFbL8oBLssVkUTS - XAFD4Db8CWujiTUm2kTZwm3GSWQ1191VQ5mTLDukml/0ZF/4/gHcEY0giSL3KsfQ - wvsHHA3guylY6MRrlEMIgS5FjWiA2h4+cZkHOC2cqmGek/ydSPWITw1SJr1p - =jUyH + wcFMA82rPM2mSf/aARAAkFACzQmqyF9BqaD1qEjIO4e6owS/n4h3U6ee0Y7fhO8y + a5RJ4/HvMmfXcYeHm+CZjsFaui4YJkPS93clGTJzV4w15yXJUunIVjAmkvSrVh6P + GqRUtNpi1y+JCS3sjlAfvm3h9b08dNxFv7rTwZtDiP8zmcNuB0zbLBFR7G6ixetx + ZxL7piPYX75Rqoz8A/+V7VAtsoX8t3xv5xgjHzzfhiM3TeoQUgLnF8aN5huiSptf + dMmNMa0GGu5QaUjYJ3iHjv5eMtCJ79KwpuCfv5iX34Q++rTe5VUWoQabNAiE/Frt + Rc3JB8o8rfL6WME9qIIa5k654JlVDKqOvTH3mtHkOIWhD2+CEK89Siq3G35Kkct8 + Ym7UNa6gE8IdSGkCOH81G4ZheU6Z8OKF1Z7dO+o7IdgIURTwLEFeBIC2PtWOKOJP + PnzqZNk1w4n4XK6hQg4bmIj8VaZXXgHEXcO/jaGCoRyr36BHCE1Sj1ae5cMUgDje + p6WKVO6gXfRg7SRJqQNUh03Lz0YKIjsI/429UPyf9mtXbHfvVyrW3+wyByok86FG + cGL1Y/N7thxAxXqHy4OZFCE0NMP2bobMzzGJTtDY9oPsGwTb6xk1g0wE5zg6IoQa + 9hnObBJhdpvYcD6juz+V0wkeI30essnz7ZTtsLdfCox6mnP5BMTtzxmcRrCpNvHS + UQFIZa0XryYoXv3rcw6yUpkqv6aYzD3L4PnqYtGUEtbMoTb8NXa9Cp+1OeypqZ0g + 7uO5zCKJgL6sBaPnJL5/n+afafzYcIOsQc2O+q0s4O1d5Q== + =3E6w + -----END PGP MESSAGE----- + fp: 6B61ECD76088748C70590D55E90A401336C8AAA9 + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMAw95Vf08z8oUAQ//abo3n5r8YdQ6p+/X031/n8MCvWKw+ERGSvDuT2r7g8m8 + DqrBQmX578jHVmZkC2B6fYqEBuQAeyEJyQ56MLMuGMNSET8dgNS4Uj/gwvsuEDQf + NhU10WLkfQ3g2/o654BVzPC2b3UQTL4mmXqp0+ID79uynn0/WZ0TQQ8xj/uUaDS1 + h6/uC7mmDGTHaxF3gFuYkvWMghU0bqX5BfrAPdICAr8FIqxUGIvUD6KkBu9hWTYP + RLtfwpU/DAcT/7pNtic25WzzQt7W0mok3zUZZq5r2UqO35x2XOrgC5DQ69QYf7JZ + a9S236gEpAS0Kl1IWSvY2kDzj/J27T3nonY2kX3a+UqVWX15LEmVmNNUMwjz91/b + 0G+26vustzinHBs30EHGBqhyELjRW0RjcmlVGNXvZwhgGL5/LNIEcfBi19tIang1 + dRYE9TasSeRbyTU/A/CXFDeuGtC8K552SzXjv1zP6gkwZFb0/zd0/XHPSyGyOLbM + 1PC3JhkA8GEYQ7l9y5BdPXxZseuoSHDPHfMRIcnogx6w6rfBdd9+78M1WjnGzhYi + /utORBaiwU9Zk+Xm3B+WbkDl5+jio+UIp9nHoYAGfuJ9A6TZYBIavB6K171wALke + Kl6hoTxef/VGwdfXB9ikUy0bi0Km1vVpZGVzIjSFXiSlLkaamhxUFSgDPGZN21rS + UQHeXKkhgKXTEVvi+kypRbN2/174bElGTWz1C2TWPNJAcvvKmRw66t5g8pahnXbm + SYQoB5JaAl0URu6zHWBYhCjQjiyePhnxHV4tgGtEYAdY3g== + =xXRR + -----END PGP MESSAGE----- + fp: 88823A75ECAA786B0FF38B148E401478A3FBEF72 + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA0/D4ws+/KPtARAAsxa6N9jRT1AUqfWI7gIfJK6i6g0F5oxRYJ5A2mjhc89k + ZAN4/tO9GC+Fg8+lLhPHdiz6v2T1+92AFXET3jm+ax6rYei2woMHNXKzgqxjkQEQ + xQ/3LcQ3+FOTrvy7Gir9HQ/DoWSePBF7tx16unxH75hi6AgOiT0nFoEbXP3CJXie + lVOO5r5jKgBg9LENj/U+9LHjXB6W0PbVdhxdeStk2TTKcmuDnrGeqKZ3SyZ9V33p + DEfydW+T0ac156Eb2tdszzW5e87oPmW78wvLkotboZcPVWBadRtJkzVn3JXoMAda + gN+W2+I4/4iQN8ITBQ+2i5GsdbHtnrmPkzSbtSqhujwZ1k/a7uRmHy46ejDK9QnT + lQzm2OKyjTlCDhnxnKj0eTE4nN0CDyxGBNlNVG2piKd8i+HpqrjKJ9IUcMj7oO3U + 8rtQ2A0LHquNvu6ZatP6fUk3tKgLaEslV4ORXMlILdZXlYqgznmvWJaII3XVeu8l + G/tHPkOhrcQDIecBeYcTLZYXtPtmY1UNJZfbDazG/9J0rdq/r9NmnB7woy7FSYEp + yRNji1i/89nVLsu94ra1D6FHyxgIFTSLkD7s1iCMTsz0UdwfbxqdLIWumYrm04XF + wM2eTB8OAGe8mdfi1q4te0FEDMLTpdYBhYDDjHmBv4fXwKPcWkgixvNJtT6xPgLS + UQEvOn03hQ8MCQ5kh1R1FoTOw1UpgV0eqJSateC2wkBKbZ/4NWPbnZA7XAW6Jb98 + JidKJ8TiYiI33hxUhu4nUeZWjNcd7MgHyl1Do2r7SfyICw== + =TXST + -----END PGP MESSAGE----- + fp: 3D7C8D39E8C4DF771583D3F0A8A091FD346001CA + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA5Wf+FyJ+zFJAQ/+I9khYJfqjCHhrAaElVWKgn4c+7C+oilVNE0132pQZfLb + u17yv6AYY5zThK6Lg0GZMKaKFn+JuF9wonTyixJQccJ+w2MxsJQRNQZTV/t19HrQ + B+6YFLVPNyOglr7jf+o5BnOdIvpR0Cog5JDzn0j4iwpRWRSGW1sWXiABKWUIW0Ks + nR7Rm/k3Jm8zYO6LtoyYog5HGUEHRMuOY6Yoj/EEbfDLKFU5WZ+hfKnbGGM9KW31 + RkXoCtjm2AstZTia5+Y0E3wNb9bbvpbkewyQd5KqaHmHaX3MzuoYKNHGVEgPMfla + Y26aED5uSLETv+C1U/jYJyxyVJxNYb2JBrS8a7+p+mo00Cvbs/pbM/cr5Y/Ogu7Q + Ed0+Ixst3LzSTOcYAAiEC/LpWztaIp/4h/cAfE7eKnsoFUVcv2lLpLHyI7fS/sJH + Ywp8tlqlfx7DaCqYEVjPMSfI9qBbJomoQ77szHL+Gyi4ibyF0iRz0/NnF5lmu5H5 + sDAYiqnHEIpk1v+gWXoj/CQq7a5jJf044cYylcO+al27cugr+jr5TBQQVv+wDNJV + LqpAxmmz8yUJ6RlTSg5JwNlNCCOONv6f+lX0Cjk7V0kPcOMgbVn19Su7zIvhM7wd + m9mzuVWWx2SBGzORdK9W4tt7lybU7aCvusT1jP1nwXF/JCz9lyEbb1syaNIAiXHS + UQE2Va23CUVgB+cV/ImXBCEuAjZhiSMFVCtWOZrcqPS8EZX9s6WzscpsEmFnDE7t + GVR3u1IyjxTsuTxxYU0ldSjHqYFjQrgRD3ZBzwZcgeajqw== + =bF9b + -----END PGP MESSAGE----- + fp: F4BF5C81EC78A5DD341C91EEDC4B7D1F52E0BA4D + - created_at: "2024-01-11T20:55:07Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + wcFMA8KRInHl7Vz+ARAAoMRyGipvXTgUChfL1Lryej14FI9+8dvWQculBjPQzg6x + oxdPzz07ifIX8D64zfToE+qc439l/RYwiMx9XyGscEim0D1GIFPwxOm4DCXT+/5m + wlLkOBP7oMwirqSazS7dNF1hE83717QTi1GqC0UqhoMINtxrhQIv1Y6xxREqD1Wd + eW3M45p1i8iSZkzF7n0EhIK3J59Wl3vxt9FUX3YRWk1JH0oaqIc1VCH3TJc73DAx + 9e1jIVQSo4R8BfQc5Y64xRh0eq/87Ud2E2x9JbZmpnw4FN/OHg9QqRMaZ9r6EQ/l + VerhJFkfSj3UVAfODzViKXyNTKRak1GOcQBE5lfAXynAW1nfTTx0re0rl6/tvOwC + i02a/raksTI8afak1RMclNFqlihsegGU239ZGDRPb4apL32nYY0SMim58vET8rv5 + eTiQE1udg+1ttIRAGq/PxzHKlc6FUEdyJ6i2Da16c0K76FpF3Gnxxhw+Tleixx3h + 6+PbhC2qEgt7LS8TNg9J2WTDy4Hlw5YEmzOAM9NA6UYrH9BHsR87sbdriz6pAC55 + CnFkWptrME4CjUP72qIezRYt/4784ABTw6poQ51jP30641YhgPoYLrWS8hWQYaE3 + jcrum3JQnLTjsE88OclcreKNvNj+b1t0uxuHa/6UdMnyRCd8osJ22s6JJHLGgB/S + UQHvy+Rv0QJ65DjsJ4TfdRBLcKXaF7Ar5SaANqGi8EYwjVbhfImwx5VSEsvQclEU + 7JihoETtCrRwJM1BkJz3nuBAaYDm1Y+lWHSyVZ6xi8G0eg== + =n6cE -----END PGP MESSAGE----- fp: C92FE5A3FBD58DD3EC5AA26BB10116B8193F2DBD - - created_at: "2020-06-02T09:52:22Z" - enc: | - -----BEGIN PGP MESSAGE----- - - hQIMA+dk21Yn2OfeAQ/8Dy6ehuYCFdztLFsONoHbkJYpaNh/LkVPnlrLweNEEIUo - b4XyrFakhxw0YzJ1KPfJy3htWnwUs6FG9X6wp58IE3sjZm3deKFelkHz8ya/HFxl - N9exso7n0+AhcKAj+1hSDx4Hok5aUT2Kk7y79mmNfO2jIRFYxg5ZKnRvxxGA6zjl - KaN0qd91vHjyCwJgMgmBuaTbwoknGrJ4CyXS8rn+T45lld+dh6bkwhOX5XJfJbOx - MGtr/Xnw4AHiF+ZU8nYrrFg4GbAQMpWtgdgJhNELMt4wDTVpAU0dXA5uaDH6SQQv - zH8E6QI+YGqx580Tw9Ym2kc/HSGYCfR97dJnuihwgB0uzoUgTWRDmMzIo5RSiCor - QWNnqxQ4eBGMtmtFvZVqpHFgeABfY3w7JPpREb3tIeUPmPee6ukarV/JavXCoiUY - tEQNO4mQWOlzIg879Sbzme1fDq5tOiKwt36K9w9z7hqOY1B+KRnzF4PCnpYD708Y - jGGvyaGOqnmsN2LzCTtMCUaBzgCKFaBWeCmXHdzjpSBb4MH6qvEaeAbqlGAf6Nhw - geOz2yLJ8nkprbjRJEAz9Q0fE3gZ9wy1VAN4pP20qVZHKZfHd0RXpAbUJMoMwJpc - aCHjMop1rFqEQBtZJDEoPaizbpuY4oNZgKwwItCWJB+wEf7SfJKOHRUE8IhFBXPS - XAE2EmJJb7hzXD2JyIaCPQ2TXQTc+ZOoq4GrT540NKor0GhsLpTONAb6UO0nZqX7 - O+uMGqruCMA8t5RZXO2pmuIQayzlEDeODEOu4CUxS7NpOox9bb7x/Dau/Znj - =l1ip - -----END PGP MESSAGE----- - fp: 1115980165DA45DFC018CDE5232B66DFEA222365 encrypted_regex: ^(data|stringData)$ version: 3.8.1 diff --git a/kustomizations/matrix/bridges/mautrix-slack/service.yaml b/kustomizations/matrix/bridges/mautrix-slack/service.yaml index b5040f0..a8e33c2 100644 --- a/kustomizations/matrix/bridges/mautrix-slack/service.yaml +++ b/kustomizations/matrix/bridges/mautrix-slack/service.yaml @@ -1,7 +1,7 @@ kind: Service apiVersion: v1 metadata: - name: slack + name: mautrix-slack spec: publishNotReadyAddresses: true ports: diff --git a/kustomizations/matrix/bridges/mautrix-slack/statefulset.yaml b/kustomizations/matrix/bridges/mautrix-slack/statefulset.yaml index d1c6f24..aff1afe 100644 --- a/kustomizations/matrix/bridges/mautrix-slack/statefulset.yaml +++ b/kustomizations/matrix/bridges/mautrix-slack/statefulset.yaml @@ -1,8 +1,9 @@ apiVersion: apps/v1 kind: StatefulSet metadata: - name: slack-bridge + name: mautrix-slack-bridge spec: + serviceName: mautrix-slack template: spec: containers: @@ -20,7 +21,7 @@ spec: protocol: TCP volumeMounts: - name: config-secrets - mountPath: /data/secrets.yaml + mountPath: /data/config.yaml subPath: config.yaml livenessProbe: httpGet: @@ -37,4 +38,4 @@ spec: volumes: - name: config-secrets secret: - secretName: slack-config + secretName: mautrix-slack-config diff --git a/kustomizations/matrix/synapse/config-secrets.enc.yaml b/kustomizations/matrix/synapse/config-secrets.enc.yaml index 02fb367..dea8ac3 100644 --- a/kustomizations/matrix/synapse/config-secrets.enc.yaml +++ b/kustomizations/matrix/synapse/config-secrets.enc.yaml @@ -5,8 +5,9 @@ metadata: type: Opaque stringData: homeserver.yaml: ENC[AES256_GCM,data:9O2YODDpJf6FzX6DojwGaIYkRs99K/GP+HCBCb4PO5fNJPmyEaN3DllpZjSn1WlgMIMi46gs7wfZJjoJRVz5wq+owwmZw+4lrAnYN8niNKcYoakuHn57WSzlrrqZDMY5i0VKZ1S+QATGll5Wl19AjHIuVEbJ5nQeeORVq+n7voG4/MX3PcZINjKdr4PnTwCx21TrPb9lRunH+oGhbHjMvx4yxNzqOvrvuFMSqkC/lDWrrSfCcn14qbLhq//OAk+c49IUkHTjJVbaK4mx1dbi7LA3rsZmb5cM9iFLPImWZnlpGM3SZasO91paiV8EaH+EkyA/4TpWODi+0KCiwVrLnOxEvmx6NweGOIaWgk04DgFomD468F1i0VVksk5/FwM8QvS8cIZ6Wqk/mAtbki5pnpvSZMrWXV4WSja+IcpoPYZjYdzttiHhxqoQ9Kkka3AqPEm1Nj6ggYtgjfE78dWVxN0jcKTXLV6C2T59jqpwyT9zmIpTJZ6AbZL6hafBprJenwD4mUO+pGzW1zs2nzDDr49nRSLtnRub5ecdYgZTPoInxxJYqbgZIjCYfwc7Y49JeSxklQXspCYZf+xmS0O4w8FzgwWYKCcajju4cRKHe46oN6QUftcmJILyt4LVSCuKzGsIKRnPazPKWqPUDjAs7j/i+jCha6gIctF5wvihfrCXHqD0gHa92kR/M581C6Ch2LFTupyUZtyZEbE+Y1oPlYyn2psBohVm/izl96QKuX7Ujco5Iahf7A55CTMuoBqXtvhpNwZVcmLf3SWiFTN2LfrkG2rXarvq+2TsgMcFeNia094Yk0gISR8UTu7uhhKuoPoFMN+3cCnXqiqMHoehbT9KyV7QuXG+M/jvGnUKPeTtp/Grmd4arvLpFp9UKAXbVkvFCFyTW+562qRnh0Int88ycr6FBdQl1HTN+mQfz4lNLxNomxu+0iDMaNP0+YTncSRragpjV267IUvWzzu5Dl1StD8YUZ2/J+66helA3IGBVlIqoeoAJyrP+GNuhwInTFVBlVxDyn8N/VqJuFw3B8c2W7BX6+68asZROeaTHDu2rYfxVWhGss7oKTxz4RdiK510tLh5OtI7M5f2b8gnhqwTbsiHM4UaCXGP4JdmIsyLcUEeg9K1jQx/LsYCBi9ZaegzbhIvgi3r12495Fzw5gWfZ5Xsf7gvQYR41A==,iv:QemGZaVH7IHvLdTjhr+R7FMyuJlGk9UsZMn5aILwwNg=,tag:N3dCm2v044ZrOgPjWSrjuw==,type:str] - mautrix-slack-bridge.yaml: "" + mautrix-slack-bridge.yaml: ENC[AES256_GCM,data:7prhlEl/Ftf2CJWX67OF36fU386C5aGtrG45ofQCepBlI1Chi9ntswRd4VmiOnEt3vepgy4WFPRrAGu+1ycvILgCztK/2hFhEEmnf6vOlNkddXhkyuB9AgOTeCZ/ieTFXw0kErmaAvFwCkdp/SZIh+rqOTGk/3QoPqv7+1mLTxyuUOGeKlizs+4AfzFqpommfQNC2ZPpbOCtih/OZty+nbleyYnwBCyiIEOSI/to8m2aAIlg69fIT6cOwj4xiglO5dovXtr3Qe0VqkxBPOzD+1T5cFl2Q6zW0pFI320lP9MDwif92l8tTUEh12io6QtI5vQj7sNOoJ1FtnJwToL1V/vjESjl5MN1+LpZVicX4V2fUevJbms+7HUJFz4hETv1x/9tNmGSm5blZBz3qtUBJM/mRyBhnznjok0E9EXbGI6ox9O8scsvmXSYnkZHgFTXerqY/DmWmfFenWJLopNy7x1YNXUyb9z90//shUK5/Knau/YcCAKkDmzg6RObgHjkdCx/lfVePIkdKqrwS52lL5+CCgIKDVQm7Ds58E/0b+84N/6FWCwy5YV1+1R0SEywgVQ1WzjxJnR/Yg80tKQVqAzroFO5RWhffQEAyp3YQSURVQiZw4L89UXrfSvDvXu85olcGq1rXWGrDHgZSo7NKCbEQ29q8LsDgw==,iv:GyV3W2Rl+0T3pwrV1/Qv3OV4gYb8btnHMu340brhEcw=,tag:xRywHK6w5TfUdZTfS9XYhw==,type:str] mautrix-telegram-bridge.yaml: ENC[AES256_GCM,data:WI3qnnmTi6/k0BdVOLFndk9nQPlBXMwvB+JAg68Q8o6eUjaFGQ3UzitmexxmX5JK70G6ZdCmqsfsut2M2eGGxYH4FrwP8nMIz/vtD1IeXciu7IFmNOptNC5NZI41C7UP+OO21SFPeu+tWblu8qa3+OrJOQaL+GLLnRDDk21w6HTR2vvRieTy4c8NSC2XYhoiplZ7Z1FIRKTO75jjQN/L8bGVM3a0nNCmi8cGt+LPtyJBv7Espr3l1kUhiLMUxVK2zeP5HRgXWxB9UeUdqdJa8Yfz8QPHQmroOTMsmXLnocM8LVPOleSWLrYfKvML22g1oTesR5LxazdIc5BRL3upPwz7AO6nOcOKNZVuyVUUmrg2wNscKs6r5LDBJzsNxte4OEtzygpVAjHyiAqYU61atycVzYgfziY7cy0dUmkhikyBfmO5mVFP2YkEINtPkX7tJW4E5s2vqRP8L0PB3rwqBPQPHr3llsUQf1rKLjEThwEcWc1OBgDaZJiRxUd/P5m2lMvdh+hW6y8gDNURtY5uwSh7k7DNJ8n6MSzX8ZnhBAsuwg9tXU0YwgR+uT14D3xsGfUJDYTKpsr5ejY4adbQjOMzgbhadz8iKbZdr8cWVPotBIR76SaGgRXqITWl5ygf1N0PVkgzrkTxdLmIv+7ttqndblkjyW/2W5NvY3iU+skC+GZpgLNDEmGGkmITpBIfxEEYBLNQZynD+NaA9hiATr+TVzAcp760FSOqbFLeDMx3YOpbcNQ77FdPq6qcCPxfe1nstzlQixjf4cEpdfuQWkFZIrlV4EBYh/WNH0VP,iv:7PhPWul/rDWEJB5ecn0myPMwbC6akihS0xZEvyeEB9s=,tag:TMAusZ7EneDQgLsthzaL8w==,type:str] + doublepuppet.yaml: ENC[AES256_GCM,data:bA8r1TZECeDxIuUxkBcM0MOFdplcB5wus7KEir7LfPWFA06aUCz5o2BU/YKSzf5NlEtwQLlCiaDdONPPfLMvjHxaXBfyd2YCIoqeP7GCCqRnfZE4zaY2QajrUkBZQV9DAvf23Mt9Zw6ByLUHWIGvB95WOGHXxKeyDo0jnUgDWu+Osm+UIkbYKEOBw/rF3NOAUBQxxh9AlxwU/IUMV3++dhbGaTF46RN7FF/XLUJ4d3zt/f9r/UUrPwksiyUFyDRjRuV0ABn0aLneeJhcL2H4MeFnkjuRie9t292ief1UGbbqZnSMSuh//V7UrxKJw3o/asVRQQkxJOVQfAa6TUcBq/kxhuYXDBg1mAFD8/RGmA6pjJGH5+q9Cqaqmj6PgLRU+HS2iZnkkz6FRK6GmSAXu1vcwB0GC6NkLXU75B8j+3b8DV+rM6boKzQgAVNT+McCm0Zg2DdtMvQ//Qqetg8AXOvHXSJZ/zU7HsM42fm8Zk49uF6abKY=,iv:227zkv9T+yoycJNumdo0rV44ngXlM5hYu/1kRBj93r0=,tag:yQq2Aiw2sB4kmp/CeJ0G3g==,type:str] appservice-matrix-bridge.yaml: ENC[AES256_GCM,data:D7v8HJ1UbN/LI0OQ/VZnMqELIE7C2WiaxNYEGZJg6e0zV7sZ+xV16nQkrfmVEHbIfEsdf/LlmEZmf5JTrqfVi4LPAL9zFYwvJAOKTLmjqKWJSUS+qLqzBgoHwuwvn2qWnZjCDDuqQ8h+L8hDcLoI+GOW805icJxrg3ZX8zrVFldoG23YV9WhPQwnTbpi5LRDGMWWDTxxOFt6/ZgLyRTRAs8D601VEAI7ulyMPsIPZzKOx1aBIWb5VzmP+BKcWj8yYTR6UhFg0ac9a7Kb/U8u/soBRnBLmSEFnL6pVrv2utsyS4SdZNaSZN/PZtgxctdvPFYo/fGH+iFeYWZ11izyaTUngSgOvGTwvdEkn98wd2hwKnM0HvOOm28VX76/2wTiqU0e301AD5ouUKvvTFqJqqowQJp5DD5DX4BZ0jS6n9+QsH8MfeSP89ZgKIhNvHQ8KAnm1yJu5nEvaOt7NVkEL9CVFtrymDqRCCS3/FMVYBtq4bjJsrQ6yXqIzSPH,iv:Kv4eGx1vFgs+sV6iwBZD/nR0h2GzLKqjNJmgsRldNrY=,tag:QGmJZUhn23c1pez9+MCrfg==,type:str] sops: kms: [] @@ -14,8 +15,8 @@ sops: azure_kv: [] hc_vault: [] age: [] - lastmodified: "2024-01-25T17:56:07Z" - mac: ENC[AES256_GCM,data:V/0HvBgbRvVGzFiS8eQ4LN7GL+UXSpnl0YGPevgOscKCtc7Fwgm7SZh8UtW5RIj26+oSqPfyZGi8bfXoMd7axmxZo1PlUx1Jg6lfetHfX1nY4Vg2I4zRrNvFLkvQWA+OvQ5uxppVasOVMd/h24Gg6pqwdIDwqqJNUwm89CfGK0w=,iv:CLrGFyGlx6uQ3TCjo5jGMmoSyBd4dR+dDZdIN5+NQfM=,tag:rc6NaBYon44/Ri4/jdVJWA==,type:str] + lastmodified: "2024-03-31T21:34:41Z" + mac: ENC[AES256_GCM,data:RZ0jexcJq46ByhdZsG/Ab1ONc0cie8UAY7e5pw4+3IZmh1Zgg41vz1+sbitIUVC1tFjND7Jo0Ess+agS7/b45JZU0rta9rKp7WhCOtAVhBO+BDXmRKMtWynd/TSxoBdUtHG+AlGAoPRmz/4HjUMDoeO0CFoa/jR5Ajfv/xrSa2o=,iv:W/XuQZ8Ju6pv3E/b+0ugDsg9J/FXw0ixfFwLNlmLgxQ=,tag:W+xjNY+AJdZb+dxUrvLosQ==,type:str] pgp: - created_at: "2024-01-11T20:55:07Z" enc: |- diff --git a/kustomizations/matrix/synapse/deployment.yaml b/kustomizations/matrix/synapse/deployment.yaml index dc1878f..d11b94e 100644 --- a/kustomizations/matrix/synapse/deployment.yaml +++ b/kustomizations/matrix/synapse/deployment.yaml @@ -71,6 +71,9 @@ spec: - name: config-secrets mountPath: /bridges/appservice-matrix-bridge.yaml subPath: appservice-matrix-bridge.yaml + - name: config-secrets + mountPath: /bridges/doublepuppet.yaml + subPath: doublepuppet.yaml - name: tmp mountPath: /tmp restartPolicy: Always diff --git a/kustomizations/matrix/synapse/files/homeserver.yaml b/kustomizations/matrix/synapse/files/homeserver.yaml index 2fd9a89..0225234 100644 --- a/kustomizations/matrix/synapse/files/homeserver.yaml +++ b/kustomizations/matrix/synapse/files/homeserver.yaml @@ -61,9 +61,10 @@ acme: # Bridges app_service_config_files: -- /bridges/appservice-matrix-bridge.yaml +# - /bridges/appservice-matrix-bridge.yaml - /bridges/mautrix-telegram-bridge.yaml -# - /bridges/mautrix-slack-bridge.yaml +- /bridges/mautrix-slack-bridge.yaml +- /bridges/doublepuppet.yaml # Turn turn_user_lifetime: 1h -- 2.40.1 From b2e1530b33a794f80d983ccc8264970848d5f6a9 Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Mon, 8 Apr 2024 08:26:46 -0700 Subject: [PATCH 17/19] k/matrix/synapse: increase rate limits to allow for slack bridging --- .../matrix/synapse/files/homeserver.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/kustomizations/matrix/synapse/files/homeserver.yaml b/kustomizations/matrix/synapse/files/homeserver.yaml index 0225234..4803ee0 100644 --- a/kustomizations/matrix/synapse/files/homeserver.yaml +++ b/kustomizations/matrix/synapse/files/homeserver.yaml @@ -49,6 +49,20 @@ listeners: - name: [metrics] compress: true +# Rate Limit +rc_invites: + per_room: + burst_count: 200 + per_user: + burst_count: 200 +rc_joins: + local: + burst_count: 200 + remote: + burst_count: 200 +rc_joins_per_user: + burst_count: 200 + # Registration registration: enabled: false -- 2.40.1 From a8ce7cc03c175fe06ddef0c1375094a4d52d338f Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Fri, 24 May 2024 07:30:37 -0700 Subject: [PATCH 18/19] Re-enable matrix appservice --- kustomizations/matrix/synapse/files/homeserver.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kustomizations/matrix/synapse/files/homeserver.yaml b/kustomizations/matrix/synapse/files/homeserver.yaml index 4803ee0..3489e5a 100644 --- a/kustomizations/matrix/synapse/files/homeserver.yaml +++ b/kustomizations/matrix/synapse/files/homeserver.yaml @@ -75,7 +75,7 @@ acme: # Bridges app_service_config_files: -# - /bridges/appservice-matrix-bridge.yaml +- /bridges/appservice-matrix-bridge.yaml - /bridges/mautrix-telegram-bridge.yaml - /bridges/mautrix-slack-bridge.yaml - /bridges/doublepuppet.yaml -- 2.40.1 From 7899f443e92121f2c4975da7aab1d78182bc13a1 Mon Sep 17 00:00:00 2001 From: Danny Grove Date: Fri, 24 May 2024 15:12:39 -0700 Subject: [PATCH 19/19] Hashlock to element-web v1.11.67 --- kustomizations/matrix/element/kustomization.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kustomizations/matrix/element/kustomization.yaml b/kustomizations/matrix/element/kustomization.yaml index f08a205..445d25c 100644 --- a/kustomizations/matrix/element/kustomization.yaml +++ b/kustomizations/matrix/element/kustomization.yaml @@ -14,3 +14,6 @@ configMapGenerator: - files/config.json - files/nginx.conf - files/default.conf +images: +- name: vectorim/element-web + newTag: v1.11.67@sha256:5dcccfdebc05852e835de3fbb36d34cd34de2776724f0c8c50167d5da382e8ae -- 2.40.1