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