Element-web manifests

This commit is contained in:
2025-12-22 10:45:12 +01:00
parent 2553d21306
commit 45b4768910
6 changed files with 155 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: matrix-landing-page-autoscaler
labels:
matrix-service: webclient
scaleThing: matrix-webpage
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: matrix-landing-page-deployment
minReplicas: 1
maxReplicas: 4
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50

View File

@@ -0,0 +1,19 @@
apiVersion: v1
kind: Pod
metadata:
name: config-uploader-matrix-landing-page
spec:
containers:
- name: uploader-matrix-landing-page
image: alpine:latest
command: [ "sleep", "6000" ]
stdin: true
tty: true
volumeMounts:
- mountPath: /data
name: config-volume
volumes:
- name: config-volume
persistentVolumeClaim:
claimName: matrix-landing-page-pvc

View File

@@ -0,0 +1,44 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: matrix-landing-page-deployment
labels:
matrix-service: webclient
spec:
replicas: 1
selector:
matchLabels:
matrix-service: webclient
template:
metadata:
labels:
matrix-service: webclient
spec:
containers:
- name: matrix-landing-page
image: nginx:stable
ports:
- containerPort: 80
name: http
protocol: TCP
# imagePullPolicy: IfNotPresent
volumeMounts:
- name: nginx-root
mountPath: /usr/share/nginx/html
resources:
requests:
memory: "64Mi"
cpu: "25m"
limits:
memory: "96Mi"
cpu: "75m"
volumes:
- name: nginx-root
persistentVolumeClaim:
claimName: matrix-landing-page-pvc
readOnly: true

View File

@@ -0,0 +1,37 @@
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: matrix-landing-page-networkpolicy
spec:
podSelector:
matchLabels:
matrix-service: webclient
egress:
# Allow all egress
# - {}
# Allow egress only to public networks
# - to:
# - ipBlock:
# cidr: 0.0.0.0/0
# except:
# - 10.0.0.0/8
# - 172.16.0.0/12
# - 192.168.0.0/16
ingress:
# - from:
# - namespaceSelector:
# matchLabels:
# ns-name: <NS>
# podSelector:
# matchLabels:
# podDomain: <reverseProxyPodLabel>
# ports:
# - protocol: TCP
# port: 80
policyTypes:
- Ingress
- Egress

16
MatrixLanding/pvc.yaml Normal file
View File

@@ -0,0 +1,16 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: matrix-landing-page-pvc
labels:
matrix-page: landing-page
matrix-page-domain: your.domain.example
spec:
# https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes-1
accessModes:
# - ReadOnlyMany
# - ReadWriteOnce
- ReadWriteMany
resources:
requests:
storage: 356Mi

View File

@@ -0,0 +1,18 @@
apiVersion: v1
kind: Service
metadata:
name: matrix-landing-page-service
labels:
matrix-service: webclient
spec:
selector:
matrix-service: webclient
# This isn't used as Ingress is doing TLS termination
# type: LoadBalancer
type: ClusterIP
ports:
- name: matrix-landing-page-http
appProtocol: TCP
port: 80 # <- port that will be exposed