Hey everyone!
I have a proposal: Let's build the Fedora 27 Server edition using
Modularity! [1]
We are currently finishing Boltron [2] which is a modular server prototype.
It includes several services and a version of DNF that supports modules.
You can try some of it already and we will be putting together a set of
demos that will explain how everything works.The main purpose of Boltron is
to prove it can work, and to test the new UX of managing modules in
multiple streams. But Boltron is really just a prototype - it won't get
updates, I wouldn't recommend it using in production. I would like Fedora
27 Server to be the next step.
What would need to happen in Fedora to produce a real modular server:
- Having a nice developer/packager experience - I would really like to
work close with guys from Factory 2.0 to develop a nice experience for
packagers creating new modules.
- Module updates and artificial branching - the guys from Factory 2.0 are
already working on it - no worries here.
- Base system (Base Runtime/Platform) with a shared userspace - a lot of
work on Base Runtime has been already done.
- User experience - we already have an early DNF protoype. Some UX testing
and polishing can result in a very nice thing.
- Content - having a good set of modules is important, but I don't think
we need to modularize the whole Fedora land for this to work. Having a nice
developer/packager experience will make the content grow fast.
Modularity can provide a solution to some of user needs described in the
Server PRD [3] like:
- Value is achieved by delivering the latest capabilities fastest (DevOps
Engineer/Administrator)
- Needs a platform with API and ABI stability guarantees (Traditional
Application Developer)
Also, the requirements icnclude:
- The Server Role must be packaged in such a way that it is possible to
install the complete set as a unit. <- Modules can represent such a unit.
- The Server Role may provide a sane, usable default. <- Modules have
install profiles that might help to provide such default.
What do you think?
Thanks!
Adam
[1]
https://docs.pagure.org/modularity/
[2]
https://docs.pagure.org/modularity/prototype/boltron.html
[3]
https://fedoraproject.org/wiki/Server/Product_Requirements_Document
--
Adam Šamalík
---------------------------
Software Engineer
Red Hat