Line 1:
Line 1:
+
=== Kubernetes operator for managing container checkpoints ===
+
+
'''Summary:''' Develop a Kubernetes operator that automates the management of container checkpoints
+
+
Container checkpointing has recently been introduced as an alpha feature in Kubernetes.
+
To enable this feature, the kubelet API was extended with an endpoint that enables the
+
creation of checkpoints for individual containers. By default, all container checkpoints
+
are stored as tar archives in <code>/var/lib/kubelet/checkpoints</code> using the following
+
file name format: <code>checkpoint-<pod-name>_<namespace-name>-<container-name>-<timestamp>.tar</code>.
+
However, the current implementation does not provide a mechanism for limiting the number
+
of checkpoints, which may lead to filling up all existing disk space. This project aims to
+
develop a Kubernetes operator that automates the management of checkpoints and provides
+
a garbage collection mechanism to discard obsolete checkpoints.
+
+
'''Links:'''
+
* https://github.com/checkpoint-restore/checkpoint-restore-operator
+
* https://kubernetes.io/docs/reference/node/kubelet-checkpoint-api/
+
* https://kubernetes.io/blog/2022/12/05/forensic-container-checkpointing-alpha/
+
* https://kubernetes.io/blog/2023/03/10/forensic-container-analysis/
+
* https://github.com/kubernetes/kubernetes/pull/115888
+
* https://github.com/kubernetes/enhancements/issues/2008
+
+
'''Details:'''
+
* Skill level: intermediate
+
* Language: Go
+
* Expected size: 350 hours
+
* Mentors: Adrian Reber <areber@redhat.com>, Radostin Stoyanov <rstoyanov@fedoraproject.org>, Prajwal S N <prajwalnadig21@gmail.com>
+
* Suggested by: Adrian Reber
+
+
=== Add support for pidfd file descriptors ===
=== Add support for pidfd file descriptors ===