Files
gibbz/k8s/deployment.yaml
mats cb793c7ab6
Build and Publish / Metadata (push) Successful in 1s
Build and Publish / BuildAndDeployAmd64 (push) Successful in 27s
allow direct ICE with TURN fallback
2026-09-22 16:49:40 +02:00

132 lines
3.1 KiB
YAML

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: "http://otel-debug-service.monitoring.svc.cluster.local:4318"
- 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"
# Prefer direct/STUN paths where they work, with public TURN fallback.
- name: ICE_TRANSPORT_POLICY
value: "all"
- 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