# Install terraform-inventory with Homebrew, Nix, zypper

Go app which generates a dynamic Ansible inventory from a Terraform state file. Version 0.10 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:terraform-inventory
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install terraform-inventory
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#terraform-inventory
```

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

- zypper (92%):

```sh
sudo zypper install ansible-terraform-inventory
```

  Evidence: openSUSE Tumbleweed package metadata: ansible-terraform-inventory from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:terraform-inventory
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/terraform-inventory>
- **Version:** 0.10
- **Source summary:** Go app which generates a dynamic Ansible inventory from a Terraform state file
- **Homepage:** <https://github.com/adammck/terraform-inventory>
- **Repository:** <https://github.com/adammck/terraform-inventory>
- **Upstream docs:** <https://github.com/adammck/terraform-inventory#readme>
- **License:** MIT
- **Source archive:** <https://github.com/adammck/terraform-inventory/archive/refs/tags/v0.10.tar.gz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- terraform-inventory (cli)
- terraform-inventory (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, catalina, monterey, sonoma, ventura

## Freshness

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

terraform-inventory is an early Terraform companion CLI that generates dynamic Ansible inventory from Terraform state. It let teams provision infrastructure with Terraform and then immediately target those resources from Ansible playbooks.

### Project history

The adammck/terraform-inventory repository was created on GitHub in September 2014, making it one of the older Terraform-adjacent tools in this batch. Its README describes it as a small Go app that generates a dynamic Ansible inventory from a Terraform state file so users can spawn instances with Terraform and then reprovision them with Ansible.

The project released v0.1 and v0.2 in September 2014 and continued adding provider support across cloud and virtualization platforms, including AWS, DigitalOcean, Google Compute Engine, OpenStack, Docker, VMware, Hetzner Cloud, Linode, Proxmox, and others. By the README's own note, the library was stable but had been neglected because the maintainer no longer used Ansible at work.

### Adoption history

terraform-inventory reflects an important early Terraform adoption pattern: Terraform handled infrastructure creation, while Ansible still handled configuration management. Before provider ecosystems, cloud-init practices, and Terraform-native workflows matured, bridging Terraform state into Ansible inventory solved a practical day-two automation problem.

The input package facts list Homebrew, Nix, and zypper packaging, and the README includes a Homebrew badge and Homebrew installation instructions. That packaging footprint is notable for an older Go utility whose primary interface is simply being executable by `ansible-playbook` as an inventory script.

### How it is used

The basic usage is to point Ansible at the `terraform-inventory` executable with `--inventory-file`; the tool discovers `terraform.tfstate`, pulls remote state from a Terraform directory, or honors environment variables such as `TF_STATE` and `TI_TFSTATE`. It maps Terraform resource names, provider metadata, and selected IP fields into Ansible host groups.

The README documents additional environment variables such as `TF_KEY_NAME` and `TF_HOSTNAME_KEY_NAME` for choosing private IPs or alternate hostnames. That interface is very much of the Unix CLI style: no daemon, no central service, just state in and inventory JSON out.

### Why package nerds care

terraform-inventory matters historically because it captures the moment when Terraform and Ansible were commonly paired rather than treated as competing tools. For package nerds, it is a compact example of how early infrastructure CLIs were distributed: a static-ish Go binary, release archives, Homebrew formula, and distro packages.

It is less central in newer Terraform workflows, but its design remains recognizable: read Terraform state, produce another tool's expected machine-readable interface, and make the glue installable from a package manager.

### Timeline

- 2014: GitHub repository created.
- 2014: v0.1 and v0.2 releases published.
- 2015: v0.3 through v0.6 pre-releases published.
- 2019: v0.9 released.
- 2021: v0.10 listed as the latest GitHub release during research.
- 2025: Repository still showed recent push activity during research.

### Related projects

- The README positions terraform-inventory between Terraform and Ansible. It also names many supported Terraform providers, reflecting the project's role as a provider-state adapter rather than a Terraform provider itself.

### Sources

- <https://api.github.com/repos/adammck/terraform-inventory>
- <https://github.com/adammck/terraform-inventory#readme>
- <https://github.com/adammck/terraform-inventory/releases>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** terraform-inventory
- **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 - terraform-inventory: normalized package name match | nixpkgs package indexes: pkgs/by-name/te/terraform-inventory/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- zypper - ansible-terraform-inventory - 0.10-3.5: normalized package name match | openSUSE Tumbleweed package metadata: ansible-terraform-inventory from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Generate a dynamic Ansible inventory from a Terraform state file | https://github.com/adammck/terraform-inventory


## 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.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [iam-policy-json-to-terraform](https://www.automicvault.com/pkg/brew/iam-policy-json-to-terraform/) - Shares av.db curated category or tags: cli, developer-tools, infrastructure-as-code, terraform.
- [k2tf](https://www.automicvault.com/pkg/brew/k2tf/) - Shares av.db curated category or tags: cli, developer-tools, infrastructure-as-code, terraform.
- [terraform-module-versions](https://www.automicvault.com/pkg/brew/terraform-module-versions/) - Shares av.db curated category or tags: cli, developer-tools, infrastructure-as-code, terraform.
- [terraform_landscape](https://www.automicvault.com/pkg/brew/terraform-landscape/) - Shares av.db curated category or tags: cli, developer-tools, infrastructure-as-code, terraform.
- [terragrunt](https://www.automicvault.com/pkg/brew/terragrunt/) - Shares av.db curated category or tags: cli, developer-tools, infrastructure-as-code, terraform.
- [terrahash](https://www.automicvault.com/pkg/brew/terrahash/) - Shares av.db curated category or tags: cli, developer-tools, infrastructure-as-code, terraform.
- [terrahelp](https://www.automicvault.com/pkg/brew/terrahelp/) - Shares av.db curated category or tags: cli, developer-tools, infrastructure-as-code, terraform.
- [terramaid](https://www.automicvault.com/pkg/brew/terramaid/) - Shares av.db curated category or tags: cli, developer-tools, infrastructure-as-code, terraform.
- [tfstate-lookup](https://www.automicvault.com/pkg/brew/tfstate-lookup/) - Local package facts share a topical domain. Shared terms: cli, code, developer, developer-tools, infrastructure.

## Combined YAML source

View the package source record on GitHub. [combined/terraform-inventory.yml](https://github.com/automic-vault/db/blob/main/combined/terraform-inventory.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
