-
Notifications
You must be signed in to change notification settings - Fork 70
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
Add the ability to define packages to be layered. #300
Comments
This is coming from coreos/fedora-coreos-tracker#1054. #81 has some prior discussion and examples on it. |
If we want to eventually support this in both the |
@jlebon during your demo today your example was dropping a ltrace.yaml file. I assume we don't want a file per package right? @cgwalters I think suggested a SHA of the file. We could also use a UUID.yaml as filename. If I just output to
Also, unless I misunderstood you suggested that we did not need the systemd service with the treefile approach on the client side. But even if we are adding a treefile using |
No strong opinion on filename. Indeed we should just combine them in a single file instead of separate ones per package. I'd go for something like
LGTM
I'd keep the firstboot case scoped out of this for now. I'd like to investigate using coreos/rpm-ostree#3006 for that, though even if we do go with a systemd service approach, I think it'd make more sense to have that service live in f-c-c (or possibly even rpm-ostree - see coreos/rpm-ostree#2326 (comment)). The idea here with the client treefiles is that it's a new rpm-ostree thing. Butane just happens to be the first one to use it, but there will be other use cases, and not all may have Butane sugar for it. |
The UUID one generates non-reproducible Ignition configs, which we haven't done so far, so I think we should avoid it. The hash one is okay, but: is it important that we add uniqueness to the filename? |
The idea is that we could have multiple files added by different layers. For example person1 created the first layered image which will have that file in place. Second person creates a new image using the first one as base and also layers packages. So we would have two files in the dropins directory of the second image. |
Ah, right. SHA seems like a good choice then. |
This is a very interesting topic. Ideally, we avoid generating MachineConfig from this. I'd say a big goal of this effort is to get out of having the MCO reimplement a subset of Ignition. The expected flow is written down here https://github.com/mkenigs/coreos-derive/tree/main/prototype But basically we run ignition-liveapply as part of a container build. Now...probably where this should be going is that we have a CRD that's just a wrapper for butane. And the MCO instead vendors butane (which actually it already does) but the role of that is simply to store it in etcd and pass it into a build. Definitely needs some thought and care though. |
Right. The MCO version dependency is a problem only during the transition period, and only if we want the same |
As part of the layering initiative we would like to be able to declare packages as part of the schema. The scope of this issue is the build time. For that purpose butane will generate an tree file in the ignition config that can be consumed with coreos/rpm-ostree#3340
The text was updated successfully, but these errors were encountered: