@mybus/infrastructure v1.0.0
libs/infrastructure
Description
Cette lib met a disposition une CLI pour gérer un environnement, en particulier à l'initialisation d'un environnement.
Elle a pour vocation d'être utilisé pour les environnements à la demande ainsi que pour faciliter la mise en place de l'environnement de développement.
Elle gère l'initialisation global de :
- l'user et le vhost dans rabbit MQ
Elle gère l'initialisation par app de :
- la DB postgres
- le client Keycloak
- le secret de l'app
le
.envlocal pour cette app
Architecture Vault
Dans vault, il y a un dossier par environnement. Dans ce dossier on retrouve:
config-root: les accès root pour cet environnement, accès restreintconfig-generated: les accès pour cet environnement (généré dynamiquement)config: les accès pour cet environnement (écrit manuellement et spécifique a l'app)
Il y a ensuite des dossier pour l'arborescence des services. Dans chaque service on retrouve:
generated: les accès spécifique pour ce service (généré dynamiquement)config: les variables d'environnement complètes pour ce service. Ce fichier est généré automatiquement à partir du template et en prenant les valeurs dans leconfigglobal, leconfig-generatedglobal et legeneratedde l'app en cours
Pour le développement local, il existe un environnement spécial local. Cet environnement est similaire aux autres environnements et a le même fonctionnement.
Dossier infrastructure
Chaque app possède un dossier infrastructure. Ce dossier est composé de:
postgres.yaml: le fichier de configuration de la DB (notamment les extensions)helm.yaml: le fichier de déploiment kubevault.template.yaml: le template des variables d'environnement
Le vault.template.yaml est maitre des variables d'environnement présentes pour ce service. C'est à partir de ce fichier que on peut générer la config de ce service dans vault qui sera ensuite utilisé lors des déploiments.
2 years ago