Skip to content

Commit 7b09788

Browse files
authored
Merge pull request #144 from kolyshkin/cgroups
Add a cgroup repo/project proposal
2 parents 103dd14 + 7b76a50 commit 7b09788

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed

proposals/cgroups.md

+80
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
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+
* Odin Ugedal <[email protected]> (@odinuge)
31+
* Peter Hunt <[email protected]> (@haircommander)
32+
* Davanum Srinivas <[email protected]> (@dims)
33+
34+
### Code of Conduct
35+
This project would incorporate (by reference) the OCI [Code of Conduct][code-of-conduct].
36+
37+
### Governance and Releases
38+
This project would incorporate the Governance and Releases processes from the
39+
OCI project template: https://github.com/opencontainers/project-template.
40+
41+
### Project Communications
42+
The proposed project would continue to use existing channels in use by the OCI
43+
developer community for communication including:
44+
* GitHub for issues and pull requests
45+
* The [email protected] email list
46+
* The weekly OCI developer community conference call
47+
* The #OpenContainers IRC channel
48+
49+
### Versioning / Roadmap
50+
51+
We'll start with v0.x until everything is stabilized after the split.
52+
53+
The plan is to have frequent releases to accommodate various users.
54+
55+
## Frequently Asked Questions (FAQ)
56+
*Q: Does this change the OCI Charter or Scope Table?*
57+
A: No. Nothing in this proposal is intended to amend the
58+
[OCI Charter](https://www.opencontainers.org/about/governance) or
59+
[OCI Scope Table](https://www.opencontainers.org/about/oci-scope-table).
60+
61+
*Q: Why move this out of the runc project?*
62+
A: To be able to reuse this in different container projects, while avoiding
63+
code duplication and fragmentation. This involves adding functionality and
64+
cutting releases to accomodate existing users other than runc.
65+
66+
Here's an example: kubernetes needs PSI stats from cgroups, and while the
67+
low-level functionality needed
68+
([runc PR #3900](https://github.com/opencontainers/runc/pull/3900))
69+
was merged in July 2023, it was only made available to kubernetes when runc
70+
v1.2.0 was tagged in October 2024. Such delays might result in using
71+
unversioned dependencies, or copying the code around and thus fragmentation.
72+
73+
A longer term goal is make this set of packages even more modular, avoiding
74+
excessive third-party dependencies.
75+
76+
*Q: Who are the other target users of these packages?*
77+
78+
A: CRI-O, kubernetes, cadvisor.
79+
80+
[code-of-conduct]: https://github.com/opencontainers/org/blob/master/CODE_OF_CONDUCT.md

0 commit comments

Comments
 (0)