Infrastructure définie « as code » pour les projets Vélo-Cité
- Création du conteneur d'objects
- Création d'un token OVH
- Installation de terraform
- Configuration du backend terraform et du provider OVH
- Initialisation de terraform
- Premier terraform apply
- Deuxième terraform apply
Se connecter au compte OVH, et naviguer vers la section "Object Storage" :
Cliquer sur "Créer un conteneur d'objets" :
Sélectionner l'offre "Standard Object Storage" :
Sélectionner la localisation "Gravelines" :
Cliquer sur "Créer un utilisateur" :
Le nommer "terraform", et confirmer la création :
Noter quelque part la clé d'accès et la clé secrète (on s'en servira plus tard) :
Nommer le conteur "velo-cite", puis confirmer la création :
Se rendre sur la [page de création de token OVH], et créer un token :
- nom : Terraform
- description : Terraform
- valididité : illimitée
- permissions : laisser tel quel (GET *, PUT *, POST *, DELETE *)
À l'écran suivant, noter quelque part la clé d'application, le secret d'application, et la clé de consommateur (on s'en servira plus tard) :
Installer terraform en suivant les instructions officielles
- cloner ce dépôt
- copier le fichier
ovh_config.sh.example
versovh_config.sh
- remplacer les valeurs de la clé d'accès et de la clé secrète
- remplacer les valeurs de la clés d'application, du secret d'application et de la clé consommateur
- remplacer la valeur du projet cloud public
- exécuter
ovh_config.sh
Exécuter l'initialisation :
terraform init
La commande terraform apply
permet de créer l'infrastructure définie « as code » dans ce module.
Sa toute première exécution est un peu particulière pour des raisons techniques*, il y a donc une manipulation un peu particulière à faire :
- dans le fichiers
providers.tf
, supprimer la section indiquée - supprimer le fichier
argocd.tf
- exécuter
terraform apply
en validant (taperyes
dans le prompt) - restaurer les fichiers
providers.tf
etargocd.tf
(par exemple avecgit checkout -- providers.tf argocd.tf
)
* Deux des providers utilisés (helm
et kubernetes
) dépendent de ressources créées par le provider ovh
, ceux-ci ne peuvent donc pas être configurés tant que ces ressources n'ont pas été créées.
Exécuter un deuxième terraform apply
pour finir de créer les ressources, en validant (taper yes
dans le prompt).
À partir de maintenant, les modifications pourront se faire via un workflow terraform classique.