terraformer
by
GoogleCloudPlatform

Description: CLI tool to generate terraform files from existing infrastructure (reverse Terraform). Infrastructure to Code

View on GitHub ↗

Summary Information

Updated 15 minutes ago
Added to GitGenius on September 1st, 2021
Created on May 1st, 2019
Open Issues & Pull Requests: 0 (+0)
Number of forks: 1,838
Total Stargazers: 14,557 (+0)
Total Subscribers: 158 (+0)

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • Stale (386)
  • GCP (34)
  • enhancement (28)
  • help wanted (20)
  • good first issue (14)
  • AWS (12)
  • Infra (6)
  • bug (6)

Most active issues this week

No issue events were indexed in the last 7 days.

Repository Insights (GitGenius)

Median issue/PR response: 178.5 days
Mean response time: 506.1 days
90th percentile: 1594.0 days
Tracked items: 151

Most active contributors

Detailed Description

Terraformer is a command-line tool created by Waze SRE that generates Terraform configuration files and state files from existing cloud infrastructure, implementing a reverse Terraform workflow. The tool reads live infrastructure across multiple cloud providers and converts it into infrastructure-as-code format, allowing teams to adopt Terraform for environments that were previously managed manually or through other tools. It generates both .tf and .json configuration files alongside corresponding tfstate files that represent the current state of imported resources.

The tool supports an extensive range of cloud providers and services spanning multiple categories. Major cloud platforms include Google Cloud, AWS, Azure, AliCloud, and IBM Cloud. Beyond these, Terraformer integrates with numerous specialized cloud services including DigitalOcean, Equinix Metal, Fastly, Heroku, LaunchDarkly, Linode, OpenStack, TencentCloud, Vultr, and Yandex Cloud. Infrastructure software support covers Kubernetes, OctopusDeploy, and RabbitMQ. The tool also handles network services like Cloudflare and PAN-OS, version control systems including GitHub, GitLab, and Azure DevOps, monitoring platforms such as Datadog, New Relic, and PagerDuty, and identity providers like Okta, Auth0, and AzureAD. Community-supported providers include Keycloak, Vault, Grafana, and others.

Terraformer's core capabilities include generating both Terraform and JSON configurations from existing infrastructure, uploading remote state to cloud storage buckets, connecting resources using terraform_remote_state references, customizing folder structure patterns for generated files, importing resources by name and type, and supporting Terraform 0.13 and later versions. The tool requires only read-only permissions to list service resources, making it safe to run against production environments. Users can selectively import resources using the --resources parameter, import all services with --resources="*", or exclude specific services with --excludes. Advanced filtering allows importing resources based on identifiers, attributes, field names, and even dotted field paths, with multiple filters combinable for complex selection scenarios.

The tool provides a planning workflow where users can generate a planfile containing all resources scheduled for import, modify the planfile to rename or filter resources, and then execute the import. Resource organization is flexible, with default separation into individual files per resource at the path {output}/{provider}/{service}/{resource}.tf, but users can employ the --compact parameter to group resources into single files or adjust the --path-pattern parameter for custom directory structures.

According to GitGenius activity tracking, the repository has experienced significant community engagement with 151 tracked issues and pull requests. The median response latency for issues and PRs is 4283 hours, with a mean of 12147.1 hours, indicating variable response times across the project lifecycle. The most active labels are Stale with 73 occurrences, enhancement with 11, and good first issue with 8, suggesting the project has accumulated maintenance backlog. Primary contributors include slevenick with 57 tracked events, samveen with 10 events, and Shion1305 with 9 events. The repository shares contributors with major projects including Microsoft VSCode, Microsoft TypeScript, and the Rust language project, indicating crossover with significant open-source communities.

The project is written in Go and leverages existing Terraform providers, designed to support newly added resources through provider upgrades without requiring tool modifications. However, the repository is no longer maintained and was archived as of March 16, 2026, with no further updates, security patches, or support being provided.

terraformer
by
GoogleCloudPlatformGoogleCloudPlatform/terraformer

Repository Details

Fetching additional details & charts...