Overview
fisherman currently only supports standard OCI/bootc container images installed via bootc install to-filesystem. Add explicit support for:
- composefs-native images — images using bootc's composefs backend (
--experimental-composefs), where the filesystem is stored as a content-addressed composefs rather than a plain ostree commit
- Plain ostree images — non-bootc OSTree repos (e.g. raw
ostree pull + ostree admin deploy) for compatibility with non-bootc ostree-based distros (Fedora Silverblue pre-bootc, GNOME OS, etc.)
Motivation
- composefs is the future default backend for bootc and provides fs-verity image verification. Once it becomes the default, fisherman should handle it transparently.
- Plain ostree lets fisherman install non-bootc ostree images, widening compatibility significantly.
- Both are complementary to the existing unified storage work (
--experimental-unified-storage).
composefs support
The composefs backend stores each file as a content-addressed object with fs-verity. Installation:
bootc install to-filesystem --experimental-composefs /target
Recipe field to add:
{ "backingStore": "composefs" } // default: "ostree"
fisherman would pass --experimental-composefs to bootc install when set.
Note: composefs requires a filesystem that supports fs-verity (ext4, f2fs, btrfs). XFS does not currently support fs-verity — fisherman should validate this combination and reject xfs+composefs with a clear error.
ostree (non-bootc) support
For plain ostree repos, installation would use ostree CLI directly instead of bootc:
ostree pull-local /path/to/repo
ostree admin --sysroot=/target deploy REFSPEC
Or via remote:
ostree remote add origin https://...
ostree pull origin REFSPEC
ostree admin deploy origin:REFSPEC
Recipe additions needed:
{
"imageType": "bootc", // or "ostree"
"ostreeRemote": "https://...",
"ostreeRef": "fedora/40/x86_64/silverblue"
}
Related
Overview
fisherman currently only supports standard OCI/bootc container images installed via
bootc install to-filesystem. Add explicit support for:--experimental-composefs), where the filesystem is stored as a content-addressed composefs rather than a plain ostree commitostree pull+ostree admin deploy) for compatibility with non-bootc ostree-based distros (Fedora Silverblue pre-bootc, GNOME OS, etc.)Motivation
--experimental-unified-storage).composefs support
The composefs backend stores each file as a content-addressed object with fs-verity. Installation:
Recipe field to add:
{ "backingStore": "composefs" } // default: "ostree"fisherman would pass
--experimental-composefstobootc installwhen set.Note: composefs requires a filesystem that supports fs-verity (ext4, f2fs, btrfs). XFS does not currently support fs-verity — fisherman should validate this combination and reject xfs+composefs with a clear error.
ostree (non-bootc) support
For plain ostree repos, installation would use
ostreeCLI directly instead of bootc:Or via remote:
Recipe additions needed:
{ "imageType": "bootc", // or "ostree" "ostreeRemote": "https://...", "ostreeRef": "fedora/40/x86_64/silverblue" }Related