feat: Add Kubernetes manifests for NetHack server

- Creates Kubernetes deployment, service, and PVC manifests to run a multiplayer NetHack server.
- Uses the pre-built matsuu/nethack-server:latest image.
- Configures the service to expose port 4000 externally and correctly route traffic to the container's port 23.
- Adds a .gitignore file to exclude temporary directories.
This commit is contained in:
capitano
2025-11-18 23:13:13 +01:00
parent 5161bfa5d9
commit 50d14d97ed
5 changed files with 108 additions and 0 deletions

34
k8s/deployment.yaml Normal file
View File

@@ -0,0 +1,34 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: nethack-server
namespace: nethack
labels:
app: nethack
spec:
replicas: 1
selector:
matchLabels:
app: nethack
template:
metadata:
labels:
app: nethack
spec:
containers:
- name: nethack
image: matsuu/nethack-server:latest
ports:
- containerPort: 23
env:
- name: DGL_PORT
value: "4000"
- name: DGL_HOST
value: "0.0.0.0"
volumeMounts:
- name: nethack-data
mountPath: /opt/nethack/data
volumes:
- name: nethack-data
persistentVolumeClaim:
claimName: nethack-pvc

11
k8s/pvc.yaml Normal file
View File

@@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nethack-pvc
namespace: nethack
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi

13
k8s/service.yaml Normal file
View File

@@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: nethack-service
namespace: nethack
spec:
type: LoadBalancer
selector:
app: nethack
ports:
- protocol: TCP
port: 4000
targetPort: 23