Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add cri-o proposal #177

Merged
merged 8 commits into from
Apr 8, 2019
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Add cri-o proposal
Signed-off-by: Vincent Batts <[email protected]>
  • Loading branch information
vbatts committed Nov 28, 2018
commit 44c4da5c8637a6cc4c798b1fda7a56aacbb21681
219 changes: 219 additions & 0 deletions proposals/cri-o.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,219 @@
== CRI-O

*Name of project*: cri-o

*Description*:

Cri-o is a stable, carried-forward container runtime specifically tailored for Kubernetes, and nothing more.
Not reinventing the wheel, but using shared components, refined approaches, and battle-tested lessons learned to provide a dedicated container runtime for Kubernetes.
Tuned for performance, stability, compatibility, and adherence to standards, all for enterprise deployments.
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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is it you want the brand and awareness to go? Is there some form of support you are looking for as a top level project?

For example, when Helm shifted out of Kubernetes there was a need for help organizing Helm conferences (currently prepping for a second) and it had many contributors (it's the 3rd most contributed to CNCF project) where support for scaling that was needed.

Is cri-o looking to be more than a container runtime for k8s? Is there something else going on?

I ask these questions as I'm curios to understand more of where cri-o is going.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm glad that kubernetes-incubator was renamed kubernetes-sigs, but cri-o has outgrown that level of incubation.
And truthfully due to not getting the same level of press as containerd or rkt, I get feedback that folks infer it is not considered on the same level.
No cri-o conferences needed. 😃

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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For those wondering, initial committers is made up of people from Red Hat, Suse, Intel, and IBM.

Instead of Initial Committers should these be labeled Maintainers?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's a fine suggestion. I was mimicking prior proposals, but they would be initial maintainers.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does CNCF have distinct definitions for Committers and Maintainers?


*Infrastructure requirements*: CI, CNCF Cluster, TravisCI

*Issue tracker*: https://github.com/kubernetes-sigs/cri-o/issues

*Mailing lists*

* #cri-o on Freenode IRC
* https://kubernetes.slack.com/messages/crio

*Website*: http:https://cri-o.io
vbatts marked this conversation as resolved.
Show resolved Hide resolved

*Release methodology and mechanics*

Major releases are matching to Kubernetes major releases. Minor releases are as needed.

*Social media accounts*:

* Blog: https://medium.com/cri-o/

*Existing sponsorship*:

* Red Hat (lead)
* Intel
* SuSE
vbatts marked this conversation as resolved.
Show resolved Hide resolved

*Adopters*:
jonboulle marked this conversation as resolved.
Show resolved Hide resolved

* Red Hat
* Intel
* kata-containers
* SuSE
* Lyft
* Cillium
* Nvidia

*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.

*Contributors*: https://github.com/kubernetes-sigs/cri-o/graphs/contributors

*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
* LGPLv3
- github.com/juju/ratelimit
vbatts marked this conversation as resolved.
Show resolved Hide resolved
* 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