add newest changes to namespaces

This commit is contained in:
2025-01-22 21:34:25 -05:00
parent e408c7cf4e
commit 4fd0c84d48
38 changed files with 908 additions and 148 deletions

View File

@@ -0,0 +1,35 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: mineclonia-config
namespace: mineclonia
data:
minetest.conf: |
enable_server = true
default_game = mineclonia
game_id = mineclonia
mapgen = mineclonia
server_name = Runestone
worldname = Runestone
server_description = "Explore vast landscapes, uncover ancient secrets, and shape your legacy in the land of Runestone."
server_address = 0.0.0.0
server_port = 30000
max_users = 50
debug_log_level = warning
time_speed = 72 # set to 20 minutes dat/night cycles like minecraft.
worldname = Runestone
# network optimizations
enable_ipv6 = false
max_packets_per_iteration = 1024
chat_message_max_length = 200
# Authentication
name = socialsyndrome
require_password = true
password_hashing = true
enable_mods = true
player_name = true
auth_backend = sqlite3
auth_fail_ban_time = 10
enable_password_protection = true

View File

@@ -0,0 +1,63 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: mineclonia
namespace: mineclonia
spec:
replicas: 1
selector:
matchLabels:
app: mineclonia
template:
metadata:
labels:
app: mineclonia
spec:
initContainers:
- name: mineclonia-updater
image: alpine
command: ["/bin/sh", "-c"]
args:
- |
set -e
apk add --no-cache curl unzip jq
mkdir -p /var/lib/minetest/.minetest
latest_release=$(curl -s https://codeberg.org/api/v1/repos/mineclonia/mineclonia/releases/latest | jq -r '.tag_name')
if [ ! -d "/var/lib/minetest/.minetest/games/mineclonia" ] || [ "$(cat /var/lib/minetest/.minetest/games/mineclonia/version.txt)" != "$latest_release" ]; then
echo "Updating Mineclonia to version $latest_release"
rm -rf /var/lib/minetest/.minetest/games/mineclonia
curl -L https://codeberg.org/mineclonia/mineclonia/archive/$latest_release.zip -o /tmp/mineclonia.zip
unzip /tmp/mineclonia.zip -d /var/lib/minetest/.minetest/games/
echo "$latest_release" > /var/lib/minetest/.minetest/games/mineclonia/version.txt
else
echo "Mineclonia is up to date"
fi
# Ensure ownership of all data
chown -R 30000:30000 /var/lib/minetest
ls -ahl /var/lib/minetest
volumeMounts:
- name: data
mountPath: /var/lib/minetest
containers:
- name: mineclonia
image: ghcr.io/minetest/minetest
ports:
- containerPort: 30000
protocol: UDP
- containerPort: 30000
protocol: TCP
volumeMounts:
- name: data
mountPath: /var/lib/minetest
- name: config
mountPath: /etc/minetest
args: ["minetest", "--gameid", "mineclonia"]
stdin: true
tty: true
volumes:
- name: config
configMap:
name: mineclonia-config
- name: data
persistentVolumeClaim:
claimName: mineclonia-data

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mineclonia-data
namespace: mineclonia
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 64Gi
storageClassName: longhorn

View File

@@ -0,0 +1,19 @@
apiVersion: v1
kind: Service
metadata:
name: mineclonia
namespace: mineclonia
annotations:
metallb.universe.tf/allow-shared-ip: mineclonia
spec:
selector:
app: mineclonia
ports:
- protocol: UDP
port: 30000
targetPort: 30000
- protocol: TCP
port: 30000
targetPort: 30000
type: LoadBalancer
loadBalancerIP: 192.168.1.4

View File

@@ -0,0 +1,4 @@
kind: Namespace
apiVersion: v1
metadata:
name: mineclonia