From c5b506f64ef4cda08758ecfc0b4022455195ee8e Mon Sep 17 00:00:00 2001 From: Khosrow Moossavi Date: Wed, 11 Dec 2019 16:41:25 -0500 Subject: [PATCH] Update Installation and Code Completion in README --- README.md | 41 +++++++++++++++++++++++++------ images/terraform-docs-teaser.png | Bin 0 -> 19013 bytes 2 files changed, 33 insertions(+), 8 deletions(-) create mode 100644 images/terraform-docs-teaser.png diff --git a/README.md b/README.md index 16962ef..a324da2 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ > **A utility to generate documentation from Terraform modules in various output formats.** -![terraform-docs-teaser](https://raw.githubusercontent.com/segmentio/terraform-docs/media/terraform-docs-teaser.png) +![terraform-docs-teaser](./images/terraform-docs-teaser.png) ## Table of Contents @@ -16,14 +16,14 @@ ## Maintenance -This project is no longer maintained by Segment. Instead, [Martin Etmajer](https://github.com/metmajer), unaffiliated with Segment, from [GetCloudnative](https://github.com/getcloudnative), is maintaining the project with help from these awesome [contributors](AUTHORS). +This project is no longer maintained by Segment. Instead, [Martin Etmajer](https://github.com/metmajer) from [GetCloudnative](https://github.com/getcloudnative) and [Khosrow Moossavi](https://github.com/khos2ow) from [CloudOps](https://github.com/cloudops) are maintaining the project with help from these awesome [contributors](AUTHORS). Note that maintainers are unaffiliated with Segment. ## Installation The latest version can be installed using `go get`: ``` bash -go get github.com/segmentio/terraform-docs +GO111MODULE="off" go get github.com/segmentio/terraform-docs@v0.6.0 ``` If you are a Mac OS X user, you can use [Homebrew](https://brew.sh): @@ -32,23 +32,48 @@ If you are a Mac OS X user, you can use [Homebrew](https://brew.sh): brew install terraform-docs ``` -For other platforms, please have a look at our [binary releases](https://github.com/segmentio/terraform-docs/releases). +**NOTE:** please use the latest go to do this, ideally go 1.12.9 or greater. + +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](https://golang.org/doc/code.html#GOPATH) or do a manual installation by cloning the repo and run `make build` from the repository which will put `terraform-docs` in: + +```bash +$(go env GOPATH)/src/github.com/segmentio/terraform-docs/bin/$(uname | tr '[:upper:]' '[:lower:]')-amd64/terraform-docs +``` + +Stable binaries are also available on the [releases](https://github.com/segmentio/terraform-docs/releases) page. To install, download the binary for your platform from "Assets" and place this into your `$PATH`: + +```bash +curl -Lo ./terraform-docs https://github.com/segmentio/terraform-docs/releases/download/v0.6.0/terraform-docs-$(uname)-amd64 +chmod +x ./terraform-docs +mv ./terraform-docs /some-dir-in-your-PATH/terraform-docs +``` + +**NOTE:** Windows releases are in `EXE` format. ## Code Completion The code completion for `bash` or `zsh` can be installed using: +**Note:** Shell auto-completion is not available for Windows users. + +### bash + ``` bash +terraform-docs completion bash > ~/.terraform-docs-completion +source ~/.terraform-docs-completion + +# or simply the one-liner below source <(terraform-docs completion bash) ``` -or +### zsh ``` bash -source <(terraform-docs completion zsh) +terraform-docs completion zsh > /usr/local/share/zsh/site-functions/_terraform-docs +autoload -U compinit && compinit ``` -To make this change permenant, the above command can be added to you `~/.profile`. +To make this change permenant, the above commands can be added to your `~/.profile` file. ## Getting Started @@ -78,7 +103,7 @@ terraform-docs markdown document ./examples ## Development Requirements -- Go 1.11+ +- Go 1.12+ - [git-chlog](https://github.com/git-chglog/git-chglog) - [golangci-lint](https://github.com/golangci/golangci-lint) diff --git a/images/terraform-docs-teaser.png b/images/terraform-docs-teaser.png new file mode 100644 index 0000000000000000000000000000000000000000..407922ec6cd412bf0fdf2817e4b6ca0bb7d8c053 GIT binary patch literal 19013 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 Mv=po4U%vT&04DsbbpQYW literal 0 HcmV?d00001