From 593d659ec8905c97d99bd619b4a0a9439338ba68 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Wed, 20 Nov 2024 14:01:13 +0000 Subject: [PATCH] chore(scripts/develop.sh): auto determine first org name and run terraform init (#15603) Updates `develop.sh` to automatically determine the name of the 'first org' when pushing the initial template. Also runs `terraform init` before running `coder templates push` (pet peeve). --- scripts/develop.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/develop.sh b/scripts/develop.sh index 7dfad72d2e..5cd2d5965f 100755 --- a/scripts/develop.sh +++ b/scripts/develop.sh @@ -203,6 +203,8 @@ fatal() { # If we have docker available and the "docker" template doesn't already # exist, then let's try to create a template! template_name="docker" + # Determine the name of the default org with some jq hacks! + first_org_name=$("${CODER_DEV_SHIM}" organizations show me -o json | jq -r '.[] | select(.is_default) | .name') if docker info >/dev/null 2>&1 && ! "${CODER_DEV_SHIM}" templates versions list "${template_name}" >/dev/null 2>&1; then # sometimes terraform isn't installed yet when we go to create the # template @@ -212,12 +214,14 @@ fatal() { echo "Initializing docker template..." temp_template_dir="$(mktemp -d)" "${CODER_DEV_SHIM}" templates init --id "${template_name}" "${temp_template_dir}" + # Run terraform init so we get a terraform.lock.hcl + pushd "${temp_template_dir}" && terraform init && popd DOCKER_HOST="$(docker context inspect --format '{{ .Endpoints.docker.Host }}')" printf 'docker_arch: "%s"\ndocker_host: "%s"\n' "${GOARCH}" "${DOCKER_HOST}" >"${temp_template_dir}/params.yaml" ( - echo "Pushing docker template to 'first-organization'..." - "${CODER_DEV_SHIM}" templates push "${template_name}" --directory "${temp_template_dir}" --variables-file "${temp_template_dir}/params.yaml" --yes --org first-organization + echo "Pushing docker template to '${first_org_name}'..." + "${CODER_DEV_SHIM}" templates push "${template_name}" --directory "${temp_template_dir}" --variables-file "${temp_template_dir}/params.yaml" --yes --org "${first_org_name}" if [ "${multi_org}" -gt "0" ]; then echo "Pushing docker template to '${another_org}'..." "${CODER_DEV_SHIM}" templates push "${template_name}" --directory "${temp_template_dir}" --variables-file "${temp_template_dir}/params.yaml" --yes --org "${another_org}"