Identity infrastructure

Ce dépot est obsolète. Le projet Taxi Gestion est hébergé sur son organisation dédiée

À propos

Identity infrastructure décrit par le code l'infrastructure à provisionner pour l'authentification dans le produit Taxi Aymeric

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 romain-cambonie qui permet à la CI d'opérer des actions sur Terraform Cloud

Déploiement

  • AWS est la plateforme de services Cloud proposée par Amazon.
    • Utilisateur : taxi-aymeric.identity.infrastructure
    • Groupe : identity.deployer
  • Terraform Cloud est la plateforme proposée par HashiCorp pour administrer les modifications d'infrastructure
    • Organisation : taxi-aymeric
    • Workspaces : identity-*
    • Variables
      • AWS_SECRET_ACCESS_KEY
        • Value : Sensitive - write only
        • Category : env
      • AWS_ACCESS_KEY_ID
        • Value : Sensitive - write only
        • Category : env

Licence

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