Cet article passera en revue en utilisant une équipe d'agents d'IA en collaboration avec le serveur MCP Terraform et l'outil Cagent de Docker pour nettoyer certains terraforms plutôt noueux sans avoir besoin d'écrire de code.
J'ai creusé assez profondément dans le marais d'outils, les modèles et les cadres basés sur des agents récemment. Il est difficile de ne pas être fasciné par la perspective d'un moteur déclaratif axé sur le langage humain, quelle que soit la production LLMS non déterministe. J'utilise des outils comme le curseur, le copilote, la dyade ou n'importe quel nombre d'outils d'activation agentiques pour coder quotidiennement des solutions (ou des parties). Mais je n'ai pas eu l'occasion de créer un flux de travail basé sur des agents. Cela est principalement dû au fait qu'il y a eu peu de problèmes dignes d'une telle attention qui ne pourraient pas être résolus en utilisant l'IA pour créer des solutions plus déterministes (aka. Code / scripts). L'utilisation de code généré est beaucoup moins coûteuse et est intensive aux ressources que de devoir faire avancer les choses à travers un LLM pour obtenir les résultats que vous cherchez à atteindre.
Récemment, j'ai trouvé une bonne raison d'utiliser un workflow AI et au lieu de coder sur mesure quelque chose avec Crewai + Python ou similaire, j'ai choisi de faire tourner l'outil Cagent de Docker.
Être invité à transformer un déploiement d'infrastructure existant en code pue un peu dans son ensemble. Mais ce type de tâche est souvent une nécessité si l'environnement était construit à la hâte via des clics ou existant avant de monter à bord. TerraFormer a été publié par Google à cet effet. Il génère Terraform à partir de ressources existantes pour un grand nombre de fournisseurs de terraforms. En tant que tel, c'est un excellent point de départ.
Le flux de travail n'est pas vraiment difficile:
L'outil TerraFormer peut également importer directement dans un état éloigné, mais je choisis de le faire car je souhaite réécrire les manifestes générés pour ne pas me donner des crises lors de leur lecture.
Terrafomer est un seul outil binaire qui peut créer Terraform pour plusieurs types de fournisseurs en utilisant une sorte de pacte ou de magie démoniaque qui dépasse mon simple cerveau mortel. Le processus de l'utilisation est assez facile:
version.tfFixez dans un dossier vide avec les exigences de votre fournisseur et la cible d'état backend.# version.tf terraform {required_version = "> = 1.11" backend "local" {path = "terraform.tfstate"} required_providers {aws = {source = "hashicorp / aws" version = "> = 6.0"}}}Terraform initliste TerraformerPour déterminer les ressources du fournisseur, vous souhaitez importer pour le fournisseur que vous ciblez. Dans mon cas, ce serait AWS.Liste AWS d'importation TerraFormerTerraFormer Import AWS \ --resources = Route_Table, transit_gateway, vpc, vpc_endpoint, vpc_peering, igw, nat, subnet \ --regions = us-east-2 \ --profile = awsadministratorACCESS-1111111111 \ --Co...
[Courte citation de 8% de l'article original]