hpcng/singularity: Singularity 3.7.0
Authors/Creators
- Gregory M. Kurtzer1
- cclerget
- Michael Bauer2
- Ian Kaneshiro
- David Trudgian3
- David Godlove4
- Vanessasaurus
- Yannick Cote5
- Geoffroy Vallee
- DrDaveD
- Adam Hughes4
- Justin Cook6
- Jason Stover
- Brian P Bockelman7
- Marcelo Magallon8
- Jacob Chappell9
- Daniele Tamino
- Mike Frisch
- Carlos Eduardo Arango Gutierrez10
- Carl Madison
- Sasha Yakovtseva
- 1. Singularity Labs
- 2. Facebook
- 3. @sylabs
- 4. Sylabs Inc
- 5. Red Hat
- 6. @Linaro
- 7. Morgridge Institute for Research
- 8. @grafana
- 9. Chappell Consulting & Tutoring
- 10. @RedHatOfficial
Description
This is a new version of Singularity with many new features, bug fixes, and other improvements detailed below. Some behaviour has changed. Please read the release notes below carefully before updating a production system.
New features / functionalities- Allow configuration of global custom keyservers, separate from remote endpoints.
- Add a new global keyring, for public keys only (used for ECL).
- The
remote logincommmand now suports authentication to Docker/OCI registries and custom keyservers. - New
--exclusiveoption forremote useallows admin to lock usage to a specific remote. - A new
Fingerprints:header in definition files will check that a SIF source image can be verified, and is signed with keys matching all specified fingerprints. - Labels can be set dynamically from a build's
%postsection by setting them in theSINGULARITY_LABELSenvironment variable. - New
build-archlabel is automatically set to the architecure of the host during a container build. - New
-D/--descriptionflag forsingularity pushsets description for a library container image. singularity remote statusshows validity of authentication token if set.singularity pushreports quota usage and URL on successful push to a library server that supports this.- A new
--no-mountflag for actions allows a user to disable proc/sys/dev/devpts/home/tmp/hostfs/cwd mounts, even if they are enabled insingularity.conf.
- When actions (run/shell/exec...) are used without
--fakerootthe umask from the calling environment will be propagated into the container, so that files are created with expected permissions. Use the new--no-umaskflag to return to the previous behaviour of setting a default 0022 umask. - Container metadata, environment, scripts are recorded in a descriptor in builds to SIF files, and
inspectwill use this if present. - The
--nvflag for NVIDIA GPU support will not resolve libraries reported bynvidia-container-clivia the ld cache. Will instead respect absolute paths to libraries reported by the tool, and bind all versioned symlinks to them. - General re-work of the
remote loginflow, adds prompts and token verification before replacing an existing authentication token. - The Execution Control List (ECL) now verifies container fingerprints using the new global keyring. Previously all users would need relevant keys in their own keyring.
- The SIF layer mediatype for ORAS has been changed to
application/vnd.sylabs.sif.layer.v1.sifreflecting the published opencontainers/artifacts value. SINGULARITY_BINDhas been restored as an environment variable set within a running container. It now reflects all user binds requested by the-B/--bindflag, as well as viaSINGULARITY_BIND[PATHS].singularity searchnow correctly searches for container images matching the host architecture by default. A new--archflag allows searching for other architectures. A new results format gives more detail about container image results, while users and collections are no longer returned.
- Support larger definition files, environments etc. by passing engine configuration in the environment vs. via socket buffer.
- Ensure
docker-daemon:and other source operations respectSINGULARITY_TMPDIRfor all temporary files. - Support double quoted filenames in the
%filessection of build definitions. - Correct
cache listsizes to show KiB with powers of 1024, matchingduetc. - Don't fail on
enable fusemount=nowhen no fuse mounts are needed. - Pull OCI images to the correct requested location when the cache is disabled.
- Ensure
Singularity>prompt is set when container has no environment script, or singularity is called through a wrapper script. - Avoid build failures in
yum/dnfoperations against the 'setup' package onRHEL/CentOS/Fedoraby ensuring staged/etc/files do not match distro default content. - Failed binds to
/etc/hostsand/etc/localtimein a container run with--containare no longer fatal errors. - Don't initialize the cache for actions where it is not required.
- Increase embedded shell interpreter timeout, to allow slow-running environment scripts to complete.
- Correct buffer handling for key import to allow import from STDIN.
- Reset environment to avoid
LD_LIBRARYPATHissues when resolving dependencies for theunsquashfssandbox. - Fall back to
/sbin/ldconfigifldconfigonPATHfails while resolving GPU libraries. Fixes problems on systems using Nix / Guix. - Address issues caused by error code changes in
unsquashfsversion 4.4. - Ensure
/dev/kfdis bound into container for ROCm when--rocmis used with--contain. - Tolerate comments on
%filessections in build definition files. - Fix a loop device file descriptor leak.
- A change in Linux kernel 5.9 causes
--fakerootbuilds to fail with a/sys/fs/selinuxremount error. This will be addressed in Singularity v3.5.1.
Thanks to our contributors for code, feedback and, testing efforts!
As always, please report any bugs to: https://github.com/hpcng/singularity/issues/new
If you think that you've discovered a security vulnerability please report it to: security@sylabs.io
Have fun!
DownloadsPlease use the singularity-3.7.0.tar.gz download below to obtain and install Singularity 3.7.0. The GitHub auto-generated 'Source Code' downloads do not include required dependencies etc.
Files
hpcng/singularity-v3.7.0.zip
Files
(2.2 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:d9089daaa46181fa6e0d03dfd96da5e8
|
2.2 MB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/hpcng/singularity/tree/v3.7.0 (URL)