Stacks CDK
Toute l’infrastructure AWS est provisionnée avec AWS CDK (TypeScript) dans infra/aws/. L’application CDK lit la configuration propre à chaque environnement depuis infra/aws/config/nhic.json.
| Champ | Valeur |
|---|---|
| Point d’entrée | infra/aws/bin/infra.ts |
| Configuration | infra/aws/config/nhic.json |
| Runtime | Node.js 22.17+ |
| Version CDK | 2.207.0 |
Déploiement
Exécutez toujours cdk diff avant cdk deploy en production. Les modifications des user pools Cognito, des distributions CloudFront ou des enregistrements Route53 affectent des utilisateurs réels et peuvent provoquer une brève indisponibilité.
Se placer dans le projet CDK
cd infra/awsInstaller les dépendances
pnpm installConfigurer les identifiants AWS
Authentifiez-vous auprès du compte 600627345833 via SSO ou des clés d’accès temporaires. OIDC est utilisé en CI — pour les déploiements en local, configurez vos identifiants via aws configure sso ou exportez les variables d’environnement.
Bootstrap (première fois uniquement)
npx cdk bootstrapCette commande provisionne la stack du toolkit CDK dans le compte et la région. Nécessaire une seule fois par paire compte/région.
Prévisualiser les changements
npx cdk diffExaminez le diff attentivement avant de continuer. Tout remplacement (marqué -/+) de ressources avec état exige une prudence supplémentaire.
Déployer
npx cdk deploy --allPour déployer une seule stack, remplacez --all par le nom de la stack, par exemple npx cdk deploy NhicCognitoStack.
Secrets
CDK génère les secrets et les stocke dans AWS Secrets Manager sous deux préfixes :
| Chemin du secret | Contenu |
|---|---|
cluster-secrets | Identifiants à rotation — mots de passe de bases de données, clés d’API, clés d’accès/secrètes MinIO |
cluster-static-secrets | Valeurs de configuration sans rotation référencées par les charges de travail Kubernetes |
L’External Secrets Operator (chart Helm external-secrets) s’exécute dans le cluster EKS et synchronise ces secrets vers des objets Secret Kubernetes selon une planification. Les charges de travail les consomment sous forme de variables d’environnement ou de fichiers montés — elles ne lisent jamais Secrets Manager directement.