add ACME solver network policy and experimental co-op mode indicators: implement network policy for HTTP-01 challenge solver, and add visual "EXPERIMENTAL" labels to co-op mode UI and game logic
Some checks failed
Dynamic Branch Deploy / build-and-deploy (push) Has been cancelled
Some checks failed
Dynamic Branch Deploy / build-and-deploy (push) Has been cancelled
This commit is contained in:
@@ -579,7 +579,8 @@ func (g *Game) DrawMenu(screen *ebiten.Image) {
|
|||||||
coopX := ScreenWidth/2 + 20
|
coopX := ScreenWidth/2 + 20
|
||||||
vector.DrawFilledRect(screen, float32(coopX), float32(btnY), float32(btnW), float32(btnH), ColBtnNormal, false)
|
vector.DrawFilledRect(screen, float32(coopX), float32(btnY), float32(btnW), float32(btnH), ColBtnNormal, false)
|
||||||
vector.StrokeRect(screen, float32(coopX), float32(btnY), float32(btnW), float32(btnH), 2, color.White, false)
|
vector.StrokeRect(screen, float32(coopX), float32(btnY), float32(btnW), float32(btnH), 2, color.White, false)
|
||||||
text.Draw(screen, "CO-OP (Host)", basicfont.Face7x13, coopX+45, btnY+35, ColText)
|
text.Draw(screen, "CO-OP (Host)", basicfont.Face7x13, coopX+45, btnY+30, ColText)
|
||||||
|
text.Draw(screen, "(EXPERIMENTAL)", basicfont.Face7x13, coopX+45, btnY+45, color.RGBA{255, 68, 68, 255})
|
||||||
|
|
||||||
// Join Section
|
// Join Section
|
||||||
joinY := ScreenHeight/2 + 100
|
joinY := ScreenHeight/2 + 100
|
||||||
@@ -641,7 +642,7 @@ func (g *Game) DrawLobby(screen *ebiten.Image) {
|
|||||||
screen.Fill(color.RGBA{20, 20, 30, 255})
|
screen.Fill(color.RGBA{20, 20, 30, 255})
|
||||||
|
|
||||||
// Titel
|
// Titel
|
||||||
text.Draw(screen, "LOBBY", basicfont.Face7x13, ScreenWidth/2-20, 80, ColText)
|
text.Draw(screen, "LOBBY (EXPERIMENTAL)", basicfont.Face7x13, ScreenWidth/2-80, 80, color.RGBA{255, 68, 68, 255})
|
||||||
|
|
||||||
// Room Code (groß anzeigen)
|
// Room Code (groß anzeigen)
|
||||||
text.Draw(screen, "Room Code:", basicfont.Face7x13, ScreenWidth/2-40, 150, color.Gray{200})
|
text.Draw(screen, "Room Code:", basicfont.Face7x13, ScreenWidth/2-40, 150, color.Gray{200})
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
<input type="text" id="playerName" placeholder="NAME (4 ZEICHEN)" maxlength="15" style="text-transform:uppercase;">
|
<input type="text" id="playerName" placeholder="NAME (4 ZEICHEN)" maxlength="15" style="text-transform:uppercase;">
|
||||||
|
|
||||||
<button id="startBtn" onclick="startSoloGame()" disabled style="opacity: 0.5; cursor: not-allowed;">SOLO STARTEN</button>
|
<button id="startBtn" onclick="startSoloGame()" disabled style="opacity: 0.5; cursor: not-allowed;">SOLO STARTEN</button>
|
||||||
<button id="coopBtn" onclick="showCoopMenu()" disabled style="opacity: 0.5; cursor: not-allowed;">CO-OP SPIELEN</button>
|
<button id="coopBtn" onclick="showCoopMenu()" disabled style="opacity: 0.5; cursor: not-allowed;">CO-OP SPIELEN <span style="font-size: 8px; color: #ff4444;">(EXPERIMENTAL)</span></button>
|
||||||
|
|
||||||
<div class="info-box">
|
<div class="info-box">
|
||||||
<div class="info-title">SCHUL-NEWS</div>
|
<div class="info-title">SCHUL-NEWS</div>
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
<!-- CO-OP MENU -->
|
<!-- CO-OP MENU -->
|
||||||
<div id="coopMenu" class="overlay-screen hidden">
|
<div id="coopMenu" class="overlay-screen hidden">
|
||||||
<div class="center-box">
|
<div class="center-box">
|
||||||
<h1>CO-OP MODUS</h1>
|
<h1>CO-OP MODUS <span style="font-size: 12px; color: #ff4444; vertical-align: middle;">(EXPERIMENTAL)</span></h1>
|
||||||
|
|
||||||
<button id="createRoomBtn" class="big-btn" onclick="createRoom()" disabled style="opacity: 0.5; cursor: not-allowed;">RAUM ERSTELLEN</button>
|
<button id="createRoomBtn" class="big-btn" onclick="createRoom()" disabled style="opacity: 0.5; cursor: not-allowed;">RAUM ERSTELLEN</button>
|
||||||
|
|
||||||
@@ -242,7 +242,7 @@
|
|||||||
<!-- LOBBY SCREEN (CO-OP WAITING ROOM) -->
|
<!-- LOBBY SCREEN (CO-OP WAITING ROOM) -->
|
||||||
<div id="lobbyScreen" class="overlay-screen hidden">
|
<div id="lobbyScreen" class="overlay-screen hidden">
|
||||||
<div class="center-box">
|
<div class="center-box">
|
||||||
<h1>LOBBY</h1>
|
<h1>LOBBY <span style="font-size: 12px; color: #ff4444; vertical-align: middle;">(EXPERIMENTAL)</span></h1>
|
||||||
|
|
||||||
<div id="lobbyContent" style="display: flex; gap: 20px; width: 100%; justify-content: center; align-items: flex-start;">
|
<div id="lobbyContent" style="display: flex; gap: 20px; width: 100%; justify-content: center; align-items: flex-start;">
|
||||||
<div style="flex: 1; max-width: 400px;">
|
<div style="flex: 1; max-width: 400px;">
|
||||||
|
|||||||
@@ -125,3 +125,36 @@ spec:
|
|||||||
- ports:
|
- ports:
|
||||||
- port: "6222"
|
- port: "6222"
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
---
|
||||||
|
# ACME Challenge Solver Network Policy
|
||||||
|
apiVersion: cilium.io/v2
|
||||||
|
kind: CiliumNetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: acme-solver-netpol
|
||||||
|
namespace: ${TARGET_NS}
|
||||||
|
spec:
|
||||||
|
endpointSelector:
|
||||||
|
matchLabels:
|
||||||
|
acme.cert-manager.io/http01-solver: "true"
|
||||||
|
ingress:
|
||||||
|
# Allow ingress from Traefik
|
||||||
|
- fromEndpoints:
|
||||||
|
- matchLabels:
|
||||||
|
k8s:io.kubernetes.pod.namespace: traefik
|
||||||
|
toPorts:
|
||||||
|
- ports:
|
||||||
|
- port: "8089"
|
||||||
|
protocol: TCP
|
||||||
|
egress:
|
||||||
|
# Allow egress to internet for self-check (if needed) and DNS
|
||||||
|
- toEntities:
|
||||||
|
- world
|
||||||
|
- toEndpoints:
|
||||||
|
- matchLabels:
|
||||||
|
k8s:io.kubernetes.pod.namespace: kube-system
|
||||||
|
k8s-app: kube-dns
|
||||||
|
toPorts:
|
||||||
|
- ports:
|
||||||
|
- port: "53"
|
||||||
|
protocol: UDP
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user