Temurin/Adoptium
| source | condition | target |
|---|---|---|
✔ | ✔ | ✗ |
Description
The temurin resource queries the Adoptium API for Eclipse Temurin JDK and JRE releases.
- source
Returns one attribute of the matching release (its version name, or a URL to the installer, checksum or signature, depending on
result).- condition
Verifies that a release exists, optionally across a set of platforms.
- target
Not supported - a target fails with
Target not supported for resource of kind 'temurin'.
Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| architecture | string | Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types) to filter the Temurin release to retrieve. default: “x64” Allowed values:
| |
| featureversion | integer | FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve. default: undefined Allowed values: integer number (8, 11, 17, 21, etc.) | |
| imagetype | string | ImageType specifies the type of artifact to filter the Temurin release to retrieve. default: “jdk” Allowed values:
| |
| operatingsystem | string | OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types) to filter the Temurin release to retrieve. default: “linux” Allowed values:
| |
| platforms | array | Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.
Each platform must be a combination of an Operating System and a CPU architecture separated by the slash ( default: empty list (e.g. no filtering per platform). Allowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):
| |
| project | string | Project specifies the project to filter the Temurin release to retrieve. default: “jdk” Allowed values:
| |
| releaseline | string | ReleaseLine specifies the line of Temurin release to retrieve. default: “lts” Allowed values:
| |
| releasetype | string | ReleaseType specifies the type of Temurin release to retrieve. default: “ga” Allowed values:
| |
| result | string | Result specifies the type of value returned by the retrieved Temurin release. default: “version” Allowed values:
| |
| specificversion | string | SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve. Ignores FeatureVersion when used. default: undefined Allowed values: string (can be a semantic version, a JDK version or a Temurin release name) |
Every field has a default, so an empty spec is valid and resolves to the latest LTS GA JDK for linux/x64.
| Field | Default | Notes |
|---|---|---|
|
|
|
|
|
|
| latest | The major Java version - 8, 11, 17, 21… |
| unset | An exact version, a JDK version, or a Temurin release name. Takes precedence over |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
platforms is condition-only. It takes <os>/<architecture> pairs and passes only when a release exists for all of them, the check to run before publishing something that claims multi-platform support:
conditions:
available:
kind: temurin
spec:
featureversion: 21
platforms:
- linux/x64
- linux/aarch64
- alpine-linux/x64
- windows/x64Fallback when a new major is announced
Adoptium advertises the most recent feature release before its GA builds are indexed. Asked for the latest, Updatecli would then find nothing.
Instead it collects the candidate feature versions, tries the most recent first, and walks down to the next one whenever a version errors or returns no releases. The choice is only visible with --debug:
[temurin] no releases found for feature version 26, trying fallback
[temurin] using fallback feature version 25So a source asking for the latest LTS keeps returning a usable version across the announcement window, rather than failing for a few days. Pin featureversion when you need a specific major regardless.
Example
# updatecli.yaml
sources:
## Returns the latest LTS version
getLatestLtsVersion:
kind: temurin
## Returns the latest feature release
getLatestFeatureVersion:
kind: temurin
spec:
releaseline: feature
## Returns the latest LTS "nightly build" (Early Availability) version
getLatestLtsEarlyAvailabilityVersion:
kind: temurin
spec:
releaseline: lts
releasetype: ea
## Returns the latest "Valhalla" Project JDK 17 version available for Windows
getLatestWindowsValhalla17Version:
kind: temurin
spec:
featureversion: 17
project: valhalla
operatingsystem: windows
# Returns the latest installer URL for Linux x64
getLatestLTSLinuxAMD64InstallerURL:
kind: temurin
spec:
result: installer_url
## Returns the latest LTS Installer's checksum URL for s390x Alpine Linux JRE
getLatestJRE17LinuxS390xChecksumUrl:
kind: temurin
spec:
operatingsystem: alpine-linux
architecture: s390x
imagetype: jre
result: checksum_url
## Returns latest Installer's Signature URL of the Windows JDK version "17.0.2*"
getLatestCustomVersionWindowsSignatureUrl:
kind: temurin
spec:
version: "17.0.2"
operatingsystem: windows
result: signature_url
conditions:
checkLatestTemurin:
name: Temurin Check
kind: temurin
disablesourceinput: true
checkLatestTemurinGA17LinuxArm64:
name: Temurin Check
kind: temurin
disablesourceinput: true
spec:
releaseline: feature
releasetype: ga
featureversion: 17
architecture: aarch64
operatingsystem: linux
checkFromSpecifiedVersion:
name: Temurin Check
kind: temurin
disablesourceinput: true
spec:
specificversion: '{{ source "getLastGA17Version" }}'
checkListOfPlatforms:
name: Temurin Check
kind: temurin
disablesourceinput: true
spec:
specificversion: 17.0.13+11 # Known to provide all existing platform specified below
platforms:
- linux/x64
- linux/aarch64
- linux/s390x
- alpine-linux/x64
- windows/x64
checkPlatformForSourceInput:
name: Temurin Check
kind: temurin
sourceid: getLatestLtsVersion
spec:
platforms:
- linux/x64
- linux/aarch64
Links
Adoptium API reference - the authoritative list of accepted architectures and operating systems