add newest changes to namespaces
This commit is contained in:
63
namespaces/mineclonia/mineclonia-deployment.yml
Normal file
63
namespaces/mineclonia/mineclonia-deployment.yml
Normal 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
|
||||
Reference in New Issue
Block a user