Store WIP services for safekeeping

This commit is contained in:
2022-12-26 15:34:08 +01:00
parent b448f79269
commit 93612623e4
15 changed files with 861 additions and 0 deletions

View File

@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: matrix

View File

@ -0,0 +1,12 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: configmap-dendrite
namespace: matrix
data:
20-create_db.sh: |
#!/bin/sh
for db in userapi_accounts mediaapi syncapi roomserver keyserver federationapi appservice mscs; do
createdb -U dendrite -O dendrite dendrite_$db
done

View File

@ -0,0 +1,57 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: configmap-element
namespace: matrix
data:
config.json: |
{
"default_server_config": {
"m.homeserver": {
"base_url": "https://chat.spamasaurus.com",
"server_name": "Spamasaurus Rex"
},
"m.identity_server": {
"base_url": "https://vector.im"
}
},
"disable_custom_urls": false,
"disable_guests": true,
"disable_login_language_selector": false,
"disable_3pid_login": false,
"brand": "Element",
"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"
],
"bug_report_endpoint_url": "https://element.io/bugreports/submit",
"defaultCountryCode": "GB",
"show_labs_settings": false,
"features": { },
"default_federate": false,
"default_theme": "dark",
"room_directory": {
"servers": [
"chat.spamasaurus.com"
]
},
"enable_presence_by_hs_url": {
"https://matrix.org": false,
"https://matrix-client.matrix.org": false
},
"setting_defaults": {
"breadcrumbs": true
},
"jitsi": {
"preferred_domain": "meet.element.io"
}
}
99-disable-ipv6.sh: |
#!/bin/sh
sed -e '/.*\[::\]:80/d' -i /etc/nginx/conf.d/default.conf

View File

@ -0,0 +1,60 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: dendrite
name: dendrite
namespace: matrix
spec:
strategy:
type: Recreate
replicas: 1
selector:
matchLabels:
app: dendrite
template:
metadata:
labels:
app: dendrite
spec:
containers:
- image: bv11-cr01.bessems.eu/proxy/library/postgres:14-alpine
name: db
env:
- name: POSTGRES_USER
value: dendrite
- name: POSTGRES_PASSWORD
value: dendrite
ports:
- containerPort: 5432
name: db
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: flexvolsmb-dendrite-db
- name: configmap-dendrite
mountPath: /docker-entrypoint-initdb.d/20-create_db.sh
subPath: 20-create_db.sh
- image: bv11-cr01.bessems.eu/proxy/matrixdotorg/dendrite-monolith:latest
name: dendrite
ports:
- containerPort: 8008
name: web
volumeMounts:
- mountPath: /etc/dendrite
name: flexvolsmb-dendrite-config
- mountPath: /var/dendrite/media
name: flexvolsmb-dendrite-media
volumes:
- name: flexvolsmb-dendrite-config
persistentVolumeClaim:
claimName: flexvolsmb-dendrite-config
- name: flexvolsmb-dendrite-db
persistentVolumeClaim:
claimName: flexvolsmb-dendrite-db
- name: flexvolsmb-dendrite-media
persistentVolumeClaim:
claimName: flexvolsmb-dendrite-media
- name: configmap-dendrite
configMap:
name: configmap-dendrite

View File

@ -0,0 +1,36 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: element
name: element
namespace: matrix
spec:
replicas: 1
selector:
matchLabels:
app: element
template:
metadata:
labels:
app: element
spec:
containers:
- image: bv11-cr01.bessems.eu/proxy/vectorim/element-web:latest
name: element
ports:
- containerPort: 80
name: web
volumeMounts:
- mountPath: /app/config.json
name: configmap-element
subPath: config.json
- name: configmap-element
mountPath: /docker-entrypoint.d/99-disable-ipv6.sh
subPath: 99-disable-ipv6.sh
volumes:
- name: configmap-element
configMap:
name: configmap-element
defaultMode: 0777

View File

@ -0,0 +1,26 @@
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: matrix
namespace: matrix
spec:
entryPoints:
- websecure
routes:
- match: Host(`chat.spamasaurus.com`) && PathPrefix(`/_matrix`)
kind: Rule
services:
- name: dendrite
port: 8008
middlewares:
- name: security-headers@file
- name: compression@file
- match: Host(`chat.spamasaurus.com`)
kind: Rule
services:
- name: element
port: 80
middlewares:
- name: security-headers@file
- name: compression@file

View File

@ -0,0 +1,57 @@
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-dendrite-config
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-dendrite-config
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
options:
opts: domain=bessems.eu,file_mode=0777,dir_mode=0777,iocharset=utf8
server: 192.168.11.225
share: /K3s.Volumes/dendrite/config
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-dendrite-db
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-dendrite-db
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
options:
opts: domain=bessems.eu,file_mode=0600,dir_mode=0700,uid=70,gid=70,iocharset=utf8,nobrl
server: 192.168.11.225
share: /K3s.Volumes/dendrite/db
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: flexvolsmb-dendrite-media
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-dendrite-media
flexVolume:
driver: mount/smb
secretRef:
name: smb-secret
options:
opts: domain=bessems.eu,file_mode=0777,dir_mode=0777,iocharset=utf8
server: 192.168.11.225
share: /K3s.Volumes/dendrite/media

View File

@ -0,0 +1,39 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-dendrite-config
namespace: matrix
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-dendrite-config
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-dendrite-db
namespace: matrix
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-dendrite-db
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: flexvolsmb-dendrite-media
namespace: matrix
spec:
accessModes:
- ReadWriteMany
storageClassName: flexvolsmb-dendrite-media
resources:
requests:
storage: 1Gi

View File

@ -0,0 +1,18 @@
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
creationTimestamp: null
name: smb-secret
namespace: matrix
spec:
encryptedData:
password: AgAntjSGLJ5U36rmg8/9rc3MsvUMpipSHhztEekEInvlbcp2vAxUnT7Teyjt1I7TypKL3zoiprEfHZ9u8p9ZwBYtd5DfM41MVZqLMCtNm8zoImdaDTiIX5MtCCbBgAC8xWbzQB0O056yu1j1mWhJRzAF9cgaulbS/V83Zl7KUR3K9TfXFuGEMWMG7tTSL6M/jKruYxSWLSwsnBp46CIhDF1X1aVI02qpcfYYTGeHZ57cR3bb7fSUXPMBu8FzaGtKobiuVaADULGunqhw8DBORa+L3imkg0/G1buHxcW3+7FvI9IaZNyjbCYwTC5pjz8T0pcGd0KuEtGeEGJIi5MvzCelPpQjQyfter8UwRsyR2ApwqixqGY5nNDikMjRzmBuvu0JCsB8Xoukk4rbsMOAMJhj9RswjxbAdctrdyNdJJEA4cO76FDNNKK5XxsJJXxunG8fg/xW1xNNubFnCL8fRep48tYexhVFyk+Ej+MC4j0he8DsK7C7nxLzzkg/OFcl/lOFp6QTsJPd3IkfzRAxyW4E4wjgEhLDZOjvZo+bwKQsIPIOo8UEYov9JvghtxBKZzq0G+PlxplPS8PaFYbepQF4nNBIloohPkO+EWggsgi8djVU3t4KwIix275Q3o2k9TnR/hkvi7CRB06qKAoJVP8s6DlVE0E8NNQ4s5CraEPCKGNsbQvFyV74zFUhdGg1ok/X9dj6KPwJscR6VJ7joIta
username: AgAv9vxb3w96PlTo3fz8fMiF84lEs6fsRSrYg3Rum4soIBgCztSSK+WurrWBmKbVHj8V/zG1yxjMS1pOtBpHBgksfak4IuzjubJaxWEQrXkGlOwmRBSKOfQ9ChcRkJaiJhbxB+DaybQ+eZlFGy1bzErEBwq0sh67Yqrlwic3xeL0tyeK4clZ+eqCwbQHsRDtBRuIjowxGtRPTEb/PUgMVAy7/KLJnwHFnMsoFdiBu2bFryIgPrd0SL/vgsAhgjv0iEjaZYZWq9e45f7/Trnp1/FiA5K62T72G1mlX2lcbuN/ifQIEe2Mp03hISb0mHKaf18rhUHxRL13QDsV1g2UW9sUdntDKUEmP2mErP5rePyXeGpHJpVafZWHSVJpiW9DctMhF8kh0pSWO1n1EITnLMCLVBcvEy1BHgEmEE2yUUfdig65kZ0UleYrZ/XCVmqp7DjIXgOoEdZcj54n4k0hBXJAS7iKWztNKacWAQsGEGJKjzuvgaZuGnD1mV+kMhOfIKZfngSA+21PHqMOeb3C9Wuhzwl95BLw5Ya92yoZ0jEfSbydtK2BnjRneTLPIrLJDVvpoGXzRtxtQ4YGtJlHE5mWI4oyrQs5tkFkxc9QKkbW4K8RWRBplc5br3ohGb9Q0zA66OOrya+MSIIL7k3DUlvwwbOEASrqPUxypAFwxJO7Qamv3Qx2V+N11mh7jJ2BhRpD9xdWEAU=
template:
data: null
metadata:
creationTimestamp: null
name: smb-secret
namespace: matrix
type: mount/smb

View File

@ -0,0 +1,19 @@
---
apiVersion: v1
kind: Service
metadata:
name: dendrite
namespace: matrix
spec:
ports:
- protocol: TCP
name: web
port: 8008
- protocol: TCP
name: db
port: 5432
- protocol: TCP
name: turn-tcp
port: 3478
selector:
app: dendrite

View File

@ -0,0 +1,13 @@
---
apiVersion: v1
kind: Service
metadata:
name: element
namespace: matrix
spec:
ports:
- protocol: TCP
name: web
port: 80
selector:
app: element