Vérification de l'environnement (doctor)
La vérification de l’environnement (ou doctor) répond à « ai-je le nécessaire pour lancer ce scénario ? » avant d’appuyer sur play, au lieu de le découvrir par un échec en plein lancement.
Elle est disponible comme panneau dans l’app (Vérification de l’environnement, rail
droit) et comme commande (aseptic doctor [scénario]).
Ce qu’elle contrôle
Section intitulée « Ce qu’elle contrôle »Le rapport est groupé par catégorie :
- Dépôts — le manifeste de chaque micro existe et son dépôt est sur le disque.
- Outils — ceux qu’exigent les stacks du scénario (
java+maven,node+npm,npxpour Angular,python,go,dotnet…), sondés avec leur commande de version. Le wrapper du dépôt (mvnw) ou le.venvsatisfont l’exigence sans exiger l’outil global. Et un outil peut porter plusieurs noms selon le système —pythonsous Windows et dans un.venv,python3sous macOS et Debian— : ils sont tous sondés et le contrôle indique le nom qu’il a trouvé. S’il manque un outil qu’Aseptic sait installer (JDK, Maven, Gradle, Node, Go, SDK .NET), le CLI indique la commande qui le récupère (aseptic toolchain install <outil>). Et les micros qui iront dans leur conteneur d’outils ne comptent pas ici : le rapport les liste à la fin, avec le motif. - Exigences du micro — ce qu’un micro concret déclare avoir besoin au-delà de son stack (un autre outil, un chemin qui doit exister…).
- Docker — le daemon répond, uniquement si le scénario lance de l’infra ou fait tourner un micro en conteneur.
- Bases de données — accessibilité TCP des bases de données externes sélectionnées.
- Identifiants — chaque
${creds.x}dont le démarrage aura besoin a une valeur danssettings.local.yml.
Avertissements vs échecs
Section intitulée « Avertissements vs échecs »- Un échec bloque : il manque quelque chose d’indispensable.
- Un avertissement ne bloque pas : c’est quelque chose d’optionnel ou de récupérable.
Dans le CLI, aseptic doctor se termine avec le code de sortie 0 s’il n’y a pas
d’échecs et 1 s’il y en a, ce qui le rend utile comme porte préalable dans un script.