Terraform
kind: terraform
Description
The Terraform crawler looks recursively for all Terraform provider updates from a specific root directory. Then for each of them, it tries to automate them.
Automation is done by using two resources terraform/registry
as the source and
terraform/lock
as the target.
Manifest
Parameters
Name | Type | Description | Required |
---|---|---|---|
ignore | array | ignore specifies rule to ignore .terraform.lock.hcl update. | |
path | string | path specifies a .terraform.lock.hcl path pattern, the pattern requires to match all of name, not just a substring. | |
providers | object |
| |
only | array | only specify required rule to restrict .terraform.lock.hcl update. | |
path | string | path specifies a .terraform.lock.hcl path pattern, the pattern requires to match all of name, not just a substring. | |
providers | object |
| |
platforms | array |
| |
rootdir | string | rootdir defines the root directory used to recursively search for .terraform.lock.hcl | |
versionfilter | object |
| |
kind | string | specifies the version kind such as semver, regex, or latest | |
pattern | string | specifies the version pattern according the version kind | |
strict | boolean | strict enforce strict versioning rule. Only used for semantic versioning at this time |
Example
# updatecli.d/default.yaml
name: "Terraform autodiscovery using git scm"
scms:
default:
kind: git
spec:
url: https://github.com/updatecli-test/jenkins-infra-aws.git
branch: main
autodiscovery:
# scmid is applied to all crawlers
scmid: default
crawlers:
terraform:
# platforms to request package checksums for, defaults to:
platforms:
- linux_amd64
- linux_arm64
- darwin_amd64
- darwin_arm64
# To ignore specific path
#ignore:
# - path: <filepath relative to scm repository>
# - providers:
# # Ignoring provider updates for this provider
# registry.terraform.io/hashicorp/aws:
# # Ignore provider updates for this version
# registry.terraform.io/hashicorp/kubernetes: "1.x"
ignore:
# - path: <filepath relative to scm repository>
# - providers:
# # Ignoring provider updates for this provider
# registry.terraform.io/hashicorp/aws:
# # Ignore provider updates for this version
# registry.terraform.io/hashicorp/kubernetes: "1.x"