Skip to content
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

support deploying a composefs directly #3291

Open
cgwalters opened this issue Aug 30, 2024 · 1 comment
Open

support deploying a composefs directly #3291

cgwalters opened this issue Aug 30, 2024 · 1 comment
Labels
area/composefs Issues related to composefs

Comments

@cgwalters
Copy link
Member

ostree has two major parts:

  • OstreeRepo (object store, commits)
  • OstreeSysroot (has-a OstreeRepo, extends with bootloader support, deployments, etc.)

As part of containers/bootc#20 and https://github.com/cgwalters/composefs-oci what would be quite helpful as an intermediate step is if we could try to sever some of the dependencies of OstreeSysroot on OstreeRepo.

Specifically: I'd like to be able to pass a composefs blob to ostree_sysroot_deploy_tree instead of an ostree commit. I think this wouldn't be really hard...basically early on we do:

if legacy ostree:
just call existing ostree_sysroot_get_deployment_dirpath + glnx_opendirat
else:
mount the composefs as a file descriptor (xref containers/storage#2069 (comment) )

I think there's a few corner case bits that scrape the ostree commit for metadata; maybe we provide that metadata externally for now.

There's some more work for sure here too around things like generate_deployment_refs() ...we just skip that I think in this case and require the caller to do GC?

@cgwalters
Copy link
Member Author

Though this relates to containers/composefs#332 in that if we did that we'd need to teach ostree how to crack open UKIs to get access to the embedded composefs in order to do GC.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/composefs Issues related to composefs
Projects
None yet
Development

No branches or pull requests

1 participant