feat: migrate voice app, add otel/rum, dockerfile, k8s deployment with ingress
Build and Publish / Metadata (push) Successful in 1s
Build and Publish / BuildAndDeployAmd64 (push) Successful in 18s

This commit is contained in:
mats committed 2026-09-22 09:43:47 +02:00
1 parent a0d5a9a2c7
commit 5757156843
8170 files changed
+3144 -2086523

No files matched your search

+128
View File
@@ -0,0 +1,128 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: gibbz
namespace: home
labels:
app: gibbz
spec:
replicas: 1
selector:
matchLabels:
app: gibbz
template:
metadata:
labels:
app: gibbz
spec:
containers:
- name: gibbz
image: matst80/gibbz:latest
imagePullPolicy: Always
ports:
- name: http
containerPort: 8080
protocol: TCP
env:
- name: PORT
value: "8080"
- name: HOST
value: "0.0.0.0"
- name: OTEL_SERVICE_NAME
value: "gibbz"
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: "https://otel.k6n.net"
- name: STUN_URLS
value: "stun:turn.k6n.net:3478,stun:stun.l.google.com:19302"
- name: TURN_URLS
value: "turn:turn.k6n.net:3478?transport=udp,turn:turn.k6n.net:3478?transport=tcp,turns:turn.k6n.net:5349?transport=tcp"
- name: TURN_SECRET
valueFrom:
secretKeyRef:
name: coturn-secret
key: static-auth-secret
optional: true
- name: TURN_USERNAME
valueFrom:
secretKeyRef:
name: coturn-auth
key: username
optional: true
- name: TURN_CREDENTIAL
valueFrom:
secretKeyRef:
name: coturn-auth
key: password
optional: true
- name: OTEL_INGEST_KEY
valueFrom:
secretKeyRef:
name: otel-ingest-auth
key: key
optional: true
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
livenessProbe:
httpGet:
path: /healthz
port: http
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 2
readinessProbe:
httpGet:
path: /readyz
port: http
initialDelaySeconds: 3
periodSeconds: 5
timeoutSeconds: 2
---
apiVersion: v1
kind: Service
metadata:
name: gibbz
namespace: home
labels:
app: gibbz
spec:
type: ClusterIP
ports:
- port: 80
targetPort: http
protocol: TCP
name: http
selector:
app: gibbz
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: gibbz-ingress
namespace: home
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
nginx.ingress.kubernetes.io/websocket-services: "gibbz"
spec:
ingressClassName: nginx
rules:
- host: gibbz.k6n.net
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: gibbz
port:
number: 80
tls:
- hosts:
- gibbz.k6n.net
secretName: gibbz-k6n-net-tls