The runners created by Burrito always download the given terraform version and terragrunt version binaries, this can create network pressure and in cloud environments where you usually pay everything that goes through your internet or nat gateway this can become a non-negligible cost center.
We need to address 3 issues :
Terraform Binary download
Terragrunt Binary download
Terraform providers download
As a first step we'd like to allow the user to prepackage a runner image with its own binaries to do that we must :
Define a place in burrito image where those binaries should be expected
This can be either a constant or directly configured as a runner option
This will apply to Terraform and Terragrunt
For Terraform binary, since we're using hc-install we can rely on the convenient Ensure method that can first look in the filesystem if the binary is present before downloading it
For Terragrunt binary we need to design a custom solution as we don't rely on any library for that but the terragrunt releases are always accompanied with a SHASUM file that contains all the hashes for the given version.
For providers we will rely on terraform internal mechanisms
The runners created by Burrito always download the given terraform version and terragrunt version binaries, this can create network pressure and in cloud environments where you usually pay everything that goes through your internet or nat gateway this can become a non-negligible cost center.
We need to address 3 issues :
As a first step we'd like to allow the user to prepackage a runner image with its own binaries to do that we must :