bootc-dev / bootc-dev/bootc

install: Support reinstallation (factory reset)

Ouverte
#404 22 commentaires 15 réactions 0 personnes assignées Voir sur GitHub
area/etc-var area/install enhancement
Langage dominant
Rust
Étoiles
2.3k
Forks
230
Merge moyen
3 j 3 h
PR mergées (30 j)
36

Description

https://github.com/containers/bootc/pull/137 is tracking part of this, a lot of related discussion in https://github.com/coreos/fedora-coreos-tracker/issues/399

Basically we should support something like `bootc install factory-reset` that would configurably wipe local system state.

On the implementation side...I think the best way to do this would be something like:

- Create new deployment with fresh `etc` targeting a new stateroot
- Boot into it
- optional: clean up old deployment + stateroot

The beauty of this approach is that the "factory reset" would actually also be fully transactional, i.e. you could roll back into the previous state. It'd be easy to copy over any desired state (SSH host keys, cached container images e.g.) from the previous boot before deleting it.

## Active work

- https://github.com/bootc-dev/bootc/pull/1389

## Goals:

- Make stateroots more visible, e.g. at least status should show them if different
- Need to support explicit pruning of deployments e.g. `bootc deployment rm` (like `ostree admin undeploy`) so that I can get rid of old stateroots

## Ideas:

- Add `bootc mount /run/tmp-next-root` so that I can `cp -a --reflink=always /var/home /run/tmp-next/root/var/home`

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par examiner le travail actif dans PR 1389 et la discussion associée du tracker Fedora CoreOS. Suivez les points d’entrée existants de `bootc install`, `bootc status` et des déploiements avant de définir le flux factory-reset. Le travail sera considéré comme terminé s’il inclut des stateroots visibles, une réinitialisation transactionnelle et la suppression explicite des déploiements, comme décrit dans les objectifs.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
rust
Domaine
cli, operating-systems
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.