minecraft-server: move to the java25 line (4.1.0+up2026.8.2.java25)
Minecraft 26.2 requires Java 25, so the chart's default minecraft.version can only be raised on a java25 image. appVersion becomes 2026.8.2-java25 - the same dated upstream release the java21 line ships, so the only variables that change are the JVM and the Minecraft version. The chart version stays at 4.1.0: the Java lines are siblings of one chart generation, not successors, and are told apart by the +up suffix. The Java boundaries in the values.yaml / NOTES.txt comments are read off Mojang's version manifest (javaVersion.majorVersion per release), not estimated: 1.21.11 is the last release asking for Java 21, every release from 26.1 on asks for Java 25.
This commit is contained in:
5 files changed
+24
-17
No files matched your search
@@ -15,7 +15,7 @@ Collection of some self-made helm-charts. Each top-level directory is a standalo
|
|||||||
| `homeassistant` | Home Assistant | StatefulSet; the only chart carrying Helm tests (`templates/tests/`) |
|
| `homeassistant` | Home Assistant | StatefulSet; the only chart carrying Helm tests (`templates/tests/`) |
|
||||||
| `matrix-synapse` | Matrix Synapse | StatefulSet plus an nginx delegation Deployment/Service |
|
| `matrix-synapse` | Matrix Synapse | StatefulSet plus an nginx delegation Deployment/Service |
|
||||||
| `minecraft-router` | itzg/mc-router | Deployment + routing ConfigMap + NodePort Service (TCP only, no ingress); `mappings` is a required value |
|
| `minecraft-router` | itzg/mc-router | Deployment + routing ConfigMap + NodePort Service (TCP only, no ingress); `mappings` is a required value |
|
||||||
| `minecraft-server` | itzg/minecraft-server | StatefulSet + PVC + Service + init-script ConfigMap (no ingress); service type is a value (`ClusterIP` by default, routed via `minecraft-router`). Published once per Java line — the image tag comes from `.Chart.AppVersion`, so the Java line is chosen by picking the chart version, and `minecraft.version` ships a default matching that line. Since chart 2.0.0 the tag is an **immutable dated upstream release** (`appVersion: <release>-java8` / `-java17` / `-java21`, e.g. `2026.8.2-java8`) instead of the continuously rebuilt rolling line tag. Pilot for the strict `values.schema.json` (#68), which is now binding for every chart |
|
| `minecraft-server` | itzg/minecraft-server | StatefulSet + PVC + Service + init-script ConfigMap (no ingress); service type is a value (`ClusterIP` by default, routed via `minecraft-router`). Published once per Java line — the image tag comes from `.Chart.AppVersion`, so the Java line is chosen by picking the chart version, and `minecraft.version` ships a default matching that line. Since chart 2.0.0 the tag is an **immutable dated upstream release** (`appVersion: <release>-java8` / `-java17` / `-java21` / `-java25`, e.g. `2026.8.2-java8`) instead of the continuously rebuilt rolling line tag. Pilot for the strict `values.schema.json` (#68), which is now binding for every chart |
|
||||||
| `outline` | Outline | StatefulSet, separate DB/Redis secrets |
|
| `outline` | Outline | StatefulSet, separate DB/Redis secrets |
|
||||||
| `paperless-ngx` | Paperless-ngx | Largest chart: consume CronJob, SMB-connector PV/PVC, pre/post-consumption scripts ConfigMap |
|
| `paperless-ngx` | Paperless-ngx | Largest chart: consume CronJob, SMB-connector PV/PVC, pre/post-consumption scripts ConfigMap |
|
||||||
| `patchmon` | PatchMon | Two Deployments (frontend + backend), OIDC secret |
|
| `patchmon` | PatchMon | Two Deployments (frontend + backend), OIDC secret |
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
# minecraft.version is deliberately NOT set here any more. Since chart 1.0.0 the
|
# minecraft.version is deliberately NOT set here any more. Since chart 1.0.0 the
|
||||||
# chart ships a pinned default that belongs to the Java line it publishes (the
|
# chart ships a pinned default that belongs to the Java line it publishes (the
|
||||||
# image tag comes from .Chart.AppVersion, and Java 8 runs Minecraft only up to
|
# image tag comes from .Chart.AppVersion, and Java 8 runs Minecraft only up to
|
||||||
# 1.16.5, 1.18-1.20.4 need Java 17, 1.20.5+ need Java 21). Leaving it unset
|
# 1.16.5, 1.18-1.20.4 need Java 17, 1.20.5-1.21.11 need Java 21 and 26.1+ needs
|
||||||
# means the install-test exercises exactly the default a user would get, so a
|
# Java 25). Leaving it unset means the install-test exercises exactly the
|
||||||
# Java line published with a mismatched default version fails CI instead of
|
# default a user would get, so a Java line published with a mismatched default
|
||||||
# passing on a CI-only override.
|
# version fails CI instead of passing on a CI-only override.
|
||||||
#
|
#
|
||||||
# server.service.type is not set either: the default is ClusterIP, which is what
|
# server.service.type is not set either: the default is ClusterIP, which is what
|
||||||
# all three real deployments run (routing is done by the static mappings of the
|
# all three real deployments run (routing is done by the static mappings of the
|
||||||
|
|||||||
@@ -6,15 +6,16 @@ icon: https://avatars.githubusercontent.com/u/988985
|
|||||||
type: application
|
type: application
|
||||||
|
|
||||||
# The Java line of this chart version is chosen through appVersion, which is
|
# The Java line of this chart version is chosen through appVersion, which is
|
||||||
# the image tag: the chart is published once per line (java8 / java17 / java21)
|
# the image tag: the chart is published once per line (java8 / java17 / java21 /
|
||||||
# and minecraft.version in values.yaml must match the line published here.
|
# java25) and minecraft.version in values.yaml must match the line published
|
||||||
|
# here.
|
||||||
# Since chart 2.0.0 the tag is a DATED upstream release ("<release>-java<N>")
|
# Since chart 2.0.0 the tag is a DATED upstream release ("<release>-java<N>")
|
||||||
# instead of the rolling line tag ("java<N>"): the rolling tags are rebuilt
|
# instead of the rolling line tag ("java<N>"): the rolling tags are rebuilt
|
||||||
# continuously, so a pod restart could pull a different image than the last one
|
# continuously, so a pod restart could pull a different image than the last one
|
||||||
# without anything being recorded anywhere. The dated tags are immutable, so the
|
# without anything being recorded anywhere. The dated tags are immutable, so the
|
||||||
# image is now pinned by the chart version like every other chart in this repo.
|
# image is now pinned by the chart version like every other chart in this repo.
|
||||||
version: 4.1.0+up2026.8.2.java21
|
version: 4.1.0+up2026.8.2.java25
|
||||||
appVersion: "2026.8.2-java21"
|
appVersion: "2026.8.2-java25"
|
||||||
|
|
||||||
maintainers:
|
maintainers:
|
||||||
- name: jklein
|
- name: jklein
|
||||||
@@ -81,11 +81,13 @@ THIS CHART IS PUBLISHED ONCE PER JAVA LINE — THIS IS {{ $line | default "an un
|
|||||||
({{ .Chart.AppVersion }}), not from a value. This build runs
|
({{ .Chart.AppVersion }}), not from a value. This build runs
|
||||||
minecraft.version {{ .Values.minecraft.version }}.
|
minecraft.version {{ .Values.minecraft.version }}.
|
||||||
|
|
||||||
Java 8 runs Minecraft up to 1.16.5, 1.18-1.20.4 need Java 17 and 1.20.5+ need
|
Java 8 runs Minecraft up to 1.16.5, 1.18-1.20.4 need Java 17, 1.20.5-1.21.11
|
||||||
Java 21. Nothing in this chart checks that minecraft.version fits the line:
|
need Java 21 and 26.1 and later need Java 25 (read off Mojang's version
|
||||||
a mismatch renders and installs without a word, and only the container fails
|
manifest, javaVersion.majorVersion per release). Nothing in this chart checks
|
||||||
afterwards — CrashLoopBackOff once the startup budget{{ if $budget }} ({{ $budget }}){{ end }} is spent, with
|
that minecraft.version fits the line: a mismatch renders and installs without
|
||||||
the reason in the log and nowhere else:
|
a word, and only the container fails afterwards — CrashLoopBackOff once the
|
||||||
|
startup budget{{ if $budget }} ({{ $budget }}){{ end }} is spent, with the reason in the log and
|
||||||
|
nowhere else:
|
||||||
|
|
||||||
kubectl -n {{ .Release.Namespace }} logs {{ $pod }}
|
kubectl -n {{ .Release.Namespace }} logs {{ $pod }}
|
||||||
|
|
||||||
|
|||||||
@@ -225,9 +225,13 @@ minecraft:
|
|||||||
# drift to a new release on every restart.
|
# drift to a new release on every restart.
|
||||||
# This value must match the Java line of the chart version: the image tag
|
# This value must match the Java line of the chart version: the image tag
|
||||||
# comes from .Chart.AppVersion, so the JVM is fixed per published chart
|
# comes from .Chart.AppVersion, so the JVM is fixed per published chart
|
||||||
# version. Java 8 runs Minecraft up to 1.16.5, 1.18-1.20.4 need Java 17 and
|
# version. Java 8 runs Minecraft up to 1.16.5, 1.18-1.20.4 need Java 17,
|
||||||
# 1.20.5+ need Java 21. This chart publishes appVersion "2026.8.2-java21".
|
# 1.20.5-1.21.11 need Java 21 and 26.1 and later need Java 25. The two upper
|
||||||
version: "1.21.1"
|
# boundaries are read off Mojang's version manifest (piston-meta, field
|
||||||
|
# javaVersion.majorVersion per release), not estimated: 1.21.11 (2025-12-09)
|
||||||
|
# is the last release asking for 21, and every release from 26.1 (2026-03-24)
|
||||||
|
# on asks for 25. This chart publishes appVersion "2026.8.2-java25".
|
||||||
|
version: "26.2"
|
||||||
|
|
||||||
# curseforge, ftb and curseforgeServerpack are mutually exclusive - enabling
|
# curseforge, ftb and curseforgeServerpack are mutually exclusive - enabling
|
||||||
# more than one is rejected by the chart (before 1.0.0 it silently rendered a
|
# more than one is rejected by the chart (before 1.0.0 it silently rendered a
|
||||||
|
|||||||
Reference in new issue
Block a user