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.
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
-
Dans la barre latérale, clique sur Administration, puis sur Plugins.
-
Sur la carte Déploiements, clique sur Configurer. L'onglet Paramètres s'ouvre.
-
Dans Source, choisis argocd. Deux champs apparaissent dessous. Leurs libellés restent en anglais :
Champ Ce qu'il faut écrire Laissé vide Component label Le label de tes applications Argo CD dont la valeur est le nom du composant, par exemple app.kubernetes.io/namebackstage.io/componentEnvironment label Le label de tes applications Argo CD dont la valeur est l'environnement, par exemple envenvironmentÉcris un label sans espace ni accent.
-
Clique sur Enregistrer. Le message Réglages enregistrés. s'affiche.
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.