apiVersion: apps/v1 kind: Deployment metadata: name: {{ .Release.Name }} spec: selector: matchLabels: app: {{ .Release.Name }} strategy: type: Recreate template: metadata: labels: app: {{ .Release.Name }} spec: initContainers: - name: remove-mods image: {{ .Values.image }} imagePullPolicy: Always command: ["/bin/bash"] args: ["-c", "rm -r /mc_data/mods"] volumeMounts: - mountPath: /mc_data name: data - name: unzip image: {{ .Values.image }} imagePullPolicy: Always command: ["/bin/bash"] args: ["-c", "rm -f forge*.jar && unzip -o -d . /the-1122-pack/the-1122-pack.zip"] volumeMounts: - mountPath: /mc_data name: data - name: rename image: {{ .Values.image }} imagePullPolicy: Always command: ["/bin/bash"] args: ["-c", "mv $(find . -maxdepth 1 -name 'forge*.jar') forge.jar"] volumeMounts: - mountPath: /mc_data name: data - name: copy-properties image: debian:latest imagePullPolicy: Always command: ["/bin/bash"] args: ["-c", "cp -f /server.properties /mc_data/server.properties"] volumeMounts: - mountPath: /mc_data name: data - name: properties mountPath: /server.properties subPath: server.properties containers: - name: server image: {{ .Values.image }} imagePullPolicy: Always command: ["/bin/bash"] args: ["-c", 'java -server -Xmx"$MAX_RAM"G -Dfml.queryResult=confirm -jar forge.jar nogui'] ports: - containerPort: 25565 volumeMounts: - mountPath: /mc_data name: data - name: properties mountPath: /mc_data/eula.txt subPath: eula.txt tty: true stdin: true env: - name: MAX_RAM value: {{ .Values.max_ram | quote }} - name: MIN_RAM value: "1" resources: requests: memory: {{ div .Values.max_ram 2 }}Gi cpu: 1m limits: memory: {{ add 1 .Values.max_ram }}Gi cpu: {{ .Values.max_cpu | quote }} volumes: - name: data persistentVolumeClaim: claimName: {{ .Release.Name }} - name: properties configMap: name: {{ .Release.Name }} securityContext: fsGroup: 2000