From 732fb1466e9a72d6469f05245f95a633b8a62df3 Mon Sep 17 00:00:00 2001 From: Ken Owens Date: Wed, 3 May 2017 11:22:44 -0500 Subject: [PATCH] Create CNI Proposal Initial draft CNI proposal for editing with CNI maintainers --- proposals/CNI Proposal | 65 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 proposals/CNI Proposal diff --git a/proposals/CNI Proposal b/proposals/CNI Proposal new file mode 100644 index 0000000..7c8729d --- /dev/null +++ b/proposals/CNI Proposal @@ -0,0 +1,65 @@ +# Name of project: Container Networking Interface + +# Description +The CNI (Container Network Interface) project consists of a specification and libraries for writing plugins to configure network interfaces +in Linux containers, along with a number of supported plugins. CNI concerns itself only with network connectivity of containers and removing +allocated resources when the container is deleted. Because of this focus, CNI has a wide range of support and the specification is simple to +implement. CNI consists of 3 separate comonents: + + * CNI Specification: defines an straightforward API between runtimes and network plugins for container network setup/teardown. No more, no less. + * Plugins: provide network setup for a variety of use-cases and serve as reference examples of plugins conforming to the CNI specification + * Library: provide a Go implementation of the CNI specification that runtimes can use to more easily consume CNI + NOTE: CNI Specification is independently versioned from the CNI library and plugins in the repository (e.g. the versions of releases). The plugins are being pulled out into a separate repository + +**Sponsor/Advisor from TOC:** Ken Owens + +**preferred maturity level:** Incubating + +**License:** Apache License v2.0 + +**Source control repositories:** https://github.com/containernetworking/cni + +**external dependencies:** None + +**Initial Committers:** https://github.com/containernetworking/cni/graphs/contributors + +**infrastructure requests (CI / CNCF Cluster):** None + +**communication channels (slack, irc, mailing lists):** + * Email: cni-dev + * IRC: #containernetworking channel on freenode.org + * Slack: containernetworking.slack.com + +**issue tracker (GitHub by default):** Github - https://github.com/containernetworking/cni/issues + +**website (current version will move to project.cncf.io):** https://github.com/containernetworking + +**release methodology and mechanics:** +*TBD* + +**social media accounts** + +**community size and any existing sponsorship** + * 56 Contributors + * 591 Stars + * 17 releases + +## Container runtimes + +rkt - container engine +Kurma - container runtime +Kubernetes - a system to simplify container operations +Cloud Foundry - a platform for cloud applications +Mesos - a distributed systems kernel + +## 3rd party plugins + +Project Calico - a layer 3 virtual network +Weave - a multi-host Docker network +Contiv Networking - policy networking for various use cases +SR-IOV +Cilium - BPF & XDP for containers +Infoblox - enterprise IP address management for containers +Multus - a Multi plugin +Romana - Layer 3 CNI plugin supporting network policy for Kubernetes +CNI-Genie - generic CNI network plugin