Skip to content

Commit b8c3dda

Browse files
committed
update devcontainer template
1 parent abbcffe commit b8c3dda

File tree

1 file changed

+17
-1
lines changed
  • examples/templates/devcontainer-docker

1 file changed

+17
-1
lines changed

examples/templates/devcontainer-docker/main.tf

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,15 @@ terraform {
77
docker = {
88
source = "kreuzwerker/docker"
99
}
10+
envbuilder = {
11+
source = "coder/envbuilder"
12+
}
1013
}
1114
}
1215

1316
provider "coder" {}
1417
provider "docker" {}
18+
provider "envbuilder" {}
1519
data "coder_provisioner" "me" {}
1620
data "coder_workspace" "me" {}
1721
data "coder_workspace_owner" "me" {}
@@ -145,9 +149,18 @@ resource "docker_volume" "workspaces" {
145149
}
146150
}
147151

152+
# Check for the presence of a prebuilt image in the cache repo
153+
# that we can use instead.
154+
resource "envbuilder_cached_image" "cached" {
155+
count = data.coder_workspace.me.start_count
156+
builder_image = local.devcontainer_builder_image
157+
git_url = local.repo_url
158+
cache_repo = var.cache_repo
159+
}
160+
148161
resource "docker_container" "workspace" {
149162
count = data.coder_workspace.me.start_count
150-
image = local.devcontainer_builder_image
163+
image = envbuilder_cached_image.cached.0.image
151164
# Uses lower() to avoid Docker restriction on container names.
152165
name = "coder-${data.coder_workspace_owner.me.name}-${lower(data.coder_workspace.me.name)}"
153166
# Hostname makes the shell more user friendly: coder@my-workspace:~$
@@ -161,7 +174,10 @@ resource "docker_container" "workspace" {
161174
"ENVBUILDER_FALLBACK_IMAGE=${data.coder_parameter.fallback_image.value}",
162175
"ENVBUILDER_CACHE_REPO=${var.cache_repo}",
163176
"ENVBUILDER_DOCKER_CONFIG_BASE64=${try(data.local_sensitive_file.cache_repo_dockerconfigjson[0].content_base64, "")}",
177+
"ENVBUILDER_PUSH_IMAGE=${var.cache_repo != "" ? "true" : ""}",
178+
#"ENVBUILDER_INSECURE=true", # Uncomment if testing with a local registry.
164179
]
180+
# network_mode = "host" # Uncomment if testing with a local registry.
165181
host {
166182
host = "host.docker.internal"
167183
ip = "host-gateway"

0 commit comments

Comments
 (0)