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.2 helm.sh/chart: element-web-1.4.22 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.2 helm.sh/chart: element-web-1.4.22 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.2 helm.sh/chart: element-web-1.4.22 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.2 helm.sh/chart: element-web-1.4.22 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.2 helm.sh/chart: element-web-1.4.22 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: ffeefc2ea83a9fa735875c55b271e9afa98d5eb5572b584bd19a5350e881bb58 checksum/config-nginx: 019e1ffc3cfd58986320ebcc15b5fb65c76cd1fcbc38e1ab323497ed5c059e2e 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.2 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.2 helm.sh/chart: element-web-1.4.22 name: element-element-web-test-connection spec: containers: - args: - element-element-web:80 command: - wget image: busybox name: wget restartPolicy: Never