Skip to content

Commit 176ef4b

Browse files
committed
Add a cgroup repo/project proposal
Signed-off-by: Kir Kolyshkin <[email protected]>
1 parent 103dd14 commit 176ef4b

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed

proposals/cgroups.md

+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
# OCI cgroups project proposal
2+
3+
## Abstract
4+
Having a common cgroups management implementation in OCI for use in and outside
5+
of runc will ensure long lasting security and interoperability throughout the
6+
container ecosystem.
7+
8+
## Proposal
9+
10+
Refactor and move cgroups packages out of runc into a separate project:
11+
12+
https://github.com/opencontainers/runc/tree/master/libcontainer/cgroups
13+
14+
The new project would live in the opencontainers github organization:
15+
16+
https://github.com/opencontainers/cgroups
17+
18+
A sample of how the project would look like is already here:
19+
20+
https://github.com/kolyshkin/opencontainers-cgroups
21+
22+
### Initial Maintainers
23+
Initial maintainers of the cgroups project would be:
24+
25+
* Akihiro Suda <[email protected]> (@AkihiroSuda)
26+
* Aleksa Sarai <[email protected]> (@cyphar)
27+
* Kir Kolyshkin <[email protected]> (@kolyshkin)
28+
* Mrunal Patel <[email protected]> (@mrunalp)
29+
* Sebastiaan van Stijn <[email protected]> (@thaJeztah)
30+
* TODO add someone from k8s org
31+
32+
### Code of Conduct
33+
This project would incorporate (by reference) the OCI [Code of Conduct][code-of-conduct].
34+
35+
### Governance and Releases
36+
This project would incorporate the Governance and Releases processes from the
37+
OCI project template: https://github.com/opencontainers/project-template.
38+
39+
### Project Communications
40+
The proposed project would continue to use existing channels in use by the OCI
41+
developer community for communication including:
42+
* GitHub for issues and pull requests
43+
* The [email protected] email list
44+
* The weekly OCI developer community conference call
45+
* The #OpenContainers IRC channel
46+
47+
### Versioning / Roadmap
48+
49+
We'll start with v0.x until everything is stabilized after the split.
50+
51+
The plan is to have frequent releases to accommodate various users.
52+
53+
## Frequently Asked Questions (FAQ)
54+
*Q: Does this change the OCI Charter or Scope Table?*
55+
A: No. Nothing in this proposal is intended to amend the
56+
[OCI Charter](https://www.opencontainers.org/about/governance) or
57+
[OCI Scope Table](https://www.opencontainers.org/about/oci-scope-table).
58+
59+
*Q: Why move this out of the runc project?*
60+
A: To be able to reuse this in different container projects, while avoiding
61+
code duplication and fragmentation. This involves adding functionality and
62+
cutting releases to accomodate existing users other than runc.
63+
64+
Here's an example: kubernetes needs PSI stats from cgroups, and while the
65+
low-level functionality needed
66+
([runc PR #3900](https://github.com/opencontainers/runc/pull/3900))
67+
was merged in July 2023, it was only made available to kubernetes when runc
68+
v1.2.0 was tagged in October 2024. Such delays might result in using
69+
unversioned dependencies, or copying the code around and thus fragmentation.
70+
71+
A longer term goal is make this set of packages even more modular, avoiding
72+
excessive third-party dependencies.
73+
74+
*Q: Who are the other target users of these packages?*
75+
76+
A: CRI-O, kubernetes, cadvisor.
77+
78+
[code-of-conduct]: https://github.com/opencontainers/org/blob/master/CODE_OF_CONDUCT.md

0 commit comments

Comments
 (0)