bootc-dev / bootc-dev/bootc

LBI: Add `/etc/bootc/bound-images.d`

Open
#1,237 2 comments 0 reactions 0 assignees View on GitHub
area/logically-bound-images enhancement triaged
Dominant language
Rust
Stars
2.3k
Forks
230
Avg merge
3d 12h
Merged PRs (30d)
38

Description

The problem of "agents" is long-running and difficult. With bootc we have made it trivial to embed them in the base OS image. However, while that creates a simple story and generally works, it lifecycle binds the OS to the agent, which is not always desired.

Today Fedora CoreOS basically reimplements minimal cloud support in a generic way in ignition/afterburn. cloud-init handles many things, but not all. There's vmware-guest-agent etc.

We're having some discussions in Fedora-derivative land about trying to make "generic" bootc systems, and I think one possible approach here that would feel nice is to add support for `/etc/bootc/bound-images.d` paralleling our existing `/usr/lib/bootc/bound-images.d`.

The idea here is basically that we could support shipping e.g. cloud-init or vmware-guest-agent as a privileged container, and in a `bootc install to-existing-root` scenario the installer could dynamically detect the platform at install time and add relevant agents into `/etc/bootc/bound-images.d`. So by default they'd be required for OS upgrades, and the image data would continue to live in the bootc c/storage instance. The only "mutable" state would be that their presence is requested via `/etc` and not `/usr` - decoupling them from the fully generic base OS.

OR perhaps arguably...we add dynamism to the current LBI in a systemd-style way `ConditionVirtualization=vmware` or `ConditionKernelCommandLine=ignition.platform.id=vmware` or so.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.