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:
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# Temporary directories used for troubleshooting
|
||||||
|
nethack-repo/
|
||||||
|
nethack-server-docker/
|
||||||
47
GEMINI.md
Normal file
47
GEMINI.md
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
# GEMINI.md - NetHack Multiplayer Server su Kubernetes
|
||||||
|
|
||||||
|
namespace: nethack
|
||||||
|
|
||||||
|
# Deployment del server NetHack
|
||||||
|
deployment:
|
||||||
|
name: nethack-server
|
||||||
|
replicas: 1
|
||||||
|
labels:
|
||||||
|
app: nethack
|
||||||
|
container:
|
||||||
|
image: matsuu/nethack-server:latest
|
||||||
|
name: nethack
|
||||||
|
ports:
|
||||||
|
- containerPort: 4000
|
||||||
|
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
|
||||||
|
|
||||||
|
# PersistentVolumeClaim per salvataggi e configurazioni
|
||||||
|
pvc:
|
||||||
|
name: nethack-pvc
|
||||||
|
accessModes: [ "ReadWriteOnce" ]
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
||||||
|
|
||||||
|
# Service ClusterIP interno
|
||||||
|
service:
|
||||||
|
name: nethack-service
|
||||||
|
type: LoadBalancer
|
||||||
|
ports:
|
||||||
|
- port: 4000
|
||||||
|
targetPort: 4000
|
||||||
|
protocol: TCP
|
||||||
|
selector:
|
||||||
|
app: nethack
|
||||||
34
k8s/deployment.yaml
Normal file
34
k8s/deployment.yaml
Normal 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
11
k8s/pvc.yaml
Normal 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
13
k8s/service.yaml
Normal 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
|
||||||
Reference in New Issue
Block a user