Skip to content

Commit 5385e88

Browse files
committed
push template
1 parent acc56b0 commit 5385e88

File tree

3 files changed

+82
-55
lines changed

3 files changed

+82
-55
lines changed

scaletest/terraform/action/coder_proxies.tf

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ resource "null_resource" "api_key" {
2020
provisioner "local-exec" {
2121
interpreter = ["/bin/bash", "-c"]
2222
command = <<EOF
23+
set -e
24+
2325
curl '${local.deployments.primary.url}/api/v2/users/first' \
2426
--data-raw $'{"email":"${local.coder_admin_email}","password":"${local.coder_admin_password}","username":"${local.coder_admin_user}","name":"${local.coder_admin_full_name}","trial":false}' \
2527
--insecure --silent --output /dev/null
@@ -28,12 +30,13 @@ session_token=$(curl '${local.deployments.primary.url}/api/v2/users/login' \
2830
--data-raw $'{"email":"${local.coder_admin_email}","password":"${local.coder_admin_password}"}' \
2931
--insecure --silent | jq -r .session_token)
3032
31-
api_key=$(curl '${local.deployments.primary.url}/users/me/keys/tokens' \
33+
echo -n $${session_token} > ${path.module}/.coderv2/session_token
34+
35+
api_key=$(curl '${local.deployments.primary.url}/api/v2/users/me/keys/tokens' \
3236
-H "Coder-Session-Token: $${session_token}" \
3337
--data-raw '{"token_name":"terraform","scope":"all"}' \
3438
--insecure --silent | jq -r .key)
3539
36-
mkdir -p ${path.module}/.coderv2
3740
echo -n $${api_key} > ${path.module}/.coderv2/api_key
3841
EOF
3942
}
@@ -58,34 +61,42 @@ EOF
5861
}
5962
}
6063

61-
resource "null_resource" "proxy_tokens" {
64+
resource "null_resource" "europe_proxy_token" {
6265
provisioner "local-exec" {
6366
interpreter = ["/bin/bash", "-c"]
6467
command = <<EOF
65-
europe_token=$(curl '${local.deployments.primary.url}/api/v2/workspaceproxies' \
68+
curl '${local.deployments.primary.url}/api/v2/workspaceproxies' \
6669
-H "Coder-Session-Token: ${trimspace(data.local_file.api_key.content)}" \
6770
--data-raw '{"name":"europe","display_name":"Europe","icon":"/emojis/1f950.png"}' \
68-
--insecure --silent | jq -r .proxy_token)
69-
70-
asia_token=$(curl '${local.deployments.primary.url}/api/v2/workspaceproxies' \
71-
-H "Coder-Session-Token: ${trimspace(data.local_file.api_key.content)}" \
72-
--data-raw '{"name":"asia","display_name":"Asia","icon":"/emojis/1f35b.png"}' \
73-
--insecure --silent | jq -r .proxy_token)
74-
75-
echo -n $${europe_token} > ${path.module}/.coderv2/europe_proxy_token
76-
echo -n $${asia_token} > ${path.module}/.coderv2/asia_proxy_token
71+
--insecure --silent \
72+
| jq -r .proxy_token > ${path.module}/.coderv2/europe_proxy_token
7773
EOF
7874
}
7975

80-
depends_on = [data.http.coder_healthy]
76+
depends_on = [null_resource.license]
8177
}
8278

8379
data "local_file" "europe_proxy_token" {
8480
filename = "${path.module}/.coderv2/europe_proxy_token"
85-
depends_on = [null_resource.proxy_tokens]
81+
depends_on = [null_resource.europe_proxy_token]
82+
}
83+
84+
resource "null_resource" "asia_proxy_token" {
85+
provisioner "local-exec" {
86+
interpreter = ["/bin/bash", "-c"]
87+
command = <<EOF
88+
curl '${local.deployments.primary.url}/api/v2/workspaceproxies' \
89+
-H "Coder-Session-Token: ${trimspace(data.local_file.api_key.content)}" \
90+
--data-raw '{"name":"asia","display_name":"Asia","icon":"/emojis/1f35b.png"}' \
91+
--insecure --silent \
92+
| jq -r .proxy_token > ${path.module}/.coderv2/asia_proxy_token
93+
EOF
94+
}
95+
96+
depends_on = [null_resource.license]
8697
}
8798

8899
data "local_file" "asia_proxy_token" {
89100
filename = "${path.module}/.coderv2/asia_proxy_token"
90-
depends_on = [null_resource.proxy_tokens]
101+
depends_on = [null_resource.asia_proxy_token]
91102
}

scaletest/terraform/action/coder_templates.tf

Lines changed: 42 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ resource "kubernetes_config_map" "template" {
9898
}
9999
}
100100

101-
resource "kubernetes_pod" "push_template" {
101+
resource "kubernetes_job" "push_template" {
102102
provider = kubernetes.primary
103103

104104
metadata {
@@ -109,48 +109,52 @@ resource "kubernetes_pod" "push_template" {
109109
}
110110
}
111111
spec {
112-
affinity {
113-
node_affinity {
114-
required_during_scheduling_ignored_during_execution {
115-
node_selector_term {
116-
match_expressions {
117-
key = "cloud.google.com/gke-nodepool"
118-
operator = "In"
119-
values = ["${google_container_node_pool.node_pool["primary_misc"].name}"]
112+
completions = 1
113+
template {
114+
metadata {}
115+
spec {
116+
affinity {
117+
node_affinity {
118+
required_during_scheduling_ignored_during_execution {
119+
node_selector_term {
120+
match_expressions {
121+
key = "cloud.google.com/gke-nodepool"
122+
operator = "In"
123+
values = ["${google_container_node_pool.node_pool["primary_misc"].name}"]
124+
}
125+
}
120126
}
121127
}
122128
}
123-
}
124-
}
125-
container {
126-
name = "cli"
127-
image = "${var.coder_image_repo}:${var.coder_image_tag}"
128-
command = [
129-
"/opt/coder",
130-
"--verbose",
131-
"--url=${local.deployments.primary.url}",
132-
"--token=${trimspace(data.local_file.api_key.content)}",
133-
"templates",
134-
"push",
135-
"--directory=/template",
136-
"--yes",
137-
"kubernetes"
138-
]
139-
volume_mount {
140-
name = "coder-template"
141-
mount_path = "/template"
142-
}
143-
}
144-
volume {
145-
name = "coder-template"
146-
config_map {
147-
name = kubernetes_config_map.template.metadata.0.name
148-
items {
149-
key = "main.tf"
150-
path = "main.tf"
129+
container {
130+
name = "cli"
131+
image = "${var.coder_image_repo}:${var.coder_image_tag}"
132+
command = [
133+
"/opt/coder",
134+
"--verbose",
135+
"--url=${local.deployments.primary.url}",
136+
"--token=${trimspace(data.local_file.api_key.content)}",
137+
"templates",
138+
"push",
139+
"--directory=/home/coder/template",
140+
"--yes",
141+
"kubernetes"
142+
]
143+
volume_mount {
144+
name = "coder-template"
145+
mount_path = "/home/coder/template/main.tf"
146+
sub_path = "main.tf"
147+
}
148+
}
149+
volume {
150+
name = "coder-template"
151+
config_map {
152+
name = kubernetes_config_map.template.metadata.0.name
153+
}
151154
}
155+
restart_policy = "Never"
152156
}
153157
}
154-
restart_policy = "Never"
155158
}
159+
wait_for_completion = true
156160
}

scaletest/terraform/action/workspace_traffic.tf

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,19 @@
2525
# container {
2626
# name = "cli"
2727
# image = "${var.coder_image_repo}:${var.coder_image_tag}"
28-
# command = ["/opt/coder --verbose --url=${local.deployments.primary.url} --token=${trimspace(data.local_file.api_key.content)} exp scaletest create-workspaces --count ${var.workspace_count} --template=kubernetes --concurrency ${var.workspace_create_concurrency} --no-cleanup"]
28+
# command = [
29+
# "/opt/coder",
30+
# "--verbose",
31+
# "--url=${local.deployments.primary.url}",
32+
# "--token=${trimspace(data.local_file.api_key.content)}",
33+
# "exp",
34+
# "scaletest",
35+
# "create-workspaces",
36+
# "--count=${var.workspace_count}",
37+
# "--template=kubernetes",
38+
# "--concurrency=${var.workspace_create_concurrency}",
39+
# "--no-cleanup"
40+
# ]
2941
# }
3042
# restart_policy = "Never"
3143
# }

0 commit comments

Comments
 (0)