Skip to content

Commit 041e5ba

Browse files
committed
Scaleway template - Additional QoL fixes
1 parent dbebedb commit 041e5ba

File tree

2 files changed

+51
-12
lines changed

2 files changed

+51
-12
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
#!/bin/bash
2-
sudo -u '${linux_user}' CODER_AGENT_TOKEN=${coder_agent_token} sh -c '${init_script}'
2+
sudo -u '${linux_user}' sh -c 'CODER_AGENT_TOKEN="${coder_agent_token}" ${init_script}'

registry/mossylion/templates/scaleway-instance/main.tf

Lines changed: 50 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,22 @@ data "coder_provisioner" "me" {}
5959

6060
data "coder_workspace" "me" {}
6161

62+
data "coder_workspace_owner" "me" {}
63+
6264
resource "coder_agent" "main" {
6365
arch = data.coder_provisioner.me.arch
6466
os = data.coder_provisioner.me.os
6567
auth = "token"
6668

69+
startup_script = <<-EOT
70+
set -e
71+
72+
# Install additional tools or run commands at workspace startup
73+
# Uncomment and customize as needed:
74+
# sudo apt-get update
75+
# sudo apt-get install -y build-essential
76+
EOT
77+
6778
metadata {
6879
display_name = "CPU Usage"
6980
key = "0_cpu_usage"
@@ -82,16 +93,18 @@ resource "coder_agent" "main" {
8293
metadata {
8394
display_name = "Disk Usage"
8495
key = "1_disk_usage"
85-
script = "coder stat disk"
86-
interval = 10
87-
timeout = 1
96+
script = "coder stat disk --path /home/${local.linux_user}"
97+
interval = 600
98+
timeout = 30
8899
}
89100
}
90101

91102
module "code-server" {
92103
source = "registry.coder.com/modules/code-server/coder"
93104
version = "1.3.1"
94105
agent_id = coder_agent.main.id
106+
order = 1
107+
folder = "/home/${local.linux_user}"
95108
}
96109

97110
# Runs a script at workspace start/stop or on a cron schedule
@@ -104,6 +117,37 @@ module "dotfiles" {
104117
agent_id = coder_agent.main.id
105118
}
106119

120+
resource "coder_metadata" "workspace_info" {
121+
count = data.coder_workspace.me.start_count
122+
resource_id = scaleway_instance_server.workspace[0].id
123+
124+
item {
125+
key = "region"
126+
value = data.coder_parameter.region.value
127+
}
128+
item {
129+
key = "instance type"
130+
value = scaleway_instance_server.workspace[0].type
131+
}
132+
item {
133+
key = "image"
134+
value = data.coder_parameter.base_image.value
135+
}
136+
}
137+
138+
resource "coder_metadata" "volume_info" {
139+
resource_id = scaleway_block_volume.persistent_storage.id
140+
141+
item {
142+
key = "size"
143+
value = "${scaleway_block_volume.persistent_storage.size_in_gb} GiB"
144+
}
145+
item {
146+
key = "iops"
147+
value = scaleway_block_volume.persistent_storage.iops
148+
}
149+
}
150+
107151
data "coder_parameter" "region" {
108152
name = "Scaleway Region"
109153
description = "Region to deploy server into"
@@ -148,7 +192,7 @@ data "coder_parameter" "base_image" {
148192
option {
149193
name = "Ubuntu 24.04 (Noble)"
150194
value = "ubuntu_noble"
151-
icon = "/icon/fedora.svg"
195+
icon = "/icon/ubuntu.svg"
152196
}
153197

154198
option {
@@ -219,7 +263,7 @@ data "coder_parameter" "volume_iops" {
219263

220264
resource "scaleway_instance_server" "workspace" {
221265
count = data.coder_workspace.me.start_count
222-
name = data.coder_workspace.me.name
266+
name = "coder-${lower(data.coder_workspace_owner.me.name)}-${lower(data.coder_workspace.me.name)}"
223267
type = data.coder_parameter.instance_size.value
224268
image = data.coder_parameter.base_image.value
225269
ip_ids = [scaleway_instance_ip.server_ip[0].id, scaleway_instance_ip.v4_server_ip[0].id]
@@ -232,7 +276,7 @@ resource "scaleway_instance_server" "workspace" {
232276

233277
resource "scaleway_block_volume" "persistent_storage" {
234278
iops = data.coder_parameter.volume_iops.value
235-
name = "${data.coder_workspace.me.name}-home"
279+
name = "coder-${lower(data.coder_workspace_owner.me.name)}-${lower(data.coder_workspace.me.name)}-home"
236280
size_in_gb = data.coder_parameter.disk_size.value
237281
project_id = var.project_id
238282
}
@@ -264,8 +308,3 @@ variable "secret_key" {
264308
type = string
265309
description = "Secret key to use to deploy"
266310
}
267-
268-
variable "region" {
269-
type = string
270-
description = "Region to deploy into"
271-
}

0 commit comments

Comments
 (0)