From ed024fc83d98025dce62e086e6343fc3769de548 Mon Sep 17 00:00:00 2001
From: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
Date: Tue, 27 Sep 2022 13:27:54 +0200
Subject: [PATCH] docs(terraform): rewrite readme (#17983)

Co-authored-by: Sebastian Poxhofer <secustor@users.noreply.github.com>
---
 lib/modules/manager/terraform/readme.md | 109 +++++++++++++++++-------
 1 file changed, 79 insertions(+), 30 deletions(-)

diff --git a/lib/modules/manager/terraform/readme.md b/lib/modules/manager/terraform/readme.md
index 405ada1aec..5faa900edb 100644
--- a/lib/modules/manager/terraform/readme.md
+++ b/lib/modules/manager/terraform/readme.md
@@ -1,33 +1,82 @@
-Currently, Terraform supports renovating the following dependencies, where sub-points represent hosting options of the dependencies:
-
-- modules
-  - GitTags
-  - GithubTags
-  - TerraformRegistry ( Public and Private )
-- providers ( deprecated in Terraform 0.13.0 )
-  - TerraformRegistry ( Public and Private )
-- required_providers block ( Terraform >= 0.13.0)
-  - TerraformRegistry ( Public and Private )
-- required_version
-- helm_release
-  - chart repository ( Public and Private )
-- docker\_\*
-  - Docker registry ( Public and Private )
-- kubernetes\_\*
-  - Docker registry ( Public and Private )
-- [tfe_workspace](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/workspace) ( `terraform_version` argument )
-
-Terraform range constraints are supported:
-
-- `>= 1.2.0`: version 1.2.0 or newer
-- `<= 1.2.0`: version 1.2.0 or older
-- `~> 1.2.0`: any non-beta version >= 1.2.0 and < 1.3.0, e.g. 1.2.X
-- `~> 1.2`: any non-beta version >= 1.2.0 and < 2.0.0, e.g. 1.X.Y
-- `>= 1.0.0, <= 2.0.0`: any version between 1.0.0 and 2.0.0 inclusive
-
-For fine-grained control, e.g., to turn off only parts of this manager, you can use the following `depTypes`:
-
-| resource                             |                depType                 |                                   Notes                                    |
+### Supported dependencies
+
+Renovate supports updating the Terraform dependencies listed below.
+Check the tables to see where some dependencies can be hosted.
+
+#### Modules
+
+| Name              | Public hosting | Private hosting |
+| ----------------- | :------------: | :-------------: |
+| GitTags           |      yes       |       yes       |
+| GithubTags        |      yes       |       yes       |
+| TerraformRegistry |      yes       |       yes       |
+
+#### Providers
+
+Providers are deprecated in Terraform `0.13.0`.
+
+| Name              | Public hosting | Private hosting |
+| ----------------- | :------------: | :-------------: |
+| TerraformRegistry |      yes       |       yes       |
+
+#### required_providers block
+
+Needs Terraform `>= 0.13.0`.
+
+| Name              | Public hosting | Private hosting |
+| ----------------- | :------------: | :-------------: |
+| TerraformRegistry |      yes       |       yes       |
+
+#### required_version
+
+Renovate can update the `required_version` attribute of the Terraform block.
+
+#### helm_release
+
+Renovate can update the version attribute of `helm_release` resources.
+
+| Name             | Public hosting | Private hosting |
+| ---------------- | :------------: | :-------------: |
+| chart repository |      yes       |       yes       |
+
+#### Docker
+
+Renovate can update image references of the Docker provider resources (`docker\_\*`).
+
+| Name            | Public hosting | Private hosting |
+| --------------- | :------------: | :-------------: |
+| Docker registry |      yes       |       yes       |
+
+#### Kubernetes
+
+Renovate can update image references of Kubernetes provider resources (`kubernetes\_\*`).
+
+| Name            | Public hosting | Private hosting |
+| --------------- | :------------: | :-------------: |
+| Docker registry |      yes       |       yes       |
+
+#### tfe_workspaces
+
+Renovate can update [tfe_workspaces](https://registry.terraform.io/providers/hashicorp/tfe/latest/docs/resources/workspace).
+Renovate searches for the `terraform_version` argument.
+
+### Range constraints
+
+Renovate understands these Terraform range constraints:
+
+| Terraform range      | Notes                                                       |
+| -------------------- | ----------------------------------------------------------- |
+| `>= 1.2.0`           | version `1.2.0` or newer                                    |
+| `<= 1.2.0`           | version `1.2.0` or older                                    |
+| `~> 1.2.0`           | any non-beta version `>= 1.2.0` and `< 1.3.0`, e.g. `1.2.X` |
+| `~> 1.2`             | any non-beta version `>= 1.2.0` and `< 2.0.0`, e.g. `1.X.Y` |
+| `>= 1.0.0, <= 2.0.0` | any version between `1.0.0` and `2.0.0` inclusive           |
+
+### Disabling parts of the manager
+
+You can use these `depTypes` for fine-grained control, for example to disable parts of the Terraform manager.
+
+| Resource                             |               `depType`                |                                   Notes                                    |
 | ------------------------------------ | :------------------------------------: | :------------------------------------------------------------------------: |
 | Terraform provider                   |               `provider`               |                                                                            |
 | required Terraform provider          |          `required_provider`           |                                                                            |
-- 
GitLab