Skip to content

support a framework for "reliable extensions" to the base OS #401

@dustymabe

Description

@dustymabe

There is a valley of death between the hilltop of content we have included in the OS and the mountain of containerized applications that users run on top of the OS (services, data processing, etc). In this valley of death there are a ton of small little OS level utilities or daemons that are either hard to containerize or not desirable to containerize because of maintenance burden. We get requests all the time. Some of them it makes a lot of sense to include in the base OS. Some of them it's clear they don't belong. Some of them it's really hard to say. What we've identified is a clear need to be able to deliver some content to the host that isn't part of the base OS but also isn't necessarily its own container.

@cgwalters has a similar issue opened here #354

Some possible solutions, including some that were thrown around during the meeting today:

  • deliver a small yum repo with a curated set of packages in them alongside the OSTree content, versioned with the OS so we don't hit package layering: split versions between OSTree base vs yum repo #400 (fixing package layering: split versions between OSTree base vs yum repo #400 generically for all OSTree based Fedora derivatives could be a solution here)
  • build and deliver an addon OSTree layer that includes commonly requested packages. Enabling the addon layer would be an all or nothing operation (you get all addons or none), but would make testing and reliability easier
  • allow users to have alternative roots (more close to what is proposed in Best practices for delivering container content that executes on the host #354) that are based on the host OS but allow dnf/yum operations inside and can easily override package versions from the host OS if needed. We'd probably want to be able to systemctl enable stuff inside here or be able to find stuff from here in the $PATH. I'm thinking this would be almost like toolbox, but not actually a container. More like an overlay on top of the OS itself. This needs more brainstorming.

The solution we come up with could be generic and apply to all packages OR curated and apply to a subset of packages.

Metadata

Metadata

Assignees

Labels

jirafor syncing to jira

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions