add configurable repo clone

This commit is contained in:
anthorob committed 2025-07-12 13:19:51 -04:00
1 parent 391e90071e
commit 31a8306881
1 file changed
+14 -3
+14 -3
View File
@@ -21,6 +21,17 @@ data "coder_provisioner" "me" {}
data "coder_workspace" "me" {}
data "coder_workspace_owner" "me" {}
data "coder_parameter" "repo_url" {
name = "Repository URL"
description = "Git repository to clone when workspace is created (public repo only)"
type = "string"
default = ""
}
locals {
effective_repo_url = var.repo_url != "" ? var.repo_url : data.coder_parameter.repo_url.value
}
resource "coder_agent" "main" {
arch = data.coder_provisioner.me.arch
os = "linux"
@@ -34,12 +45,12 @@ resource "coder_agent" "main" {
fi
# Clone repo if URL is set
if [ -n "${var.repo_url}" ]; then
if [ -n "${local.effective_repo_url}" ]; then
if [ -d ~/repo ] && [ "$(ls -A ~/repo)" ]; then
echo "⚠️ Skipping clone: ~/repo already exists and is not empty."
else
echo "==> Cloning repository from: ${var.repo_url}"
git clone --verbose "${var.repo_url}" ~/repo \
echo "==> Cloning repository from: ${local.effective_repo_url}"
git clone --verbose "${local.effective_repo_url}" ~/repo \
&& echo "✅ Clone successful." \
|| echo "❌ Failed to clone repo. Please check the URL or access permissions."
fi