apptainer

module
v1.3.2 Latest Latest
Warning

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

Go to latest
Published: May 28, 2024 License: BSD-3-Clause

README

Apptainer

CI Go Reference

What is Apptainer?

Apptainer is an open source container platform designed to be simple, fast, and secure. Many container platforms are available, but Apptainer 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.

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

Apptainer was formerly known as Singularity and is now a part of the Linux Foundation. When migrating from Singularity see the admin migration documentation and user compatibility documentation.

Check out talks about Apptainer and some use cases of Apptainer on our website.

Getting Started with Apptainer

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

System administrators can learn how to configure Apptainer, 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 Apptainer.

Contributing to Apptainer

Community contributions are always greatly appreciated. To start developing Apptainer, 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 the apptainer community page.

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

Support

To get help with Apptainer, check out the Apptainer Help web page.

Go Version Compatibility

Apptainer 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 Apptainer

Apptainer can be cited using its former name Singularity.

The Singularity software may be cited using our Zenodo DOI 10.5281/zenodo.1310023:

Singularity Developers (2021) Singularity. 10.5281/zenodo.1310023 https://doi.org/10.5281/zenodo.1310023

This is an 'all versions' DOI for referencing Singularity in a manner that is not version-specific. You may wish to reference the particular version of Singularity 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
dist
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
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/build/oci
Package oci provides transparent caching of oci-like refs
Package oci provides transparent caching of oci-like refs
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/runtime/launch
Package launcher is responsible for starting a container, with configuration passed to it from the CLI layer.
Package launcher is responsible for starting a container, with configuration passed to it from the CLI layer.
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 apptainer project.
Package sypgp implements the openpgp integration into the apptainer 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
pkg
image
Package image provides underlying data types for Apptainer image formats.
Package image provides underlying data types for Apptainer image formats.
syfs
Package syfs provides functions to access apptainer's file system layout.
Package syfs provides functions to access apptainer's file system layout.
sylog
Package sylog implements a basic logger for Apptainer Go code to log messages in the same format as apptainer_message() from C code
Package sylog implements a basic logger for Apptainer Go code to log messages in the same format as apptainer_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