{"id":13646446,"url":"https://github.com/containerd/cri","last_synced_at":"2025-12-30T03:31:42.907Z","repository":{"id":39579507,"uuid":"88211060","full_name":"containerd/cri","owner":"containerd","description":"Moved to https://github.com/containerd/containerd/tree/master/pkg/cri . If you wish to submit issues/PRs, please submit to https://github.com/containerd/containerd","archived":true,"fork":false,"pushed_at":"2022-03-02T17:57:05.000Z","size":20241,"stargazers_count":898,"open_issues_count":0,"forks_count":350,"subscribers_count":61,"default_branch":"release/1.4","last_synced_at":"2024-05-22T08:37:02.940Z","etag":null,"topics":["container-runtime-interface","containerd","hacktoberfest","kubernetes"],"latest_commit_sha":null,"homepage":"https://github.com/containerd/containerd/tree/master/pkg/cri","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/containerd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-13T22:20:24.000Z","updated_at":"2024-05-04T06:16:03.000Z","dependencies_parsed_at":"2022-08-09T15:02:56.861Z","dependency_job_id":null,"html_url":"https://github.com/containerd/cri","commit_stats":null,"previous_names":["kubernetes-incubator/cri-containerd"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containerd%2Fcri","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containerd%2Fcri/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containerd%2Fcri/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/containerd%2Fcri/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/containerd","download_url":"https://codeload.github.com/containerd/cri/tar.gz/refs/heads/release/1.4","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250110858,"owners_count":21376545,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["container-runtime-interface","containerd","hacktoberfest","kubernetes"],"created_at":"2024-08-02T01:02:55.898Z","updated_at":"2025-12-16T01:39:08.131Z","avatar_url":"https://github.com/containerd.png","language":"Go","readme":"# Moved to [`github.com/containerd/containerd/pkg/cri`](https://github.com/containerd/containerd/tree/master/pkg/cri)\n\nOn October 7, 2020, the contents of this repo were merged into [the `containerd/containerd` repo](https://github.com/containerd/cri).\nFor example, the source code previously stored under [`containerd/cri/pkg`](https://github.com/containerd/cri/tree/release/1.4/pkg)\nwas moved to [`containerd/containerd/pkg/cri` package](https://github.com/containerd/containerd/tree/master/pkg/cri).\n\n**Pull requests are no longer accepted in the master branch of this repo.**\n\nBug-fix PRs for `release/1.3` and `release/1.4` branches are still accepted in this repo.\nHowever, the master branch for `containerd/cri` integration work is now located in the `containerd/containerd` repository,\nand as such new commits should be merged there.\n\nThis repo will be archived after the EOL of containerd 1.4.\n\n- - -\n\n# cri\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://kubernetes.io/images/favicon.png\" width=\"50\" height=\"50\"\u003e\n\u003cimg src=\"https://containerd.io/img/logos/icon/black/containerd-icon-black.png\" width=\"50\" \u003e\n\u003c/p\u003e\n\n[![Build Status](https://api.travis-ci.org/containerd/cri.svg?style=flat-square)](https://travis-ci.org/containerd/cri)\n[![Go Report Card](https://goreportcard.com/badge/github.com/containerd/cri)](https://goreportcard.com/report/github.com/containerd/cri)\n\n`cri` is a [containerd](https://containerd.io/) plugin implementation of Kubernetes [container runtime interface (CRI)](https://github.com/kubernetes/cri-api/blob/master/pkg/apis/runtime/v1alpha2/api.proto).\n\nWith it, you could run Kubernetes using containerd as the container runtime.\n![cri](./docs/cri.png)\n## Current Status\n`cri` is a native plugin of containerd 1.1 and above. It is built into containerd and enabled by default.\n\n`cri` is in GA:\n* It is feature complete.\n* It (the GA version) works with Kubernetes 1.10 and above.\n* It has passed all [CRI validation tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/cri-validation.md).\n* It has passed all [node e2e tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/e2e-node-tests.md).\n* It has passed all [e2e tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-testing/e2e-tests.md).\n\nSee [test dashboard](https://k8s-testgrid.appspot.com/sig-node-containerd)\n## Support Metrics\n| CRI-Containerd Version | Containerd Version | Kubernetes Version | CRI Version |\n|:----------------------:|:------------------:|:------------------:|:-----------:|\n|     v1.0.0-alpha.x     |                    |      1.7, 1.8      |   v1alpha1  |\n|      v1.0.0-beta.x     |                    |        1.9         |   v1alpha1  |\n|       End-Of-Life      | v1.1 (End-Of-Life) |        1.10+       |   v1alpha2  |\n|                        |  v1.2 (Extended)   |        1.10+       |   v1alpha2  |\n|                        |        v1.3        |        1.12+       |   v1alpha2  |\n|                        |        v1.4        |        1.19+       |   v1alpha2  |\n\n**Note:** The support table above specifies the Kubernetes Version that was supported at time of release of the containerd - cri integration.\n\nThe following is the current support table for containerd CRI integration taking into account that Kubernetes only supports n-3 minor release versions.\n\n| Containerd Version | Kubernetes Version | CRI Version |\n|:------------------:|:------------------:|:-----------:|\n|        v1.2        |        1.15+       |   v1alpha2  |\n|        v1.3        |        1.15+       |   v1alpha2  |\n|        v1.4        |        1.19+       |   v1alpha2  |\n\n## Production Quality Cluster on GCE\nFor a production quality cluster on GCE brought up with `kube-up.sh` refer [here](docs/kube-up.md).\n## Installing with Ansible and Kubeadm\nFor a multi node cluster installer and bring up steps using ansible and kubeadm refer [here](contrib/ansible/README.md).\n## Custom Installation\nFor non ansible users, you can download the `cri-containerd` release tarball and deploy\nkubernetes cluster using kubeadm as described [here](docs/installation.md).\n## Getting Started for Developers\n### Binary Dependencies and Specifications\nThe current release of the `cri` plugin has the following dependencies:\n* [containerd](https://github.com/containerd/containerd)\n* [runc](https://github.com/opencontainers/runc)\n* [CNI](https://github.com/containernetworking/cni)\n\nSee [versions](./vendor.conf) of these dependencies `cri` is tested with.\n\nAs containerd and runc move to their respective general availability releases,\nwe will do our best to rebase/retest `cri` with these releases on a\nweekly/monthly basis. Similarly, given that `cri` uses the Open\nContainer Initiative (OCI) [image](https://github.com/opencontainers/image-spec)\nand [runtime](https://github.com/opencontainers/runtime-spec) specifications, we\nwill also do our best to update `cri` to the latest releases of these\nspecifications as appropriate.\n### Install Dependencies\n1. Install development libraries:\n* **libseccomp development library.** Required by `cri` and runc seccomp support. `libseccomp-dev` (Ubuntu, Debian) / `libseccomp-devel`\n(Fedora, CentOS, RHEL). On releases of Ubuntu \u003c=Trusty and Debian \u003c=jessie a\nbackport version of `libseccomp-dev` is required. See [travis.yml](.travis.yml) for an example on trusty.\n* **btrfs development library.** Required by containerd btrfs support. `btrfs-tools`(Ubuntu, Debian) / `btrfs-progs-devel`(Fedora, CentOS, RHEL)\n2. Install **`pkg-config`** (required for linking with `libseccomp`).\n3. Install and setup a Go 1.15.14 development environment.\n4. Make a local clone of this repository.\n5. Install binary dependencies by running the following command from your cloned `cri/` project directory:\n```bash\n# Note: install.deps installs the above mentioned runc, containerd, and CNI\n# binary dependencies. install.deps is only provided for general use and ease of\n# testing. To customize `runc` and `containerd` build tags and/or to configure\n# `cni`, please follow instructions in their documents.\nmake install.deps\n```\n### Build and Install `cri`\nTo build and install a version of containerd with the `cri` plugin, enter the\nfollowing commands from your `cri` project directory:\n```bash\nmake\nsudo make install\n```\n*NOTE: The version of containerd built and installed from the `Makefile` is only for\ntesting purposes. The version tag carries the suffix \"-TEST\".*\n#### Build Tags\n`cri` supports optional build tags for compiling support of various features.\nTo add build tags to the make option the `BUILD_TAGS` variable must be set.\n\n```bash\nmake BUILD_TAGS='seccomp apparmor selinux'\n```\n\n| Build Tag | Feature                            | Dependency                      |\n|-----------|------------------------------------|---------------------------------|\n| seccomp   | syscall filtering                  | libseccomp development library  |\n| selinux   | selinux process and mount labeling | \u003cnone\u003e                          |\n| apparmor  | apparmor profile support           | \u003cnone\u003e                          |\n### Validate Your `cri` Setup\nA Kubernetes incubator project called [cri-tools](https://github.com/kubernetes-sigs/cri-tools)\nincludes programs for exercising CRI implementations such as the `cri` plugin.\nMore importantly, cri-tools includes the program `critest` which is used for running\n[CRI Validation Testing](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-node/cri-validation.md).\n\nRun the CRI Validation test to validate your installation of `containerd` with `cri` built in:\n```bash\nmake test-cri\n```\n### Running a Kubernetes local cluster\nIf you already have a working development environment for supported Kubernetes\nversion, you can try `cri` in a local cluster:\n\n1. Start the version of `containerd` with `cri` plugin that you built and installed\nabove as root in a first terminal:\n```bash\nsudo containerd\n```\n2. From the Kubernetes project directory startup a local cluster using `containerd`:\n```bash\nCONTAINER_RUNTIME=remote CONTAINER_RUNTIME_ENDPOINT='unix:///run/containerd/containerd.sock' ./hack/local-up-cluster.sh\n```\n### Test\nSee [here](./docs/testing.md) for information about test.\n## Using crictl\nSee [here](./docs/crictl.md) for information about using `crictl` to debug\npods, containers, and images.\n## Configurations\nSee [here](./docs/config.md) for information about how to configure cri plugins\nand [here](https://github.com/containerd/containerd/blob/master/docs/man/containerd-config.8.md)\nfor information about how to configure containerd\n## Documentation\nSee [here](./docs) for additional documentation.\n## Communication\nFor async communication and long running discussions please use issues and pull\nrequests on this github repo. This will be the best place to discuss design and\nimplementation.\n\nFor sync communication we have a community slack with a #containerd channel that\neveryone is welcome to join and chat about development.\n\n**Slack:** Catch us in the #containerd and #containerd-dev channels on dockercommunity.slack.com.\n[Click here for an invite to docker community slack.](https://dockr.ly/slack)\n\n## Other Communications\nAs this project is tightly coupled to CRI and CRI-Tools and they are Kubernetes\nprojects, some of our project communications take place in the Kubernetes' SIG:\n`sig-node.`\n\nFor more information about `sig-node`, `CRI`, and the `CRI-Tools` projects:\n* [sig-node community site](https://github.com/kubernetes/community/tree/master/sig-node)\n* Slack: `#sig-node` channel in Kubernetes (kubernetes.slack.com)\n* Mailing List: https://groups.google.com/forum/#!forum/kubernetes-sig-node\n\n### Reporting Security Issues\n\n__If you are reporting a security issue, please reach out discreetly at security@containerd.io__.\n\n## Licenses\nThe containerd codebase is released under the [Apache 2.0 license](https://github.com/containerd/containerd/blob/master/LICENSE.code).\nThe README.md file, and files in the \"docs\" folder are licensed under the\nCreative Commons Attribution 4.0 International License under the terms and\nconditions set forth in the file \"[LICENSE.docs](https://github.com/containerd/containerd/blob/master/LICENSE.docs)\". You may obtain a duplicate\ncopy of the same license, titled CC-BY-4.0, at http://creativecommons.org/licenses/by/4.0/.\n\n## Project details\ncri is a containerd sub-project. This project was originally established in\nApril of 2017 in the Kubernetes Incubator program. After reaching the Beta\nstage, In January of 2018, the project was merged into [containerd](https://github.com/containerd/containerd).\nAs a containerd sub-project, you will find the:\n* [Project governance](https://github.com/containerd/project/blob/master/GOVERNANCE.md),\n* [Maintainers](https://github.com/containerd/project/blob/master/MAINTAINERS),\n* and [Contributing guidelines](https://github.com/containerd/project/blob/master/CONTRIBUTING.md)\n\ninformation in our [`containerd/project`](https://github.com/containerd/project) repository.\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontainerd%2Fcri","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcontainerd%2Fcri","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontainerd%2Fcri/lists"}