pulumi / pulumi-docker-containers

Definitions for official Pulumi Docker images.
Apache License 2.0
18 stars 22 forks source link

pulumi/pulumi should include Java 21 and at least maven 3.9.0 #197

Open MitchellGerdisch opened 4 months ago

MitchellGerdisch commented 4 months ago

Hello!

Issue details

Currently the pulumi image has an old Java and Maven version on it. This requires some customers to build their own version of the image with later versions. This then introduces additional friction when using Deployments since it means one has to use their own image and this takes longer to deploy since the image has to be downloaded and brought up by Pulumi Deploy. If the standard image supported the later versions, then the extra steps of building an image and the additional friction around Pulumi Deploy would be mitigated.

Affected area/feature

justinvp commented 3 months ago

Right now we're installing Java with:

https://github.com/pulumi/pulumi-docker-containers/blob/89a3c3dbf66ce104ba700ef7df760febd08edd67/docker/pulumi/Dockerfile#L75-L79

Which, by default appears to give us https://packages.debian.org/bullseye/default-jre-headless as a dependency of https://packages.debian.org/bullseye/maven and https://packages.debian.org/bullseye/gradle, which is https://packages.debian.org/bullseye/openjdk-11-jre-headless

Our general policy from our README is:

Language runtimes are kept up-to-date with current LTS versions.

From looking at the support roadmap 11, 17, and 21 are LTS, with 21 being the current LTS release.

It looks like the most recent version we can get on bullseye is 17: https://packages.debian.org/bullseye/java/openjdk-17-jre-headless.