Project Atomic in Google Summer of Code 2016
This year Project Atomic is participating in Google Summer of Code 2016 as part of the Fedora Project. If you are a student, or know a student, please consider submitting proposals once GSoC opens.
Specific projects we are accepting proposals in include:
- Fedora Atomic Host
- RPM-OSTree and OSTree tools
- The Atomic CLI
- Docker and OCI hooks
- Atomic.app
- Nulecule
- Other Project Atomic projects
Contacts and Mentors
The administrator for Project Atomic GSOC projects is Josh Berkus. Contact Josh if you have questions about making a GSOC proposal, or better ask questions on the Atomic-Devel mailing list or on the #atomic or #fedora-cloud IRC channels on IRC.freenode.net.
Mentors are:
- Giuseppe Scriviano
- Colin Walters
- Matthew Barnes
Project Ideas
What follows are a ideas for student projects around Atomic. Please do not restrict yourself to these ideas; if there is something you want to build with containers and Atomic, then propose it! Additional details of these ideas is available on the Fedora GSOC 2016 wiki page.
RPM-OSTree and Fedora Atomic Host
Next-generation Super-Privileged Container Improve building, managing, and updating these container images
Atomic Host Package Layering mprove the package layering design, support more RPMs, ensure %post scripts are safe, etc
Bootstrap with gpgcheck in kickstart: Add a way for importing a GPG key from the kickstart
ostreesetup
command before the download starts.ostreesetup
is described hereImprove ability to monitor running/canceled transactions: The rpm-ostree client termination doesn’t block the command execution on the rpm-ostreed. This will cause new rpm-ostree clients to fail immediately because there is a transaction in progress. Change rpm-ostree to be notified of the status of the current transaction and possibly attach to it.
Support for end-of-life notification: Add support for having an
end-of-life
notification to inform users if a particular branch is not supported anymore.rpm-ostree operation history support: Add support for
atomic history
to display the transactions history. It should work in a similar way toyum history
.Automatic updates: Implement a service that automatically upgrades the system when a new image is available. If the system is not restarting correctly, then rollback to the previous working version. More details here.
Support metalink for OSTree: Add support for metalink files and support downloads from a list of mirrors and fetch objects from multiple sources.
Drop privileges for HTTP fetches: The HTTP fetcher code is running in the same process of OSTree. Move the HTTP fetcher code to another process with less privileges than the main process.
Support kpatch: Support live update for the kernel without rebooting or restarting any processes.
Atomic Host Automated Updates implement a service that automatically upgrades the system when a new image is available. If the system is not restarting correctly, the rollback to the previous working version.
Applying to Project Atomic GSOC
Atomic GSOC is part of Fedora GSOC 2016. As such, please submit your proposal to the Fedora Project in GSOC, and indicate clearly in the description that you have a Project Atomic proposal by adding this text at the top:
Proposed for Project Atomic
We’ll take it from there. Be sure to look for comments and requests for clarification on your proposal.