bootc-dev / bootc-dev/bootc

install: Add "extra" space

Aperta
#287 9 commenti 1 reazione 0 assegnatari Vedi su GitHub
area/install
Lingua principale
Rust
Stelle
2.3k
Fork
230
Merge medio
3g 12h
PR unite (30g)
38

Descrizione

Today, `bootc install to-disk` has `--root-size`. But that's not in the install config. I think we should delete `--root-size`, moving this to the install config.

## Add min and max "constraints"

For generic base images, we can't sanely provide a default size because the user may add an arbitrary amount of data. So the first idea here is that we support base images providing an "elastic" default that takes as input the base image size. Something like this:

```
[install.filesystem.root]
size-constraints-min = "double-image,extra=2Gi"
```

Where `size-constraints-min` is a comma separated list of "constraints". `double-image` here means that we allocate space at least for 2x the container image size (for inplace upgrades), and `extra=2Gi` of free space on top of that.

For "final" images derived by the end consumer, they can do e.g.

```
[install.filesystem.root]
size-max = "10Gi"
```
if they want to have a fixed size that they know exactly. (Do we error out if `size-constraints-min` would be greater than `size-max`, or just ignore it? Note at least they can always just `RUN rm /usr/lib/bootc/install/*` if they want to fully take ownership)

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start with the `bootc install to-disk` entry point and the install configuration model, then trace how `--root-size` is currently handled. Define the configuration shape for root size constraints, including `double-image`, `extra=2Gi`, and `size-max`, and resolve how conflicting minimum and maximum values should behave. Done means the flag is removed and the agreed configuration semantics are implemented and tested.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rust
Ambito
devops, 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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.