feat: warn when .terraform.lock.hcl is modified during terraform init #18276
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #18237
This PR adds checksum validation for
.terraform.lock.hcl
files before and after runningterraform init
to detect when provider hashes are missing for the target architecture.Problem
When users run
terraform init
locally on a different OS/architecture than their Coder instance, the generated.terraform.lock.hcl
file may be missing provider hashes for the target architecture. This causes Terraform to download providers unnecessarily during provisioning, slowing down the process.Solution
.terraform.lock.hcl
before runningterraform init
terraform init
completesChanges
calculateFileChecksum()
helper function using SHA256getTerraformLockFilePath()
helper functioninit()
function to perform checksum validationTesting
The warning message provides clear guidance on how to resolve the issue by regenerating the lock file on the same OS/architecture as the Coder instance.