imglife status
Synopsis
Section intitulée « Synopsis »imglife status [flags]Génère un README Markdown résumant l’état de toutes les images sur les trois niveaux : miroirs, images de base et images applicatives.
| Flag | Défaut | Description |
|---|---|---|
--output string |
stdout | Écrire le rapport dans un fichier |
Exemples
Section intitulée « Exemples »# Afficher sur stdoutimglife status
# Écrire dans un fichierimglife status --output README.md
# Commiter le rapport dans git (usage CI typique)imglife status --output README.mdgit add README.mdgit commit -m "chore: update status report"git pushStructure du rapport
Section intitulée « Structure du rapport »Le rapport généré comprend :
- Table des matières
- Images miroirs — toutes les entrées de
sync.entries, regroupées par image cible. Lorsque plusieurs blocssyncpointent vers le même target (ex. une regex générique suivant la dernière version aux côtés d’un bloc à tag fixe), leurs tags sont fusionnés, dédoublonnés et triés en ordre décroissant de version (tri numérique :10>8). Les tags de chaque entrée sont résolus depuis le registry avec son propretag/tag_regexancré, normalisé sios_normalizeest actif (3.12-bookworm→3.12-debian12). - Images de base — toutes les entrées de
build.imagesde typecoreouspe. Chaque bloc obtient sa propre ligne : des blocs partageant unfoldermais figés sur des lignes de version différentes viamirror_tag/mirror_tag_regexaffichent chacun leur tag, leur date de build, leur cycle EOL et leur définition de lien. - Images applicatives — tous les build records du Package Registry
- Légende
- Bloc personnalisé — contenu de
status.client_zonesi configuré
Exemple de sortie
Section intitulée « Exemple de sortie »## Images de base
| Image | Tag | Plateformes | EOL | Statut || ------ | --------------------------- | ------------- | ---------- | ------ || alpine | 3.21.3-core1.0.0 | amd64 · arm64 | 2026-11-01 | ✅ || golang | 1.22.3-alpine3.21-core1.0.0 | amd64 | 2026-02-01 | ⚠️ || ubuntu | 22.04-core1.0.0 | amd64 | ❌ EOL | ❌ |
## Images applicatives
| Projet | Image | Base | Construit | Statut || ---------------- | --------------- | ----------------------- | ---------- | ---------------- || myteam/myservice | myservice:1.2.0 | alpine:3.21.3-core1.0.0 | 2026-04-01 | ✅ à jour || myteam/api | api:2.0.0 | alpine:3.19.4-core1.0.0 | 2026-01-15 | ⚠️ base obsolète |Indicateurs de statut
Section intitulée « Indicateurs de statut »Le statut d’une image applicative suit une logique lifecycle-first :
- Lifecycle OK →
✅ OK, avec un tooltip<abbr>indiquant le tag de base le plus récent disponible si une mise à jour existe. - Lifecycle WARNING / CRITICAL / EOL → toujours
⚠️ outdated, même si l’app est déjà sur le dernier tag — l’avertissement porte sur la chaîne miroir/base, pas sur le tag applicatif.
| Symbole | Signification |
|---|---|
✅ OK |
Lifecycle OK — survoler pour voir la mise à jour disponible (tooltip) |
⚠️ outdated |
Lifecycle de la base en approche d’EOL (WARNING / CRITICAL / EOL) |
❌ EOL |
End of Life — plus supportée |
⚠️ N/A |
Aucune donnée EOL pour ce cycle — survoler pour le motif (tooltip) |
— |
Non applicable / information manquante |
Un cycle absent du cache EOL ne retombe plus systématiquement sur un ⚠️ N/A nu : imglife tente
d’abord les cycles voisins. Un cycle plus récent que tout ce que connaît le provider hérite du statut
du cycle précédent si celui-ci est encore supporté (le tooltip le nomme), et un cycle plus ancien que
tous les cycles connus est signalé ⚠️ outdated. ⚠️ N/A ne subsiste que lorsque rien ne peut être
déduit, et son tooltip en donne le motif. Lancez imglife eol update pour
combler le manque.
Blocs d’alerte de cycle de vie
Section intitulée « Blocs d’alerte de cycle de vie »Au-dessus du tableau Mirror images, status émet des blocs d’alerte GitHub pour les images miroirs suivies en approche ou au-delà de l’EOL, regroupés par sévérité : toutes les images WARNING dans un unique bloc > [!WARNING], et toutes les images CRITICAL et EOL dans un unique bloc > [!CAUTION]. Les images saines ne génèrent aucune alerte.
> [!WARNING]> **`registry.example.com/mirrors/python:3.12-alpine`** (`python/3.12`): EOL approaching (01/10/28)> **`registry.example.com/mirrors/node:18-alpine`** (`nodejs/18`): EOL approaching (30/04/28)
> [!CAUTION]> **`registry.example.com/mirrors/debian:11`** (`debian/11`): EOL exceeded (30/06/26)Personnaliser le rapport
Section intitulée « Personnaliser le rapport »Ajoutez un bloc status.client_zone dans imglife.yaml pour ajouter du Markdown personnalisé :
status: client_zone: | --- Pipeline déclenché quotidiennement à 06h00 UTC. Questions ? Contactez #platform-images.Voir la configuration status.
Codes de sortie
Section intitulée « Codes de sortie »| Code | Signification |
|---|---|
0 |
Rapport généré avec succès |
1 |
Erreur lors de la génération |