diff options
-rw-r--r-- | pkgs/applications/networking/cluster/terraform/default.nix | 23 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 1 |
2 files changed, 24 insertions, 0 deletions
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix index 767eb94454d8..a4ffe27102a6 100644 --- a/pkgs/applications/networking/cluster/terraform/default.nix +++ b/pkgs/applications/networking/cluster/terraform/default.nix @@ -4,6 +4,8 @@ , buildGoPackage , fetchFromGitHub , makeWrapper +, runCommand +, writeText , terraform-providers }: @@ -118,4 +120,25 @@ in rec { }); terraform_0_11-full = terraform_0_11.withPlugins lib.attrValues; + + # Tests that the plugins are being used. Terraform looks at the specific + # file pattern and if the plugin is not found it will try to download it + # from the Internet. With sandboxing enable this test will fail if that is + # the case. + terraform_plugins_test = let + mainTf = writeText "main.tf" '' + resource "random_id" "test" {} + ''; + terraform = terraform_0_11.withPlugins (p: [ p.random ]); + test = runCommand "terraform-plugin-test" { buildInputs = [terraform]; } + '' + set -e + # make it fail outside of sandbox + export HTTP_PROXY=http://127.0.0.1:0 HTTPS_PROXY=https://127.0.0.1:0 + cp ${mainTf} main.tf + terraform init + touch $out + ''; + in test; + } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e808b70fb41e..77c4e3972bef 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -22162,6 +22162,7 @@ with pkgs; terraform_0_10-full terraform_0_11 terraform_0_11-full + terraform_plugins_test ; terraform = terraform_0_11; |