feat(sasch40): add retro birthday game subproject and k8s deployment

- Add Vue 3 + Vite + TypeScript retro game: 'Saschas Kronkorken Kreuzzug: 40 Jahre Bass & Gerstensaft'
- Add dynamic GameBoy layout: controls visible only during arcade modes, fullscreen during dialogue and tavern
- Add QR code welcome & prequel screen with lore, feature preview, and audio hints
- Add competitive party highscore and ranking breakdown on royal certificate
- Add dedicated individual 1:1 character portraits for Sascha, Verena, NAT, Hansi, Mop, Lutz, Armend, Amy, Mane, Pü, and Mario
- Add Dockerfile, Makefile, and K8s deployment at sasch40.haumdaucher.de
- Update openclaw timeout configuration
This commit is contained in:
Moritz Graf
2026-09-23 21:56:34 +02:00
parent d11a84a0d3
commit 5852479c21
53 changed files with 5544 additions and 0 deletions
+74
View File
@@ -0,0 +1,74 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: sasch40
labels:
app: sasch40
namespace: web
spec:
selector:
matchLabels:
app: sasch40
replicas: 1
template:
metadata:
labels:
app: sasch40
spec:
imagePullSecrets:
- name: "registry-haumdaucher-de"
containers:
- image: registry.haumdaucher.de/sasch40:latest
imagePullPolicy: Always
name: sasch40
ports:
- containerPort: 80
resources:
requests:
cpu: 20m
memory: 32Mi
limits:
cpu: 100m
memory: 64Mi
---
apiVersion: v1
kind: Service
metadata:
name: sasch40
namespace: web
spec:
ports:
- port: 80
targetPort: 80
protocol: TCP
selector:
app: sasch40
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: sasch40
namespace: web
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
spec:
ingressClassName: traefik
tls:
- hosts:
- "sasch40.haumdaucher.de"
secretName: sasch40-haumdaucher-de-tls
rules:
- host: sasch40.haumdaucher.de
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: sasch40
port:
number: 80