@@ -34,7 +34,6 @@ locals {
34
34
repo_base_dir = replace (data. coder_parameter . repo_base_dir . value , " /^~\\ //" , " /home/coder/" )
35
35
repo_dir = module. git-clone . repo_dir
36
36
container_name = " coder-${ data . coder_workspace . me . owner } -${ lower (data. coder_workspace . me . name )} "
37
- registry_name = " codercom/oss-dogfood"
38
37
jfrog_host = replace (var. jfrog_url , " https://" , " " )
39
38
}
40
39
@@ -46,6 +45,23 @@ data "coder_parameter" "repo_base_dir" {
46
45
mutable = true
47
46
}
48
47
48
+ data "coder_parameter" "image_type" {
49
+ type = " string"
50
+ name = " Coder Image"
51
+ default = " codercom/oss-dogfood:latest"
52
+ description = " The Docker image used to run your workspace. Choose between nix and non-nix images."
53
+ option {
54
+ icon = " /icon/coder.svg"
55
+ name = " Non-Nix"
56
+ value = " codercom/oss-dogfood:latest"
57
+ }
58
+ option {
59
+ icon = " /icons/nix.svg"
60
+ name = " Nix"
61
+ value = " codercom/oss-dogfood-nix:latest"
62
+ }
63
+ }
64
+
49
65
data "coder_parameter" "region" {
50
66
type = " string"
51
67
name = " Region"
@@ -248,6 +264,9 @@ resource "coder_agent" "dev" {
248
264
set -eux -o pipefail
249
265
# Start Docker service
250
266
sudo service docker start
267
+ # Install playwright dependencies
268
+ # We want to use the playwright version from site/package.json
269
+ cd "${ local . repo_dir } /site" && pnpm install && pnpm playwright:install
251
270
EOT
252
271
}
253
272
@@ -279,15 +298,16 @@ resource "docker_volume" "home_volume" {
279
298
}
280
299
281
300
data "docker_registry_image" "dogfood" {
282
- name = " ${ local . registry_name } :latest "
301
+ name = data . coder_parameter . image_type . value
283
302
}
284
303
285
304
resource "docker_image" "dogfood" {
286
- name = " ${ local . registry_name } @${ data . docker_registry_image . dogfood . sha256_digest } "
305
+ name = " ${ data . coder_parameter . image_type . value } @${ data . docker_registry_image . dogfood . sha256_digest } "
287
306
pull_triggers = [
288
307
data . docker_registry_image . dogfood . sha256_digest ,
289
308
sha1 (join (" " , [for f in fileset (path. module , " files/*" ) : filesha1 (f)])),
290
309
filesha1 (" Dockerfile" ),
310
+ filesha1 (" Dockerfile.nix" ),
291
311
]
292
312
keep_locally = true
293
313
}
0 commit comments