apiVersion: v1 kind: ConfigMap metadata: name: config-element namespace: matrix data: config.json: | { "default_server_config": { "m.homeserver": { "base_url": "https://matrix.undercloud.cf:443", "server_name": "matrix.undercloud.cf" }, "m.identity_server": { "base_url": "https://vector.im" } }, "disable_custom_urls": false, "disable_guests": false, "disable_login_language_selector": false, "disable_3pid_login": false, "brand": "Undercloud Communication", "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", "uisi_autorageshake_app": "element-auto-uisi", "default_country_code": "GB", "show_labs_settings": true, "features": {}, "default_federate": true, "default_theme": "dark", "room_directory": { "servers": ["matrix.org","matrix.undercloud.cf"] }, "enable_presence_by_hs_url": { "https://matrix.org": false, "https://matrix-client.matrix.org": false, "https://matrix.undercloud.cf": true }, "setting_defaults": { "breadcrumbs": true }, "jitsi": { "preferred_domain": "jitsi.undercloud.cf" }, "element_call": { "url": "https://call.element.io", "participant_limit": 8, "brand": "Element Call" }, "map_style_url": "https://api.maptiler.com/maps/streets/style.json?key=fU3vlMsMn4Jb6dnEIFsx" } --- apiVersion: apps/v1 kind: Deployment metadata: name: element namespace: matrix labels: app: element spec: replicas: 1 selector: matchLabels: app: element template: metadata: labels: app: element spec: containers: - name: element image: vectorim/element-web:v1.11.20 imagePullPolicy: IfNotPresent readinessProbe: httpGet: path: / port: element initialDelaySeconds: 2 periodSeconds: 3 livenessProbe: httpGet: path: / port: element initialDelaySeconds: 10 periodSeconds: 10 ports: - containerPort: 80 name: element volumeMounts: - mountPath: "/app/config.json" name: config-element subPath: config.json volumes: - name: config-element configMap: name: config-element items: - key: "config.json" path: "config.json" --- apiVersion: v1 kind: Service metadata: name: element namespace: matrix labels: app: element spec: internalTrafficPolicy: Cluster ipFamilies: - IPv6 - IPv4 ipFamilyPolicy: PreferDualStack ports: - name: http port: 80 protocol: TCP targetPort: 80 selector: app: element sessionAffinity: None type: ClusterIP