Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit40baa5b

Browse files
authored
chore(examples): update devcontainer-{docker,kubernetes} to use computed env (#14328)
Updates devcontainer-docker and devcontainer-kubernetes example templates to use computed env from provider, if applicable.
1 parentcf8be4e commit40baa5b

File tree

2 files changed

+25
-49
lines changed
  • examples/templates

2 files changed

+25
-49
lines changed

‎examples/templates/devcontainer-docker/main.tf‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -118,14 +118,16 @@ locals {
118118
repo_url=data.coder_parameter.repo.value=="custom"? data.coder_parameter.custom_repo_url.value: data.coder_parameter.repo.value
119119
# The envbuilder provider requires a key-value map of environment variables.
120120
envbuilder_env={
121+
# ENVBUILDER_GIT_URL and ENVBUILDER_CACHE_REPO will be overridden by the provider
122+
# if the cache repo is enabled.
123+
"ENVBUILDER_GIT_URL": local.repo_url,
124+
"ENVBUILDER_CACHE_REPO": var.cache_repo,
121125
"CODER_AGENT_TOKEN": coder_agent.main.token,
122126
# Use the docker gateway if the access URL is 127.0.0.1
123127
"CODER_AGENT_URL":replace(data.coder_workspace.me.access_url,"/localhost|127\\.0\\.0\\.1/","host.docker.internal"),
124-
"ENVBUILDER_GIT_URL": local.repo_url,
125128
# Use the docker gateway if the access URL is 127.0.0.1
126129
"ENVBUILDER_INIT_SCRIPT":replace(coder_agent.main.init_script,"/localhost|127\\.0\\.0\\.1/","host.docker.internal"),
127130
"ENVBUILDER_FALLBACK_IMAGE": data.coder_parameter.fallback_image.value,
128-
"ENVBUILDER_CACHE_REPO": var.cache_repo,
129131
"ENVBUILDER_DOCKER_CONFIG_BASE64":try(data.local_sensitive_file.cache_repo_dockerconfigjson[0].content_base64,""),
130132
"ENVBUILDER_PUSH_IMAGE": var.cache_repo==""?"":"true",
131133
"ENVBUILDER_INSECURE":"${var.insecure_cache_repo}",
@@ -191,9 +193,7 @@ resource "docker_container" "workspace" {
191193
# Hostname makes the shell more user friendly: coder@my-workspace:~$
192194
hostname=data.coder_workspace.me.name
193195
# Use the environment specified by the envbuilder provider, if available.
194-
# FIXME: https://github.com/coder/terraform-provider-envbuilder/issues/31
195-
#env = var.cache_repo == "" ? local.docker_env : envbuilder_cached_image.cached.0.env
196-
env=local.docker_env
196+
env=var.cache_repo==""? local.docker_env: envbuilder_cached_image.cached.0.env
197197
# network_mode = "host" # Uncomment if testing with a registry running on `localhost`.
198198
host {
199199
host="host.docker.internal"

‎examples/templates/devcontainer-kubernetes/main.tf‎

Lines changed: 20 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -155,17 +155,23 @@ locals {
155155
repo_url=data.coder_parameter.repo.value
156156
# The envbuilder provider requires a key-value map of environment variables.
157157
envbuilder_env={
158+
# ENVBUILDER_GIT_URL and ENVBUILDER_CACHE_REPO will be overridden by the provider
159+
# if the cache repo is enabled.
160+
"ENVBUILDER_GIT_URL": local.repo_url,
161+
"ENVBUILDER_CACHE_REPO": var.cache_repo,
158162
"CODER_AGENT_TOKEN": coder_agent.main.token,
159163
# Use the docker gateway if the access URL is 127.0.0.1
160164
"CODER_AGENT_URL":replace(data.coder_workspace.me.access_url,"/localhost|127\\.0\\.0\\.1/","host.docker.internal"),
161-
"ENVBUILDER_GIT_URL": local.repo_url,
162165
# Use the docker gateway if the access URL is 127.0.0.1
163166
"ENVBUILDER_INIT_SCRIPT":replace(coder_agent.main.init_script,"/localhost|127\\.0\\.0\\.1/","host.docker.internal"),
164167
"ENVBUILDER_FALLBACK_IMAGE": data.coder_parameter.fallback_image.value,
165-
"ENVBUILDER_CACHE_REPO": var.cache_repo,
166168
"ENVBUILDER_DOCKER_CONFIG_BASE64":try(data.kubernetes_secret.cache_repo_dockerconfig_secret[0].data[".dockerconfigjson"],""),
167169
"ENVBUILDER_PUSH_IMAGE": var.cache_repo==""?"":"true",
168170
"ENVBUILDER_INSECURE":"${var.insecure_cache_repo}",
171+
# You may need to adjust this if you get an error regarding deleting files when building the workspace.
172+
# For example, when testing in KinD, it was necessary to set `/product_name` and `/product_uuid` in
173+
# addition to `/var/run`.
174+
# "ENVBUILDER_IGNORE_PATHS": "/product_name,/product_uuid,/var/run",
169175
}
170176
}
171177

@@ -260,49 +266,19 @@ resource "kubernetes_deployment" "main" {
260266
image=var.cache_repo==""? local.devcontainer_builder_image: envbuilder_cached_image.cached.0.image
261267
image_pull_policy="Always"
262268
security_context {}
263-
env {
264-
name="CODER_AGENT_TOKEN"
265-
value=coder_agent.main.token
266-
}
267-
env {
268-
name="CODER_AGENT_URL"
269-
value=data.coder_workspace.me.access_url
270-
}
271-
env {
272-
name="ENVBUILDER_GIT_URL"
273-
value=local.repo_url
274-
}
275-
env {
276-
name="ENVBUILDER_INIT_SCRIPT"
277-
value=coder_agent.main.init_script
278-
}
279-
env {
280-
name="ENVBUILDER_FALLBACK_IMAGE"
281-
value=data.coder_parameter.fallback_image.value
282-
}
283-
env {
284-
name="ENVBUILDER_CACHE_REPO"
285-
value=var.cache_repo
286-
}
287-
env {
288-
name="ENVBUILDER_PUSH_IMAGE"
289-
value=var.cache_repo==""?"":"true"
290-
}
291-
env {
292-
name="ENVBUILDER_INSECURE"
293-
value=var.insecure_cache_repo
294-
}
295-
env {
296-
name="ENVBUILDER_DOCKER_CONFIG_BASE64"
297-
value=try(data.kubernetes_secret.cache_repo_dockerconfig_secret[0].data[".dockerconfigjson"],"")
269+
270+
# Set the environment using cached_image.cached.0.env if the cache repo is enabled.
271+
# Otherwise, use the local.envbuilder_env.
272+
# You could alternatively write the environment variables to a ConfigMap or Secret
273+
# and use that as `env_from`.
274+
dynamic"env" {
275+
for_each=nonsensitive(var.cache_repo==""? local.envbuilder_env: envbuilder_cached_image.cached.0.env_map)
276+
content {
277+
name=env.key
278+
value=env.value
279+
}
298280
}
299-
# You may need to adjust this if you get an error regarding deleting files when building the workspace.
300-
# For example, when testing in KinD, it was necessary to set `/product_name` and `/product_uuid` in
301-
# addition to `/var/run`.
302-
# env {
303-
# name = "ENVBUILDER_IGNORE_PATHS"
304-
# value = "/product_name,/product_uuid,/var/run"
305-
# }
281+
306282
resources {
307283
requests={
308284
"cpu"="250m"

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp