Description
This is part of coreos/fedora-coreos-tracker#828 conceptually, which was actually in retrospect framed too broadly. Focus shifted to coreos layering but that's really the "user experience" half. Re engineering how we build and ship FCOS (the first issue) still applies.
In particular, I think we should support a cosa init --ostree
mode that takes a container image as input and outputs just a container. We may not even generate a builds/
directory, and no meta.json
stuff should be created for this.
flowchart TB
quayprevious["previous ostree container"] --> ostreebuild
subgraph ostreebuild [cosa ostree build]
configgit["config git"]-->container
rpms --> container["ostree container"]
container --> quay["quay.io"]
end
subgraph imagebuild [cosa image build]
quay --> qemu["qemu image"]
quay --> metal
metal --> iso
qemu --> ami
qemu --> vsphere
qemu --> gcp
end
imagebuild --> S3
Note how the input to "cosa image build" is just the ostree container, not config git (or rpms).
Further, I want to emphasize that the "build ostree container" and "build disk images" can (and would normally be) separate processes. (Now, how testing is integrated here is not depicted, but basically we'd still probably generate a qemu image to sanity test our container builds, but it would be discarded and regenerated by the image build process only once that image had passed other approvals)