From 233d9e4a5f16c5a0f26102c07af9d7d3c22d0f22 Mon Sep 17 00:00:00 2001 From: Nikolay Edigaryev Date: Wed, 12 Feb 2025 14:18:53 +0100 Subject: [PATCH 1/2] Propagate SENTRY_DSN to agent running in Tart/Vetu --- internal/agent/main.go | 5 +++++ .../instance/persistentworker/remoteagent/remoteagent.go | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/internal/agent/main.go b/internal/agent/main.go index 7c9c87b6..35acace8 100644 --- a/internal/agent/main.go +++ b/internal/agent/main.go @@ -159,6 +159,11 @@ func Run(args []string) { } }() + // Prevent SENTRY_DSN propagation to scripts + if err := os.Unsetenv("SENTRY_DSN"); err != nil { + log.Printf("Failed to unset SENTRY_DSN: %v", err) + } + // Connect to the RPC server md := metadata.New(map[string]string{ "org.cirruslabs.task-id": *taskIdPtr, diff --git a/internal/executor/instance/persistentworker/remoteagent/remoteagent.go b/internal/executor/instance/persistentworker/remoteagent/remoteagent.go index 8c87e7c6..8d759068 100644 --- a/internal/executor/instance/persistentworker/remoteagent/remoteagent.go +++ b/internal/executor/instance/persistentworker/remoteagent/remoteagent.go @@ -13,6 +13,7 @@ import ( "golang.org/x/crypto/ssh" "io" "net" + "os" "strings" "time" ) @@ -122,6 +123,11 @@ func WaitForAgent( return fmt.Errorf("%w: failed to start a shell: %v", ErrFailed, err) } + // Passthrough SENTRY_DSN when it's set + if sentryDSN, ok := os.LookupEnv("SENTRY_DSN"); ok { + env["SENTRY_DSN"] = sentryDSN + } + for key, value := range env { _, err = stdinBuf.Write([]byte(fmt.Sprintf("export %s=%s\n", key, value))) if err != nil { From 39b34a59ed8980ea4ba8cf43c3ed497f30686bc1 Mon Sep 17 00:00:00 2001 From: Nikolay Edigaryev Date: Wed, 12 Feb 2025 14:50:45 +0100 Subject: [PATCH 2/2] .golangci.yml: remove fully deprecated "exportloopref" linter --- .golangci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.golangci.yml b/.golangci.yml index c350f021..b4004bfb 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -23,7 +23,6 @@ linters: - dupl - errcheck - exhaustive - - exportloopref - gocognit - gocritic - gocyclo