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
Extraire la logique Alpine (inittab + agetty) dans lib/common.sh.
Remplacer le code dupliqué dans openbao/install.sh et gitea-runner/install.sh par un appel à cette fonction.
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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Contexte
openbaoetgitea-runner(les deux scripts créateurs de LXC Alpine restants après #13) implémentent chacun leur propre logique d'auto-login sur tty1 (viaagetty --autologin root), en dupliquant le même bloc :tty1::dans/etc/inittabagetty --autologinkill -HUP 1pour forcer PID 1 à relire/etc/inittabpkill -KILL -f '(getty|agetty).*tty1'pour forcer le respawn immédiatC'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
lib/common.sh) sous une fonction du typeenable_tty1_autologin(), réutilisée paropenbaoetgitea-runner.systemd/container-getty@1.service.dplutôt qu'agettydans/etc/inittabfaçon Alpine/OpenRC) — prévoir une fonction par famille d'OS ou une détection interne.Proposition
inittab+agetty) danslib/common.sh.openbao/install.shetgitea-runner/install.shpar un appel à cette fonction.lib/common.shle contrat attendu, pour que tout nouveau script créateur de LXC sache quelle fonction appeler selon l'OS choisi.