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" "me" {}
data "coder_workspace_owner" "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" { resource "coder_agent" "main" {
arch = data.coder_provisioner.me.arch arch = data.coder_provisioner.me.arch
os = "linux" os = "linux"
@@ -34,12 +45,12 @@ resource "coder_agent" "main" {
fi fi
# Clone repo if URL is set # 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 if [ -d ~/repo ] && [ "$(ls -A ~/repo)" ]; then
echo "⚠️ Skipping clone: ~/repo already exists and is not empty." echo "⚠️ Skipping clone: ~/repo already exists and is not empty."
else else
echo "==> Cloning repository from: ${var.repo_url}" echo "==> Cloning repository from: ${local.effective_repo_url}"
git clone --verbose "${var.repo_url}" ~/repo \ git clone --verbose "${local.effective_repo_url}" ~/repo \
&& echo "✅ Clone successful." \ && echo "✅ Clone successful." \
|| echo "❌ Failed to clone repo. Please check the URL or access permissions." || echo "❌ Failed to clone repo. Please check the URL or access permissions."
fi fi