--- # -------------------------------------------------- # -- 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 # ------------------------------------------ istio: enabled: true istio: - name: minecraft-tcp gateway: istio-system/badhouseplants-minecraft kind: tcp port_match: 25565 hostname: "*" service: minecraft-minecraft port: 25565 # -------------------------------------------------- # -- Main values # -------------------------------------------------- image: tag: java17-graalvm-ce 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