Skip to content

Commit b3e54b1

Browse files
committed
Initial UBI8/JDK21 and JDK21 module
Signed-off-by: Jonathan Dowland <[email protected]>
1 parent b994c40 commit b3e54b1

File tree

4 files changed

+130
-0
lines changed

4 files changed

+130
-0
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
#!/bin/sh
3+
# ==============================================================================
4+
# JDK specific customizations
5+
#
6+
# ==============================================================================
7+
8+
function jvm_specific_diagnostics() {
9+
echo "-Xlog:gc::utctime -XX:NativeMemoryTracking=summary"
10+
}

modules/jdk/21/configure.sh

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#!/bin/sh
2+
# Configure module
3+
set -e
4+
5+
SCRIPT_DIR=$(dirname $0)
6+
ARTIFACTS_DIR=${SCRIPT_DIR}/artifacts
7+
8+
chown -R $USER:root $SCRIPT_DIR
9+
chmod -R ug+rwX $SCRIPT_DIR
10+
chmod ug+x ${ARTIFACTS_DIR}/opt/jboss/container/openjdk/jdk/*
11+
12+
pushd ${ARTIFACTS_DIR}
13+
cp -pr * /
14+
popd
15+
16+
# Set this JDK as the alternative in use
17+
_arch="$(uname -i)"
18+
alternatives --set java java-21-openjdk.${_arch}
19+
alternatives --set javac java-21-openjdk.${_arch}
20+
alternatives --set java_sdk_openjdk java-21-openjdk.${_arch}
21+
alternatives --set jre_openjdk java-21-openjdk.${_arch}
22+
23+
# Update securerandom.source for quicker starts (must be done after removing jdk 8, or it will hit the wrong files)
24+
JAVA_SECURITY_FILE=/usr/lib/jvm/java/conf/security/java.security
25+
SECURERANDOM=securerandom.source
26+
if grep -q "^$SECURERANDOM=.*" $JAVA_SECURITY_FILE; then
27+
sed -i "s|^$SECURERANDOM=.*|$SECURERANDOM=file:/dev/urandom|" $JAVA_SECURITY_FILE
28+
else
29+
echo $SECURERANDOM=file:/dev/urandom >> $JAVA_SECURITY_FILE
30+
fi

modules/jdk/21/module.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
schema_version: 1
2+
3+
name: "jboss.container.openjdk.jdk"
4+
description: "Installs the JDK for OpenJDK 21."
5+
version: &jdkver "21"
6+
7+
labels:
8+
- name: "org.jboss.product"
9+
value: "openjdk"
10+
- name: "org.jboss.product.version"
11+
value: *jdkver
12+
- name: "org.jboss.product.openjdk.version"
13+
value: *jdkver
14+
15+
envs:
16+
- name: "JAVA_HOME"
17+
value: "/usr/lib/jvm/java-21"
18+
- name: "JAVA_VENDOR"
19+
value: "openjdk"
20+
- name: "JAVA_VERSION"
21+
value: *jdkver
22+
- name: JBOSS_CONTAINER_OPENJDK_JDK_MODULE
23+
value: /opt/jboss/container/openjdk/jdk
24+
25+
packages:
26+
install:
27+
- java-21-openjdk-devel
28+
29+
modules:
30+
install:
31+
- name: jboss.container.user
32+
33+
execute:
34+
- script: configure.sh

ubi8-openjdk-21.yaml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# This is an Image descriptor for Cekit
2+
3+
schema_version: 1
4+
5+
from: "registry.access.redhat.com/ubi8/ubi-minimal"
6+
name: &name "ubi8/openjdk-21"
7+
version: &version "1.17"
8+
description: "Source To Image (S2I) image for Red Hat OpenShift providing OpenJDK 21"
9+
10+
labels:
11+
- name: "io.k8s.description"
12+
value: "Platform for building and running plain Java applications (fat-jar and flat classpath)"
13+
- name: "io.k8s.display-name"
14+
value: "Java Applications"
15+
- name: "io.openshift.tags"
16+
value: "builder,java"
17+
- name: "maintainer"
18+
value: "Red Hat OpenJDK <[email protected]>"
19+
- name: "com.redhat.component"
20+
value: "openjdk-21-ubi8-container"
21+
- name: "usage"
22+
value: "https://access.redhat.com/documentation/en-us/red_hat_jboss_middleware_for_openshift/3/html/red_hat_java_s2i_for_openshift/"
23+
- name: "com.redhat.license_terms"
24+
value: "https://www.redhat.com/en/about/red-hat-end-user-license-agreements#UBI"
25+
26+
envs:
27+
- name: PATH
28+
value: $PATH:"/usr/local/s2i"
29+
- name: "JBOSS_IMAGE_NAME"
30+
value: *name
31+
- name: "JBOSS_IMAGE_VERSION"
32+
value: *version
33+
- name: "LANG"
34+
value: "C.utf8"
35+
36+
ports:
37+
- value: 8080
38+
- value: 8443
39+
40+
modules:
41+
repositories:
42+
- path: modules
43+
install:
44+
- name: jboss.container.util.pkg-update
45+
- name: jboss.container.openjdk.jdk
46+
version: "21"
47+
- name: jboss.container.maven
48+
version: "3.8.17"
49+
- name: jboss.container.java.s2i.bash
50+
- name: jboss.container.java.singleton-jdk
51+
52+
help:
53+
add: true
54+
55+
packages:
56+
manager: microdnf

0 commit comments

Comments
 (0)