--- # 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 --- # Source: element-web/templates/tests/test-connection.yaml apiVersion: v1 kind: Pod metadata: name: "othrys-element-element-web-test-connection" 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: "helm.sh/hook": test-success spec: containers: - name: wget image: busybox command: ['wget'] args: ['othrys-element-element-web:80'] restartPolicy: Never