diff --git a/Containerfile b/Containerfile
index d37941c..772a20f 100644
--- a/Containerfile
+++ b/Containerfile
@@ -1,5 +1,5 @@
-FROM debian:${debian.version}-slim
+FROM docker.inteligr8.com/inteligr8/base:${base.image.version}
# Configure standard JAVA parameters
ENV JAVA_MEMORY_INIT=128m
@@ -8,28 +8,31 @@ ENV JAVA_OPTS=
ENV ENABLE_HOTSWAP=true
ENV ENABLE_JDWP=true
ENV DISABLE_HOTSWAP_PLUGINS=
-ENV CACERT_INSTALL_PATH=/usr/local/share/ca-certificates
-# Install curl & essentials
+# these are effectively immutable; provided to be used by extending images
+# the entrypoint will re-set these in case they are changed
+ENV JAVA_HOME=/usr/local/lib/jvm/java-openjdk-jbr
+ENV JRE_HOME=/usr/local/lib/jvm/java-openjdk-jbr
+
+# Install essentials for Java
RUN apt update && \
- apt -y install curl libfreetype6 fontconfig fonts-dejavu
+ apt -y install libfreetype6 fontconfig fonts-dejavu ca-certificates-java
# Download & Install JBR Java
RUN mkdir -p /usr/local/lib/jvm && \
- curl -L https://cache-redirector.jetbrains.com/intellij-jbr/${jbr.filename} -o /usr/local/lib/jvm/java-openjdk-jbr.tar.gz && \
cd /usr/local/lib/jvm && \
+ curl -L https://cache-redirector.jetbrains.com/intellij-jbr/${jbr.filename} -o java-openjdk-jbr.tar.gz && \
tar xzvf java-openjdk-jbr.tar.gz && \
mv ${jbr.basename} java-openjdk-jbr && \
mkdir -p java-openjdk-jbr/lib/hotswap && \
- rm java-openjdk-jbr.tar.gz
+ rm java-openjdk-jbr.tar.gz && \
+ cd ../../bin && \
+ ln -s ../lib/jvm/java-openjdk-jbr/bin/java . && \
+ ln -s ../lib/jvm/java-openjdk-jbr/bin/keytool .
# Configure `cacerts`
-RUN apt -y install ca-certificates-java && \
- cd /usr/local/bin && \
- ln -s ../lib/jvm/java-openjdk-jbr/bin/java . && \
- ln -s ../lib/jvm/java-openjdk-jbr/bin/keytool . && \
- update-ca-certificates && \
- cd ../lib/jvm/java-openjdk-jbr/lib/security && \
+RUN update-ca-certificates && \
+ cd /usr/local/lib/jvm/java-openjdk-jbr/lib/security && \
rm cacerts && \
ln -s /etc/ssl/certs/java/cacerts .
@@ -43,18 +46,10 @@ RUN mkdir -p /var/lib/jvm && cd /var/lib/jvm && \
mkdir lib lib-extra1 lib-extra2 lib-extra3 lib-extra4 lib-extra5 lib-extra6 lib-extra7
# Add our Docker container initialization scripts
-ADD maven/setenv.sh /usr/local/bin/${namespace.prefix}-setenv.sh
-ADD maven/containerd-entrypoint.sh /usr/local/bin
-RUN chmod 755 /usr/local/bin/containerd-entrypoint.sh
+ADD --chmod=755 maven/setenv.sh ${CONTAINERD_ENTRYPOINT_PATH}/10-setenv-${artifactId}.sh
# Add our default hotswap configuration; may be overwritten in dev/classes* volumes
-ADD maven/hotswap-agent.properties /var/lib/jvm/lib
+ADD --chmod=644 maven/hotswap-agent.properties /var/lib/jvm/lib
# Listening for Java debugger traffic
EXPOSE 8000
-
-# Running as ROOT user for now
-#USER java
-
-# Execute the Docker container initialization script
-ENTRYPOINT [ "/usr/local/bin/containerd-entrypoint.sh" ]
diff --git a/pom.xml b/pom.xml
index 839e891..3f2bac0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,11 +8,9 @@
pom
-
-
- 12.14
-
- ${project.artifactId}
+
+
+ 1.0-deb12
@@ -21,7 +19,6 @@
25.0.3
- 25
480.61
jbr_jcef-${jbr.version}-linux-x64-b${jbr.buildNumber}
${jbr.basename}.tar.gz
@@ -30,6 +27,12 @@
inteligr8/${project.artifactId}
${project.version}
docker.inteligr8.com
+
+
+ 3.5.0
+ 3.1.4
+ 1.19.0
+ 1.0.7
@@ -42,14 +45,50 @@
+
+ maven-resources-plugin
+ ${maven-resources-plugin.version}
+
+
+ maven-deploy-plugin
+ ${maven-deploy-plugin.version}
+
org.eclipse.jkube
kubernetes-maven-plugin
- 1.19.0
+ ${kubernetes-maven-plugin.version}
+
+
+ com.inteligr8
+ regex-maven-plugin
+ ${regex-maven-plugin.version}
+
+ com.inteligr8
+ regex-maven-plugin
+
+
+ determine-jbr-major-version
+ validate
+
+ replace-property
+
+
+ jbr.version
+ jbr.majorVersion
+
+
+ ([^.]+).*
+ $1
+
+
+
+
+
+
maven-resources-plugin
@@ -68,7 +107,6 @@
org.eclipse.jkube
kubernetes-maven-plugin
- 1.19.0
diff --git a/src/main/containerd/containerd-entrypoint.sh b/src/main/containerd/containerd-entrypoint.sh
deleted file mode 100644
index 14ee4b6..0000000
--- a/src/main/containerd/containerd-entrypoint.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-. /usr/local/bin/${namespace.prefix}-setenv.sh
-
-# update cacerts with any custom certs in /usr/local/share/ca-certificates
-update-ca-certificates
-
-if [ -z $1 ]; then
- exec /bin/bash
-else
- exec ${JAVA_HOME}/bin/java $@
-fi
diff --git a/src/main/containerd/setenv.sh b/src/main/containerd/setenv.sh
index 8504d70..145fc87 100644
--- a/src/main/containerd/setenv.sh
+++ b/src/main/containerd/setenv.sh
@@ -1,4 +1,6 @@
#!/bin/sh
+
+# immutable
JAVA_HOME=/usr/local/lib/jvm/java-openjdk-jbr
JRE_HOME=/usr/local/lib/jvm/java-openjdk-jbr
JAVA_OPTS="${JAVA_OPTS} -Xms${JAVA_MEMORY_INIT} -Xmx${JAVA_MEMORY_MAX}"