From 65d77383d0097f7d800612354c1b92c9e5eb9542 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Wed, 20 Apr 2022 12:28:48 -0500 Subject: [PATCH] fix: Allow nested Terraform resources (#1093) This fixes the dependency tree by adding recursion. It now finds indirect connections and associates it with an agent. An example is attached which surfaced this issue. --- .vscode/settings.json | 1 + examples/gcp-vm-container/README.md | 5 + examples/gcp-vm-container/main.tf | 103 ++++++++++++++++++ go.mod | 2 +- provisioner/terraform/provision.go | 136 +++++++++++++----------- provisioner/terraform/provision_test.go | 87 +++++++++++++++ provisionersdk/agent.go | 18 ++-- 7 files changed, 278 insertions(+), 74 deletions(-) create mode 100644 examples/gcp-vm-container/README.md create mode 100644 examples/gcp-vm-container/main.tf diff --git a/.vscode/settings.json b/.vscode/settings.json index 5319d54048..160a8cd98a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -51,6 +51,7 @@ "tcpip", "TCSETS", "tfexec", + "tfjson", "tfstate", "trimprefix", "unconvert", diff --git a/examples/gcp-vm-container/README.md b/examples/gcp-vm-container/README.md new file mode 100644 index 0000000000..75148e14d6 --- /dev/null +++ b/examples/gcp-vm-container/README.md @@ -0,0 +1,5 @@ +--- +name: Develop in a container on a Google Cloud VM +description: Get started with Linux development on Google Cloud. +tags: [cloud, google, container] +--- diff --git a/examples/gcp-vm-container/main.tf b/examples/gcp-vm-container/main.tf new file mode 100644 index 0000000000..03fad536ef --- /dev/null +++ b/examples/gcp-vm-container/main.tf @@ -0,0 +1,103 @@ +terraform { + required_providers { + coder = { + source = "coder/coder" + version = "~> 0.3.1" + } + google = { + source = "hashicorp/google" + version = "~> 4.15" + } + } +} + +variable "service_account" { + description = <