sylabs / singularity-cri

The Singularity implementation of the Kubernetes Container Runtime Interface
Apache License 2.0
114 stars 29 forks source link
containers cri hpc kubernetes singularity singularity-cri

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 community@sylabs.io if you are interested in establishing a new home for the projects.


CircleCI Code Coverage Go Report Card

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:

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.