apiVersion: apps/v1
kind: Deployment
metadata:
  name: minecraft-server
spec:
  selector:
    matchLabels:
      app: minecraft-server
  template:
    metadata:
      labels:
        app: minecraft-server
    spec:
      containers:
      - name: minecraft-server
        image: minecraft
        resources:
          limits:
            memory: "6000Mi"
            cpu: "3"
          requests:
            memory: "1500Mi"
            cpu: "500m"
        ports:
        - containerPort: 25565
        env:
        - name: EULA
          value: "TRUE"
        - name: TYPE
          value: "AUTO_CURSEFORGE"
        - name: CF_API_KEY
          valueFrom:
            secretKeyRef:
              name: curseforge-api
              key: key
        - name: CF_SLUG
          value: "vault-hunters-1-18-2"
        - name: VERSION
          value: "1.18.2"
        - name: INIT_MEMORY
          value: "1G"
        - name: MAX_MEMORY
          value: "5G"
        - name: MOTD
          value: "VaultHunters baby!"
        - name: ENABLE_RCON
          value: "false"
        - name: CREATE_CONSOLE_IN_PIPE
          value: "true"
        - name: ONLINE_MODE
          value: "true"
        - name: ENABLE_AUTOPAUSE
          value: "true"
        - name: AUTOPAUSE_TIMEOUT_EST
          value: "1800"
        volumeMounts:
        - name: minecraft-data
          mountPath: /data

      volumes:
      - name: minecraft-data
        persistentVolumeClaim:
          claimName: minecraft-data