Aller au contenu principal

Lire les versions dans Argo CD

Si Argo CD déploie tes applications, Astrolabe lit la version réellement déployée : le tag de l'image du composant, sur chaque environnement. Rien à déclarer depuis tes pipelines, et rien à écrire dans le catalog-info.yaml de tes composants.

Plusieurs Argo CD (la production, les autres environnements) forment une seule source : Astrolabe cherche dans tous.

Avant de commencer

Connecte chaque Argo CD dans Administration › Connexions de l'entreprise : voir Ajouter l'intégration Argo CD. Tu peux le faire avant ou après les étapes ci-dessous.

1. ⚙️ Choisir Argo CD comme source​

  1. Dans la barre latérale, clique sur Administration, puis sur Plugins.

  2. Sur la carte Déploiements, clique sur Configurer. L'onglet Paramètres s'ouvre.

  3. Dans Source, choisis argocd. Deux champs apparaissent dessous. Leurs libellés restent en anglais :

    ChampCe qu'il faut écrireLaissé vide
    Component labelLe label de tes applications Argo CD dont la valeur est le nom du composant, par exemple app.kubernetes.io/namebackstage.io/component
    Environment labelLe label de tes applications Argo CD dont la valeur est l'environnement, par exemple envenvironment

    Écris un label sans espace ni accent.

  4. Clique sur Enregistrer. Le message Réglages enregistrés. s'affiche.

L'écran dit « Still waiting for: integrations.argocd »

Aucun Argo CD n'est encore connecté. Ajoute-en un dans Administration › Connexions de l'entreprise.

2. 🏷️ Étiqueter tes applications Argo CD​

Pose deux labels sur chaque application Argo CD d'un composant : le label du composant, avec le nom du composant pour valeur, et le label d'environnement, avec le nom de l'environnement pour valeur.

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: shop-api-recette
labels:
backstage.io/component: shop-api # le label du composant : le nom du composant
environment: recette # le label d'environnement : le nom de la colonne

Le nom du composant est le metadata.name de son catalog-info.yaml. La valeur du label d'environnement est le nom de la colonne, au caractère près : recette et Recette font deux colonnes.

Rien d'autre à faire : Astrolabe relie un composant à chaque application qui porte le label du composant avec son nom.

✅ Vérifier​

Ouvre le composant depuis Catalogue : la carte Déploiements de la Vue d'ensemble montre chaque environnement et sa version, par exemple recette 2.5.0 et prod 2.4.0.

La version est le tag de l'image qui porte le nom du composant : registry.example.com/shop-api:2.5.0 donne 2.5.0. Un proxy ou un agent à côté ne l'emporte jamais.

✅ C'est tout !

🔗 Relier un composant avec un autre label​

La plupart de tes composants suivent le label de l'étape 1. Pour un composant dont les applications portent un autre label, ajoute une ligne à son catalog-info.yaml :

apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: shop-api
annotations:
argocd/app-selector: team.example.com/app=shop-api
spec:
type: service
lifecycle: production
owner: group:default/plateforme

Le sélecteur doit contenir un label dont la valeur est le nom du composant : team.example.com/app=shop-api pour le composant shop-api. Un sélecteur qui ne nomme pas le composant ne relie rien : voir Problèmes courants avec les déploiements.

Cette annotation n'a été vérifiée que lorsqu'elle est fausse. Le cas où elle relie le composant n'a pas été vérifié sur une instance.

La suite : Questions fréquentes.