Skip to content

Commit 41ab251

Browse files
committed
add script to init coder instance and import template
1 parent 3a3509b commit 41ab251

File tree

3 files changed

+52
-4
lines changed

3 files changed

+52
-4
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ site/stats/
4848
*.lock.hcl
4949
.terraform/
5050

51-
/.coderv2/*
51+
**/.coderv2/*
5252
**/__debug_bin
5353

5454
# direnv

scaletest/terraform/coder.tf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ EOF
169169
}
170170

171171
resource "local_file" "kubernetes_template" {
172-
filename = "${path.module}/templates/kubernetes/main.tf"
172+
filename = "${path.module}/.coderv2/templates/kubernetes/main.tf"
173173
content = <<EOF
174174
terraform {
175175
required_providers {
@@ -202,11 +202,11 @@ resource "local_file" "kubernetes_template" {
202202
resource "kubernetes_pod" "main" {
203203
count = data.coder_workspace.me.start_count
204204
metadata {
205-
name = "coder-${lower(data.coder_workspace.me.owner)}-${lower(data.coder_workspace.me.name)}"
205+
name = "coder-$${lower(data.coder_workspace.me.owner)}-$${lower(data.coder_workspace.me.name)}"
206206
namespace = var.namespace
207207
labels = {
208208
"app.kubernetes.io/name" = "coder-workspace"
209-
"app.kubernetes.io/instance" = "coder-workspace-${lower(data.coder_workspace.me.owner)}-${lower(data.coder_workspace.me.name)}"
209+
"app.kubernetes.io/instance" = "coder-workspace-$${lower(data.coder_workspace.me.owner)}-$${lower(data.coder_workspace.me.name)}"
210210
}
211211
}
212212
spec {

scaletest/terraform/coder_init.sh

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#!/usr/bin/env bash
2+
3+
set -euo pipefail
4+
5+
if [[ $# -lt 1 ]]; then
6+
echo "Usage: $0 <coder URL>"
7+
exit 1
8+
fi
9+
10+
# Allow toggling verbose output
11+
[[ -n ${VERBOSE:-} ]] && set -x
12+
13+
CODER_URL=$1
14+
CONFIG_DIR="${PWD}/.coderv2"
15+
ARCH="$(arch)"
16+
PLATFORM="$(uname | tr '[:upper:]' '[:lower:]')"
17+
18+
mkdir -p "${CONFIG_DIR}"
19+
echo "Fetching Coder CLI for first-time setup!"
20+
curl -fsSL "${CODER_URL}/bin/coder-${PLATFORM}-${ARCH}" -o "${CONFIG_DIR}/coder"
21+
chmod +x "${CONFIG_DIR}/coder"
22+
23+
set +o pipefail
24+
RANDOM_ADMIN_PASSWORD=$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c16)
25+
set -o pipefail
26+
CODER_FIRST_USER_EMAIL="admin@coder.com"
27+
CODER_FIRST_USER_USERNAME="coder"
28+
CODER_FIRST_USER_PASSWORD="${RANDOM_ADMIN_PASSWORD}"
29+
CODER_FIRST_USER_TRIAL=false
30+
echo "Running login command!"
31+
${CONFIG_DIR}/coder login "${CODER_URL}" \
32+
--global-config="${CONFIG_DIR}" \
33+
--first-user-username="${CODER_FIRST_USER_USERNAME}" \
34+
--first-user-email="${CODER_FIRST_USER_EMAIL}" \
35+
--first-user-password="${CODER_FIRST_USER_PASSWORD}" \
36+
--first-user-trial=false
37+
38+
echo "Writing credentials to coder.env"
39+
cat <<EOF > ./coder.env
40+
CODER_FIRST_USER_EMAIL=admin@coder.com
41+
CODER_FIRST_USER_USERNAME=coder
42+
CODER_FIRST_USER_PASSWORD="${RANDOM_ADMIN_PASSWORD}"
43+
CODER_FIRST_USER_TRIAL=false
44+
EOF
45+
46+
echo "Importing kubernetes template"
47+
"${CONFIG_DIR}/coder" templates create --global-config="${CONFIG_DIR}" \
48+
--directory "${CONFIG_DIR}/templates/kubernetes" --yes kubernetes

0 commit comments

Comments
 (0)