Add update hooks
- Lingua principale
- Rust
- Stelle
- 2.3k
- Fork
- 230
- Merge medio
- 3g 3h
- PR unite (30g)
- 36
Descrizione
One thing that rpm-ostree has is that by default it displays the rpm database diff between two OS images.
I think we could add something like:
```
/usr/lib/bootc/diff-hooks.d
```
That we'd run each time a deployment changes. Then software like `dnf` could drop in a `/usr/lib/bootc/hooks.d/dnf` that would basically do what `rpm-ostree db diff` does; it would get passed two filesystem roots (as file descriptors or maybe easier by running as a container with `/from` and `/to` mount points for the two roots).
This would get us into a space where typing `bootc upgrade` would at least have that CLI sugar for admins.
But I'd probably say that we shouldn't try to scope creep this package/container integration too much beyond that; if one wants to do things with packages one would invoke `apt/dnf` directly, which should learn how to interact with bootc.
See e.g. https://github.com/coreos/rpm-ostree/issues/4924 which is about codifying an API in rpm-ostree for these diffs. I don't think we should do anything like that here; the API for such a thing should live in a tool like `apt/dnf` which are about packages.
IOW there'd be e.g. `dnf bootc diff` perhaps. (But also, `dnf podman diff `!).
Basically a core tradeoff in rpm-ostree is that we didn't invest enough in the package-independent `ostree` tool, and I want bootc to feel first class for non-packaged content too, and deferring package things to package tools.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Start with the proposed /usr/lib/bootc/diff-hooks.d location and the bootc upgrade path described in the issue. Determine the hook contract, how the two filesystem roots are exposed, and what deployment-change behavior is required; done means the design is agreed and the resulting hooks run with a documented interface.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- linux, rust
- Ambito
- operating-systems
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100