Gluttony-Cluster/games/minecraft/minecraft-deployment.yaml
Tyler Perkins 09eb22f316
All checks were successful
continuous-integration/drone/push Build is passing
Add security context for minecraft server user
2023-12-23 21:10:08 -05:00

150 lines
3.8 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: minecraft
namespace: games-ns
spec:
replicas: 1
selector:
matchLabels:
app: games
template:
metadata:
labels:
app: games
spec:
initContainers:
- name: modpack-downloader
image: alpine:latest
volumeMounts:
- name: minecraft-data
mountPath: /data
command: ["/bin/sh"]
args:
- "-c"
- |
chown -R 1000:1000 /data
containers:
- name: minecraft
securityContext:
runAsUser: 1000
runAsGroup: 1000
image: itzg/minecraft-server:java8-jdk
env:
- name: EULA
value: "TRUE"
- name: ENABLE_RCON
value: "TRUE"
- name: RCON_PORT
value: "28016"
- name: MEMORY
value: "8G"
- name: USE_AIKAR_FLAGS
value: "false"
- name: ENABLE_ROLLING_LOGS
value: "false"
- name: TZ
value: "America/New_York"
- name: VERSION
value: "1.12.2"
- name: REMOVE_OLD_MODS
value: "FALSE"
# Proper curseforge pack
#- name: TYPE
# value: "CURSEFORGE"
#- name: CF_SERVER_MOD
# value: "/modpacks/modpack.zip"
# Generic Forge configuration
- name: TYPE
value: "FORGE"
- name: MODPACK
value: "https://s3.clortox.com/minecraft-modpacks/modpack-latest.zip"
#- name: CUSTOM_SERVER_PROPERTIES
# value: |
# level-type=EarthCubic
# level-name=big-world
# view-distance=16
# vertical-view-distance=-1
- name: ICON
value: "https://s3.clortox.com/minecraft-modpacks/server-icon.png"
- name: OVERRIDE_ICON
value: "TRUE"
- name: MOTD
value: "Lol. Lmao Even."
- name: MAX_PLAYERS
value: "50"
- name: SPAWN_PROTECTION
value: "0"
- name: DIFFICULTY
value: "hard"
- name: OPS
value: "Gritos_Internos"
- name: ALLOW_FLIGHT
value: "TRUE"
ports:
- containerPort: 25565
- containerPort: 28016
volumeMounts:
- name: minecraft-data
mountPath: /data
- name: minecraft-modpacks
mountPath: /modpacks
# Sidecar providing access to upload/view/download raw media files
- name: filebrowser
securityContext:
runAsUser: 1000
runAsGroup: 1000
image: git.clortox.com/infrastructure/filebrowser:v1.0.1
env:
- name: ADMIN_PASS
valueFrom:
secretKeyRef:
name: filebrowser-secret
key: ADMIN-PASS
- name: DEFAULT_USERNAME
value: "default"
- name: DEFAULT_PASSWORD
valueFrom:
secretKeyRef:
name: filebrowser-secret
key: DEFAULT-PASS
- name: BRANDING_NAME
value: "Gluttony Minecraft Server Data"
- name: AUTH_METHOD
value: "proxy"
- name: AUTH_HEADER
value: "X-Auth-User"
- name: PERM_ADMIN
value: "false"
- name: PERM_EXECUTE
value: "false"
- name: PERM_CREATE
value: "true"
- name: PERM_RENAME
value: "true"
- name: PERM_MODIFY
value: "true"
- name: PERM_DELETE
value: "false"
- name: PERM_SHARE
value: "true"
- name: PERM_DOWNLOAD
value: "true"
volumeMounts:
- name: minecraft-data
mountPath: /srv
ports:
- containerPort: 80
volumes:
- name: minecraft-data
persistentVolumeClaim:
claimName: minecraft-data-pvc
- name: minecraft-modpacks
emptyDir: {}