203 lines
6.1 KiB
YAML
203 lines
6.1 KiB
YAML
---
|
|
# Source: element-web/templates/serviceaccount.yaml
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: othrys-element-element-web
|
|
labels:
|
|
helm.sh/chart: element-web-1.4.26
|
|
app.kubernetes.io/name: element-web
|
|
app.kubernetes.io/instance: othrys-element
|
|
app.kubernetes.io/version: "1.12.6"
|
|
app.kubernetes.io/managed-by: Helm
|
|
---
|
|
# Source: element-web/templates/configuration-nginx.yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: othrys-element-element-web-nginx
|
|
labels:
|
|
helm.sh/chart: element-web-1.4.26
|
|
app.kubernetes.io/name: element-web
|
|
app.kubernetes.io/instance: othrys-element
|
|
app.kubernetes.io/version: "1.12.6"
|
|
app.kubernetes.io/managed-by: Helm
|
|
data:
|
|
default.conf: |
|
|
server {
|
|
listen 8080;
|
|
listen [::]:8080;
|
|
server_name localhost;
|
|
|
|
root /usr/share/nginx/html;
|
|
index index.html;
|
|
|
|
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'";
|
|
|
|
# Set no-cache for the index.html only so that browsers always check for a new copy of Element Web.
|
|
location = /index.html {
|
|
add_header Cache-Control "no-cache";
|
|
}
|
|
|
|
# redirect server error pages to the static page /50x.html
|
|
#
|
|
error_page 500 502 503 504 /50x.html;
|
|
}
|
|
---
|
|
# Source: element-web/templates/configuration.yaml
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: othrys-element-element-web
|
|
labels:
|
|
helm.sh/chart: element-web-1.4.26
|
|
app.kubernetes.io/name: element-web
|
|
app.kubernetes.io/instance: othrys-element
|
|
app.kubernetes.io/version: "1.12.6"
|
|
app.kubernetes.io/managed-by: Helm
|
|
data:
|
|
config.json: |
|
|
{"brand":"Othrys","default_server_config":{"m.homeserver":{"base_url":"https://matrix.live.bstein.dev","server_name":"live.bstein.dev"},"m.identity_server":{"base_url":"https://vector.im"}},"default_theme":"dark","disable_custom_urls":true,"disable_login_language_selector":true,"disable_guests":false,"show_labs_settings":true,"features":{"feature_group_calls":true,"feature_video_rooms":true,"feature_element_call_video_rooms":true},"room_directory":{"servers":["live.bstein.dev"]},"jitsi":{},"element_call":{"url":"https://call.live.bstein.dev","participant_limit":16,"brand":"Othrys Call"}}
|
|
---
|
|
# Source: element-web/templates/service.yaml
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: othrys-element-element-web
|
|
labels:
|
|
helm.sh/chart: element-web-1.4.26
|
|
app.kubernetes.io/name: element-web
|
|
app.kubernetes.io/instance: othrys-element
|
|
app.kubernetes.io/version: "1.12.6"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 80
|
|
targetPort: http
|
|
protocol: TCP
|
|
name: http
|
|
selector:
|
|
app.kubernetes.io/name: element-web
|
|
app.kubernetes.io/instance: othrys-element
|
|
---
|
|
# Source: element-web/templates/deployment.yaml
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: othrys-element-element-web
|
|
labels:
|
|
helm.sh/chart: element-web-1.4.26
|
|
app.kubernetes.io/name: element-web
|
|
app.kubernetes.io/instance: othrys-element
|
|
app.kubernetes.io/version: "1.12.6"
|
|
app.kubernetes.io/managed-by: Helm
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: element-web
|
|
app.kubernetes.io/instance: othrys-element
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
checksum/config: manual-rtc-enable-1
|
|
checksum/config-nginx: 085061d0925f4840c3770233509dc0b00fe8fa1a5fef8bf282a514fd101c76fa
|
|
labels:
|
|
app.kubernetes.io/name: element-web
|
|
app.kubernetes.io/instance: othrys-element
|
|
spec:
|
|
serviceAccountName: othrys-element-element-web
|
|
securityContext:
|
|
{}
|
|
containers:
|
|
- name: element-web
|
|
securityContext:
|
|
{}
|
|
image: "ghcr.io/element-hq/element-web:v1.12.6"
|
|
imagePullPolicy: IfNotPresent
|
|
env:
|
|
- name: ELEMENT_WEB_PORT
|
|
value: '8080'
|
|
ports:
|
|
- name: http
|
|
containerPort: 8080
|
|
protocol: TCP
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /
|
|
port: http
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /
|
|
port: http
|
|
resources:
|
|
limits:
|
|
cpu: 500m
|
|
memory: 512Mi
|
|
requests:
|
|
cpu: 100m
|
|
memory: 256Mi
|
|
volumeMounts:
|
|
- mountPath: /app/config.json
|
|
name: config
|
|
subPath: config.json
|
|
- mountPath: /etc/nginx/conf.d/config.json
|
|
name: config-nginx
|
|
subPath: config.json
|
|
volumes:
|
|
- name: config
|
|
configMap:
|
|
name: othrys-element-element-web
|
|
- name: config-nginx
|
|
configMap:
|
|
name: othrys-element-element-web-nginx
|
|
nodeSelector:
|
|
hardware: rpi5
|
|
affinity:
|
|
nodeAffinity:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
- preference:
|
|
matchExpressions:
|
|
- key: hardware
|
|
operator: In
|
|
values:
|
|
- rpi5
|
|
- rpi4
|
|
weight: 50
|
|
---
|
|
# Source: element-web/templates/ingress.yaml
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: othrys-element-element-web
|
|
labels:
|
|
helm.sh/chart: element-web-1.4.26
|
|
app.kubernetes.io/name: element-web
|
|
app.kubernetes.io/instance: othrys-element
|
|
app.kubernetes.io/version: "1.12.6"
|
|
app.kubernetes.io/managed-by: Helm
|
|
annotations:
|
|
cert-manager.io/cluster-issuer: letsencrypt
|
|
traefik.ingress.kubernetes.io/router.entrypoints: websecure
|
|
spec:
|
|
ingressClassName: traefik
|
|
tls:
|
|
- hosts:
|
|
- "live.bstein.dev"
|
|
secretName: live-othrys-tls
|
|
rules:
|
|
- host: "live.bstein.dev"
|
|
http:
|
|
paths:
|
|
- path: /
|
|
backend:
|
|
service:
|
|
name: othrys-element-element-web
|
|
port:
|
|
number: 80
|
|
pathType: Prefix
|