# Install terracognita with Homebrew, Nix

Reads from existing Cloud Providers and generates Terraform code. Version 0.8.4 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:terracognita
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install terracognita
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#terracognita
```

  Evidence: nixpkgs package indexes: pkgs/by-name/te/terracognita/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:terracognita
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/terracognita>
- **Version:** 0.8.4
- **Source summary:** Reads from existing Cloud Providers and generates Terraform code
- **Homepage:** <https://github.com/cycloidio/terracognita>
- **Repository:** <https://github.com/cycloidio/terracognita>
- **Upstream docs:** <https://github.com/cycloidio/terracognita#readme>
- **License:** MIT
- **Source archive:** <https://github.com/cycloidio/terracognita/archive/refs/tags/v0.8.4.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- terracognita (cli)
- terracognita (alias)

## Build dependencies

- go

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, monterey, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.8.4
- Local data: ok
- Upstream repository: https://github.com/cycloidio/terracognita
- Upstream latest detected: v0.8.4 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

TerraCognita is Cycloid's reverse-Terraform tool: it reads existing cloud infrastructure and generates Terraform HCL and/or Terraform state. Its history tracks the practical DevOps problem of bringing already-existing AWS, Google Cloud, AzureRM, and vSphere resources under infrastructure-as-code management.

### Project history

The repository was created in February 2019. In the README, Cycloid explains that infrastructure as code was part of the company's practice and that TerraCognita was built to help customers convert existing cloud infrastructure into Terraform code automatically, relying on community Terraform providers.

Early releases expanded the importer beyond its initial AWS-oriented base. Release notes show v0.3.0 adding multiple Google resources, v0.4.0 adding AzureRM support and targeted import, and v0.6.0 adding AWS profile/config support, session-token authentication, interpolation controls, HCL2 work, and Homebrew support.

Later development focused on keeping pace with provider APIs and larger resource catalogs. The changelog documents broad Azure additions, Terraform 1.1.9 and provider updates in the 0.7.x line, vSphere support and many GCP/AWS resources in v0.8.0, and AzureRM fixes and additions through v0.8.4.

### Adoption history

The README documents binary releases, source builds, AUR packages, Homebrew installation, and Docker usage through the `cycloid/terracognita` image. It also describes InfraImport inside Cycloid as the visual representation of TerraCognita, making the CLI both a standalone package and part of Cycloid's platform workflow.

### How it is used

The main CLI form is `terracognita [TERRAFORM_PROVIDER] [--flags]`, where users choose a provider such as `aws`, pass provider-specific flags, and emit Terraform HCL, modules, and/or state files. The README documents include/exclude filters by Terraform resource name, module generation, Docker execution with cloud credentials passed through the environment, and follow-up `terraform init` and `terraform plan` checks.

### Why package nerds care

For infrastructure package nerds, TerraCognita is notable because it packages a moving target: it embeds assumptions about Terraform, provider versions, cloud SDK behavior, generated HCL, and state output. Package managers expose it as a single CLI, but maintainers care about the bundled provider matrix and how quickly it tracks Terraform ecosystem churn.

### Timeline

- 2019: GitHub repository created.
- 2019: v0.1.6 release added version reporting, CI/CD, prebuilt binaries, and automated GitHub/Docker releases.
- 2019: v0.2.0 moved TFState output to Terraform 0.12 format.
- 2020: v0.4.0 added AzureRM provider support.
- 2020: v0.6.0 added AWS profile/config support, session-token authentication, HCL2-related fixes, and Homebrew support.
- 2022: v0.8.0 added vSphere provider support and expanded AWS/GCP/Azure resource coverage.
- 2023: v0.8.4 added AzureRM resources and fixes for generated HCL maps and cyclic dependencies.

### Related projects

- The README lists TerraCognita alongside Cycloid's InfraMap, which reads Terraform state or HCL to generate provider-specific graphs, and TerraCost, a Terraform-oriented cloud cost estimation CLI.
- It is adjacent to Terraform import workflows and tools that inventory existing cloud accounts before migrating to infrastructure as code.

### Sources

- <https://api.github.com/repos/cycloidio/terracognita>
- <https://api.github.com/repos/cycloidio/terracognita/releases?per_page=100>
- <https://github.com/cycloidio/terracognita>
- <https://raw.githubusercontent.com/cycloidio/terracognita/master/CHANGELOG.md>
- <https://raw.githubusercontent.com/cycloidio/terracognita/master/README.md>
- source_facts.package-manager


## Security Notes

infrastructure mutation or orchestration signal.

- **Geiger risk:** orange / medium
- infrastructure mutation or orchestration signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** terracognita
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - terracognita: normalized package name match | nixpkgs package indexes: pkgs/by-name/te/terracognita/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Cloud CLI packages](https://www.automicvault.com/pkg/cloud-clis/) - Belongs to a cloud or infrastructure command family.
- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [cdktf](https://www.automicvault.com/pkg/brew/cdktf/) - Shares av.db curated category or tags: cli, cloud-infrastructure, infrastructure-as-code, terraform.
- [pug](https://www.automicvault.com/pkg/brew/pug/) - Shares av.db curated category or tags: cli, cloud-infrastructure, infrastructure-as-code, terraform.
- [terraformer](https://www.automicvault.com/pkg/brew/terraformer/) - Shares av.db curated category or tags: cli, cloud, cloud-infrastructure, import, infrastructure-as-code.
- [cf-terraforming](https://www.automicvault.com/pkg/brew/cf-terraforming/) - Shares av.db curated category or tags: cli, cloud-infrastructure, import, infrastructure-as-code, terraform.
- [cf2tf](https://www.automicvault.com/pkg/brew/cf2tf/) - Shares av.db curated category or tags: aws, cli, cloud-infrastructure, infrastructure-as-code, terraform.
- [terraform-local](https://www.automicvault.com/pkg/brew/terraform-local/) - Shares av.db curated category or tags: aws, cli, cloud-infrastructure, infrastructure-as-code, terraform.
- [yor](https://www.automicvault.com/pkg/brew/yor/) - Shares av.db curated category or tags: cli, cloud, cloud-infrastructure, infrastructure-as-code, terraform.
- [aiac](https://www.automicvault.com/pkg/brew/aiac/) - Shares av.db curated category or tags: cli, cloud-infrastructure, infrastructure-as-code, terraform.

## Combined YAML source

View the package source record on GitHub. [combined/terracognita.yml](https://github.com/automic-vault/db/blob/main/combined/terracognita.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
