180 lines
4.4 KiB
YAML
180 lines
4.4 KiB
YAML
---
|
|
# --------------------------------------------------
|
|
# -- Extensions values
|
|
# --------------------------------------------------
|
|
service-account:
|
|
enabled: true
|
|
resources:
|
|
- name: minecraft-exporter
|
|
label:
|
|
app: minecraft-minecraft-metrics
|
|
endpoints:
|
|
port: metrics
|
|
# ------------------------------------------
|
|
# -- Istio extenstion. Just because I'm
|
|
# -- not using ingress nginx
|
|
# ------------------------------------------
|
|
traefik:
|
|
enabled: true
|
|
tcpRoutes:
|
|
- name: minecraft-tcp
|
|
entrypoint: minecraft
|
|
gateway: istio-system/badhouseplants-minecraft
|
|
match: HostSNI(`*`)
|
|
service: minecraft-minecraft
|
|
port: 25565
|
|
# --------------------------------------------------
|
|
# -- Main values
|
|
# --------------------------------------------------
|
|
image:
|
|
tag: java17-graalvm
|
|
pullPolicy: Always
|
|
|
|
resources:
|
|
requests:
|
|
memory: 3Gi
|
|
cpu: 256m
|
|
limits:
|
|
memory: 3Gi
|
|
|
|
lifecycle:
|
|
postStart:
|
|
- bash
|
|
- -c
|
|
- for i in {1..100}; do mc-health && break || sleep 20; done && mc-send-to-console setpassword 11223345
|
|
|
|
readinessProbe:
|
|
command:
|
|
- mc-health
|
|
periodSeconds: 20
|
|
failureThreshold: 50
|
|
timeoutSeconds: 10
|
|
livenessProbe:
|
|
timeoutSeconds: 10
|
|
|
|
minecraftServer:
|
|
overrideServerProperties: true
|
|
eula: "TRUE"
|
|
onlineMode: false
|
|
difficulty: hard
|
|
hardcore: true
|
|
version: 1.20.1
|
|
maxWorldSize: 90000
|
|
type: "PAPER"
|
|
paperDownloadUrl: https://api.papermc.io/v2/projects/paper/versions/1.20.1/builds/170/downloads/paper-1.20.1-170.jar
|
|
gameMode: survival
|
|
pvp: true
|
|
rcon:
|
|
enabled: true
|
|
withGeneratedPassword: false
|
|
port: 25575
|
|
serviceType: ClusterIP
|
|
extraPorts:
|
|
- name: metrics
|
|
containerPort: 9225
|
|
protocol: TCP
|
|
service:
|
|
enabled: true
|
|
embedded: false
|
|
labels:
|
|
exporter: minecraft
|
|
type: ClusterIP
|
|
port: 9925
|
|
ingress:
|
|
enabled: false
|
|
persistence:
|
|
dataDir:
|
|
enabled: true
|
|
Size: 15Gi
|
|
mcbackup:
|
|
enabled: false
|
|
backupInterval: 2h
|
|
pauseIfNoPlayers: "false"
|
|
pruneBackupsDays: 2
|
|
rconRetries: 5
|
|
rconRetryInterval: 10s
|
|
excludes: "*.jar,cache,logs"
|
|
backupMethod: restic
|
|
resticRepository: s3:https://s3.e.badhouseplants.net:443/restic/minecraft
|
|
resticAdditionalTags: "mc_backups"
|
|
pruneResticRetention: "--keep-last 12 --keep-daily 1 --keep-weekly 2 --keep-monthly 2 --keep-yearly 2"
|
|
resources:
|
|
requests:
|
|
memory: 512Mi
|
|
cpu: 100m
|
|
persistence:
|
|
backupDir:
|
|
enabled: false
|
|
# ---------------------------------------------
|
|
# -- Install Plugins
|
|
# ---------------------------------------------
|
|
initContainers:
|
|
- name: 0-install-prometheus-exporter
|
|
image: alpine/curl
|
|
command:
|
|
- curl
|
|
- -L
|
|
- "https://github.com/sladkoff/minecraft-prometheus-exporter/releases/download/v2.5.0/minecraft-prometheus-exporter-2.5.0.jar"
|
|
- -o
|
|
- /data/plugins/prometheus-exporter.jar
|
|
volumeMounts:
|
|
- name: plugins
|
|
mountPath: /data/plugins
|
|
readOnly: false
|
|
- name: 0-install-password-plugin
|
|
image: alpine/curl
|
|
command:
|
|
- curl
|
|
- -L
|
|
- "https://github.com/timbru31/PasswordProtect/releases/download/PasswordProtect-3.1.0/PasswordProtect.jar"
|
|
- -o
|
|
- /data/plugins/PasswordProtect.jar
|
|
volumeMounts:
|
|
- name: plugins
|
|
mountPath: /data/plugins
|
|
readOnly: false
|
|
- name: 0-install-gravity-control-plugin
|
|
image: alpine/curl
|
|
command:
|
|
- curl
|
|
- -L
|
|
- https://github.com/e-im/GravityControl/releases/download/v1.3.0/GravityControl-1.3.0.jar
|
|
- -o
|
|
- /data/plugins/GravityControl-1.3.0.jar
|
|
volumeMounts:
|
|
- name: plugins
|
|
mountPath: /data/plugins
|
|
readOnly: false
|
|
- name: 0-install-fast-minecart-plugin
|
|
image: alpine/curl
|
|
command:
|
|
- curl
|
|
- -L
|
|
- https://github.com/certainly1182/FastMinecarts/releases/download/v1.0.1/FastMinecarts.jar
|
|
- -o
|
|
- /data/plugins/FastMinecarts.jar
|
|
volumeMounts:
|
|
- name: plugins
|
|
mountPath: /data/plugins
|
|
- name: 1-add-plugins-to-minecraft
|
|
image: alpine/curl
|
|
command:
|
|
- sh
|
|
- -c
|
|
- cp -r /in /out/plugins
|
|
volumeMounts:
|
|
- name: plugins
|
|
mountPath: /in
|
|
readOnly: false
|
|
- name: datadir
|
|
mountPath: /out
|
|
extraVolumes:
|
|
- volumeMounts:
|
|
- name: plugins
|
|
mountPath: /data/plugins
|
|
readOnly: false
|
|
volumes:
|
|
- name: plugins
|
|
emptyDir:
|
|
sizeLimit: 500Mi
|