add configurable repo clone
This commit is contained in:
1 parent
391e90071e
commit
31a8306881
1 file changed
+14
-3
+14
-3
@@ -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
|
||||
|
||||
Reference in new issue
Block a user