Private
Public Access
1
0

fix game
Some checks failed
Dynamic Branch Deploy / build-and-deploy (push) Failing after 8m27s

This commit is contained in:
Sebastian Unterschütz
2026-03-21 21:55:15 +01:00
parent 08abe2867a
commit 66f72d7a83
4 changed files with 17 additions and 4 deletions

View File

@@ -162,10 +162,12 @@ jobs:
# Ingress und App-Manifest anpassen
sed -i "s|\${APP_URL}|${{ env.APP_URL }}|g" k8s/ingress.yaml
sed -i "s|\${TARGET_NS}|${{ env.TARGET_NS }}|g" k8s/ingress.yaml
sed -i "s|\${IMAGE_NAME}|${{ env.DEPLOY_IMAGE }}|g" k8s/app.yaml
# Anwenden
echo "Deploying to Namespace: ${{ env.TARGET_NS }} (Image: ${{ env.DEPLOY_IMAGE }})"
kubectl apply -f k8s/compress-middleware.yaml -n ${{ env.TARGET_NS }}
kubectl apply -f k8s/pvc.yaml -n ${{ env.TARGET_NS }}
kubectl apply -f k8s/nats.yaml -n ${{ env.TARGET_NS }}
kubectl apply -f k8s/redis.yaml -n ${{ env.TARGET_NS }}

View File

@@ -34,8 +34,11 @@ RUN echo "🗜️ Komprimiere Bilder..." && \
# Server binary bauen
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -installsuffix cgo -ldflags="-w -s" -o server ./cmd/server
# WASM Client bauen
RUN GOOS=js GOARCH=wasm go build -o cmd/client/web/main.wasm ./cmd/client
# WASM Client bauen (mit Strip-Flags: -w entfernt Debug-Info, -s entfernt Symbol-Tabelle)
RUN GOOS=js GOARCH=wasm go build -ldflags="-w -s" -o cmd/client/web/main.wasm ./cmd/client
# Unnötige Audio-Dateien entfernen (game.wav = 40MB, nur game.mp3 wird verwendet)
RUN rm -f cmd/client/web/assets/game.wav
# Stage 2: Production Image
FROM alpine:latest

View File

@@ -32,7 +32,7 @@ func SetupGinServer(ec *nats.EncodedConn, port string) *gin.Engine {
// Cache Control Middleware für statische Assets
r.Use(func(c *gin.Context) {
path := c.Request.URL.Path
// Assets (Bilder, Fonts, etc.) - 1 Jahr cachen
// Assets (Bilder, Audio, etc.) - 1 Jahr cachen
if len(path) > 7 && path[:8] == "/assets/" {
c.Header("Cache-Control", "public, max-age=31536000, immutable")
}
@@ -40,6 +40,14 @@ func SetupGinServer(ec *nats.EncodedConn, port string) *gin.Engine {
if (path == "/main.wasm" || path == "/game.js" || path == "/wasm_exec.js") && c.Query("v") != "" {
c.Header("Cache-Control", "public, max-age=31536000, immutable")
}
// CSS und Hintergrundbild - 1 Tag cachen
if path == "/style.css" || path == "/background.jpg" {
c.Header("Cache-Control", "public, max-age=86400")
}
// HTML - immer neu laden (enthält BUILD_VERSION für Cache-Busting der JS/WASM)
if path == "/" || path == "/index.html" {
c.Header("Cache-Control", "no-cache")
}
c.Next()
})

View File

@@ -5,7 +5,7 @@ metadata:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
traefik.ingress.kubernetes.io/router.entrypoints: web, websecure
traefik.ingress.kubernetes.io/router.middlewares: gitea-redirect-https@kubernetescrd
traefik.ingress.kubernetes.io/router.middlewares: gitea-redirect-https@kubernetescrd,${TARGET_NS}-compress@kubernetescrd
spec:
ingressClassName: traefik
tls: