Vous apprenez Terraform (l'outil qui décrit une infrastructure cloud dans
des fichiers), vous développez un module, ou vous voulez
lancer vos tests d'infrastructure en intégration continue sans y poser la
moindre clé d'accès. Feint fait tourner les API de Scaleway, Outscale et
Exoscale sur votre machine. Vos vrais clients et vos vrais providers Terraform
parlent à 127.0.0.1 au lieu de créer des ressources facturées.
Concrètement, la démonstration tient en deux commandes, dans un dépôt cloné, et sans rien configurer :
feint up # vérifie l'hôte, démarre l'émulateur, applique le Terraformfeint down # détruit ce qui a été créé, puis arrête l'émulateurApply complete! Resources: 2 added, 0 changed, 0 destroyed.Le provider qui a produit cette ligne est le vrai, celui du registre Terraform, dans sa version épinglée. Aucun compte n'a été ouvert, aucun identifiant réel n'a été lu, et rien ne continue de tourner ailleurs que sur votre poste.
Par où commencer, selon ce que vous voulez faire
Section intitulée « Par où commencer, selon ce que vous voulez faire »Dans cette formation, le chemin est court : installez
Feint, branchez-y les CLI
officiels, puis lisez ce qu'il prouve et ce
qu'il ne prouve pas avant de conclure quoi
que ce soit d'un test local. Ensuite, selon votre objectif, quatre guides
prolongent la prise en main : créer ma première
infrastructure (cinq minutes, de rien à
un apply réussi, un second plan vide et un destroy propre), apprendre
Terraform sans carte bancaire,
tester une vraie stack et tester en CI
sans identifiants, sur GitHub Actions et GitLab CI,
sans secret cloud et sans ressource à nettoyer.
Ce que Feint change concrètement
Section intitulée « Ce que Feint change concrètement »Une équipe qui écrit du Terraform Scaleway ou du code SDK Outscale teste aujourd'hui contre un compte payant, ou ne teste pas. Le premier choix transforme chaque exécution d'intégration continue en ligne de facture, et chaque développeur en propriétaire de ressources oubliées quand un job échoue au milieu. Le second laisse les erreurs remonter en production.
Un émulateur répond à ce besoin précis : il rejoue le protocole du fournisseur pour que le client officiel, celui que vous utiliserez vraiment, fonctionne sans quitter votre machine. Le site couvre déjà l'équivalent côté AWS avec Floci ; Feint fait la même chose pour les trois clouds européens, sur un seul port.
Pour un apprenant, le changement est ailleurs et plus radical : la boucle « j'écris, j'applique, je casse, je corrige » devient gratuite et immédiate, là où elle demandait une carte bancaire, des identifiants et quelques minutes de provisionnement à chaque essai.
Ce que vous pouvez valider, et ce que vous ne pouvez pas
Section intitulée « Ce que vous pouvez valider, et ce que vous ne pouvez pas »C'est la question à se poser avant d'installer quoi que ce soit, et elle a une réponse écrite plutôt qu'une promesse. En résumé : le contrat d'API, le cycle de vie Terraform et le comportement de votre client sont testables ; les prix, les quotas, la capacité réelle et les permissions IAM ne le sont pas. Certaines réponses dépendent d'un runtime de machines installé sur l'hôte. La page Ce que Feint prouve, et ce qu'il ne prouve pas donne la matrice complète, verdict par verdict, avec ce qui établit chaque réponse.
Les trois façons de le faire tourner
Section intitulée « Les trois façons de le faire tourner »Le chemin d'un poste de travail, et le seul qui donne accès aux machines réelles, parce que celles-ci reposent sur un runtime installé sur l'hôte. Trois canaux mènent au même binaire :
brew install stephrobert/feint/feint # Homebrewmise use -g github:stephrobert/feint@0.13.0 # mise, avec vérification des attestationsLa page d'installation détaille les trois canaux, dont la release vérifiée par signature Sigstore, et dit ce que chacun contrôle avant de vous laisser exécuter le binaire.
Zéro installation, plan de contrôle seul. C'est la forme qui sert en intégration continue.
docker run --rm -p 127.0.0.1:4599:4599 \ ghcr.io/stephrobert/feint:v0.13.0@sha256:d46639ac7c7a0fa2b6b69d0c5d74bdca0757e3124675563209e8ada58e6a6040Elle installe le binaire publié, vérifie sa somme de contrôle avant de l'exécuter, et attend que l'émulateur réponde.
- uses: stephrobert/setup-feint@b7eba1d4fcaccf65cf9124bf97a0d995996709b9 # v1.0.0 with: version: 0.13.0 provider: scalewayL'état du projet, en clair
Section intitulée « L'état du projet, en clair »En 0.13.0, l'émulateur monte 395 opérations, dont 375 sont pilotées par un vrai client dans l'exécution de référence ; les 20 restantes déclarent, à leur route, pourquoi aucun client officiel ne les atteint. Les trois fournisseurs n'en sont pas au même point.
| Fournisseur | Maturité | Opérations | Prouvé par, en intégration continue |
|---|---|---|---|
| Scaleway | utilisable | 191 | Terraform, OpenTofu, scw |
| Exoscale | démarrage | 104 | Terraform, OpenTofu, exo |
| Outscale | démarrage | 100 | Terraform, OpenTofu, octl |
Utilisable signifie qu'une configuration réaliste s'applique, se replanifie à vide et se détruit. Démarrage veut dire que le protocole est juste et qu'un vrai client mène une charge de travail réelle, mais que la surface reste plus mince. Depuis la 0.13.0, Terraform pilote les trois fournisseurs : Exoscale a rejoint les deux autres avec la version 0.71.0 de son provider, les versions antérieures restant refusées pour une raison qui vous protège, expliquée dans le guide Terraform.
À retenir
Section intitulée « À retenir »- Feint sert les API de Scaleway, Outscale et Exoscale en local, pour apprendre, développer et tester sans compte ni facture.
- Il valide le contrat d'API, le cycle de vie Terraform et le comportement de votre client ; pas les prix, les quotas ni les permissions IAM.
- Une exécution locale peut encore joindre le vrai cloud : lancez
feint doctoravant l'apply. - Les trois fournisseurs n'ont pas la même maturité : Scaleway est utilisable, Exoscale et Outscale en démarrage.