-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CT for Fedora CoreOS #129
Comments
To this point, we could build this tool with a plugin model to make it easy to support other distros. Each distro could pick/choose which modules it wanted to enable and/or override for their platform. |
I'm partial to |
That's a good medium-term goal. I think initially we should focus on making a CT available quickly, so was thinking we'd start with the existing CLCT codebase and defer refactoring where possible. |
With regards to supporting multiple OSs, there's basically two parts to the CT spec: a distro-agnostic part that roughly mirrors Ignition's spec (with niceties for things like inlining files) and a part that's disto-specific bit that is sugar for things like setting up etcd, flannel, etc. The structure in CLCs looks like the top level Ignition fields merged with top level sugar fields. Basically:
Go supports struct embedding. Assuming the go-yaml library supports this (need to check this), we can have a top level struct that contains the versioning info and embeds both the Ignition and each distro's sugar. We could even have multiple top level structs, one for each distro, and switch them based on a flag. This allows us to cleanly separate the distro dependent and independent parts without having to deal with branches, forks, or a lot of code duplication. |
How about a name that's connected to "ignition config" -- ignition config source or proto ignition config or something? It seems unnecessary to put "fedora" or "container linux" in there at all, and wouldn't this be something that people outside of fedora might want to use? [ah, I see other distro support has already been mentioned above] Feed ignition config language into the ignition config tool and get ignition configs. |
@jasonbrooks the Fedora or Container Linux portions in the name is to imply that it has additional sugar for those specific distributions. The base level representations of the Ignition spec should be kept distro-agnostic naming wise in my opinion (and tying it directly to Ignition is a good idea). |
From the community meeting today, we're going forward with |
Closing this as FCCT 0.1.0 was just released. Doesn't have any distro-specific sugar yet, just it's enough for preview. |
For reference, FCCT upstream project is at https://github.com/coreos/fcct. |
Looks great! |
From #89:
Implement a config transpiler for Fedora CoreOS.
snake_case
The text was updated successfully, but these errors were encountered: