Singularity-CRI
The singularity-cri and wlm-operator projects were created by Sylabs to explore interaction between the Kubernetes and HPC worlds. In 2020, rather than dilute our efforts over a large number of projects, we have focused on Singularity itself and our supporting services. We're also looking forward to introducing new features and technologies in 2021.
At this point we have archived the repositories to indicate that they aren't under active development or maintenance. We recognize there is still interest in singularity-cri and wlm-operator, and we'd like these projects to find a home within a community that can further develop and maintain them. The code is open-source under the Apache License 2.0, to be compatible with other projects in the k8s ecosystem.
Please reach out to us via [email protected] if you are interested in establishing a new home for the projects.
This repository contains Singularity implementation of Kubernetes CRI. Singularity-CRI consists of two separate services: runtime and image, each of which implements K8s RuntimeService and ImageService respectively.
The Singularity-CRI is currently under development and passes 71/74
validation tests.
Note that used test suite is taken from v1.13.0
tag. Detailed report can be found
here.
Quick start
Complete documentation can be found here. Further a quick steps provided to set up Singularity-CRI from source.
In order to use Singularity-CRI install the following:
- git
- go 1.11+
- Singularity 3.1+ with OCI support
- inotify for device plugin
- socat package to perform port forwarding
Since Singularity-CRI is now built with go modules there is no need to create standard go workspace. If you still prefer keeping source code under GOPATH make sure GO111MODULE is set.
The following assumes you are installing Singularity-CRI from source outside GOPATH:
git clone https://github.com/sylabs/singularity-cri.git && \
cd singularity-cri && \
git checkout tags/v1.0.0-beta.5 -b v1.0.0-beta.5 && \
make && \
sudo make install
This will build the sycri binary with CRI implementation. After installation you will find it in /usr/local/bin
.
Singularity-CRI works with Singularity runtime directly so you need to have
/usr/local/libexec/singularity/bin
your PATH environment variable.
To start Singularity-CRI simply run sycri binary. By default it listens for requests on
unix:///var/run/singularity.sock
and stores image files at /var/lib/singularity
.
This behaviour may be configured with config file, run sycri -h
for more details.
Contributing
Community contributions are always greatly appreciated. To start developing Singularity-CRI, check out the guidelines for contributing.
We also welcome contributions to our user docs.
Support
To get help with Singularity-CRI, check out the community Portal. Also feel free to raise issues here or contact maintainers.
For additional support, contact us to receive more information.
License
Unless otherwise noted, this project is licensed under a Apache 2 license found in the license file.