imglife check
Synopsis
Section intitulée « Synopsis »imglife check [flags]Conçu pour les pipelines CI applicatifs. Vérifie que l’image de base utilisée dans un build est la dernière version disponible et n’approche pas de sa fin de vie. Peut bloquer le job CI avec --strict si la base est obsolète ou en EOL.
| Flag | Requis | Description |
|---|---|---|
--base string |
oui | Tag complet de l’image de base à vérifier |
--config-url string |
non | URL pour récupérer le imglife.yaml du projet base-images |
--eol-data-url string |
non | URL pour récupérer le fichier de données EOL |
--strict |
non | Code non-zéro si la base est obsolète, en EOL, ou si la donnée EOL de son cycle est absente |
--warn |
non | Afficher les avertissements mais toujours quitter avec 0 |
--output string |
non | Format de sortie : text (défaut) ou json |
Exemples
Section intitulée « Exemples »# Vérification informative (n'échoue jamais)imglife check --base registry.example.com/bases/alpine:3.21.3-core1.0.0
# Mode strict : échoue si la base est obsolète ou en EOLimglife check \ --base registry.example.com/bases/alpine:3.21.3-core1.0.0 \ --strict
# Sortie JSON pour traitement programmatiqueimglife check \ --base registry.example.com/bases/alpine:3.21.3-core1.0.0 \ --output json
# Avec URLs explicites de config et données EOLimglife check \ --base "$BASE_IMAGE" \ --config-url "https://gitlab.example.com/.../imglife.yaml/raw" \ --eol-data-url "https://gitlab.example.com/.../eol-data.yaml/raw"Comment ça fonctionne
Section intitulée « Comment ça fonctionne »- imglife résout le
imglife.yamldu projet base-images (depuis le Package Registry ou--config-url). - Il trouve l’entrée dans
build.imagescorrespondant à l’image et au tag vérifiés — si plusieurs blocs partagent unfolder, celui dont la ligne de version accepte le tag l’emporte. - Il compare le tag courant avec le dernier tag disponible de cette ligne : une app sur JDK 8 ne se voit donc jamais proposer un tag JDK 25 du même dépôt. Sans fichier de configuration, les candidats sont filtrés par variante de tag.
- Il interroge les données EOL (depuis le Package Registry ou
--eol-data-url) pour vérifier le statut du cycle de vie de cette ligne. - Il rapporte le résultat.
Sortie JSON
Section intitulée « Sortie JSON »{ "base": "registry.example.com/bases/alpine:3.21.3-core1.0.0", "latest": "registry.example.com/bases/alpine:3.21.3-core1.2.0", "up_to_date": false, "eol_date": "2026-11-01", "eol_status": "ok", "warnings": ["base image is outdated: latest is 3.21.3-core1.2.0"]}Dans un CI GitLab applicatif
Section intitulée « Dans un CI GitLab applicatif »check-base: stage: validate image: registry.gitlab.com/imglife-project/imglife:latest variables: IMGLIFE_CONFIG: imglife.apps.yaml script: - | imglife check \ --base "$BASE_IMAGE" \ --strict rules: - if: $CI_COMMIT_TAGimglife.apps.yaml ne contient que la section registry: pointant vers le projet base-images.
Dégradation gracieuse
Section intitulée « Dégradation gracieuse »Si le Package Registry est indisponible, imglife check journalise un avertissement et quitte avec 0 (sauf si --strict est défini). Cela empêche les pannes de données EOL de bloquer tous les builds applicatifs.
Donnée EOL manquante
Section intitulée « Donnée EOL manquante »Lorsque le cycle de l’image vérifiée ne peut pas être résolu, le motif est reporté dans
eol_skip_reason et eol_data_missing passe à true. Ce cas n’est pas bloquant par défaut :
seul --strict le transforme en exit 1.
| Motif | Signification |
|---|---|
no EOL data for cycle <produit>/<cycle> |
Cycle absent du cache — lancer imglife eol update |
cycle <produit>/<cycle> older than any available EOL data |
L’image est sur un cycle antérieur à tout ce que connaît le provider |
eol data unavailable |
La source de données elle-même n’a pas pu être lue |
Lorsque le cycle est plus récent que tout ce que connaît le provider, le statut du cycle précédent
est hérité à la place (si ce cycle est encore supporté) et eol_inferred_from le nomme.
Codes de sortie
Section intitulée « Codes de sortie »| Code | Signification |
|---|---|
0 |
Image de base OK (ou --warn défini) |
1 |
Base en/après EOL — ou obsolète / donnée EOL absente avec --strict |
2 |
Erreur de configuration ou réseau |