[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Adopting CoreOS Ignition into Fedora+derivatives ecosystem

We're working on merging some of the CoreOS <https://coreos.com/> technologies with
the Fedora/Atomic technologies.  One thing that came up is they have
a new take on system bootstrap called Ignition:

We're investigating making this work in Fedora as well:

There's a fair amount of overlap with the role of Anaconda in
terms of system provisioning.  Some of this is actually similar
to the overlap between kickstart + cloud-init I posted previously:


We're currently thinking Ignition should take over from cloud-init (though the details
there are still TBD).  Its ability to do partitioning makes it a lot
closer to kickstart[1].

One thing I'd floated in some of our discussions was that conceptually
one could write a kickstart-to-ignition transpiler just like the
"clc-to-ignition" transpiler:
I'm not sure if this would be valuable versus writing ct since most
people are going to be starting "fresh" I suspect, but the fact
that we could helps understand the concepts here I think.

Probably where the biggest overlap is around baremetal provisioning;
CoreOS supports a "PXE-to-Live" model for servers:
as well as a script to install to disk persistently:

The latter path is like the existing Anaconda+kickstart
path; so where things intersect most strongly here is what we do
with those two paths.  I'd suggest that for PXE-to-Live which we
don't currently productize that we focus on Ignition.  

For persistent installations - I think we'd clearly need to support
kickstarts, but it's probably useful to look at a path where
Anaconda includes support for Ignition; perhaps it something like
a %ignition config stanza in kickstart?

[1] They even support partitioning the root filesystem
but I think that only works for the existing CoreOS with the dual-partition
/usr A/B approach; what I call "classic" Fedora with yum as well as
the existing Atomic with rpm-ostree both have the operating system
content in /, not in separate partitions.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]