Introduction to the Modularization initiative in Fedora
Note we are all still getting organized and nothing's set in stone yet.
Get in touch
There's no dedicated mailing list yet and everything regarding this topic should be discussed on the general Fedora Development list [1]. Most of us also hang out on the #fedora-modularization channel on Freenode.
Planning
Formal meetings will be held by the Modularity Working Group, once established. See the Modularity Working Group page for more information.
We will probably use agile development for Modularization, using a Fedora Taiga instance [2] to manage the project.
Technical details
Architecture
The current idea we're working with comprises of three main parts, some more complex than others. This can change at any point.
- Module sources - not yet defined; these could be RPM repositories, comps files, simple component lists, COPRs, docker images...
- A service consuming the module sources and providing digested metadata for the end clients.
- The end clients communicating with the service, for example a standalone installation tool, a dnf plugin or a web service providing pretty module overview.
Code repositories
We currently host all of our code at Pagure [3] - the metadata service, its client, metadata drafts and even a couple of proof-of-concept modules. Repositories typically start with the fm- prefix and are open to all members of the Pagure modularization group [4].
Documentation
This differs for every project.
Documentation for the client is hosted at ReadTheDocs.org [5] and is being automatically rebuilt every 15 minutes. This will be handled by Pagure commit hooks once that feature is implemented and deployed.
Metadata service
The metadata service was deployed on a test server and populated with testing data. The client is configured to use this instance at this point.