Coder Social home page Coder Social logo

sylabs / singularity-cri Goto Github PK

View Code? Open in Web Editor NEW
114.0 11.0 29.0 6.94 MB

The Singularity implementation of the Kubernetes Container Runtime Interface

License: Apache License 2.0

Makefile 0.83% Go 99.17%
singularity-cri cri singularity kubernetes hpc containers

singularity-cri's Introduction

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.


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.

singularity-cri's People

Contributors

arangogutierrez avatar bauerm97 avatar cclerget avatar dtrudg avatar jmstover avatar jscook2345 avatar pisarukv avatar sashayakovtseva avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

singularity-cri's Issues

CONTRIBUTORS.md is malformed

  • signs must not be displayed

  • contributors must be listed with bullets

Check tabs & spaces for proper formatting.

Implement logging daemon

Daemon will be spawned by pod's post start hook and will listen for incoming unix socket connections. Each connection represents container's stdout or stderr. The daemon will be responsible for wrapping incoming bytes into k8s format & saving them to file. This daemon will be terminated in post stop hook.

Linty help!

The master branch currently has 19 pieces of lint in the go code. We should empty the lint trap, celebrate, and then ensure a lint-free existence by adding automated checks for lint in our CI solution.

[eduardo@rhel7 cri]$ golint `go list ./...` | wc -l
19

listed:

[eduardo@rhel7 cri]$ golint `go list ./...`
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:66:1: exported method SingularityRuntime.StopPodSandbox should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:70:1: exported method SingularityRuntime.RemovePodSandbox should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:74:1: exported method SingularityRuntime.PodSandboxStatus should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:78:1: exported method SingularityRuntime.ListPodSandbox should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:82:1: exported method SingularityRuntime.CreateContainer should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:86:1: exported method SingularityRuntime.StartContainer should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:90:1: exported method SingularityRuntime.StopContainer should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:94:1: exported method SingularityRuntime.RemoveContainer should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:98:1: exported method SingularityRuntime.ListContainers should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:102:1: exported method SingularityRuntime.ContainerStatus should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:106:1: exported method SingularityRuntime.UpdateContainerResources should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:110:1: exported method SingularityRuntime.ReopenContainerLog should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:114:1: exported method SingularityRuntime.ExecSync should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:118:1: exported method SingularityRuntime.Exec should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:122:1: exported method SingularityRuntime.Attach should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:126:1: exported method SingularityRuntime.PortForward should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:130:1: exported method SingularityRuntime.ContainerStats should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:134:1: exported method SingularityRuntime.ListContainerStats should have comment or be unexported
/home/eduardo/go/src/github.com/sylabs/cri/pkg/runtime/runtime.go:138:1: exported method SingularityRuntime.UpdateRuntimeConfig should have comment or be unexported

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.