From 3932e5dfb91d583e892fdbbfaa4e426791a77be9 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Tue, 11 Apr 2023 19:55:38 +0200 Subject: [PATCH] add GOPRIVATE and NETRC for private modules --- README.md | 2 ++ backend/src/main.rs | 2 ++ backend/windmill-worker/src/worker.rs | 6 ++++++ 3 files changed, 10 insertions(+) diff --git a/README.md b/README.md index e291d2dd0a..fedd669e71 100644 --- a/README.md +++ b/README.md @@ -315,6 +315,8 @@ it being synced automatically everyday. | DENO_PATH | /usr/bin/deno | The path to the deno binary. | Worker | | PYTHON_PATH | /usr/local/bin/python3 | The path to the python binary. | Worker | | GO_PATH | /usr/bin/go | The path to the go binary. | Worker | +| GOPRIVATE | | The GOPRIVATE env variable to use private go modules | Worker | +| NETRC | | The netrc content to use a private go registry | Worker | | PIP_INDEX_URL | None | The index url to pass for pip. | Worker | | PIP_EXTRA_INDEX_URL | None | The extra index url to pass to pip. | Worker | | PIP_TRUSTED_HOST | None | The trusted host to pass to pip. | Worker | diff --git a/backend/src/main.rs b/backend/src/main.rs index 0675ba0109..27a3fe084b 100644 --- a/backend/src/main.rs +++ b/backend/src/main.rs @@ -128,6 +128,8 @@ Windmill Community Edition {GIT_VERSION} "PYTHON_PATH", "DENO_PATH", "GO_PATH", + "GOPRIVATE", + "NETRC", "PIP_INDEX_URL", "PIP_EXTRA_INDEX_URL", "PIP_TRUSTED_HOST", diff --git a/backend/windmill-worker/src/worker.rs b/backend/windmill-worker/src/worker.rs index 056a7cd21d..3fc38fec28 100644 --- a/backend/windmill-worker/src/worker.rs +++ b/backend/windmill-worker/src/worker.rs @@ -411,6 +411,8 @@ lazy_static::lazy_static! { static ref PATH_ENV: String = std::env::var("PATH").unwrap_or_else(|_| String::new()); static ref HOME_ENV: String = std::env::var("HOME").unwrap_or_else(|_| String::new()); static ref PIP_INDEX_URL: Option = std::env::var("PIP_INDEX_URL").ok(); + static ref GOPRIVATE: Option = std::env::var("GOPRIVATE").ok(); + static ref NETRC: Option = std::env::var("NETRC").ok(); static ref PIP_EXTRA_INDEX_URL: Option = std::env::var("PIP_EXTRA_INDEX_URL").ok(); static ref PIP_TRUSTED_HOST: Option = std::env::var("PIP_TRUSTED_HOST").ok(); static ref DENO_AUTH_TOKENS: String = std::env::var("DENO_AUTH_TOKENS") @@ -1567,6 +1569,9 @@ func Run(req Req) (interface{{}}, error){{ .stderr(Stdio::piped()) .spawn()? } else { + if let Some(ref netrc) = *NETRC { + write_file(&HOME_ENV, ".netrc", netrc).await?; + } Command::new(GO_PATH.as_str()) .current_dir(job_dir) .env_clear() @@ -1574,6 +1579,7 @@ func Run(req Req) (interface{{}}, error){{ .env("PATH", PATH_ENV.as_str()) .env("BASE_INTERNAL_URL", base_internal_url) .env("GOPATH", GO_CACHE_DIR) + .env("GOPRIVATE", GOPRIVATE.as_ref().unwrap_or(&String::new())) .env("HOME", HOME_ENV.as_str()) .args(vec!["run", "main.go"]) .stdout(Stdio::piped())