Skip to content

Commit 7fb6e5a

Browse files
committed
Add agent metadata
1 parent 6c9959e commit 7fb6e5a

File tree

13 files changed

+432
-0
lines changed

13 files changed

+432
-0
lines changed

examples/templates/aws-ecs-container/main.tf

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,40 @@ resource "coder_agent" "coder" {
119119
curl -fsSL https://code-server.dev/install.sh | sh -s -- --method=standalone --prefix=/tmp/code-server --version 4.8.3
120120
/tmp/code-server/bin/code-server --auth none --port 13337 >/tmp/code-server.log 2>&1 &
121121
EOT
122+
123+
metadata {
124+
key = "cpu"
125+
display_name = "CPU Usage"
126+
interval = 5
127+
timeout = 5
128+
script = <<-EOT
129+
#!/bin/bash
130+
set -e
131+
top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}'
132+
EOT
133+
}
134+
metadata {
135+
key = "memory"
136+
display_name = "Memory Usage"
137+
interval = 5
138+
timeout = 5
139+
script = <<-EOT
140+
#!/bin/bash
141+
set -e
142+
free -m | awk 'NR==2{printf "%.2f%%\t", $3*100/$2 }'
143+
EOT
144+
}
145+
metadata {
146+
key = "disk"
147+
display_name = "Disk Usage"
148+
interval = 600 # every 10 minutes
149+
timeout = 30 # df can take a while on large filesystems
150+
script = <<-EOT
151+
#!/bin/bash
152+
set -e
153+
df -h | awk '$NF=="/home/coder"{printf "%d/%dGB (%s)\t", $3,$2,$5}'
154+
EOT
155+
}
122156
}
123157

124158
resource "coder_app" "code-server" {

examples/templates/aws-linux/main.tf

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,40 @@ resource "coder_agent" "main" {
171171
curl -fsSL https://code-server.dev/install.sh | sh -s -- --method=standalone --prefix=/tmp/code-server --version 4.8.3
172172
/tmp/code-server/bin/code-server --auth none --port 13337 >/tmp/code-server.log 2>&1 &
173173
EOT
174+
175+
metadata {
176+
key = "cpu"
177+
display_name = "CPU Usage"
178+
interval = 5
179+
timeout = 5
180+
script = <<-EOT
181+
#!/bin/bash
182+
set -e
183+
top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}'
184+
EOT
185+
}
186+
metadata {
187+
key = "memory"
188+
display_name = "Memory Usage"
189+
interval = 5
190+
timeout = 5
191+
script = <<-EOT
192+
#!/bin/bash
193+
set -e
194+
free -m | awk 'NR==2{printf "%.2f%%\t", $3*100/$2 }'
195+
EOT
196+
}
197+
metadata {
198+
key = "disk"
199+
display_name = "Disk Usage"
200+
interval = 600 # every 10 minutes
201+
timeout = 30 # df can take a while on large filesystems
202+
script = <<-EOT
203+
#!/bin/bash
204+
set -e
205+
df -h | awk '$NF=="/home/coder"{printf "%d/%dGB (%s)\t", $3,$2,$5}'
206+
EOT
207+
}
174208
}
175209

176210
resource "coder_app" "code-server" {

examples/templates/azure-linux/main.tf

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,40 @@ resource "coder_agent" "main" {
229229
os = "linux"
230230
auth = "azure-instance-identity"
231231
login_before_ready = false
232+
233+
metadata {
234+
key = "cpu"
235+
display_name = "CPU Usage"
236+
interval = 5
237+
timeout = 5
238+
script = <<-EOT
239+
#!/bin/bash
240+
set -e
241+
top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}'
242+
EOT
243+
}
244+
metadata {
245+
key = "memory"
246+
display_name = "Memory Usage"
247+
interval = 5
248+
timeout = 5
249+
script = <<-EOT
250+
#!/bin/bash
251+
set -e
252+
free -m | awk 'NR==2{printf "%.2f%%\t", $3*100/$2 }'
253+
EOT
254+
}
255+
metadata {
256+
key = "disk"
257+
display_name = "Disk Usage"
258+
interval = 600 # every 10 minutes
259+
timeout = 30 # df can take a while on large filesystems
260+
script = <<-EOT
261+
#!/bin/bash
262+
set -e
263+
df -h | awk '$NF=="/home/coder"{printf "%d/%dGB (%s)\t", $3,$2,$5}'
264+
EOT
265+
}
232266
}
233267

234268
locals {

examples/templates/do-linux/main.tf

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,41 @@ resource "coder_agent" "main" {
246246
arch = "amd64"
247247

248248
login_before_ready = false
249+
250+
metadata {
251+
key = "cpu"
252+
display_name = "CPU Usage"
253+
interval = 5
254+
timeout = 5
255+
script = <<-EOT
256+
#!/bin/bash
257+
set -e
258+
top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}'
259+
EOT
260+
}
261+
metadata {
262+
key = "memory"
263+
display_name = "Memory Usage"
264+
interval = 5
265+
timeout = 5
266+
script = <<-EOT
267+
#!/bin/bash
268+
set -e
269+
free -m | awk 'NR==2{printf "%.2f%%\t", $3*100/$2 }'
270+
EOT
271+
}
272+
metadata {
273+
key = "disk"
274+
display_name = "Disk Usage"
275+
interval = 600 # every 10 minutes
276+
timeout = 30 # df can take a while on large filesystems
277+
script = <<-EOT
278+
#!/bin/bash
279+
set -e
280+
df -h | awk '$NF=="/home/coder"{printf "%d/%dGB (%s)\t", $3,$2,$5}'
281+
EOT
282+
}
283+
249284
}
250285

251286
resource "digitalocean_volume" "home_volume" {

examples/templates/docker-code-server/main.tf

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,40 @@ resource "coder_agent" "main" {
4040
GIT_AUTHOR_EMAIL = "${data.coder_workspace.me.owner_email}"
4141
GIT_COMMITTER_EMAIL = "${data.coder_workspace.me.owner_email}"
4242
}
43+
44+
metadata {
45+
key = "cpu"
46+
display_name = "CPU Usage"
47+
interval = 5
48+
timeout = 5
49+
script = <<-EOT
50+
#!/bin/bash
51+
set -e
52+
top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}'
53+
EOT
54+
}
55+
metadata {
56+
key = "memory"
57+
display_name = "Memory Usage"
58+
interval = 5
59+
timeout = 5
60+
script = <<-EOT
61+
#!/bin/bash
62+
set -e
63+
free -m | awk 'NR==2{printf "%.2f%%\t", $3*100/$2 }'
64+
EOT
65+
}
66+
metadata {
67+
key = "disk"
68+
display_name = "Disk Usage"
69+
interval = 600 # every 10 minutes
70+
timeout = 30 # df can take a while on large filesystems
71+
script = <<-EOT
72+
#!/bin/bash
73+
set -e
74+
df -h | awk '$NF=="/home/coder"{printf "%d/%dGB (%s)\t", $3,$2,$5}'
75+
EOT
76+
}
4377
}
4478

4579
resource "coder_app" "code-server" {

examples/templates/docker-image-builds/main.tf

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,40 @@ resource "coder_agent" "main" {
3333
curl -fsSL https://code-server.dev/install.sh | sh -s -- --method=standalone --prefix=/tmp/code-server --version 4.8.3
3434
/tmp/code-server/bin/code-server --auth none --port 13337 >/tmp/code-server.log 2>&1 &
3535
EOT
36+
37+
metadata {
38+
key = "cpu"
39+
display_name = "CPU Usage"
40+
interval = 5
41+
timeout = 5
42+
script = <<-EOT
43+
#!/bin/bash
44+
set -e
45+
top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}'
46+
EOT
47+
}
48+
metadata {
49+
key = "memory"
50+
display_name = "Memory Usage"
51+
interval = 5
52+
timeout = 5
53+
script = <<-EOT
54+
#!/bin/bash
55+
set -e
56+
free -m | awk 'NR==2{printf "%.2f%%\t", $3*100/$2 }'
57+
EOT
58+
}
59+
metadata {
60+
key = "disk"
61+
display_name = "Disk Usage"
62+
interval = 600 # every 10 minutes
63+
timeout = 30 # df can take a while on large filesystems
64+
script = <<-EOT
65+
#!/bin/bash
66+
set -e
67+
df -h | awk '$NF=="/home/coder"{printf "%d/%dGB (%s)\t", $3,$2,$5}'
68+
EOT
69+
}
3670
}
3771

3872
resource "coder_app" "code-server" {

examples/templates/docker-with-dotfiles/main.tf

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,40 @@ resource "coder_agent" "main" {
6363
coder dotfiles -y "$DOTFILES_URI"
6464
fi
6565
EOT
66+
67+
metadata {
68+
key = "cpu"
69+
display_name = "CPU Usage"
70+
interval = 5
71+
timeout = 5
72+
script = <<-EOT
73+
#!/bin/bash
74+
set -e
75+
top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}'
76+
EOT
77+
}
78+
metadata {
79+
key = "memory"
80+
display_name = "Memory Usage"
81+
interval = 5
82+
timeout = 5
83+
script = <<-EOT
84+
#!/bin/bash
85+
set -e
86+
free -m | awk 'NR==2{printf "%.2f%%\t", $3*100/$2 }'
87+
EOT
88+
}
89+
metadata {
90+
key = "disk"
91+
display_name = "Disk Usage"
92+
interval = 600 # every 10 minutes
93+
timeout = 30 # df can take a while on large filesystems
94+
script = <<-EOT
95+
#!/bin/bash
96+
set -e
97+
df -h | awk '$NF=="/home/coder"{printf "%d/%dGB (%s)\t", $3,$2,$5}'
98+
EOT
99+
}
66100
}
67101

68102
resource "docker_volume" "home_volume" {

examples/templates/docker/main.tf

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,40 @@ resource "coder_agent" "main" {
4747
GIT_AUTHOR_EMAIL = "${data.coder_workspace.me.owner_email}"
4848
GIT_COMMITTER_EMAIL = "${data.coder_workspace.me.owner_email}"
4949
}
50+
51+
metadata {
52+
key = "cpu"
53+
display_name = "CPU Usage"
54+
interval = 5
55+
timeout = 5
56+
script = <<-EOT
57+
#!/bin/bash
58+
set -e
59+
top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}'
60+
EOT
61+
}
62+
metadata {
63+
key = "memory"
64+
display_name = "Memory Usage"
65+
interval = 5
66+
timeout = 5
67+
script = <<-EOT
68+
#!/bin/bash
69+
set -e
70+
free -m | awk 'NR==2{printf "%.2f%%\t", $3*100/$2 }'
71+
EOT
72+
}
73+
metadata {
74+
key = "disk"
75+
display_name = "Disk Usage"
76+
interval = 600 # every 10 minutes
77+
timeout = 30 # df can take a while on large filesystems
78+
script = <<-EOT
79+
#!/bin/bash
80+
set -e
81+
df -h | awk '$NF=="/home/coder"{printf "%d/%dGB (%s)\t", $3,$2,$5}'
82+
EOT
83+
}
5084
}
5185

5286
resource "coder_app" "code-server" {

examples/templates/fly-docker-image/main.tf

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,40 @@ resource "coder_agent" "main" {
290290
echo "export PATH=$PATH:/home/coder/.fly/bin" >> ~/.bashrc
291291
source ~/.bashrc
292292
EOT
293+
294+
metadata {
295+
key = "cpu"
296+
display_name = "CPU Usage"
297+
interval = 5
298+
timeout = 5
299+
script = <<-EOT
300+
#!/bin/bash
301+
set -e
302+
top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}'
303+
EOT
304+
}
305+
metadata {
306+
key = "memory"
307+
display_name = "Memory Usage"
308+
interval = 5
309+
timeout = 5
310+
script = <<-EOT
311+
#!/bin/bash
312+
set -e
313+
free -m | awk 'NR==2{printf "%.2f%%\t", $3*100/$2 }'
314+
EOT
315+
}
316+
metadata {
317+
key = "disk"
318+
display_name = "Disk Usage"
319+
interval = 600 # every 10 minutes
320+
timeout = 30 # df can take a while on large filesystems
321+
script = <<-EOT
322+
#!/bin/bash
323+
set -e
324+
df -h | awk '$NF=="/home/coder"{printf "%d/%dGB (%s)\t", $3,$2,$5}'
325+
EOT
326+
}
293327
}
294328

295329
resource "coder_metadata" "workspace" {

0 commit comments

Comments
 (0)