Rendre l'auto-login tty1 systématique et cohérent sur les scripts créateurs de LXC #14

Closed
opened 2026-07-30 08:59:47 +00:00 by Damien · 0 comments
Owner

Contexte

openbao et gitea-runner (les deux scripts créateurs de LXC Alpine restants après #13) implémentent chacun leur propre logique d'auto-login sur tty1 (via agetty --autologin root), en dupliquant le même bloc :

  • remplacement de la ligne tty1:: dans /etc/inittab
  • ajout de la ligne agetty --autologin
  • kill -HUP 1 pour forcer PID 1 à relire /etc/inittab
  • pkill -KILL -f '(getty|agetty).*tty1' pour forcer le respawn immédiat

C'est actuellement dupliqué à l'identique entre les deux scripts (copier-coller), ce qui est une source de divergence silencieuse si l'un des deux est corrigé sans l'autre.

Objectif

  • Garantir que l'auto-login est toujours actif après une installation fraîche sur tout script créateur de LXC, de façon cohérente.
  • Factoriser ce bloc dans le helper partagé (même fichier que pour #12, ex. lib/common.sh) sous une fonction du type enable_tty1_autologin(), réutilisée par openbao et gitea-runner.
  • S'assurer que la factorisation reste correcte si un futur script cible Debian (mécanisme d'auto-login différent : systemd / container-getty@1.service.d plutôt qu'agetty dans /etc/inittab façon Alpine/OpenRC) — prévoir une fonction par famille d'OS ou une détection interne.

Proposition

  1. Extraire la logique Alpine (inittab + agetty) dans lib/common.sh.
  2. Remplacer le code dupliqué dans openbao/install.sh et gitea-runner/install.sh par un appel à cette fonction.
  3. Documenter dans lib/common.sh le contrat attendu, pour que tout nouveau script créateur de LXC sache quelle fonction appeler selon l'OS choisi.
## Contexte `openbao` et `gitea-runner` (les deux scripts créateurs de LXC Alpine restants après #13) implémentent chacun leur propre logique d'auto-login sur tty1 (via `agetty --autologin root`), en dupliquant le même bloc : - remplacement de la ligne `tty1::` dans `/etc/inittab` - ajout de la ligne `agetty --autologin` - `kill -HUP 1` pour forcer PID 1 à relire `/etc/inittab` - `pkill -KILL -f '(getty|agetty).*tty1'` pour forcer le respawn immédiat C'est actuellement dupliqué à l'identique entre les deux scripts (copier-coller), ce qui est une source de divergence silencieuse si l'un des deux est corrigé sans l'autre. ## Objectif - Garantir que l'auto-login est **toujours actif** après une installation fraîche sur tout script créateur de LXC, de façon cohérente. - Factoriser ce bloc dans le helper partagé (même fichier que pour #12, ex. `lib/common.sh`) sous une fonction du type `enable_tty1_autologin()`, réutilisée par `openbao` et `gitea-runner`. - S'assurer que la factorisation reste correcte si un futur script cible Debian (mécanisme d'auto-login différent : `systemd` / `container-getty@1.service.d` plutôt qu'`agetty` dans `/etc/inittab` façon Alpine/OpenRC) — prévoir une fonction par famille d'OS ou une détection interne. ## Proposition 1. Extraire la logique Alpine (`inittab` + `agetty`) dans `lib/common.sh`. 2. Remplacer le code dupliqué dans `openbao/install.sh` et `gitea-runner/install.sh` par un appel à cette fonction. 3. Documenter dans `lib/common.sh` le contrat attendu, pour que tout nouveau script créateur de LXC sache quelle fonction appeler selon l'OS choisi.
Damien added reference chore/standardize-lxc-scripts 2026-07-30 11:04:35 +00:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Damien/infra-scripts#14