bootc-dev / bootc-dev/bootc

install: Add "extra" space

Offen
#287 9 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
area/install
Vorherrschende Sprache
Rust
Sterne
2.3k
Forks
230
Ø Merge
3 T. 3 Std.
Gemergte PRs (30 T.)
36

Beschreibung

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)

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit dem Einstiegspunkt `bootc install to-disk` und dem Installationskonfigurationsmodell und verfolge dann, wie `--root-size` derzeit behandelt wird. Definiere die Konfigurationsstruktur für Root-Größenbeschränkungen einschließlich `double-image`, `extra=2Gi` und `size-max`, und kläre, wie sich widersprüchliche Mindest- und Höchstwerte verhalten sollen. Die Aufgabe ist abgeschlossen, wenn das Flag entfernt sowie die vereinbarten Konfigurationssemantiken implementiert und getestet sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rust
Bereich
devops, operating-systems
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.