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.
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.
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.
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.
Unless otherwise noted, this project is licensed under a Apache 2 license found in the license file.