Documentation
Hooks before et fichiers env
Préparez un environnement local avant que Vectron lance les processus longs.
Quand utiliser cet exemple
Utilisez ce pattern quand les services locaux ont besoin d’une préparation avant le démarrage du workspace: secrets, fichiers générés, images locales, migrations de base de données ou valeurs d’environnement partagées.
Exemple
[global]
log_mode = "both"
log_format = "json"
env_file = ".env"
before = [
"./tools/prepare-local-secrets.sh",
"./tools/ensure-dev-images.sh",
"./tools/prebuild-services.sh",
]
[global.readiness]
type = "log"
[global.readiness.ready]
pattern = "service_ready"
[[process]]
name = "api-public"
command = "./tools/run_service.sh api-public"
[[process]]
name = "worker-jobs"
command = "./tools/run_service.sh worker-jobs"Pourquoi cela fonctionne
Les commandes before s’exécutent avant que Vectron démarre la liste des processus longs. Cela sort la préparation des commandes individuelles et rend les échecs de démarrage plus faciles à diagnostiquer.
env_file = ".env" donne à chaque processus le même environnement de base. Les entrées env et env_file au niveau processus peuvent toujours ajouter ou surcharger des valeurs ensuite.
Valeurs par défaut utiles ici
before: défaut aucunenv_file: défaut aucunlog_dir: défaut.vectron/logscleanup_logs: défauttrueprocess.readiness: hérite deglobal.readiness
Ce qu’il faut personnaliser
- Gardez les commandes
beforeidempotentes pour que les redémarrages soient sûrs. - Préférez de petits scripts de setup avec des messages d’erreur clairs.
- Stockez les valeurs locales partagées dans
.env, mais gardez les secrets hors du contrôle de version. - Déplacez l’environnement spécifique à un processus dans
[process.env]ou dans unenv_filede processus.