singularity

module
v4.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 16, 2023 License: BSD-3-Clause

README

SingularityCE

CircleCI

What is SingularityCE?

SingularityCE is the Community Edition of Singularity, an open source container platform designed to be simple, fast, and secure. Many container platforms are available, but SingularityCE is designed for ease-of-use on shared systems and in high performance computing (HPC) environments. It features:

  • An immutable single-file container image format, supporting cryptographic signatures and encryption.
  • Integration over isolation by default. Easily make use of GPUs, high speed networks, parallel filesystems on a cluster or server.
  • Mobility of compute. The single file SIF container format is easy to transport and share.
  • A simple, effective security model. You are the same user inside a container as outside, and cannot gain additional privilege on the host system by default.

SingularityCE is open source software, distributed under the BSD License.

Getting Started with SingularityCE

To install SingularityCE from source, see the installation instructions. For other installation options, see our guide.

System administrators can learn how to configure SingularityCE, and get an overview of its architecture and security features in the administrator guide.

For users, see the user guide for details on how to run and build containers with SingularityCE.

Contributing to SingularityCE

Community contributions are always greatly appreciated. To start developing SingularityCE, check out the guidelines for contributing.

Please note we have a code of conduct. Please follow it in all your interactions with the project members and users.

Our roadmap, other documents, and user/developer meeting information can be found in GitHub Discussions.

We also welcome contributions to our user guide and admin guide.

Support

To get help with SingularityCE, check out the community spaces detailed at our Community Portal.

See also our Support Guidelines for further information about the best place, and how, to raise different kinds of issues and questions.

For additional support, contact Sylabs to receive more information.

Community Calls & Roadmap

We maintain our roadmap on GitHub Discussions, so that it's easy to collect ideas for new features, and discuss which should be prioritized for the next release.

Regular community calls are held for the project, on the first Thursday of each month, via Zoom. The agenda for each call includes a demonstration of new features, or a project / workflow related to SingularityCE. This is followed by development updates & discussion, before open questions. Meeting details are posted in Github Discussions, and recordings made available at the Sylabs YouTube Channel.

If you work on a project related to Singularity, or use Singularity in an interesting workflow, let us know if you'd like to present to the community!

Go Version Compatibility

SingularityCE aims to maintain support for the two most recent stable versions of Go. This corresponds to the Go Release Maintenance Policy and Security Policy, ensuring critical bug fixes and security patches are available for all supported language versions.

Citing Singularity

The SingularityCE software may be cited using our Zenodo DOI 10.5281/zenodo.5570766:

SingularityCE Developers (2021) SingularityCE. 10.5281/zenodo.5570766 https://doi.org/10.5281/zenodo.5570766

This is an 'all versions' DOI for referencing SingularityCE in a manner that is not version-specific. You may wish to reference the particular version of SingularityCE used in your work. Zenodo creates a unique DOI for each release, and these can be found in the 'Versions' sidebar on the Zenodo record page.

Please also consider citing the original publication describing Singularity:

Kurtzer GM, Sochat V, Bauer MW (2017) Singularity: Scientific containers for mobility of compute. PLoS ONE 12(5): e0177459. https://doi.org/10.1371/journal.pone.0177459

License

Unless otherwise noted, this project is licensed under a 3-clause BSD license found in the license file.

Directories

Path Synopsis
cmd
e2e
ecl
env
gpu
internal/testhelper
Package testhelper contains a collection of test helper functions that are specific to the way E2E tests are executed.
Package testhelper contains a collection of test helper functions that are specific to the way E2E tests are executed.
key
oci
push
Package push tests only test the oras transport (and a invalid transport) against a local registry
Package push tests only test the oras transport (and a invalid transport) against a local registry
run
etc
examples
internal
pkg/build/apps
Package apps [apps-plugin] provides the functions which are necessary for adding SCI-F apps support to Singularity 3.0.0.
Package apps [apps-plugin] provides the functions which are necessary for adding SCI-F apps support to Singularity 3.0.0.
pkg/cache
Package cache provides support for caching SIF, OCI, SHUB images and any OCI layers used to build them
Package cache provides support for caching SIF, OCI, SHUB images and any OCI layers used to build them
pkg/ociimage
Package ociimage provides functions related to retrieving and manipulating OCI images, used in pull/push and build operations.
Package ociimage provides functions related to retrieving and manipulating OCI images, used in pull/push and build operations.
pkg/runtime/launcher
Package launcher is responsible for implementing launchers, which can start a container, with configuration passed from the CLI layer.
Package launcher is responsible for implementing launchers, which can start a container, with configuration passed from the CLI layer.
pkg/runtime/launcher/native
Package native implements a Launcher that will configure and launch a container with Singularity's own (native) runtime.
Package native implements a Launcher that will configure and launch a container with Singularity's own (native) runtime.
pkg/runtime/launcher/oci
Package oci implements a Launcher that will configure and launch a container with an OCI runtime.
Package oci implements a Launcher that will configure and launch a container with an OCI runtime.
pkg/syecl
Package syecl implements the loading and management of the container execution control list feature.
Package syecl implements the loading and management of the container execution control list feature.
pkg/sypgp
Package sypgp implements the openpgp integration into the singularity project.
Package sypgp implements the openpgp integration into the singularity project.
pkg/util/bin
Package bin provides access to external binaries
Package bin provides access to external binaries
pkg/util/interactive
Package interactive implements all the functions to interactively interact with users
Package interactive implements all the functions to interactively interact with users
mlocal
pkg
image
Package image provides underlying data types for Singularity image formats.
Package image provides underlying data types for Singularity image formats.
syfs
Package syfs provides functions to access singularity's file system layout.
Package syfs provides functions to access singularity's file system layout.
sylog
Package sylog implements a basic logger for Singularity Go code to log messages in the same format as singularity_message() from C code
Package sylog implements a basic logger for Singularity Go code to log messages in the same format as singularity_message() from C code
expand-env is a simple program that reads stdin, replaces all occurrences of @VAR@ by the corresponding value of VAR in the current environment, and writes the result to stdout.
expand-env is a simple program that reads stdin, replaces all occurrences of @VAR@ by the corresponding value of VAR in the current environment, and writes the result to stdout.
test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL