Files
terraform-docs/docs/user-guide/installation.md
Khosrow Moossavi 1f686b1bb3 Release version v0.16.0
Signed-off-by: Khosrow Moossavi <khos2ow@gmail.com>
2021-10-05 19:16:17 -04:00

3.7 KiB

title, description, menu, weight, toc
title description menu weight toc
Installation terraform-docs installation guide
docs
parent
user-guide
110 true

terraform-docs is available on Linux, macOS, Windows, and FreeBSD platforms.

Homebrew

If you are a macOS user, you can use Homebrew.

brew install terraform-docs

or

brew install terraform-docs/tap/terraform-docs

Windows

If you are a Windows user:

Scoop

You can use Scoop.

scoop bucket add terraform-docs https://github.com/terraform-docs/scoop-bucket
scoop install terraform-docs

Chocolatey

or you can use Chocolatey.

choco install terraform-docs

Docker

terraform-docs can be run as a container by mounting a directory with .tf files in it and run the following command:

docker run --rm --volume "$(pwd):/terraform-docs" -u $(id -u) quay.io/terraform-docs/terraform-docs:0.16.0 markdown /terraform-docs

If output.file is not enabled for this module, generated output can be redirected back to a file:

docker run --rm --volume "$(pwd):/terraform-docs" -u $(id -u) quay.io/terraform-docs/terraform-docs:0.16.0 markdown /terraform-docs > doc.md

{{< alert type="primary" >}} Docker tag latest refers to latest stable released version and edge refers to HEAD of master at any given point in time. And any named version tags are identical to the official GitHub releases without leading v. {{< /alert >}}

Pre-compiled Binary

Stable binaries are available on the GitHub Release page. To install, download the file for your platform from "Assets" and place it into your $PATH:

curl -sSLo ./terraform-docs.tar.gz https://terraform-docs.io/dl/v0.16.0/terraform-docs-v0.16.0-$(uname)-amd64.tar.gz
tar -xzf terraform-docs.tar.gz
chmod +x terraform-docs
mv terraform-docs /some-dir-in-your-PATH/terraform-docs

{{< alert type="primary" >}} Windows releases are in ZIP format. {{< /alert >}}

Go Users

The latest version can be installed using go install or go get:

# go1.17+
go install github.com/terraform-docs/terraform-docs@v0.16.0
# go1.16
GO111MODULE="on" go get github.com/terraform-docs/terraform-docs@v0.16.0

{{< alert type="warning" >}} To download any version before v0.9.1 (inclusive) you need to use to old module namespace (segmentio): {{< /alert >}}

# only for v0.9.1 and before
GO111MODULE="on" go get github.com/segmentio/terraform-docs@v0.9.1

{{< alert type="primary" >}} Please use the latest Go to do this, minimum go1.16 is required. {{< /alert >}}

This will put terraform-docs in $(go env GOPATH)/bin. If you encounter the error terraform-docs: command not found after installation then you may need to either add that directory to your $PATH as shown [here] or do a manual installation by cloning the repo and run make build from the repository which will put terraform-docs in:

$(go env GOPATH)/src/github.com/terraform-docs/terraform-docs/bin/$(uname | tr '[:upper:]' '[:lower:]')-amd64/terraform-docs

Code Completion

The code completion for bash or zsh can be installed as follow. Note that shell auto-completion is not available on Windows platform.

bash

terraform-docs completion bash > ~/.terraform-docs-completion
source ~/.terraform-docs-completion

# or the one-liner below

source <(terraform-docs completion bash)

zsh

terraform-docs completion zsh > /usr/local/share/zsh/site-functions/_terraform-docs
autoload -U compinit && compinit

To make this change permanent, the above commands can be added to ~/.profile file.