apiVersion: v1 kind: ServiceAccount metadata: labels: app.kubernetes.io/instance: element app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: element-web app.kubernetes.io/version: 1.12.1 helm.sh/chart: element-web-1.4.21 name: element-element-web --- apiVersion: v1 data: config.json: | {"default_server_config":{"m.homeserver":{"base_url":"https://synapse.borninpain.de","server_name":"BornInPain"},"m.identity_server":{"base_url":"https://vector.im"}}} kind: ConfigMap metadata: labels: app.kubernetes.io/instance: element app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: element-web app.kubernetes.io/version: 1.12.1 helm.sh/chart: element-web-1.4.21 name: element-element-web --- apiVersion: v1 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; } kind: ConfigMap metadata: labels: app.kubernetes.io/instance: element app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: element-web app.kubernetes.io/version: 1.12.1 helm.sh/chart: element-web-1.4.21 name: element-element-web-nginx --- apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/instance: element app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: element-web app.kubernetes.io/version: 1.12.1 helm.sh/chart: element-web-1.4.21 name: element-element-web spec: ports: - name: http port: 80 protocol: TCP targetPort: http selector: app.kubernetes.io/instance: element app.kubernetes.io/name: element-web type: ClusterIP --- apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/instance: element app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: element-web app.kubernetes.io/version: 1.12.1 helm.sh/chart: element-web-1.4.21 name: element-element-web spec: replicas: 1 selector: matchLabels: app.kubernetes.io/instance: element app.kubernetes.io/name: element-web template: metadata: annotations: checksum/config: c33c56cd458849e3da740016fb888167b74c86ce3d5afed52e616251b4e344ee checksum/config-nginx: d6a8621fa0ddca5edad2aa9e3298c0add4c5588d4dd2025196ed793cf2c2d85f labels: app.kubernetes.io/instance: element app.kubernetes.io/name: element-web spec: containers: - env: - name: ELEMENT_WEB_PORT value: "8080" image: ghcr.io/element-hq/element-web:v1.12.1 imagePullPolicy: IfNotPresent livenessProbe: httpGet: path: / port: http name: element-web ports: - containerPort: 8080 name: http protocol: TCP readinessProbe: httpGet: path: / port: http resources: {} securityContext: {} volumeMounts: - mountPath: /app/config.json name: config subPath: config.json - mountPath: /etc/nginx/conf.d/config.json name: config-nginx subPath: config.json securityContext: {} serviceAccountName: element-element-web volumes: - configMap: name: element-element-web name: config - configMap: name: element-element-web-nginx name: config-nginx --- apiVersion: v1 kind: Pod metadata: annotations: helm.sh/hook: test-success labels: app.kubernetes.io/instance: element app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: element-web app.kubernetes.io/version: 1.12.1 helm.sh/chart: element-web-1.4.21 name: element-element-web-test-connection spec: containers: - args: - element-element-web:80 command: - wget image: busybox name: wget restartPolicy: Never