From afb9447dca87d4b0e42e6f1eb2a97de9aa30f773 Mon Sep 17 00:00:00 2001 From: Shahab Dogar Date: Sun, 16 Nov 2025 20:11:54 +0500 Subject: [PATCH] feat: Minecraft | specify longhorn storage class + add star technology --- helm/values/nginx-internal.values.yaml | 1 + minecraft/pvc.yaml | 20 ++++++++ minecraft/service.yaml | 15 ++++++ minecraft/statefulset.yaml | 68 ++++++++++++++++++++++++++ 4 files changed, 104 insertions(+) diff --git a/helm/values/nginx-internal.values.yaml b/helm/values/nginx-internal.values.yaml index f46c496..2e4382f 100644 --- a/helm/values/nginx-internal.values.yaml +++ b/helm/values/nginx-internal.values.yaml @@ -49,3 +49,4 @@ tcp: 25566: "minecraft/gtnh-server:25565" 25567: "minecraft/tfg-server:25565" 25568: "minecraft/atm10-server:25565" + 25569: "minecraft/star-technology-server:25565" diff --git a/minecraft/pvc.yaml b/minecraft/pvc.yaml index 0958979..367bf05 100644 --- a/minecraft/pvc.yaml +++ b/minecraft/pvc.yaml @@ -5,6 +5,7 @@ metadata: name: monifactory-data namespace: minecraft spec: + storageClassName: longhorn accessModes: - ReadWriteMany resources: @@ -17,6 +18,7 @@ metadata: name: gtnh-data namespace: minecraft spec: + storageClassName: longhorn accessModes: - ReadWriteMany resources: @@ -29,6 +31,7 @@ metadata: name: tfg-data namespace: minecraft spec: + storageClassName: longhorn accessModes: - ReadWriteMany resources: @@ -44,8 +47,25 @@ metadata: recurring-job.longhorn.io/source: "enabled" recurring-job.longhorn.io/daily-backup: "enabled" spec: + storageClassName: longhorn accessModes: - ReadWriteMany resources: requests: storage: 10Gi +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: star-technology-data + namespace: minecraft + labels: + recurring-job.longhorn.io/source: "enabled" + recurring-job.longhorn.io/daily-backup: "enabled" +spec: + storageClassName: longhorn + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi diff --git a/minecraft/service.yaml b/minecraft/service.yaml index 87000cc..59e5f00 100644 --- a/minecraft/service.yaml +++ b/minecraft/service.yaml @@ -58,3 +58,18 @@ spec: port: 25565 selector: app: atm10-server +--- +apiVersion: v1 +kind: Service +metadata: + name: star-technology-server + namespace: minecraft + labels: + app: star-technology-server +spec: + type: ClusterIP + ports: + - name: star-technology + port: 25565 + selector: + app: star-technology-server diff --git a/minecraft/statefulset.yaml b/minecraft/statefulset.yaml index d6e11b7..f25b22a 100644 --- a/minecraft/statefulset.yaml +++ b/minecraft/statefulset.yaml @@ -260,3 +260,71 @@ spec: - name: atm10-data persistentVolumeClaim: claimName: atm10-data +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: star-technology-server + namespace: minecraft +spec: + serviceName: star-technology-server + selector: + matchLabels: + app: star-technology-server + template: + metadata: + labels: + app: star-technology-server + spec: + nodeSelector: + nodepool: worker + containers: + - name: star-technology-server + image: itzg/minecraft-server:java21 + env: + - name: EULA + value: "TRUE" + - name: MODE + value: "survival" + - name: MODPACK_PLATFORM + value: "AUTO_CURSEFORGE" + - name: CF_API_KEY + valueFrom: + secretKeyRef: + name: curseforge + key: credential + - name: CF_PAGE_URL + value: "https://www.curseforge.com/minecraft/modpacks/star-technology" + - name: VERSION + value: "1.20.1" + - name: INIT_MEMORY + value: 2G + - name: MAX_MEMORY + value: 15G + - name: ALLOW_FLIGHT + value: "TRUE" + - name: ENABLE_ROLLING_LOGS + value: "TRUE" + - name: USE_MEOWICE_FLAGS + value: "TRUE" + - name: CF_OVERRIDES_EXCLUSIONS + value: | + # Not applicable for server side + shaderpacks/** + ports: + - name: minecraft + containerPort: 25565 + resources: + requests: + cpu: 2 + memory: "2Gi" + limits: + cpu: 6 + memory: "16Gi" + volumeMounts: + - name: star-technology-data + mountPath: /data + volumes: + - name: star-technology-data + persistentVolumeClaim: + claimName: star-technology-data