SingularityCE 4.3.0
SingularityCE 4.3.0
This is the first release in the 4.3 series. Please review the changes, fixes, and new features listed below.
The admin and user guides include a "What's New in 4.3" section, providing links to additional documentation:
- https://docs.sylabs.io/guides/4.3/admin-guide/new.html
- https://docs.sylabs.io/guides/4.3/user-guide/new.html
Behaviour Changes
- Skip attempting to bind inaccessible mount points when handling the mount hostfs = yes` configuration option.
- In OCI mode, on a cgroups v2 system with functioning systemd cgroup management, a cgroup namespace is created for the container, and
/sys/fs/cgroup
is mounted. The cgroups mount is read-only by default, or read-write if the--keep-privs
flag is used. - In OCI mode, a cgroup is now created for the container when possible, even where resource limits have not been requested.
Bug Fixes
- Use correct username (not user's name) when computing
singularity oci
conmon / singularity state dir. - Write StdErr messages from starter to terminal StdErr when an instance fails to start. Previously incorrectly written to terminal StdOut.
- Fix incorrect debug message in Cgroups checks.
- Skip invalid environment variables when pulling pulling OCI images to native SIF, so environment sourcing does not fail.
- Fix the Makefile generated by
mconfig -b
to work when the selected build directory is not a subdirectory of the source code. - Check for existence of
/run/systemd/system
when verifying cgroups can be used via systemd manager.
New Features & Functionality
- Add support for libsubid. Sub[ug]id mappings will be retrieved from e.g. LDAP according to
nssswitch.conf
if Singularity is built with libsubid support (default). If built without libsubid support, Singularity will retrieve subid from/etc/subid
and/etc/subgid
regardless of system configuration. Note thatsingularity config fakeroot
always modifies/etc/subid
and/etc/subgid
files. singularity sign
now supports signing an image in an OCI-SIF with a cosign-compatible sigstore signature. Use the--cosign
flag, and provide a private key with the--key
flag.singularity verify
now supports verifying an image in an OCI-SIF with a cosign-compatible sigstore signature. Use the--cosign
flag, and provide a public key with the--key
flag. Verification passes if at least one signature that can be validated with the provided key is present. The JSON payloads of all valid signatures are displayed.singularity push
now supports pushing cosign signatures in an OCI-SIF to an OCI registry, via the--with-cosign
flag.singularity pull
now supports pulling cosign signatures from a registry to an OCI-SIF, via the--with-cosign
flag when--oci
is also specified. Signatures can only be pulled when the image in the registry is in SquashFS format. Converting layer formats, or squashing to a single layer, modifies the image manifest, and would invalidate any signatures.- The new
singularity key generate-cosign-key-pair
subcommand can be used to generate a password-protected key-pair for signing OCI-SIF images with cosign-compatible signatures. - Added
dnf
definition file bootstrap as an alias foryum
.
Requirements / Packaging
- Go 1.23.4 or above is now required to build SingularityCE.
- libsubid headers are now required to build SingularityCE, unless the
--without-libsubid
flag is passed tomconfig
. - EL RPM packages are built with libsubid support.
- Ubuntu deb packages are built without libsubid support.
- The RPM spec file no longer includes rules for SLES / openSUSE package builds, which have been untested / unsupported for some time.
- Make binary builds more reproducible by deriving the GNU build ID from the Go build ID instead of using a randomly generated one.
- Conmon sources are no longer bundled and built with SingularityCE. Install the
conmon
package from your distribution, or upstream binary, if you need to use thesingularity oci
commands. Note thatconmon
is not required for--oci
mode. - Now compiles successfully with
-std=c23
.
Removed Features
- Plugin
fakerootcallback
functionality for customizing fakeroot subid mappings has been removed.
Thanks / Reporting Bugs
Thanks to our contributors for code, feedback and, testing efforts!
As always, please report any bugs to: https://github.com/sylabs/singularity/issues/new
If you think that you've discovered a security vulnerability please report it to: [email protected]
Have fun!
Downloads
Source Code
Please use the singularity-ce-4.3.0.tar.gz download below to obtain and install SingularityCE 4.3.1. The GitHub auto-generated 'Source Code' downloads do not include required dependencies etc.
Packages
RPM / DEB packages are provided for:
- Ubuntu 20.04 (focal)
- Ubuntu 22.04 (jammy)
- Ubuntu 24.04 (noble)
- RHEL/CentOS/AlmaLinux/Rocky 8 (el8)
- RHEL/CentOS/AlmaLinux/Rocky 9 (el9)
These packages were built with Go 1.24.0