Skip to content

composefs should probably default to single squashed layer #2018

Open
@cgwalters

Description

@cgwalters

Today the c/storage composefs backend generates a composefs blob per layer and unions them via overlayfs.

In contrast in ostree, we always generate a single final flattened filesystem tree.

For any container image where we want to verify its integrity, I think it's just far simpler logistically to sign a single composefs digest of the flattened filesystem tree (xref composefs/composefs#294 ).

Even apart from signatures, I think it will probably just be more efficient to do things this way in most cases.

That said, we might investigate a hybrid approach where a layer chain that is referenced a large percentage of times is still split.

(Simple example: User runs 150 different microservice apps all using a canonical base image; if we flatten then we get 150x base image metadata cost; in the non-integrity case we could still dynamically union the two stacks w/overlayfs, with a composefs for each. But, taking this out to the integrity case gets messier)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions