mirror of
https://github.com/helm/charts.git
synced 2026-08-23 22:37:45 +00:00
225 lines
8.7 KiB
YAML
225 lines
8.7 KiB
YAML
{{- if ne (printf "%s" .Values.minecraftServer.eula) "FALSE" }}
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: {{ template "minecraft.fullname" . }}
|
|
{{- if .Values.deploymentAnnotations }}
|
|
annotations:
|
|
{{- range $key, $value := .Values.deploymentAnnotations }}
|
|
{{ $key }}: {{ $value | quote }}
|
|
{{- end }}
|
|
{{- end }}
|
|
labels:
|
|
app: {{ template "minecraft.fullname" . }}
|
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
release: "{{ .Release.Name }}"
|
|
heritage: "{{ .Release.Service }}"
|
|
spec:
|
|
strategy:
|
|
type: {{ .Values.strategyType }}
|
|
selector:
|
|
matchLabels:
|
|
app: {{ template "minecraft.fullname" . }}
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: {{ template "minecraft.fullname" . }}
|
|
{{- if .Values.podAnnotations }}
|
|
annotations:
|
|
{{- range $key, $value := .Values.podAnnotations }}
|
|
{{ $key }}: {{ $value | quote }}
|
|
{{- end }}
|
|
{{- end }}
|
|
spec:
|
|
securityContext:
|
|
runAsUser: {{ .Values.securityContext.runAsUser }}
|
|
fsGroup: {{ .Values.securityContext.fsGroup }}
|
|
containers:
|
|
- name: {{ template "minecraft.fullname" . }}
|
|
image: "{{ .Values.image }}:{{ .Values.imageTag }}"
|
|
imagePullPolicy: Always
|
|
resources:
|
|
{{ toYaml .Values.resources | indent 10 }}
|
|
readinessProbe:
|
|
exec:
|
|
command:
|
|
{{ toYaml .Values.readinessProbe.command | indent 14 }}
|
|
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
|
|
periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
|
|
failureThreshold: {{ .Values.readinessProbe.failureThreshold }}
|
|
successThreshold: {{ .Values.readinessProbe.successThreshold }}
|
|
timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
|
|
livenessProbe:
|
|
exec:
|
|
command:
|
|
{{ toYaml .Values.livenessProbe.command | indent 14 }}
|
|
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
|
|
periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
|
|
failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
|
|
successThreshold: {{ .Values.livenessProbe.successThreshold }}
|
|
timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
|
|
env:
|
|
- name: EULA
|
|
value: {{ .Values.minecraftServer.eula | quote }}
|
|
- name: TYPE
|
|
value: {{ default "" .Values.minecraftServer.type | quote }}
|
|
{{- if eq .Values.minecraftServer.type "FORGE" }}
|
|
{{- if .Values.minecraftServer.forgeInstallerUrl }}
|
|
- name: FORGE_INSTALLER_URL
|
|
value: {{ .Values.minecraftServer.forgeInstallerUrl | quote }}
|
|
{{- else }}
|
|
- name: FORGEVERSION
|
|
value: {{ .Values.minecraftServer.forgeVersion | quote }}
|
|
{{- end }}
|
|
{{- else if eq .Values.minecraftServer.type "SPIGOT" }}
|
|
- name: SPIGOT_DOWNLOAD_URL
|
|
value: {{ .Values.minecraftServer.spigotDownloadUrl | quote }}
|
|
{{- else if eq .Values.minecraftServer.type "BUKKIT" }}
|
|
- name: BUKKIT_DOWNLOAD_URL
|
|
value: {{ .Values.minecraftServer.bukkitDownloadUrl | quote }}
|
|
{{- else if eq .Values.minecraftServer.type "PAPER" }}
|
|
- name: PAPER_DOWNLOAD_URL
|
|
value: {{ .Values.minecraftServer.paperDownloadUrl | quote }}
|
|
{{- else if eq .Values.minecraftServer.type "FTB" }}
|
|
- name: FTB_SERVER_MOD
|
|
value: {{ .Values.minecraftServer.ftbServerMod | quote }}
|
|
- name: FTB_LEGACYJAVAFIXER
|
|
value: {{ default false .Values.minecraftServer.ftbLegacyJavaFixer | quote }}
|
|
{{- end }}
|
|
- name: VERSION
|
|
value: {{ .Values.minecraftServer.version | quote }}
|
|
- name: DIFFICULTY
|
|
value: {{ .Values.minecraftServer.difficulty | quote }}
|
|
- name: WHITELIST
|
|
value: {{ default "" .Values.minecraftServer.whitelist | quote }}
|
|
- name: OPS
|
|
value: {{ default "" .Values.minecraftServer.ops | quote }}
|
|
- name: ICON
|
|
value: {{ default "" .Values.minecraftServer.icon | quote }}
|
|
- name: MAX_PLAYERS
|
|
value: {{ .Values.minecraftServer.maxPlayers | quote }}
|
|
- name: MAX_WORLD_SIZE
|
|
value: {{ .Values.minecraftServer.maxWorldSize | quote }}
|
|
- name: ALLOW_NETHER
|
|
value: {{ .Values.minecraftServer.allowNether | quote }}
|
|
- name: ANNOUNCE_PLAYER_ACHIEVEMENTS
|
|
value: {{ .Values.minecraftServer.announcePlayerAchievements | quote }}
|
|
- name: ENABLE_COMMAND_BLOCK
|
|
value: {{ .Values.minecraftServer.enableCommandBlock | quote }}
|
|
- name: FORCE_gameMode
|
|
value: {{ .Values.minecraftServer.forcegameMode | quote }}
|
|
{{- if .Values.minecraftServer.forceReDownload }}
|
|
- name: FORCE_REDOWNLOAD
|
|
value: "TRUE"
|
|
{{- end }}
|
|
- name: GENERATE_STRUCTURES
|
|
value: {{ .Values.minecraftServer.generateStructures | quote }}
|
|
- name: HARDCORE
|
|
value: {{ .Values.minecraftServer.hardcore | quote }}
|
|
- name: MAX_BUILD_HEIGHT
|
|
value: {{ .Values.minecraftServer.maxBuildHeight | quote }}
|
|
- name: MAX_TICK_TIME
|
|
value: {{ .Values.minecraftServer.maxTickTime | quote }}
|
|
- name: SPAWN_ANIMALS
|
|
value: {{ .Values.minecraftServer.spawnAnimals | quote }}
|
|
- name: SPAWN_MONSTERS
|
|
value: {{ .Values.minecraftServer.spawnMonsters | quote }}
|
|
- name: SPAWN_NPCS
|
|
value: {{ .Values.minecraftServer.spawnNPCs | quote }}
|
|
- name: VIEW_DISTANCE
|
|
value: {{ .Values.minecraftServer.viewDistance | quote }}
|
|
- name: SEED
|
|
value: {{ default "" .Values.minecraftServer.levelSeed | quote }}
|
|
- name: MODE
|
|
value: {{ .Values.minecraftServer.gameMode | quote }}
|
|
- name: MOTD
|
|
value: {{ .Values.minecraftServer.motd | quote }}
|
|
- name: PVP
|
|
value: {{ .Values.minecraftServer.pvp | quote }}
|
|
- name: LEVEL_TYPE
|
|
value: {{ .Values.minecraftServer.levelType | quote }}
|
|
- name: GENERATOR_SETTINGS
|
|
value: {{ default "" .Values.minecraftServer.generatorSettings | quote }}
|
|
- name: LEVEL
|
|
value: {{ .Values.minecraftServer.worldSaveName | quote }}
|
|
{{- if .Values.minecraftServer.downloadWorldUrl }}
|
|
- name: WORLD
|
|
value: {{ .Values.minecraftServer.downloadWorldUrl | quote }}
|
|
{{- end }}
|
|
{{- if .Values.minecraftServer.downloadModpackUrl }}
|
|
- name: MODPACK
|
|
value: {{ .Values.minecraftServer.downloadModpackUrl | quote }}
|
|
{{- if .Values.minecraftServer.removeOldMods }}
|
|
- name: REMOVE_OLD_MODS
|
|
value: "TRUE"
|
|
{{- end }}
|
|
{{- end }}
|
|
- name: ONLINE_MODE
|
|
value: {{ .Values.minecraftServer.onlineMode | quote }}
|
|
- name: MEMORY
|
|
value: {{ .Values.minecraftServer.memory | quote }}
|
|
- name: JVM_OPTS
|
|
value: {{ .Values.minecraftServer.jvmOpts | quote }}
|
|
- name: JVM_XX_OPTS
|
|
value: {{ .Values.minecraftServer.jvmXXOpts | quote }}
|
|
|
|
{{- if .Values.minecraftServer.rcon.enabled }}
|
|
- name: ENABLE_RCON
|
|
value: "true"
|
|
- name: RCON_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ template "minecraft.fullname" . }}
|
|
key: rcon-password
|
|
{{- end }}
|
|
|
|
{{- if .Values.minecraftServer.query.enabled }}
|
|
- name: ENABLE_QUERY
|
|
value: "true"
|
|
- name: QUERY_PORT
|
|
value: {{ .Values.minecraftServer.query.port }}
|
|
{{- end }}
|
|
|
|
{{- range $key, $value := .Values.extraEnv }}
|
|
- name: {{ $key }}
|
|
value: {{ $value }}
|
|
{{- end }}
|
|
|
|
ports:
|
|
- name: minecraft
|
|
containerPort: 25565
|
|
protocol: TCP
|
|
{{- if .Values.minecraftServer.rcon.enabled }}
|
|
- name: rcon
|
|
containerPort: {{ .Values.minecraftServer.rcon.port }}
|
|
protocol: TCP
|
|
{{- end }}
|
|
volumeMounts:
|
|
- name: datadir
|
|
mountPath: /data
|
|
volumes:
|
|
- name: datadir
|
|
{{- if .Values.persistence.dataDir.enabled }}
|
|
persistentVolumeClaim:
|
|
{{- if .Values.persistence.dataDir.existingClaim }}
|
|
claimName: {{ .Values.persistence.dataDir.existingClaim }}
|
|
{{- else }}
|
|
claimName: {{ template "minecraft.fullname" . }}-datadir
|
|
{{- end }}
|
|
{{- else }}
|
|
emptyDir: {}
|
|
{{- end }}
|
|
{{- if .Values.nodeSelector }}
|
|
nodeSelector:
|
|
{{ toYaml .Values.nodeSelector | indent 8 }}
|
|
{{- end }}
|
|
{{- if .Values.affinity }}
|
|
affinity:
|
|
{{ toYaml .Values.affinity | indent 8 }}
|
|
{{- end }}
|
|
{{- if .Values.tolerations }}
|
|
tolerations:
|
|
{{ toYaml .Values.tolerations | indent 8 }}
|
|
{{- end }}
|
|
{{ end }}
|