/api-infrastructure

⚙️ Infrastructure de l'API de la cartographie nationale des lieux de médiation numérique

Primary LanguageHCLMIT LicenseMIT

API infrastructure

À propos

API infrastructure décrit par le code l'infrastructure à provisionner pour le bon fonctionnement de l'API de la cartographie nationale des lieux d'inclusion numérique.

Ce dépôt n'est pas utile pour faire fonctionner la Cartographie Nationale en local.

Table des matières

Prérequis

Installation

La commande suivante permet d'utiliser la ligne de commande terraform via Docker :

docker run --rm -it --name terraform -v ~/:/root/ -v $(pwd):/workspace -w /workspace hashicorp/terraform:light

Pour une utilisation simplifiée, il est possible de créer un alias :

alias terraform='docker run --rm -it --name terraform -v ~/:/root/ -v $(pwd):/workspace -w /workspace hashicorp/terraform:light'

Avec cet alias, il n'y a plus de différence entre une commande terraform exécutée avec Docker ou avec Terraform CLI.

Utilisation

Vérifier et corriger la syntaxe des fichiers .tf

terraform fmt

Vérifier la cohérence de l'infrastructure

terraform validate

Récupérer un jeton d'authentification à Terraform Cloud en local

terraform login

Initialiser l'état et les plugins en local

terraform init

Planifier une exécution pour voir les différences avec l'état précédent de l'infrastructure

terraform plan

Contribution

Appliquer la mise à jour de l'infrastructure

Pour que les modifications de la description de l'infrastructure soient appliquées en production, il suffit de publier les changements sur la branche main.

Construit avec

Langages & Frameworks

  • Terraform est un outil de description d'infrastructure par le code qui permet de créer et de maintenir une infrastructure de manière sûre et prévisible

Outils

CI

  • Github Actions est l'outil d'intégration et de déploiement continu intégré à GitHub
  • Secrets du dépôt :
    • TF_API_TOKEN : Le token d'api Terraform Cloud de l'équipe Cartographie Nationale qui permet à la CI d'opérer des actions sur Terraform Cloud

Déploiement

  • Terraform Cloud est la plateforme proposée par HasiCorp pour administrer les modifications d'infrastructure
  • AWS est la plateforme de services Cloud proposée par Amazon.
    • Utilisateur : cartographie-nationale.client.infrastructure
    • Groupe : client.deployer

Licence

Voir le fichier LICENSE.md du dépôt.