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

Commit2bef175

Browse files
johnstcnmafredri
andauthored
chore(envbuilder-dogfood): update envbuilder-dogfood template to use provider (#14324)
Updates the envbuilder-dogfood template to use the envbuilder provider.Relates tocoder/internal#38Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
1 parent40baa5b commit2bef175

File tree

1 file changed

+39
-20
lines changed

1 file changed

+39
-20
lines changed

‎envbuilder-dogfood/main.tf

Lines changed: 39 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ terraform {
77
source="kreuzwerker/docker"
88
version="~> 3.0.0"
99
}
10+
envbuilder={
11+
source="coder/envbuilder"
12+
}
1013
}
1114
}
1215

@@ -336,33 +339,49 @@ resource "docker_image" "envbuilder" {
336339
keep_locally=true
337340
}
338341

342+
locals {
343+
cache_repo="us-central1-docker.pkg.dev/coder-dogfood-v2/envbuilder-cache/coder-dogfood"
344+
envbuilder_env={
345+
"CODER_AGENT_TOKEN": coder_agent.dev.token,
346+
"CODER_AGENT_URL": data.coder_workspace.me.access_url,
347+
"ENVBUILDER_GIT_USERNAME": data.coder_external_auth.github.access_token,
348+
# "ENVBUILDER_GIT_URL" : data.coder_parameter.devcontainer_repo.value, # The provider sets this via the `git_url` property.
349+
"ENVBUILDER_DEVCONTAINER_DIR": data.coder_parameter.devcontainer_dir.value,
350+
"ENVBUILDER_INIT_SCRIPT": coder_agent.dev.init_script,
351+
"ENVBUILDER_FALLBACK_IMAGE":"codercom/oss-dogfood:latest",# This image runs if builds fail
352+
"ENVBUILDER_PUSH_IMAGE":"true",# Push the image to the remote cache
353+
# "ENVBUILDER_CACHE_REPO" : local.cache_repo, # The provider sets this via the `cache_repo` property.
354+
"ENVBUILDER_DOCKER_CONFIG_BASE64": data.local_sensitive_file.envbuilder_cache_dockerconfigjson.content_base64,
355+
"USE_CAP_NET_ADMIN":"true",
356+
# Set git commit details correctly
357+
"GIT_AUTHOR_NAME":coalesce(data.coder_workspace_owner.me.full_name, data.coder_workspace_owner.me.name),
358+
"GIT_AUTHOR_EMAIL": data.coder_workspace_owner.me.email,
359+
"GIT_COMMITTER_NAME":coalesce(data.coder_workspace_owner.me.full_name, data.coder_workspace_owner.me.name),
360+
"GIT_COMMITTER_EMAIL": data.coder_workspace_owner.me.email,
361+
}
362+
}
363+
364+
# Check for the presence of a prebuilt image in the cache repo
365+
# that we can use instead.
366+
resource"envbuilder_cached_image""cached" {
367+
count=data.coder_workspace.me.start_count
368+
builder_image=docker_image.envbuilder.name
369+
git_url=data.coder_parameter.devcontainer_repo.value
370+
cache_repo=local.cache_repo
371+
extra_env=local.envbuilder_env
372+
}
373+
339374
resource"docker_container""workspace" {
340375
count=data.coder_workspace.me.start_count
341-
image=docker_image.envbuilder.name
376+
image=envbuilder_cached_image.cached.0.image
342377
name=local.container_name
343378
# Hostname makes the shell more user friendly: coder@my-workspace:~$
344379
hostname=data.coder_workspace.me.name
345380
# CPU limits are unnecessary since Docker will load balance automatically
346381
memory=32768
347382
runtime="sysbox-runc"
348-
env=[
349-
"CODER_AGENT_TOKEN=${coder_agent.dev.token}",
350-
"CODER_AGENT_URL=${data.coder_workspace.me.access_url}",
351-
"ENVBUILDER_GIT_USERNAME=${data.coder_external_auth.github.access_token}",
352-
"ENVBUILDER_GIT_URL=${data.coder_parameter.devcontainer_repo.value}",
353-
"ENVBUILDER_DEVCONTAINER_DIR=${data.coder_parameter.devcontainer_dir.value}",
354-
"ENVBUILDER_INIT_SCRIPT=${coder_agent.dev.init_script}",
355-
"ENVBUILDER_FALLBACK_IMAGE=codercom/oss-dogfood:latest",# This image runs if builds fail
356-
# "ENVBUILDER_PUSH_IMAGE=1", # Push the image to the remote cache
357-
"ENVBUILDER_CACHE_REPO=us-central1-docker.pkg.dev/coder-dogfood-v2/envbuilder-cache/coder-dogfood",
358-
"ENVBUILDER_DOCKER_CONFIG_BASE64=${data.local_sensitive_file.envbuilder_cache_dockerconfigjson.content_base64}",
359-
"USE_CAP_NET_ADMIN=true",
360-
# Set git commit details correctly
361-
"GIT_AUTHOR_NAME=${coalesce(data.coder_workspace_owner.me.full_name, data.coder_workspace_owner.me.name)}",
362-
"GIT_AUTHOR_EMAIL=${data.coder_workspace_owner.me.email}",
363-
"GIT_COMMITTER_NAME=${coalesce(data.coder_workspace_owner.me.full_name, data.coder_workspace_owner.me.name)}",
364-
"GIT_COMMITTER_EMAIL=${data.coder_workspace_owner.me.email}",
365-
]
383+
# Use environment computed from the provider
384+
env=envbuilder_cached_image.cached.0.env
366385
host {
367386
host="host.docker.internal"
368387
ip="host-gateway"
@@ -401,7 +420,7 @@ resource "docker_container" "workspace" {
401420

402421
resource"coder_metadata""container_info" {
403422
count=data.coder_workspace.me.start_count
404-
resource_id=docker_container.workspace[0].id
423+
resource_id=coder_agent.dev.id
405424
item {
406425
key="memory"
407426
value=docker_container.workspace[0].memory

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp