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

Nature of user stories #7

Open
xorander00 opened this issue Mar 24, 2024 · 1 comment
Open

Nature of user stories #7

xorander00 opened this issue Mar 24, 2024 · 1 comment

Comments

@xorander00
Copy link

I was just made aware that feedback is being collected on user stories in the requirements section. If so, would that include things like image/zfs-related topics or is that too implementation-specific and/or not within scope for the runtime environment? One of the things that I've noted down for myself is that images, as they are currently, are pretty tarball-centric (e.g. whiteout files) and not very friendly to ZFS images (e.g. full base image + incremental snapshots). Also, things like ZFS properties to hold metadata (instead of needing another manifest file).

I'm sure there's more that I can think of, but would like to know what the expected commentary should be restricted to in order to be useful.

@samuelkarp
Copy link
Member

samuelkarp commented Mar 24, 2024

I think this is useful and relevant commentary, but likely more in scope for the image (and associated image spec) than the runtime (the runtime spec assumes effectively a chroot-like projected/materialized structure rather than covering anything with tarballs or whiteouts).

In practice, a higher-level runtime manager (such as containerd, crio, or Docker) will be responsible for processing an image and preparing a bundle for the lower-level OCI runtime (such as runc or crun on Linux, or runj on FreeBSD). That may include flattening layers (the "native" snapshotter in containerd does this) or implementing copy-on-write to provide for storage deduplication and better speed in starting new containers (containerd uses overlay by default on Linux, but can also do this via ZFS snapshots on FreeBSD).

The image spec describes an interchange format currently based on tarballs and a JSON-formatted manifest file. But there are certainly shortcomings related to that (tar file ordering influences the digest and affects content-addressibility for the same content, for example). You can find some prior discussion of other proposals on the dev@opencontainers.org list.

But yes: if you have comments on ZFS images and how they could be used with containerd, please share!

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

No branches or pull requests

2 participants