Name of project: cri-o
Description:
CRI-O is a stable container runtime specifically tailored for Kubernetes. A founding principal was not "reinventing the wheel" and so the project uses shared components, refined approaches tested in production, and existing battle-tested code. Further, it is tuned for performance, stability, compatibility, and adherence to standards, particularly the Kubernetes Conformance tests. In short CRI-O is a building block of a Kubernetes cluster, to facilitate the life cycle of containers as required by the Kubernetes Container-Runtime-Interface (CRI).
CRI-O was born in kubernetes-incubator and grew to production stable there. Some have claimed since being a kubernetes project that it is already "a CNCF project", but it is often left as an after thought in brand, awareness and support as a top-level project. This proposal is effective to promote from the kubernetes incubator a project that has fully matured.
Sponsor / Advisor from TOC: Jonathan Boulle <[email protected]>
Unique Identifier: cri-o
License: ALv2
Maturity Level: Incubating
Source control repositories: https://github.com/kubernetes-sigs/cri-o
Initial Committers:
-
mrunalp
-
runcom
-
cyphar
-
mikebrow
-
sameo
-
rhatdan
-
nalind
-
giuseppe
Infrastructure requirements: CI, CNCF Cluster, TravisCI
Issue tracker: https://github.com/kubernetes-sigs/cri-o/issues
Mailing lists
-
#cri-o on Freenode IRC
Website: https://cri-o.io
Release methodology and mechanics
Major releases are matching to Kubernetes major releases. Minor releases are as needed.
Social media accounts:
Existing sponsorship:
-
Red Hat (lead)
-
Intel
-
SUSE
Adopters:
-
Red Hat - Default container runtime for their OpenShift product
-
Intel
-
kata-containers - primary CRI runtime worked with
-
openSUSE - Default for kubic (https://kubic.opensuse.org/blog/2018-09-17-crio-default/)
-
SUSE - on track for their CaaSP offering (https://www.suse.com/releasenotes/x86_64/SUSE-CAASP/3.0/#Intro.New)
-
Lyft - Default container runtime for their kubernetes deployment
-
Cillium - Default example for deployment on kubernetes (https://github.com/cilium/cilium/tree/master/examples/kubernetes/)
-
Nvidia
-
Datica - Default runtime for their CKS offering (https://datica.com/compliant-kubernetes-service/)
Statement on alignment with CNCF mission:
CRI-O’s mission and goal is to align with and provide everything that Kubernetes expects from a container-runtime, and nothing more. Based on the OpenContainer Initiative (OCI) format for container images, runtimes and distribution, with compatibility for existing docker formats as well. The CRI-O project is imbued with the spirit of Kubernetes and the CNCF mission.
External Dependencies: Full list: https://github.com/kubernetes-sigs/cri-o/blob/master/vendor.conf (https://github.com/kubernetes-sigs/cri-o/blob/c6455c30771245c357c987ac5892bc77f2fb12b0/vendor.conf is the version at time of writing). By LICENSE is:
-
ALv2
-
github.com/containerd/cgroups
-
github.com/containerd/console
-
github.com/containerd/continuity
-
github.com/containernetworking/cni
-
github.com/containers/image
-
github.com/containers/libpod
-
github.com/containers/storage
-
github.com/coreos/go-systemd
-
github.com/coreos/pkg
-
github.com/cri-o/ocicni
-
github.com/docker/distribution
-
github.com/docker/docker
-
github.com/docker/go-connections
-
github.com/docker/go-units
-
github.com/docker/libtrust
-
github.com/docker/spdystream
-
github.com/go-openapi/analysis
-
github.com/go-openapi/errors
-
github.com/go-openapi/jsonpointer
-
github.com/go-openapi/jsonreference
-
github.com/go-openapi/loads
-
github.com/go-openapi/spec
-
github.com/go-openapi/strfmt
-
github.com/go-openapi/swag
-
github.com/golang/glog
-
github.com/golang/groupcache
-
github.com/google/btree
-
github.com/google/gofuzz
-
github.com/googleapis/gnostic
-
github.com/matttproud/golang_protobuf_extensions
-
github.com/mistifyio/go-zfs
-
github.com/modern-go/concurrent
-
github.com/modern-go/reflect2
-
github.com/mrunalp/fileutils
-
github.com/opencontainers/go-digest
-
github.com/opencontainers/image-spec
-
github.com/opencontainers/runc
-
github.com/opencontainers/runtime-spec
-
github.com/opencontainers/runtime-tools
-
github.com/opencontainers/selinux
-
github.com/pquerna/ffjson
-
github.com/prometheus/client_golang
-
github.com/prometheus/client_model
-
github.com/prometheus/common
-
github.com/prometheus/procfs
-
github.com/soheilhy/cmux
-
github.com/vishvananda/netlink
-
github.com/vishvananda/netns
-
github.com/xeipuuv/gojsonpointer
-
github.com/xeipuuv/gojsonreference
-
github.com/xeipuuv/gojsonschema
-
google.golang.org/genproto
-
google.golang.org/grpc
-
gopkg.in/square/go-jose.v2
-
gopkg.in/yaml.v2
-
k8s.io/api
-
k8s.io/apiextensions-apiserver
-
k8s.io/apimachinery
-
k8s.io/apiserver
-
k8s.io/client-go
-
k8s.io/csi-api
-
k8s.io/kube-openapi
-
k8s.io/kubernetes
-
k8s.io/utils
-
-
BSD-2
-
github.com/godbus/dbus
-
github.com/pkg/errors
-
github.com/seccomp/libseccomp-golang
-
github.com/syndtr/gocapability
-
gopkg.in/mgo.v2
-
-
BSD-3
-
github.com/PuerkitoBio/purell
-
github.com/PuerkitoBio/urlesc
-
github.com/cyphar/filepath-securejoin
-
github.com/fsnotify/fsnotify
-
github.com/gogo/protobuf
-
github.com/golang/protobuf
-
github.com/gorilla/context
-
github.com/gorilla/mux
-
github.com/imdario/mergo
-
github.com/mtrmac/gpgme
-
github.com/pmezard/go-difflib
-
github.com/spf13/pflag
-
github.com/ulikunitz/xz
-
github.com/vbatts/tar-split
-
golang.org/x/crypto
-
golang.org/x/net
-
golang.org/x/oauth2
-
golang.org/x/sys
-
golang.org/x/text
-
golang.org/x/time
-
gopkg.in/cheggaaa/pb.v1
-
gopkg.in/fsnotify.v1
-
gopkg.in/inf.v0
-
gopkg.in/tomb.v1
-
-
MIT
-
github.com/Azure/go-ansiterm
-
github.com/BurntSushi/toml
-
github.com/Microsoft/go-winio
-
github.com/Microsoft/hcsshim
-
github.com/asaskevich/govalidator
-
github.com/beorn7/perks
-
github.com/blang/semver
-
github.com/buger/goterm
-
github.com/dgrijalva/jwt-go
-
github.com/docker/docker-credential-helpers
-
github.com/emicklei/go-restful
-
github.com/emicklei/go-restful-swagger12
-
github.com/exponent-io/jsonpath
-
github.com/fatih/camelcase
-
github.com/ghodss/yaml
-
github.com/go-zoo/bone
-
github.com/gregjones/httpcache
-
github.com/hpcloud/tail
-
github.com/json-iterator/go
-
github.com/kr/pty
-
github.com/mailru/easyjson
-
github.com/mattn/go-runewidth
-
github.com/mitchellh/go-wordwrap
-
github.com/mitchellh/mapstructure
-
github.com/peterbourgon/diskv
-
github.com/renstrom/dedent
-
github.com/sirupsen/logrus
-
github.com/tchap/go-patricia
-
github.com/ugorji/go
-
github.com/urfave/cli
-
-
ISC
-
github.com/davecgh/go-spew
-
github.com/ostreedev/ostree-go
-
github.com/stretchr/testify
-
-
MPLv2
-
github.com/hashicorp/errwrap
-
github.com/hashicorp/go-multierror
-
github.com/hashicorp/golang-lru
-