Closed ytsarev closed 2 months ago
Hey this looks really cool, thanks for the shout out @ytsarev
/test-examples="examples/workspace-inline-aws.yaml"
/test-examples="examples/workspace-inline-aws.yaml"
FYI: This test comment was just left to make sure pipelines work.
At this point in time, we will not allow overriding the Terraform binary with the possibility of one released after 1.5.x as they are released under the BSL license. This provider would violate the license terms, and we do not want to open the possibility for that even if the action was taken by a user of the provider.
Description of your changes
Inspired by https://github.com/upbound/provider-terraform/pull/82 CC @bdwyertech
Add https://github.com/tofuutils/tenv/ to the provider image, a Golang-based successor to https://github.com/tfutils/tfenv
Manage the terraform cli version with it, default to the current 'safe' 1.5.5
Document usage
Overriding the custom version of terraform per Workspace is as easy as
the tenv will handle the installation and invocation of the custom version
Within provider pod the multiple version are stored in
/.tenv
and looks like this in case of multiple version usage/.tenv/Terraform/1.5.5/
is the current default version and prepackaged to the provider imageFixes #84
I have:
make reviewable
to ensure this PR is ready for review.How has this code been tested
Running custom provider image with this change and invoking several workspace examples
Checked the associated contents of
/.tenv
directory and custom terraform cli invocation in the process list - it worked as expected.