finds.dev← search

// the find

cycloidio/terracognita

★ 2,379 · Go · MIT · updated Sep 2025

Reads from existing public and private cloud providers (reverse Terraform) and generates your infrastructure as code on Terraform configuration

Terracognita reverse-engineers existing cloud infrastructure (AWS, GCP, Azure, vSphere) into Terraform HCL and/or tfstate files. Useful when you inherited a click-ops environment and need to bring it under IaC control without rebuilding from scratch. Backed by Cycloid, so it has real company investment behind it.

Supports four major providers (AWS, GCP, AzureRM, vSphere) under one tool rather than four separate migration scripts. The module generation feature is genuinely useful — it groups resources by category and auto-generates variables, which is the tedious part of hand-writing Terraform. Include/exclude filters by resource type let you scope imports to what you actually care about rather than dumping everything. Docker image available means you can run it without polluting your local Go environment.

Provider versions are frozen at 2022-era releases (AWS v4.9, AzureRM v3.20, Google v4.9) — Terraform providers have moved significantly since then and generated HCL may not be compatible with current provider versions without manual fixup. The tool imports what the cloud API exposes, not what Terraform actually manages, so resource drift and unsupported attributes produce noisy or broken output that requires hand-editing. The roadmap issue has been open since at least 2020 with little visible movement, and recent commit activity is sparse — this feels more maintained than actively developed. VMware vSphere support looks thinner than the other three providers based on the file count.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →