bootc-dev / bootc-dev/bootc

Overlay state but unique to each deployment

Open
#2,468 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
2.3k
Forks
230
Avg merge
3d 12h
Merged PRs (30d)
38

Description

Is is possible to create something similar to an overlay-state where /opt is writable, but doesn't carry any of the changes to that directory forward to a new deployment/upgrade?

Use case:
The situation I'm coming across is that an application (mainly security scanning tools) needs to be installed in /opt but needs to be able to upgrade automatically and separately from the bootc image. However, when changing the major OS version, those changes cannot be carried forward, but should still be available if a rollback is required. The idea is to put a version (current at build time, but may not be current at deployment time) of the application inside of the bootc image so there's something installed but then let it automatically upgrade itself on boot. That way bootc doesn't need to carry anything forward as a version of the application will be available in every image, but if the directory is writable, it can maintain itself. This would also allow a bootc rollback to utilize the previous version.

overlay-state wouldn't work because from my understanding, it would function like /etc and try to carry forward any changes.
/var wouldn't work because it's a persistent directory, which wouldn't allow for a rollback and would likely cause issues during an OS upgrade anyway.

Contributor guide

Open the contributing guide

Research direction

The issue names no files or tests. Start by tracing how bootc handles /opt, overlay-state, /etc, and /var during deployment, upgrade, and rollback, then review existing documentation and tests for persistence semantics. Done means the project has a decided and documented behavior, with implementation and regression coverage if the feature is accepted.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.