<JSII-MAJOR> is the major line of the jsii toolchain (currently only 1)
<BASE> is the base image tag, currently supported base images are
<NODE-MAJOR> is the major version of Node.js contained in the image
-nightly images are released from the HEAD of the aws/jsii
repository and should typically not be used for production workloads
Support policy
Generally only actively versions that are actively supported by upstream projects are maintained in superchain.
Debian
We only publish images for Debian releases under LTS (but not ELTS).
All superchain images are based on the slim variant.
Node
We publish images variants for stable Node versions supported by the AWS CDK.
Usually this means all even Node versions until six month after their EOL.
We will only add new Node variants to the latest Debian release.
We include the npm version that ships with the version of Node.
Python
The image includes the most recent Python version available for the respective Debian distribution.
A complete list can be viewed on the Debian website.
The following tools & utilities are available for your convenience.
Versions are generally the latest available for the respective Debian distribution.
Changes are not automatically released.
Instead a new preview images public.ecr.aws/jsii/superchain:1-bullseye-slim-nightly is released weekly.
A full release (the public.ecr.aws/jsii/superchain:1-bullseye-slim images) is done monthly, or whenever a new release is cut manually.
The latest release information (for both of the container image tags) can be seen on the Amazon ECR Public Gallery.
To manually kick-off a full or preview release, start the Tag Preview or Tag Release workflow respectively.
License
As with all Docker images, these also contain software which may be distributed
under various licenses (such as Bash, etc from the base distribution, along with
any direct or indirect dependencies of the primary software being contained).
As for any pre-built image usage, it is the image user’s responsibility to
ensure that any use of this image complies with any relevant licenses for all
software contained within.
For more information, refer to the /NOTICE file that is present in the Docker
image.
FAQ
Q: The docker build is failing because it cannot access proxy.golang.org, how do I fix this?
A: By default, Go attempts to use a module proxy, which caches modules to accelerate downloads. However, some network configurations block this proxy. Run go env -w GOPROXY=direct to download from source.
Q: During docker image build, why do I see a warning like: “WARNING: Maven ${M2_VERSION} not found on downloads mirror, falling back to archive.apache.org”?
A: This indicates that M2_VERSION has fallen behind the latest version of Maven. Update M2_VERSION to the latest version to address this. We first attempt to download the Maven version matching M2_VERSION from the regular distro: https://downloads.apache.org/maven/maven-3. However, when new versions are released, older versions are removed from that distro. We emit this warning and fall back to the archive link: https://archive.apache.org/dist/maven/maven-3.
jsii Superchain
A
debian-based Docker image bundling all the SDKs and tools required in order to package jsii projects in all supported languages.View on Amazon ECR Public Gallery or Docker Hub.
Recommended image
We recommend the following image for most users. See Image tags for further details.
Current image tags
The following image tags are actively maintained and updated regularly.
1-trixie-slim13trixie223.131-trixie-slim-node2013trixie203.131-trixie-slim-node2213trixie223.131-trixie-slim-node2413trixie243.131-bookworm-slim12bookworm223.111-bookworm-slim-node1812bookworm183.111-bookworm-slim-node2012bookworm203.111-bookworm-slim-node2212bookworm223.111-bookworm-slim-node2412bookworm243.111-bullseye-slim-node2011bullseye203.91-bullseye-slim-node2211bullseye223.9Any other tags should be considered deprecated or in the case of
nightlyimages experimental.Image tags
Image tags are named using the following pattern:
<JSII-MAJOR>is the major line of the jsii toolchain (currently only1)<BASE>is the base image tag, currently supported base images are<NODE-MAJOR>is the major version of Node.js contained in the image-nightlyimages are released from theHEADof theaws/jsiirepository and should typically not be used for production workloadsSupport policy
Generally only actively versions that are actively supported by upstream projects are maintained in superchain.
Debian
We only publish images for Debian releases under LTS (but not ELTS). All
superchainimages are based on the slim variant.Node
We publish images variants for stable Node versions supported by the AWS CDK. Usually this means all even Node versions until six month after their EOL. We will only add new Node variants to the latest Debian release. We include the npm version that ships with the version of Node.
Python
The image includes the most recent Python version available for the respective Debian distribution. A complete list can be viewed on the Debian website.
Included Language SDKs
OpenJDK 20>= 20.0.2.NET SDK>= 6.0.14mono>= 6.12.0.200JavascriptPowerShellpwsh >= 7.2.16Python 3Gogo >= 1.25.0Included Tools & Utilities
The following tools & utilities are available for your convenience. Versions are generally the latest available for the respective Debian distribution.
aws>= 2.11.17bundler>= 1.17.3and>= 2.1.4docker>= 24.0.7-cegit>= 2.30.2make>= 4.3maven>= 6.4.15openssl>= 1.1.1wrsync>= 3.2.3yarn>= 1.22.19zip&unzip>= 6.0-19gh>= 1.13.1sam>= 1.102.0Building
This docker image can be build locally:
In case the tests fail, skip the tests and inspect the image manually:
NodeJS and NPM
If you are building this image from source, you can control the Node version with the
NODE_MAJOR_VERSIONbuild argument:Releasing
Changes are not automatically released. Instead a new preview images
public.ecr.aws/jsii/superchain:1-bullseye-slim-nightlyis released weekly.A full release (the
public.ecr.aws/jsii/superchain:1-bullseye-slimimages) is done monthly, or whenever a new release is cut manually.The latest release information (for both of the container image tags) can be seen on the Amazon ECR Public Gallery.
To manually kick-off a full or preview release, start the Tag Preview or Tag Release workflow respectively.
License
As with all Docker images, these also contain software which may be distributed under various licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).
As for any pre-built image usage, it is the image user’s responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
For more information, refer to the
/NOTICEfile that is present in the Docker image.FAQ
Q: The docker build is failing because it cannot access
proxy.golang.org, how do I fix this? A: By default, Go attempts to use a module proxy, which caches modules to accelerate downloads. However, some network configurations block this proxy. Rungo env -w GOPROXY=directto download from source.Q: During docker image build, why do I see a warning like: “WARNING: Maven ${M2_VERSION} not found on downloads mirror, falling back to archive.apache.org”? A: This indicates that
M2_VERSIONhas fallen behind the latest version of Maven. UpdateM2_VERSIONto the latest version to address this. We first attempt to download the Maven version matchingM2_VERSIONfrom the regular distro: https://downloads.apache.org/maven/maven-3. However, when new versions are released, older versions are removed from that distro. We emit this warning and fall back to the archive link: https://archive.apache.org/dist/maven/maven-3.