Aller au contenu

imglife status

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
Terminal window
# Afficher sur stdout
imglife status
# Écrire dans un fichier
imglife status --output README.md
# Commiter le rapport dans git (usage CI typique)
imglife status --output README.md
git add README.md
git commit -m "chore: update status report"
git push

Le rapport généré comprend :

  1. Table des matières
  2. Images miroirs — toutes les entrées de sync.entries, regroupées par image cible. Lorsque plusieurs blocs sync pointent 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 propre tag / tag_regex ancré, normalisé si os_normalize est actif (3.12-bookworm3.12-debian12).
  3. Images de base — toutes les entrées de build.images de type core ou spe. Chaque bloc obtient sa propre ligne : des blocs partageant un folder mais figés sur des lignes de version différentes via mirror_tag / mirror_tag_regex affichent chacun leur tag, leur date de build, leur cycle EOL et leur définition de lien.
  4. Images applicatives — tous les build records du Package Registry
  5. Légende
  6. Bloc personnalisé — contenu de status.client_zone si configuré
## 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 |

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.

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)

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.

Code Signification
0 Rapport généré avec succès
1 Erreur lors de la génération