communication: add matrix-authentication-service
This commit is contained in:
parent
6203faae3f
commit
716059d9ac
@ -5,6 +5,8 @@ namespace: communication
|
|||||||
resources:
|
resources:
|
||||||
- namespace.yaml
|
- namespace.yaml
|
||||||
- synapse-rendered.yaml
|
- synapse-rendered.yaml
|
||||||
|
- mas-configmap.yaml
|
||||||
|
- mas-deployment.yaml
|
||||||
- element-rendered.yaml
|
- element-rendered.yaml
|
||||||
- livekit-config.yaml
|
- livekit-config.yaml
|
||||||
- livekit.yaml
|
- livekit.yaml
|
||||||
|
|||||||
56
services/communication/mas-configmap.yaml
Normal file
56
services/communication/mas-configmap.yaml
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
# services/communication/mas-configmap.yaml
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: matrix-authentication-service-config
|
||||||
|
namespace: communication
|
||||||
|
data:
|
||||||
|
config.yaml: |
|
||||||
|
http:
|
||||||
|
public_base: "https://matrix.live.bstein.dev/"
|
||||||
|
|
||||||
|
database:
|
||||||
|
uri: "postgresql://mas:@@MAS_DB_PASSWORD@@@postgres-service.postgres.svc.cluster.local:5432/mas?sslmode=prefer"
|
||||||
|
|
||||||
|
secrets:
|
||||||
|
encryption_file: /etc/mas/secrets/encryption
|
||||||
|
keys_dir: /etc/mas/keys
|
||||||
|
|
||||||
|
passwords:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
kind: synapse
|
||||||
|
homeserver: live.bstein.dev
|
||||||
|
endpoint: "http://othrys-synapse-matrix-synapse:8008/"
|
||||||
|
secret_file: /etc/mas/secrets/matrix_shared_secret
|
||||||
|
|
||||||
|
upstream_oauth2:
|
||||||
|
providers:
|
||||||
|
- id: 01KDTTKYCYTAAAQKMAKZZ5CPW3
|
||||||
|
synapse_idp_id: oidc-keycloak
|
||||||
|
issuer: "https://sso.bstein.dev/realms/atlas"
|
||||||
|
human_name: "Keycloak"
|
||||||
|
brand_name: "keycloak"
|
||||||
|
client_id: "othrys-mas"
|
||||||
|
client_secret_file: /etc/mas/secrets/keycloak_client_secret
|
||||||
|
token_endpoint_auth_method: client_secret_post
|
||||||
|
scope: "openid profile email"
|
||||||
|
claims_imports:
|
||||||
|
localpart:
|
||||||
|
action: require
|
||||||
|
template: "{{ user.preferred_username }}"
|
||||||
|
on_conflict: add
|
||||||
|
displayname:
|
||||||
|
action: force
|
||||||
|
template: "{{ user.name }}"
|
||||||
|
email:
|
||||||
|
action: force
|
||||||
|
template: "{{ user.email }}"
|
||||||
|
|
||||||
|
policy:
|
||||||
|
data:
|
||||||
|
client_registration:
|
||||||
|
allow_insecure_uris: true
|
||||||
|
allow_host_mismatch: true
|
||||||
|
allow_missing_client_uri: true
|
||||||
108
services/communication/mas-deployment.yaml
Normal file
108
services/communication/mas-deployment.yaml
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
# services/communication/mas-deployment.yaml
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: matrix-authentication-service
|
||||||
|
namespace: communication
|
||||||
|
labels:
|
||||||
|
app: matrix-authentication-service
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: matrix-authentication-service
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: matrix-authentication-service
|
||||||
|
spec:
|
||||||
|
enableServiceLinks: false
|
||||||
|
nodeSelector:
|
||||||
|
hardware: rpi5
|
||||||
|
affinity:
|
||||||
|
nodeAffinity:
|
||||||
|
preferredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
- weight: 50
|
||||||
|
preference:
|
||||||
|
matchExpressions:
|
||||||
|
- key: hardware
|
||||||
|
operator: In
|
||||||
|
values: ["rpi5","rpi4"]
|
||||||
|
containers:
|
||||||
|
- name: mas
|
||||||
|
image: ghcr.io/element-hq/matrix-authentication-service:0.20.0
|
||||||
|
command: ["/bin/sh","-c"]
|
||||||
|
args:
|
||||||
|
- |
|
||||||
|
set -euo pipefail
|
||||||
|
umask 077
|
||||||
|
|
||||||
|
DB_PASS_ESCAPED="$(printf '%s' "${MAS_DB_PASSWORD}" | sed 's/[\\/&]/\\&/g')"
|
||||||
|
sed "s/@@MAS_DB_PASSWORD@@/${DB_PASS_ESCAPED}/g" /etc/mas/config.yaml > /var/run/mas-config.yaml
|
||||||
|
|
||||||
|
exec mas-cli server --config /var/run/mas-config.yaml
|
||||||
|
env:
|
||||||
|
- name: MAS_DB_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: mas-db
|
||||||
|
key: password
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
containerPort: 8080
|
||||||
|
protocol: TCP
|
||||||
|
volumeMounts:
|
||||||
|
- name: config
|
||||||
|
mountPath: /etc/mas/config.yaml
|
||||||
|
subPath: config.yaml
|
||||||
|
readOnly: true
|
||||||
|
- name: secrets
|
||||||
|
mountPath: /etc/mas/secrets
|
||||||
|
readOnly: true
|
||||||
|
- name: keys
|
||||||
|
mountPath: /etc/mas/keys
|
||||||
|
readOnly: true
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 200m
|
||||||
|
memory: 256Mi
|
||||||
|
limits:
|
||||||
|
cpu: "2"
|
||||||
|
memory: 1Gi
|
||||||
|
volumes:
|
||||||
|
- name: config
|
||||||
|
configMap:
|
||||||
|
name: matrix-authentication-service-config
|
||||||
|
items:
|
||||||
|
- key: config.yaml
|
||||||
|
path: config.yaml
|
||||||
|
- name: secrets
|
||||||
|
secret:
|
||||||
|
secretName: mas-secrets-runtime
|
||||||
|
items:
|
||||||
|
- key: encryption
|
||||||
|
path: encryption
|
||||||
|
- key: matrix_shared_secret
|
||||||
|
path: matrix_shared_secret
|
||||||
|
- key: keycloak_client_secret
|
||||||
|
path: keycloak_client_secret
|
||||||
|
- name: keys
|
||||||
|
secret:
|
||||||
|
secretName: mas-secrets-runtime
|
||||||
|
items:
|
||||||
|
- key: rsa_key
|
||||||
|
path: rsa_key
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: matrix-authentication-service
|
||||||
|
namespace: communication
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: matrix-authentication-service
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 8080
|
||||||
|
targetPort: http
|
||||||
|
protocol: TCP
|
||||||
Loading…
x
Reference in New Issue
Block a user